Oracle RANK 및 DENSE_RANK 함수는 SQL 쿼리에서 데이터를 분석하고, 데이터 집합 내의 각 행의 순위를 계산하는 데 사용됩니다. 이 함수들은 ORDER BY 구문과 함께 OVER 구문을 사용하여 쿼리 내에서 정렬 및 분류를 수행합니다. PARTITION BY 절을 사용하여 데이터를 파티션화하고, 그룹별로 순위를 계산할 수 있습니다. 이 글에서는 Oracle RANK 및 DENSE_RANK 함수의 사용 방법에 대해 자세히 알아보겠습니다. RANK 및 DENSE_RANK 함수를 사용하여 데이터를 정렬하고, 순위를 계산하는 방법과 함께, OVER 및 PARTITION BY 구문의 사용 방법에 대해서도 다룰 것입니다. 1. RANK 함수 데이터 집합 내에서 순위를 계산하고, 동일한 값이 있으면..
ORA-00000,0, "성공적인 정상 종료입니다" ORA-00001,0, "유일성 제약조건(%s.%s)에 위배됩니다" ORA-00017,0, "트레이스 이벤트 설정이 세션에 요구되었습니다" ORA-00018,0, "최대 세션 수를 초과했습니다" ORA-00019,0, "최대 세션 라이선스 수를 초과했습니다" ORA-00020,0, "최대 프로세스 수(%s)를 초과했습니다" ORA-00021,0, "세션이 다른 프로세스에 첨부되어 있음; 세션을 변경할 수 없습니다" ORA-00022,0, "부적절한 세션 번호; 액세스가 거절되었습니다" ORA-00023,0, "세션이 프로세스 고유의 메모리를 참조함; 세션을 분리할 수 없습니다" ORA-00024,0, "단일 프로세스 모드에서는 하나 이상의 프로세스가 로..
오라클에서 발생하는 ora-00942 에러는 존재하지 않는 테이블이나 뷰에 접근하려고 할 때 발생하는 에러입니다. 이러한 에러는 데이터베이스 오브젝트의 이름을 잘못 입력하거나, 해당 오브젝트가 존재하지 않는 경우에 발생합니다. 원인 오브젝트 이름을 잘못 입력한 경우 테이블 또는 뷰가 존재하지 않는 경우 오브젝트를 삭제하거나, 이름을 변경하거나, 사용자 계정의 권한이 부여되지 않은 경우 접근 권한이 없는 경우 해결방법 오브젝트 이름을 올바르게 입력했는지 확인 오브젝트가 존재하는지 확인 오브젝트에 대한 권한을 확인 스키마 이름을 포함하여 오브젝트 이름을 입력했는지 확인
ORA-01722 오류는 "invalid number" 즉, 수치가 부적합한 경우 발생하는 오류입니다. 이 오류는 데이터 타입이 NUMBER인 열에 문자열이 포함되어 있는 경우 발생할 수 있습니다. 이 오류를 해결하기 위해서는 다음과 같은 방법들을 시도해볼 수 있습니다. 원인 1. 데이터에 문자열이 포함되어 있는 경우 ORA-01722 오류는 데이터 타입이 NUMBER인 열에 문자열이 포함되어 있는 경우 발생합니다. 예를 들어, "123ABC"와 같은 문자열이 NUMBER 열에 포함되어 있다면, ORA-01722 오류가 발생할 수 있습니다. 2. 데이터의 포맷이 잘못된 경우 데이터의 포맷이 NUMBER 데이터 타입으로 적합하지 않은 경우에도 ORA-01722 오류가 발생할 수 있습니다. 예를 들어, "1..
원인 사용자 이름 또는 비밀번호가 잘못 입력된 경우 대/소문자를 구분하여 입력하지 않은 경우 사용자 계정이 잠겨있는 경우 사용자 계정이 만료된 경우 데이터베이스 연결 구성이 잘못된 경우 위의 원인 중 가장 일반적인 경우는 사용자 이름 또는 비밀번호가 잘못 입력된 경우입니다. 오라클 버전에 따라 다르지만, 오라클 10G까지는 대소문자 구분을 하지 않았고, 오라클 11G부터는 대소문자를 구분합니다. 이로 인해 ID와 PW를 정확하게 입력하더라도 오라클 11G부터는 ORA-01017: invalid username/password; logon denied 이라는 에러가 발생할 수 있습니다. 오라클의 대소문자 구분을 없애는 설정을 하여 문제를 해결할 수는 있지만, 권장되지 않습니다. 이유는 보안상 취약점이 될 ..
위와 같은 에러는 프로시저를 실행하려고 할때, 위와 같은 에러가 발생하게 되는데 1. 프로시저가 없는 경우나 2. 프로시저가 있는데 권한이 없는경우 3. 프로시저가 컴파일이 제대로 안됬을 경우 4. 해당 프로시저가 없는경우 해결방법은 아주 간단합니다. 1.프로시저 컴파일이 제대로 되었는지 확인을 합니다. 2. 프로시저 명에 오타가 없는지 확인을 해줍니다. 3. 프로시저가 없을경우 생성을 해줍니다. 4. 문자열 오타를 확인을 해줍니다. 5.오라클쪽 계정권한을 확인 해줍니다. 아니면 'PROC_INPUT_DATA' Procedure를 만들어 주면 됩니다. 만약 Procedure 생성자와 실행자가 다른 경우 grant, synonym 부여해줍니다. - 프로시저 생성 후 실행시 해당 GRANT / SYNONYM..
쿼리문 작성시 대소문자 구분X 여러 라인에 걸쳐서 작성이 가능하고 가독성을 위해 들여쓰기 하는 것을 추천 키워드는 여러 행에 나누어 쓰거나 약어로 쓸 수 X 여러 컬럼을 검색할 때 쉼표로 컬럼을 구분한다. SELECT절에서 출력 결과에 표시할 순서대로 컬럼을 지정한다. SELECT결과 열 머리글(Heading)은 기본적으로 대문자로 표시된다. 기본 SELECT문 형식 SELECT 컬럼1, 컬럼2, 컬럼3, … FROM 테이블명; SELECT one, two FROM EVERLAND; SELECT * FROM EVERLAND; ※별표(*)는 모든 컬럼을 조회하겠다는 뜻이다. 컬럼은 대소문자 구분를 구분하지 않는다. SELECT ONE, two FROM EVERLAND; 컬럼의 중복도 상관 없다. SELEC..
오라클 dump(dmp) 파일 import 하는 방법 1. 필요한 권한 부여 Import를 실행하는 사용자 계정에는 IMP_FULL_DATABASE 권한이 있어야 합니다. 만약 해당 권한이 없다면, 시스템 관리자 계정으로 로그인하여 권한을 부여해야 합니다. 2. 파일 복사 DMP 파일을 Import를 실행할 서버로 복사해야 합니다. 3. 명령어 실행 1. 가장 기본적인 import IMP 명령어를 사용하여 DMP 파일을 Import할 수 있습니다. 다음은 IMP 명령어를 사용한 DMP 파일 Import의 예시입니다. imp username/password file=/path/to/dumpfile.dmp full=y 위의 예시에서, username과 password는 Import를 실행할 계정의 이름과 비..
발생원인 사용자에게 해당 작업을 수행할 권한이 없는 경우 사용자가 해당 객체(테이블, 뷰 등)에 대한 권한이 없는 경우 권한이 부여되었지만 권한이 제대로 구성되지 않은 경우 해결방법 권한이 없는 경우: 작업을 수행할 수 있는 권한을 부여해야 합니다. 이를 위해서는 해당 작업을 수행할 수 있는 권한을 가진 사용자에게 권한을 부여하거나, 해당 작업을 수행할 수 있는 권한을 가진 역할(role)을 사용자에게 할당해야 합니다. 객체에 대한 권한이 없는 경우: 해당 객체에 대한 권한을 부여해야 합니다. 이를 위해서는 해당 객체를 소유한 사용자가 권한을 부여하거나, 해당 객체에 대한 권한을 가진 역할(role)을 사용자에게 할당해야 합니다. 권한이 제대로 구성되지 않은 경우: 권한 구성이 올바르게 되어 있는지 확인..
오라클 데이터베이스 11g를 설치하는 과정 https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index-092322.html Oracle Database Software Downloads | Oracle Technology Network | Oracle Thank you for accepting the OTN License Agreement; you may now download this software. Oracle Database 19c (19.3) Oracle Database 18c (18.4) (18.3) Oracle Database 12c Release 2 (12.2.0.1.0) - Standard Edition 2..