본문 바로가기

반응형

SW/Database

(289)
✅ ORA-00062: DML full-table lock cannot be acquired; DML_LOCKS is 0 / 원인과 해결 방법 ORA-00062: DML full-table lock cannot be acquired; DML_LOCKS is 0DML_LOCKS 파라미터가 0으로 설정되어 있어, DML 작업 중 필요한 전체 테이블 락을 획득할 수 없을 때 발생하는 오류입니다. 오류 원인초기화 파라미터 DML_LOCKS가 0으로 설정되어 있음INSERT, UPDATE, DELETE 또는 MERGE 작업 시 락이 필요하지만 허용되지 않음락 설정을 통한 동시성 제어 기능이 비활성화된 경우해결 방법DML_LOCKS 값 확인:SHOW PARAMETER dml_locks;파라미터 값 수정 (SPFILE 사용하는 경우):ALTER SYSTEM SET dml_locks = 100 SCOPE=SPFILE;인스턴스 재시작:SHUTDOWN IMM..
✅ ORA-00061: another instance has a different D.B.I.D. / 원인과 해결 방법 ORA-00061: another instance has a different D.B.I.D.해당 오류는 RAC 환경 또는 여러 인스턴스 구성에서, 인스턴스 간의 데이터베이스 식별자(DBID)가 일치하지 않을 때 발생합니다. 오류 원인같은 데이터베이스 이름(DB_NAME)을 가진 다른 인스턴스의 DBID가 서로 다름RAC 또는 클러스터 환경에서 인스턴스들이 동일한 데이터베이스를 참조하지 않음RMAN 복구 또는 복제 중 DBID를 변경하지 않고 재등록한 경우해결 방법각 인스턴스의 DBID 확인:SELECT dbid, name FROM v$database;RMAN 복제 후 DBID를 변경하지 않았다면 재생성 필요클러스터 구성 시 동일한 DB 백업을 각 노드에 공유하고 있는지 확인단일 인스턴스만 실행하거나,..
✅ ORA-04063: package body has errors / 원인과 해결 방법 ORA-04063: package body has errors패키지 본문(package body) 컴파일 중 오류가 발생했거나, 유효하지 않은 상태로 남아있을 때 발생하는 오류입니다. 오류 원인패키지 바디를 생성 또는 수정 중 문법 오류 발생참조하는 오브젝트가 삭제되거나 유효하지 않음종속된 객체 중 하나 이상이 INVALID 상태일 경우해결 방법패키지 상태 확인:SELECT object_name, status FROM user_objects WHERE object_type = 'PACKAGE' AND status = 'INVALID';컴파일 오류 상세 확인:SHOW ERRORS PACKAGE BODY 패키지명;문법 오류 수정 후 재컴파일:ALTER PACKAGE 패키지명 COMPILE BODY;간단 요..
✅ ORA-22992: cannot use LOB locators selected from remote tables / 원인과 해결 방법 ORA-22992: cannot use LOB locators selected from remote tables원격 테이블(예: DB 링크를 통한 테이블)에서 LOB(BLOB, CLOB 등) 데이터를 직접 참조하려고 할 때 발생하는 오류입니다. 오류 원인DB 링크를 통해 조회된 테이블에 LOB 컬럼(BLOB/CLOB)이 포함된 경우원격 테이블의 LOB 데이터를 직접 처리하려는 쿼리 실행Oracle은 LOB locator를 원격으로 사용할 수 없도록 제한함해결 방법LOB 컬럼을 제외한 SELECT 실행원격 테이블 데이터를 로컬 테이블에 복사 후 사용:CREATE TABLE local_copy AS SELECT id, name FROM remote_table@dblink;DBMS_LOB 패키지 사용 대신 ..
✅ ORA-12545: Connect failed because target host or object does not exist / 원인과 해결 방법 ORA-12545: Connect failed because target host or object does not exist지정된 호스트명이나 IP가 잘못되었거나, 서버에 도달할 수 없을 때 발생하는 오류입니다. 오류 원인tnsnames.ora 또는 연결 문자열에서 호스트명 오류DNS 해석 불가 또는 네트워크 단절서버가 실제로 다운되었거나 방화벽에 차단됨해결 방법호스트명 확인 및 수정: tnsnames.ora 또는 EZCONNECT 형식 점검Ping 및 nslookup 테스트:ping 호스트명nslookup 호스트명접속 가능한 IP로 직접 연결 시도간단 요약오류 코드: ORA-12545오류 요약: 대상 호스트 또는 객체를 찾을 수 없음주요 원인: 잘못된 호스트명, DNS 오류, 서버 다운해결 방법: ..
🔹 ORA-28009: connection as SYS should be as SYSDBA or SYSOPER / 원인과 해결 방법 ORA-28009: connection as SYS should be as SYSDBA or SYSOPERORA-28009 오류는 SYS 사용자로 데이터베이스에 접속할 때, 적절한 권한 (SYSDBA 또는 SYSOPER) 없이 접속을 시도했을 때 발생합니다. 오류 원인이 오류는 다음과 같은 상황에서 발생할 수 있습니다:SYS 사용자로 일반 권한으로 접속: SYS는 일반 사용자로 접속이 허용되지 않으며, SYSDBA 또는 SYSOPER로 접속해야 함접속 명령에서 접속 권한을 생략: SQL*Plus, SQL Developer 등에서 접속 시 권한 명시 생략애플리케이션에서 SYS 사용자 사용: JDBC 등에서 SYS 사용자로 접속 시 권한 누락해결 방법SQL*Plus에서 접속 권한 지정:sqlplus sys..
✅ ORA-12528: TNS:listener: all appropriate instances are blocking new connections / 원인과 해결 방법 ORA-12528: TNS:listener: all appropriate instances are blocking new connections리스너는 인스턴스를 인식하고 있지만, 해당 인스턴스가 새로운 연결을 수락하지 않을 때 발생합니다. 오류 원인데이터베이스 인스턴스가 MOUNT 상태일 때STARTUP 중이거나 RESTRICTED MODE일 때리스너는 등록되었으나 인스턴스가 READY 상태가 아닐 때해결 방법인스턴스 상태 확인 및 OPEN 모드 전환:ALTER DATABASE OPEN;리스너 상태 확인:lsnrctl status리스너 재시작:lsnrctl stoplsnrctl start간단 요약오류 코드: ORA-12528오류 요약: 인스턴스가 새 연결을 차단주요 원인: DB가 MOUNT 상태거나 S..
✅ ORA-04020: deadlock detected while trying to lock object / 원인과 해결 방법 ORA-04020: deadlock detected while trying to lock object해당 오류는 객체 잠금(lock) 중 교착 상태(deadlock)가 감지되었을 때 발생합니다. 오류 원인동일 객체에 대해 여러 세션이 동시에 DDL 작업을 수행하려 할 때오브젝트를 잠근 세션이 해제되지 않고 대기 중일 때PL/SQL에서 컴파일 중 객체 접근 충돌해결 방법잠금 세션 확인:SELECT s.sid, s.serial#, s.username, l.type, l.id1, l.id2FROM v$session s, v$lock lWHERE s.sid = l.sid;문제 세션 강제 종료:ALTER SYSTEM KILL SESSION 'SID,SERIAL#';DDL 작업을 순차적으로 수행하여 충돌 방지간단..

반응형