전체 글 259

[IDEA/Error] Web server failed to start. Port 8080 was already in use.

위와 같은 에러가 발생했을 때의 해결 방법은 간단하다. 일단 나는 윈도우를 사용하므로 cmd창에다 명령어를 입력했다. 명령어는 다음과 같다. netstat -ano | findstr [Port 번호] netstat으로 네트워크 상태를 확인하는데, 이때 findstr로 이미 사용 중인 포트번호를 찾는다. 나의 경우 8080번 포트가 사용 중이었으므로 8080번 포트의 네트워크 상태를 확인한 결과 LISTENING 상태였다. 이 포트번호를 죽여야하므로 PID 5048을 taskkill한다. 명령어는 다음과 같다. taskkill /f /PID [PID 번호] 이때, cmd는 관리자로 실행해야 한다. 안그러면 액세스가 거부되어 taskkill이 먹히지 않는다.

IDE/IDEA (IntelliJ) 2023.04.19

[Oracle] 온라인 SELECT 쿼리 튜닝 순서

온라인 Select문 튜닝 방법론 온라인 SQL의 튜닝방법은 여러 가지가 있을 수 있다. 하지만 그 중에서 가장 기초적이고, 기본적인 방법을 공개한다. 아래의 7가지 항목을 점검하고 약한 곳을 보강하면 된다. 이 글은 SQL 튜닝책을 두 권 정도 본 사람들을 위한 것이다. 튜닝에 자신있는 사람들은 볼 필요가 없다. 1. 적절한 인덱스를 사용하여 Block I/O를 최소화 하라 조인이 없는 경우는 적절한 인덱스를 사용하는 것 만으로도 상당한 효과를 볼 수 있다. 조인이 있는 경우는 특히 Driving(선행) 집합에 신경을 써야 한다. 왜냐하면 Nested Loop 조인을 사용했고, 선행집합의 건수가 많다면, 후행집합의 조인의 시도횟수가 증가하므로 성능이 느려진다. 따라서 적절한 인덱스를 이용하여 선행집합의..

Database/Oracle 2023.04.19

[Oracle] EXISTS()와 IN()

EXISTS() - 문법: EXISTS(subquery) - 서브쿼리만 사용 가능 - 처리 순서: 메인쿼리 -> 서브쿼리 - 서브쿼리의 결과가 단 한 건이라도 존재하면 결과값을 True, 없으면 False로 리턴하고 더이상 쿼리를 수행하지 않는다. SELECT a.USER_NO , a.USER_NM , a.DEPT_NO FROM USR a WHERE a.JOB = 'EMPLOYEE' AND EXISTS (SELECT 1 FROM DEPT b WHERE b.USER_NO = a.USER_NO) - 실행 결과 USER_NO USER_NM DEPT_NO 101 TOM 26 102 SAM 24 DEPT 테이블에서 SAM 2건, TOM 1건, JENNY 0건으로 JENNY를 제외하고 조회가 된다. EXISTS()..

Database/Oracle 2023.04.17

[VMware/Error] Install Tools를 실행할 때 발생하는 오류

VMware Workstation에서 가상머신을 깔면 밑에 'Install Tools'라는 버튼이 생긴다. 이 Install Tools를 클릭했을 때 아래와 같은 문구가 적힌 오류창이 떴다. Setup cannot continue. This program requires that you update the installed OS to SP1 in this virtual machine. (생략) 나는 Windows 2008 R2 Standard를 설치했었는데 구글링하며 여러 곳을 찾아보았지만 해결이 잘 되지 않았다. 그러다 갑자기 Java를 깔지 않았던 게 내 뇌리를 스쳐지나갔다. 설마 했는데 역시나 Java를 깔고 나니 다시 Install Tools를 클릭했을 때 오류 없이 정상적으로 VMware 도구가..

VMware 2023.04.17

[Windows/Error] 원격 데스크톱 연결 시 CreddSSP 암호화 오라클 수정 때문일 수 있습니다

