라벨이 오라클인 게시물 표시

PLS-00323: 부프로그램 또는 커서는 패키지 지정에 정의되고 패키지 본체에 나타나야합니다 (PLS-00323: subprogram or cursor is declared in a package specification and must be defined in the package body)

PL/SQL에서 PLS-00323: subprogram is declared in a package specification and must be defined in the package body 오류가 발생하는 경우, 패키지 지정(Specification)에는 선언되었지만 패키지 본체(Body)에는 해당 서브프로그램이 정의되지 않았을 가능성이 큽니다.…
PLS-00323: 부프로그램 또는 커서는 패키지 지정에 정의되고 패키지 본체에 나타나야합니다 (PLS-00323: subprogram or cursor is declared in a package specification and must be defined in the package body)

ORA-01007: 변수가 선택 목록에 없습니다 (ORA-01007: variable not in select list)

ORA-01007 오류는 SELECT INTO 또는 FETCH INTO 구문에서 선택된 컬럼 개수와 변수 개수가 일치하지 않을 때 발생합니다. 이를 해결하려면 SQL 문과 변수를 점검해 보세요! 🔍 주요 원인 1️⃣ SELECT 문의 컬럼 개수와 INTO 변수 개수가 불일치하는 경우 => SELECT 에서 n개의 컬럼을 조회하는데 INT…
ORA-01007: 변수가 선택 목록에 없습니다 (ORA-01007: variable not in select list)

[Oracle] SQL%FOUND, SQL%NOTFOUND 같은 기능은 select 뿐만 아니라 update와 같은 구문에도 사용 가능. 오라클 SQL 묵시적 커서 속성 정리

오라클에서는 SQL 문을 실행할 때 자동으로 생성되는 묵시적 커서(Implicit Cursor) 를 제공합니다. 이를 통해 SQL 문이 데이터에 미친 영향을 쉽게 확인할 수 있다는 것, 아시나요? 묵시적 커서는 SELECT INTO , INSERT , UPDATE , DELETE 문 실행 후 자동으로 열리고 닫힌답니다. 우선, 묵시적 커서 속성에 대해 …
[Oracle] SQL%FOUND, SQL%NOTFOUND 같은 기능은 select 뿐만 아니라 update와 같은 구문에도 사용 가능. 오라클 SQL 묵시적 커서 속성 정리

ORA-03135: 접속이 끊겼습니다 (ORA-03135: connection lost contact)

'ORA-03135 접속이 끊겼습니다' 오류가 발생하는 것을 확인하였습니다. 접속 끊김 오류 해결 방법에 대해 여러 가지 접근을 해보도록 해요. 네트워크 환경과 데이터베이스 설정을 면밀하게 점검하면 해결할 가능성이 높답니다! 네트워크 연결 상태 점검 네트워크 환경의 안정성을 확인하고 라우터, 스위치 등 주요 장비의 상태를 점검합니다. 연결 …
ORA-03135: 접속이 끊겼습니다 (ORA-03135: connection lost contact)

ORA-04091 테이블이 변경되어 트리거/함수가 볼 수 없습니다 (ORA-04091: table is mutating, trigger/function may not see it)

ORA-04091: 테이블이 변경되어 트리거/함수가 볼 수 없습니다 오류는 오라클 데이터베이스에서 트리거 또는 함수가 직접적으로 영향을 받는 테이블을 다시 읽거나 변경하려고 할 때 발생해요! 😭 이는 트리거의 순환 참조나 무한 반복으로 이어질 수 있어 오라클에서 미리 예외로 처리하는 부분이랍니다. (트리거의 재귀 호출) 그리하여 문제를 해결하려면 테이블…
ORA-04091 테이블이 변경되어 트리거/함수가 볼 수 없습니다 (ORA-04091: table is mutating, trigger/function may not see it)

오라클 SQL 조인으로 테이블 업데이트하기 (emp와 dept 활용)

데이터베이스를 다루다 보면, 종종 여러 테이블을 조합해서 특정 데이터를 업데이트해야 하는 상황이 생기곤 해요. 오늘은 오라클의 emp 와 dept 테이블을 조인하여 업데이트 하는 방법에 대해 안내해드리려고 해요! dept 테이블의 deptno 값에 따라 emp 테이블의 comm 컬럼 값을 업데이트하는 방법으로 예제를 보여드릴게요. 😊 업데이트를 위…
오라클 SQL 조인으로 테이블 업데이트하기 (emp와 dept 활용)

