刪除表空間報錯ORA-00604&ORA-02429解決過程
今天在刪除表空間時遭遇報錯ORA-00604&ORA-02429,下面分享一下解決問題的過程。
測試環境
我在Oracle 10g+Windows Server 2008 Standard R2進行操作。
點選(此處)摺疊或開啟
-
SQL>
-
SQL> select * from v$version;
-
-
BANNER
-
----------------------------------------------------------------
-
-
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
-
PL/SQL Release 10.2.0.4.0 - Production
-
CORE 10.2.0.4.0 Production
-
TNS for 64-bit Windows: Version 10.2.0.4.0 - Production
-
NLSRTL Version 10.2.0.4.0 - Production
-
-
- SQL>
1.刪除表空間報錯
我在執行drop tablespace語句時,資料庫報錯,提示:
“ORA-00604: 遞迴 SQL 級別 1 出現錯誤
ORA-02429: 無法刪除用於強制唯一/主鍵的索引”。
根據報錯,我新增了cascade constraints選項,依然報錯。過程如下:
點選(此處)摺疊或開啟
-
SQL> drop tablespace HOEGH;
-
drop tablespace HOEGH
-
*
-
第 1 行出現錯誤:
-
ORA-01549: 表空間非空, 請使用 INCLUDING CONTENTS 選項
-
-
-
SQL> drop tablespace HOEGH including contents;
-
drop tablespace HOEGH including contents
-
*
-
第 1 行出現錯誤:
-
ORA-00604: 遞迴 SQL 級別 1 出現錯誤
-
ORA-02429: 無法刪除用於強制唯一/主鍵的索引
-
-
-
SQL>
-
SQL> drop tablespace HOEGH including contents cascade constraints;
-
drop tablespace HOEGH including contents cascade constraints
-
*
-
第 1 行出現錯誤:
-
ORA-00604: 遞迴 SQL 級別 1 出現錯誤
-
ORA-02429: 無法刪除用於強制唯一/主鍵的索引
-
-
- SQL>
2.查詢唯一/主鍵索引
通常來說,同時報多個錯誤都是由其中一個引起的。接下來,我們要查一下儲存在HOEGH表空間的唯一/主鍵索引。如下所示:
點選(此處)摺疊或開啟
-
SQL> select 'alter table '||owner||'.'||table_name||' drop constraint '||constraint_name||' ;'
-
2 from dba_constraints
-
3 where constraint_type in ('U', 'P')
-
4 and (index_owner, index_name) in
-
5 (select owner, segment_name
-
6 from dba_segments
-
7 where tablespace_name = 'HOEGH');
-
-
'ALTERTABLE'||OWNER||'.'||TABLE_NAME||'DROPCONSTRAINT'||CONSTRAINT_NAME||';'
-
-----------------------------------------------------------------------------------------------------
-
-
alter table HOEGH.HOEGH drop constraint PK_HOEGH ;
-
alter table HOEGH1.HOEGH drop constraint PK_HOEGH ;
-
alter table HOEGH2.HOEGH drop constraint PK_HOEGH ;
-
- SQL>
3.刪除唯一/主鍵索引
根據上面的查詢結果,刪除唯一/主鍵索引。如下所示:
點選(此處)摺疊或開啟
-
SQL> alter table HOEGH.HOEGH drop constraint PK_HOEGH ;
-
-
表已更改。
-
-
SQL> alter table HOEGH1.HOEGH drop constraint PK_HOEGH ;
-
-
表已更改。
-
-
SQL> alter table HOEGH2.HOEGH drop constraint PK_HOEGH ;
-
-
表已更改。
-
- SQL>
4.成功刪除表空間
再次執行drop tablespace語句,成功。
點選(此處)摺疊或開啟
-
SQL>
-
SQL> drop tablespace HOEGH including contents cascade constraints;
-
-
表空間已刪除。
-
- SQL>
hoegh
15.8.27
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30162081/viewspace-1783766/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- OS 刪除temp表空間 而磁碟空間未釋放的解決方案
- 【ITPUB論壇】求助!刪除表空間出錯
- 刪除表空間和表空間包含的檔案
- 刪除資料庫表空間資料庫
- 通過flashback database恢復被刪除的表空間Database
- oracle級聯刪除使用者,刪除表空間Oracle
- ORACLE表空間的建立修改刪除Oracle
- oracle建立臨時表空間和資料表空間以及刪除Oracle
- 解決linux下刪除檔案或oracle表空間後空間不釋放的問題LinuxOracle
- HBase刪除列族報錯的解決方法
- 2 Day DBA-管理Oracle例項-修改表空間-刪除表空間Oracle
- oracle 刪除表空間試驗面面觀Oracle
- 刪除臨時表空間hang處理
- 刪除表空間及所有指向關係
- 【UNDO】使用重建UNDO表空間方法解決UNDO表空間過大問題
- MySQL超大表刪除資料過程MySql
- undo表空間使用率過高解決
- 還原表空間過大的解決方案
- 臨時表空間過大的解決方法
- 臨時表空間的建立、刪除,設定預設臨時表空間
- VUE—刪除HelloWorld.vue後報錯 `--fix` option報錯的解決Vue
- 【實驗】重建臨時表空間解決臨時表空間過大問題
- flashback database 恢復誤刪除的表空間。Database
- 臨時表空間資料刪除問題
- 收縮表空間ORA-03297錯誤解決
- oracle之EXP匯出表空間錯誤解決Oracle
- emca刪除em時間過長的解決辦法
- 安裝sysbench過程報錯,解決辦法
- 刪除APPLY出錯解決APP
- AWR不自動刪除導致SYSAUX表空間滿UX
- oracle誤刪除表空間的資料檔案Oracle
- MySQL大表刪除解決方案MySql
- RM刪除檔案空間釋放詳解
- oracle的imp報表空間不存在的解決Oracle
- 轉:Oracle 臨時表空間過大問題解決Oracle
- 一次刪除歸檔遇ORA-15028錯誤的解決過程
- 新增刪除程式打不開怎麼辦 新增刪除程式報錯解決辦法
- win10 硬碟空間無法刪除應該怎麼解決Win10硬碟