Window 10 자동 업데이트를 통해 2018년 5월 8일에 KB4103721이 설치되면서 위 오류가 발생하게 된다. 이때, 원격 접속 대상 서버에도 패치가 완료되어 있어야 원격 접속이 가능하다. 나의 경우는 VMware에서 Windows server 2012 R2 Datacenter 서버로 원격 접속하려다 오류가 발생하였다. 해결방법1. CredSSP 암호화 취약점 패치 적용 업데이트 다운로드 CredSSP 암호화 취약점 패치가 적용된 업데이트만 선택해서 설치하면 된다. · Windows server 2012 R2: KB4103715 다운로드 · Windows server 2016: KB4103723 다운로드 해결방법2. 암호화 오라클 보호 수준 수정하기 1. "윈도우 키 + R"을 눌러 실행창을 킨..

OS/Windows 2023.04.16

[Javascript] 동등 연산자 ==

동등 연산자 == ==는 동등 연산자(Equality)다. 동등 연산자는 두 개의 피연산자가 동일한지 확인하며, Boolean값을 반환한다. (1) 타입 변환 없이 비교 1) String : 두 피연산자의 문자 순서와 문자열이 동일 ▷ true를 반환 2) Number : 두 피연산자의 값이 동일 ▷ true를 반환. +0과 -0은 동일한 값으로 취급. 어느 한쪽이 NaN일 경우 false를 반환 3) Boolean : 두 피연산자가 모두 true이거나 false ▷ true를 반환 1 == 1; // true "ex" == "ex" // true (2) 타입 변환하여 비교 : 두 개의 피연산자의 타입이 다를 경우, 비교하기 전에 동일한 타입으로 변환시킨다. 1) 숫자와 문자열을 비교 ▷ 문자열을 숫자로..

[Oracle/Error] ora-01950: 테이블스페이스 'users'에 대한 권한이 없습니다

ora-01950: 테이블스페이스 'users'에 대한 권한이 없습니다 위 오류 발생 시 아래의 구문을 실행시키면 된다. ALTER USER 사용자계정명 DEFAULT TABLESPACE USERS QUOTA UNLIMITED ON USERS; 만약 아래와 같은 오류가 발생한다면, ALTER SESSION SET "_ORACLE_SCRIPT"=true;; 구문 실행 후 ALTER USER 사용자계정명 DEFAULT TABLESPACE USERS QUOTA UNLIMITED ON USERS; 구문을 다시 실행하면 'User 사용자계정명이(가) 변경되었습니다.' 라고 뜨면서 정상적으로 변경된다. 이외에 유저 생성 시 해당 유저에게 접속 권한과 리소스 권한을 부여하고 싶다면, GRANT CONNECT, RES..

Database/Oracle 2023.04.07

[Windows] Powershell 방화벽 off/on 명령어

방화벽 off 명령어 netsh advfirewall set allprofiles state off 위의 명령어를 입력 시 도메인, 개인, 공용 네트워크의 방화벽이 모두 내려간다. 방화벽 on 명령어 netsh advfirewall set allprofiles state on 위의 명령어를 입력 시 도메인, 개인, 공용 네트워크의 방화벽이 모두 올라간다. 참고) netsh 명령어 적용 대상 - Windows Server 2022 - Windows Server 2019 - Windows Server 2016 - Azure Stack HCI - 버전 21H2 및 20H2 출처: https://learn.microsoft.com/ko-kr/windows-server/networking/technologies/..

OS/Windows 2023.04.06

[Oracle/Error] 데이터베이스 접속이 재설정되었습니다.

저번에 'ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다.'라는 오류가 발생해서 alter session set "_ORACLE_SCRIPT"=true; 를 실행한 후에 계정 생성했었다. 그런데 그 이후로 계정 생성 권한을 가진 계정 뿐만 아니라 생성한 계정까지 계속 '데이터베이스 접속이 재설정되었습니다. 보류 중인 트랜잭션이나 세션 상태가 유실되었습니다.' 라는 알림창이 떴다. 개발 서버를 돌리면서 저 알림창 외에 다른 오류가 발생하지는 않았지만 혹시나 하는 마음에 구글링을 해보았다. 그 결과 아래의 쿼리를 실행하면 더이상 뜨지 않는다는 것을 발견했다. ALTER SESSION SET PLSCOPE_SETTINGS = 'IDENTIFIERS:NONE'; 이 쿼리를 실행한 결과, 각 계정마다..

Database/Oracle 2023.04.04