ORA-02449: unique/primary keys in table referenced by foreign keys
OracleNe demek?
Silmek istediğiniz tablonun primary key ya da unique key'ine, başka tablolardaki foreign key'ler referans veriyor. Oracle, bu bağımlılıkları önce kaldırmadan tabloyu düşürmenize izin vermez.
Neden olur?
Başka tablolar bu tabloya FK ile bağlıyken CASCADE CONSTRAINTS eklemeden DROP TABLE çalıştırdınız. Referans bütünlüğünü koruyan Oracle, orphan foreign key oluşmasını engeller.
Nasıl çözülür?
Bağımlı foreign key'lerle birlikte silmek için: DROP TABLE tablo_adi CASCADE CONSTRAINTS; Bu, diğer tablolardaki ilgili FK constraint'lerini da kaldırır (o tablolardaki veriyi silmez). Hangi constraint'lerin bağlı olduğunu görmek için: SELECT table_name, constraint_name FROM all_constraints WHERE r_constraint_name IN (SELECT constraint_name FROM user_constraints WHERE table_name = 'TABLO_ADI');
Aynı motorda diğer kayıtlar
- direct path readWait: oturum, buffer cache'i atlayıp blokları doğrudan PGA'ya okuyor
- latch: cache buffers chainsWait: cache buffers chains latch üzerinde contention
- 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