PLS-00382: expression is of wrong type (표현식 유형이 잘못되었습니다.)

PL/SQL을 다루다 보면 가끔 PLS-00382: expression is of wrong type 오류를 마주할 수 있어요. 이 오류는 주로 서로 다른 타입의 변수를 섞어 사용하거나, 데이터를 복사하려고 할 때 발생합니다. 특히, 레코드 타입을 활용할 때 이 문제가 자주 발생하지요. 오늘은 오류의 원인과 해결 방법을 알아보겠습니다. PLS-00382…
PLS-00382: expression is of wrong type (표현식 유형이 잘못되었습니다.)

[Oracle] Supplemental Logging

오라클에서 Redo 로그 파일은 데이터베이스 변경 사항을 기록하는 중요한 역할을 합니다. 일반적으로 Redo 로그는 데이터베이스 복구에 필요한 데이터만 포함합니다. 그러나 특정 응용 프로그램이나 로그 분석 도구(LogMiner 등)에서 추가 데이터가 필요할 경우 Supplemental Logging을 활성화해야 합니다. Supplemental Loggin…
[Oracle] Supplemental Logging

PL/SQL 예외 처리 방법, 미리 정의된 예외 (Predefined Exceptions)

PL/SQL에서 예외 처리는 프로그램의 안정성을 보장하기 위해 중요한 개념이에요. 특히 데이터베이스와 관련된 작업 중에는 다양한 오류가 발생할 수 있기 때문에, 이를 효과적으로 처리하는 방법을 알아두는 것이 필요해요. 오늘은 오라클의 대표적인 미리 정의된 예외 유형을 살펴보도록 하겠습니다. Oracle의 주요 예외 유형 PL/SQL에서 자주 사용하는 미리…
PL/SQL 예외 처리 방법, 미리 정의된 예외 (Predefined Exceptions)

TOAD Ignore This Error 복구하는 방법. how to restore

TOAD를 사용하다 보면 실수로 설정을 변경하거나 불필요한 옵션을 활성화할 때가 있어요. 특히 Ignore This Error(Do you want to ignore errors for all future scripts?) 설정을 실수로 활성화하거나 잘못된 오류를 추가했을 경우, 복구 방법을 알아두는 것이 유용할 거예요. 복구는 생각보다 간단하니 걱정하지…
TOAD Ignore This Error 복구하는 방법. how to restore

[Oracle] Where column_name = 'Y' 의 반대는 Where column_name is null or column_name <> 'Y'

오라클 데이터베이스에서 WHERE column_name = 'Y' 의 반대 조건을 명확하게 표현하려면 아래와 같이 작성할 수 있어요. WHERE column_name IS NULL OR column_name <> 'Y' 이유 NULL 포함 필요 NULL 값은 비교 연산에서 제외되기 때문에, 반대 조건을 작…
[Oracle] Where column_name = 'Y' 의 반대는 Where column_name is null or column_name <> 'Y'

ORA-06592: CASE 문을 실행하는 중 CASE를 찾을 수 없음 (ORA-06592: CASE not found while executing CASE statement)

PL/SQL을 활용한 개발 중, ORA-06592: CASE 문을 실행하는 중 CASE를 찾을 수 없음 이라는 오류를 마주했다면 CASE 문에서 모든 가능성을 처리하지 않았기 때문일 가능성이 높습니다. 이번 포스팅에서는 이 오류의 원인과 해결 방법을 예제와 함께 살펴봅니다. ORA-06592 오류 원인 ORA-06592 오류는 CASE 문에서 특정…
ORA-06592: CASE 문을 실행하는 중 CASE를 찾을 수 없음 (ORA-06592: CASE not found while executing CASE statement)

ORA-02030: can only select from fixed tables/views

