關於oracle資料庫啟動報ORA-01122,ORA-01110,ORA-01203錯誤的解決方法

zhouxianwang發表於2013-01-03
關於oracle資料庫啟動報ORA-01122,ORA-01110,ORA-01203錯誤的解決方法 收藏
  ORACLE 資料庫空間裸裝置出問題了,啟動oracle失敗,解決方法
  問題現象:
  啟動ORACLE的時候報如下的錯誤:
  Database mounted.
  ORA-01122: database file 6 failed verification check
  ORA-01110: data file 6: '/dev/raw/rlv_cbs_user_dat'
  ORA-01203: wrong incarnation of this file - wrong creation SCN
  問題解決:      
  這個資料庫空間有問題了,需要刪除資料庫空間,然後重新新增
  正確的步驟應該是這樣去刪除資料庫空間的
  第一步,執行shutdown immediate命令先將資料庫停止
  第二步,執行start mount 命令啟動資料庫
  第三步,將資料檔案置為offline狀態
  alter database datafile '/dev/raw/rlv_cbs_user_dat' offline drop;
  這裡需要注意的是第三步的引數必須是offline drop;
  我一開始是這樣寫的,報錯了
  alter database datafile '/dev/raw/rlv_cbs_user_dat' offline;   我執行這一句
  ERROR at line 1:
  ORA-01145: offline immediate disallowed unless media recovery enabled
  第四步,alter database open;
  第五步,drop tablespace cbs_user_dat ;
  第五步執行的時候又報了下面的錯誤
  ERROR at line 1:
  ORA-00604: error occurred at recursive SQL level 1
  ORA-02429: cannot drop index used for enforcement of unique/primary key
  通常情況下是刪除這個cbs_user_dat這個表空間裡的使用者就可以了drop成功
  先查出這個資料庫空間有哪些使用者
  select username,DEFAULT_TABLESPACE from dba_users where DEFAULT_TABLESPACE='cbs_user_dat';
  我刪除了使用者還是報上面的錯誤
  下面查出在這個表空間裡有哪些索引
  select OWNER,TABLESPACE_NAME,INDEX_NAME from dba_indexes where TABLESPACE_NAME='CBS_USER_DAT';
  這個時候可以刪除索引,我刪除索引的時候報錯了
  我就直接把這個資料庫使用者給刪了,儘管這個使用者不是在CBS_USER_DAT裡,這個時候再去刪除表空間
  就可以刪除成功了。
  表空間刪除成功了之後就可以新增表空間了

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27036311/viewspace-752038/,如需轉載,請註明出處,否則將追究法律責任。

相關文章