解決ORA-01110問題
ORA-01157: cannot identify/lock data file 5 - see DBWR trace file
ORA-01110: data file 5: '/data2/PMS_DATA.dbf'
問題解決如下:
[@more@][oracle@Pyzs-DB-Test3 oracle]$ sqlplus /nolog
SQL*Plus: Release 9.2.0.6.0 - Production on Wed Jul 25 08:53:17 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> connect /as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 370218364 bytes
Fixed Size 451964 bytes
Variable Size 150994944 bytes
Database Buffers 218103808 bytes
Redo Buffers 667648 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 5 - see DBWR trace file
ORA-01110: data file 5: '/data2/PMS_DATA.dbf'
SQL> alter database create datafile '/data2/PMS_DATA.dbf';
Database altered.
SQL> alter database datafile '/data2/PMS_DATA.dbf' offline drop;
Database altered.
SQL> alter database open;
Database altered.
一、查詢報錯檔案號(Fill#)所在的表空間
svrmgrl> startup mount
svrmgrl> SELECT Fill#,TS#,NAME FROM V$DATAFILE WHERE FILL#=報錯的資料檔案號;
svrmgrl>SELECT TS#,NAME FROM V$TABLESPACE WHERE TS#=上語句檢索的ts#;
二、檢查一下該資料檔案所在的卷組是否處於非啟用狀態,如是將其啟用,否則轉下一步即該資料檔案發生損壞。
三、根據資料檔案所在執行模式及所歸屬的表空間的型別作相應的處理
一)資料庫處於ARCHIVELOG模式下
1、使用recover database 或使用recover datafile命令進行資料庫恢復
2、以alter database open resetlogs 命令開啟資料庫
二)資料庫處於NOARCHIVELOG模式下
1、損壞的資料檔案屬於system表空間
如無物理級備份則須重建資料庫
2、損壞的資料檔案屬於temp表空間,此時可以不丟失資料完成恢復
因臨時表空間不包含資料,所以可以將臨時表空間Drop掉,重建即可
3、損失的是控制檔案
1、如並非所有的控制檔案都損壞的話,可以將損壞的檔案從init
2、如所有控制檔案皆損壞,可使用dd命令進行控制檔案恢復。
4、損壞的資料檔案屬於使用者表空間,有以下兩種解決方案:
a.使用者的表空間可以被輕易地重建,重建表空間以及所有的物件.
svrmgrl> startup mount
svrmgrl> alter database datafile filename offline drop;
svrmgrl> alter database open;
svrmgrl> drop tablespace tablespace_name including contents;
重建表空間及所有物件.
b.使用者的表空間不能夠被輕易地重建
如無備份則使用者資料資料會全丟失
5、損壞的資料檔案屬於回滾表空間
1)確認資料庫完全關閉
2)修改init.ora檔案,註釋"rollback-segment"
2)svrmgrl> startup restrict mount
3)svrmgrl> alter database datafile filename offline drop;
4)svrmgrl> alter database open;
基於出現的結果: "statement processed" 轉7),"ORA-00604,ORA-00376,ORA-01110"轉6)
6)svrmgrl> shutdown immediate
修改init.ora檔案,增加如下一行:
_corrupted_rollback_segments = (,...)
svrmgrl> startup restrict
7) svrmgrl> drop tablespace tablespace_name including contents;
8) 重建表空間及回滾段
9) svrmgrl> alter system disable restricted session;
10) 修改init.ora檔案
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/72950/viewspace-927870/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 解決「問題」,不要解決問題
- 解決問題
- 發現問題,解決問題
- yum問題解決
- sqlitedabaseislocked問題解決SQLite
- dump 解決問題
- ORA-01110錯誤解決方法
- 提問題比解決問題更重要
- SERVICE問題解決方法
- 解決高度塌陷問題
- qeephp 解決跨越問題PHP
- bg配置問題解決
- git ssl 問題解決Git
- AIX問題解決思路AI
- WAS startnode hang問題解決
- 解決grub rescue問題
- 解決跨域問題跨域
- Ubuntu 16.04 Vysor 破解 和黑屏問題解決+ 閃屏問題解決Ubuntu
- 【問題解決】單機搭建dataguard的問題
- 解決 Github 國內訪問問題Github
- 解決github訪問慢的問題Github
- 解決 github 訪問不了的問題Github
- 黑蘋果的問題解決蘋果
- thinkphp-queue問題解決PHP
- CROS 解決跨域問題ROS跨域
- MySQL 中文 like 問題解決MySql
- 解決問題通用方法論
- cors解決跨域問題CORS跨域
- No module named MYSQLdb 問題解決MySql
- As常見問題解決方法
- git常見問題解決Git
- WebSocket跨域問題解決Web跨域
- 解決高度塌陷、定位問題
- rabbitmq解決erlang版本問題MQ
- sql多參問題解決SQL
- OOM問題解決實踐OOM
- mysql大小寫問題解決MySql
- Flask解決跨域問題Flask跨域