ORA-02030: can only select from fixed tables/views 오류는 사용자가 고정된 테이블이나 뷰에서만 데이터를 선택할 수 있도록 제한된 권한으로 쿼리를 실행할 때 발생하는 오류입니다. 이 오류는 V$ 또는 V_$ 로 시작하는 뷰에 대해 권한이 부족할 때 나타나요. 해당 오류는 주로 시스템 뷰(예: V$OPEN_CURSO…
ORA-02030: can only select from fixed tables/views

PL/SQL 커서 종류. 정적 커서, SYS_REFCURSOR, 사용자 정의 REF CURSOR의 차이와 예제

오라클에서 사용할 수 있는 커서 변수는 기본적으로  SYS_REFCURSOR  를 제공하고 있습니다. 대부분의 경우 SYS_REFCURSOR 를 사용하거나, 필요에 따라 사용자가 커서 타입을 정의하여 사용할 수 있어요. 커서와 관련된 몇 가지 추가 정보와 기법이 있으니 참고해 보세요. 정적 커서 (Static Cursor) PL/SQL 내에서 일반적으로…
PL/SQL 커서 종류. 정적 커서, SYS_REFCURSOR, 사용자 정의 REF CURSOR의 차이와 예제

ORA-06511: PL/SQL 커서가 이미 열려있습니다 (ORA-06511: PL/SQL: cursor already open)

PL/SQL에서 ORA-06511: PL/SQL: cursor already open 오류는 커서가 이미 열려있는 상태에서 다시 열려고 할 때 발생합니다. 이 오류는 주로 커서를 열고 닫는 순서를 잘못 처리했을 때 나타나요. ORA-06511 오류 원인 PL/SQL의 명시적 커서는 OPEN , FETCH , CLOSE 순으로 사용해야 합니다. 하지만 …
ORA-06511: PL/SQL 커서가 이미 열려있습니다 (ORA-06511: PL/SQL: cursor already open)

ORA-21000: raise_application_error의 0에 대한 수치인수가 범위를 벗어났음, -20000과 -20999 사이에 있어야만 합니다 (ORA-21000: error number argument to raise_application_error of is out of range)

ORA-21000 오류는 raise_application_error 함수를 사용할 때 오류 코드가 잘못된 범위로 지정되어 발생하는 문제입니다. 이 함수는 사용자 정의 오류 메시지를 만들 때 자주 사용하는데, 오류 코드의 범위가 -20000에서 -20999 사이여야만 하기 때문이에요. 예제 코드에서는 -1 같이 범위 밖의 오류 코드를 사용해 보았는데요,…
ORA-21000: raise_application_error의 0에 대한 수치인수가 범위를 벗어났음, -20000과 -20999 사이에 있어야만 합니다 (ORA-21000: error number argument to raise_application_error of is out of range)

[Oracle] CHR(13) vs CHR(10)

CHR(13) 과 CHR(10) 은 각각 다른 문자 제어 코드인데요, 두 문자에 대한 차이를 알아보도록 하겠습니다. CHR(13) 과 CHR(10) 은 각각 어떤 역할일까요? 먼저 간단히 설명하자면 CHR(13)는 캐리지 리턴(Carriage Return)이라고 불리는데, 이건 줄의 시작 지점으로 커서를 이동시켜줘요. 예전 타자기의 캐리지 리턴에서 유래한…
[Oracle] CHR(13) vs CHR(10)

OracleCommand.CommandText이(가) 부적합합니다 해결 방법

OracleCommand를 사용할 때 자주 발생하는 오류 중 하나인 'OracleCommand.CommandText가 부적합합니다' 오류는 SQL 구문 오류, 연결 문제, 변수 바인딩 오류 등 다양한 이유로 발생할 수 있어요. 이 문제를 단계별로 해결하는 방법을 알아보겠습니다. SQL 구문 확인 먼저, CommandText 에 작성한 SQ…
OracleCommand.CommandText이(가) 부적합합니다 해결 방법

[Oracle] SID, Service Name 차이 (System Identifier)

오라클 데이터베이스에서 'SID'와 'Service Name'은 헷갈릴 수 있는 개념이지요. 이 두 개념의 차이점을 명확히 알고 있으면 데이터베이스 연결이나 설정에 관련된 이해가 쉬워질 텐데요, 하나씩 자세히 알아볼까요? SID (System Identifier) SID는 'System Identifier'의…
[Oracle] SID, Service Name 차이 (System Identifier)

[Oracle] 테이블스페이스와 현재 유저가 다른 테이블 찾는 방법. USER_TABLES, USER

이번 프로젝트에서는 각 계정이 동일한 이름의 테이블을 사용하면서도, 각 계정별로 독립적인 데이터를 저장해야 하는 구조로 데이터베이스를 설계하였습니다. 이러한 구조에서, 각 계정의 테이블스페이스 이름을 해당 계정의 이름과 동일하게 설정하기로 약속하였답니다. 즉, 계정 A 에는 A 라는 이름의 테이블스페이스를, 계정 B 에는 B 라는 이름의 테이블스페이스를 …
[Oracle] 테이블스페이스와 현재 유저가 다른 테이블 찾는 방법. USER_TABLES, USER
이전최근
가져가실 때, 출처 표시 부탁드려요! 감사합니다. 💗