ORA-02449: unique/primary keys in table referenced by foreign keys (테이블의 고유/기본 키가 외래 키에서 참조됨)
Oracle의미
삭제하려는 테이블의 기본 키 또는 고유 키를 다른 테이블의 외래 키가 참조하고 있다. Oracle은 이 종속성을 먼저 제거하지 않으면 테이블을 삭제할 수 없게 한다.
원인
다른 테이블이 FK로 이 테이블을 참조하는 상태에서 CASCADE CONSTRAINTS 없이 DROP TABLE을 실행함. Oracle은 참조 무결성을 강제하여 고아 외래 키를 방지한다.
해결 방법
종속 외래 키와 함께 삭제하려면: DROP TABLE table_name CASCADE CONSTRAINTS; 이 명령은 다른 테이블의 관련 FK 제약 조건도 제거한다(해당 테이블의 데이터는 삭제하지 않음). 어떤 제약 조건이 종속되어 있는지 확인하려면: SELECT table_name, constraint_name FROM all_constraints WHERE r_constraint_name IN (SELECT constraint_name FROM user_constraints WHERE table_name = 'TABLE_NAME');
같은 데이터베이스의 다른 항목
- direct path read대기: buffer cache를 거치지 않고 PGA로 블록을 직접 읽는 세션
- latch: cache buffers chains대기: cache buffers chains latch 경합
- ORA-00955name is already used by an existing object (이름이 기존 개체에서 이미 사용 중)
- ORA-01950no privileges on tablespace 'name' (테이블스페이스에 대한 권한 없음)
- ORA-01110data file N: 'path'
- ORA-16038log N sequence# M cannot be archived
- ORA-19809limit exceeded for recovery files