歸檔模式下恢複沒有備份的資料檔案

來源:互聯網
上載者:User

標籤:11g   asm   database   recover   

測試環境

SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE    11.2.0.4.0      Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production

建立資料表空間並設定使用者

SQL> create tablespace t1 datafile ‘+data‘ size 20m;
Tablespace created.
SQL>
SQL> alter user test default tablespace t1;
User altered.
SQL> create table tt1 as select * from user_objects;
Table created.

SQL> select count(*) from tt1;
  COUNT(*)
----------
         6
SQL> select t.ts#, d.file#, d.name from v$tablespace t, v$datafile d where t.name=‘T1‘ and t.ts# = d.ts#;
       TS#      FILE# NAME
---------- ---------- --------------------------------------------------------------------------------
        19         13 +DATA/key/datafile/t1.275.851106659
        19         14 +DATA/key/datafile/t1.276.851107957


offline資料檔案並在asm磁碟組刪除相應資料檔案

SQL> alter database datafile 13 offline;
Database altered.
ASMCMD> rm  t1.275.851106659
ASMCMD> pwd
+data/key/datafile
ASMCMD>


測試

SQL> conn test/oracle;
Connected.
SQL> select * from tt1;
select * from tt1
              *
ERROR at line 1:
ORA-00376: file 13 cannot be read at this time
ORA-01110: data file 13: ‘+DATA/key/datafile/t1.275.851109775‘



online資料檔案報錯
SQL> alter database datafile 13 online;
alter database datafile 13 online
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 13 - see DBWR trace file
ORA-01110: data file 13: ‘+DATA/key/datafile/t1.275.851106659‘


查看trace檔案內容

key_dbw0_21473.trc

……
ORA-01157: cannot identify/lock data file 13 - see DBWR trace file
ORA-01110: data file 13: ‘+DATA/key/datafile/t1.275.851106659‘
ORA-17503: ksfdopn:2 Failed to open file +DATA/key/datafile/t1.275.851106659
ORA-15012: ASM file ‘+DATA/key/datafile/t1.275.851106659‘ does not exist

……


提示沒有相應資料檔案,可以通過alter database create datafile建立相應資料檔案

SQL> alter database create datafile 13;


Database altered.




ASMCMD> ls
ELITEMASTER.274.849888559
MGMT_AD4J_TS.268.840720903
MGMT_ECM_DEPOT_TS.266.840720899
MGMT_TABLESPACE.267.840720901
SYSAUX.261.840712503
SYSTEM.260.840712485
T1.275.851109775
T1.276.851107957
TEST.270.842550281
UNDOTBS1.262.840712517
USERS.264.840712529


對比新增檔案名稱T1.275.851109775 和原有資料檔案+DATA/key/datafile/t1.275.851106659名稱不一樣

rename 資料檔案並recover 然後online 開啟查看

SQL> alter database rename file ‘+DATA/key/datafile/t1.275.851106659‘ to ‘+DATA/key/datafile/T1.275.851109775‘;
Database altered.
SQL> recover datafile 13;
Media recovery complete.


SQL> alter database datafile 13 online;
Database altered.
SQL> conn test/oracle
Connected.
SQL> select count(*) from tt1;
  COUNT(*)
----------
         6


恢複成功!


這個也同樣適用於rac 恢複!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.