11g rac ORA-01157問題處理

年假還沒休完,就接到一個工作。某客戶數據庫異常,無法讀取數據,大概瞭解了下原因,早上就坐車來到了生命之環,確實是比較有氣勢,天氣也不錯,心情也很好。

一、環境
11g rac
rhel 6.8

二、報錯信息
SQL> select file_name from dba_data_files;
ERROR:
ORA-01157: cannot identify/lock data file 6 - see DBWR trace file
ORA-01110: data file 6:
'/u01/app/oracle/product/11.2.0/dbhome_1/dbs/DATAfsczracdatafilefinance.DBF'

三、處理過程
花了幾分鐘,清理了一下思路,寫好腳本就開始整。

1、默認歸檔已打開
SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            +DATA/arch
Oldest online log sequence     20
Next log sequence to archive   22
Current log sequence           22
SQL> 
SQL> 

2、offline 表空間
SQL> alter tablespace FINANCE offline;

Tablespace altered.

3、cp 數據文件
ASMCMD [+data/FSCZRAC/datafile] > cp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/DATAfsczracdatafilefinance.DBF  +data/fsczrac/datafile/DATAfsczracdatafilefinance.DBF
copying /u01/app/oracle/product/11.2.0/dbhome_1/dbs/DATAfsczracdatafilefinance.DBF -> +data/fsczrac/datafile/DATAfsczracdatafilefinance.DBF
ASMCMD [+data/FSCZRAC/datafile] > 

4、修改控制文件中的數據文件路徑
SQL> alter database rename file '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/DATAfsczracdatafilefinance.DBF' to '+data/fsczrac/datafile/DATAfsczracdatafilefinance.DBF';
Database altered.

5、恢復表空間
SQL> recover tablespace finance;
Media recovery complete.

6、表空間online
SQL> alter tablespace finance online;
Tablespace altered.

7、驗證
SQL> col file_name for a60
SQL> select file_name, file_id, online_status from dba_data_files;

FILE_NAME                                                       FILE_ID ONLINE_
------------------------------------------------------------ ---------- -------
+DATA/fsczrac/datafile/users.259.967475641                            4 ONLINE
+DATA/fsczrac/datafile/undotbs1.258.967475641                         3 ONLINE
+DATA/fsczrac/datafile/sysaux.257.967475641                           2 ONLINE
+DATA/fsczrac/datafile/system.256.967475641                           1 SYSTEM
+DATA/fsczrac/datafile/undotbs2.269.967475831                         5 ONLINE
+DATA/fsczrac/datafile/datafsczracdatafilefinance.dbf                 6 ONLINE

6 rows selected.

SQL> 

四、小結
案例是真實案例,之前也遇到過很多次,一般開發的測試環境都是單機環境,生產變爲rac,創建表空間按照單機的方式肯定是有問題的啊。這個問題其實還可以擴展爲非歸檔模式下的數據文件修改路徑,使用cp方式和rman方式都可以。大家可以自己做測試。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章