oracle實驗記錄 (恢復-恢復未備份的資料檔案)
需要有表空間建立以來 到 資料檔案損壞時所有日誌,archivelog
手動方式
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
SQL> col file_name format a40
SQL> col tablespace_name format a10
SQL> select tablespace_name,file_name from dba_data_files;
TABLESPACE FILE_NAME
---------- ----------------------------------------
XHTEST D:\XHDATAFILE\XHTEST.DBF
RMAN_TS D:\XHDATAFILE\RMANDF.DBF
EXAMPLE D:\ORACLE\PRODUCT\10.2.0\ORADATA\XH\EXAM
PLE01.DBF
USERS D:\ORACLE\PRODUCT\10.2.0\ORADATA\XH\USER
S01.DBF
SYSAUX D:\ORACLE\PRODUCT\10.2.0\ORADATA\XH\SYSA
UX01.DBF
TABLESPACE FILE_NAME
---------- ----------------------------------------
UNDOTBS1 D:\ORACLE\PRODUCT\10.2.0\ORADATA\XH\UNDO
TBS01.DBF
SYSTEM D:\ORACLE\PRODUCT\10.2.0\ORADATA\XH\SYST
EM01.DBF
XHTR D:\XHDATAFILE\XHTR.DBF
OUTLINE_TS D:\XHDATAFILE\OUTLINE.DBF
SMALLTS D:\XHDATAFILE\SMALLFILE.DBF
已選擇10行。
SQL>
已選擇10行。
SQL> create tablespace nobackup datafile 'd:\xhdatafile\nobackup.dbf' size 10m;
表空間已建立。
SQL> create table nt (a int) tablespace nobackup;
表已建立。
SQL> insert into nt values(1);
已建立 1 行。
SQL> commit;
提交完成。
SQL> select * from nt
2 ;
A
----------
1
SQL> select tablespace_name from user_tables where table_name='NT';
TABLESPACE
----------
NOBACKUP
SQL> alter system switch logfile;
系統已更改。
SQL> alter system checkpoint;
系統已更改。
SQL> alter tablespace nobackup read only;
表空間已更改。
SQL> host del d:\xhdatafile\nobackup.dbf;
d:\xhdatafile\NOBACKUP.DBF
另一個程式正在使用此檔案,程式無法訪問。
SQL> alter database datafile 'd:\xhdatafile\nobackup.dbf' offline;
資料庫已更改。
SQL> host del d:\xhdatafile\nobackup.dbf;
SQL> alter database datafile 'd:\xhdatafile\nobackup.dbf' online;
alter database datafile 'd:\xhdatafile\nobackup.dbf' online
*
第 1 行出現錯誤:
ORA-01157: 無法標識/鎖定資料檔案 11 - 請參閱 DBWR 跟蹤檔案
ORA-01110: 資料檔案 11: 'D:\XHDATAFILE\NOBACKUP.DBF'
SQL> alter database create datafile 'D:\XHDATAFILE\NOBACKUP.DBF';~~~~~~~~~~~~~~~~~~~~~
資料庫已更改。
SQL> recover datafile 11;
完成介質恢復。
SQL> alter database datafile 'd:\xhdatafile\nobackup.dbf' online;
資料庫已更改。
SQL> alter tablespace nobackup read write;
表空間已更改。
SQL> select * from nt;
A
----------
1
rman 方式
SQL> select * from nt;
A
----------
1
SQL> alter database datafile 'd:\xhdatafile\nobackup.dbf' offline;
資料庫已更改。
SQL> host del d:\xhdatafile\nobackup.dbf;
SQL> select * from nt;
select * from nt
*
第 1 行出現錯誤:
ORA-00376: 此時無法讀取檔案 11
ORA-01110: 資料檔案 11: 'D:\XHDATAFILE\NOBACKUP.DBF'
C:\>rman target /
恢復管理器: Release 10.2.0.1.0 - Production on 星期三 9月 30 17:31:32 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
連線到目標資料庫: XH (DBID=3093395309)
RMAN> list backup of datafile 11
2> ;
~~~~~~~~~~~~~~~~~~~~~~~~沒有備份
RMAN>
RMAN> run{restore datafile 11;
2> recover datafile 11;
3> sql 'alter database datafile 11 online';
4> }
啟動 restore 於 30-9月 -09
使用通道 ORA_DISK_1
~
建立資料檔案 fno = 11 名稱 = D:\XHDATAFILE\NOBACKUP.DBF~~~~~~~~~~~~rman會自動建立 未備份的資料檔案
沒有完成恢復; 所有檔案均為只讀或離線檔案或者已經恢復
完成 restore 於 30-9月 -09
啟動 recover 於 30-9月 -09
使用通道 ORA_DISK_1
正在開始介質的恢復
介質恢復完成, 用時: 00:00:03
完成 recover 於 30-9月 -09
sql 語句: alter database datafile 11 online
SQL> select * from nt;
A
----------
1
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12020513/viewspace-615918/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle 增量備份恢復驗證Oracle
- 備份與恢復:polardb資料庫備份與恢復資料庫
- Oracle使用備份檔案集恢復歸檔日誌Oracle
- XFS檔案系統的備份、恢復、修復
- 資料庫備份恢復資料庫
- 怎樣恢復Mac檔案及資料夾資料?BackupLoupe for mac(資料恢復備份助手)3.5.4Mac資料恢復
- Oracle 備份 與 恢復 概述Oracle
- Oracle 備份恢復之 FlashbackOracle
- ORACLE備份&恢復案例(轉)Oracle
- 資料庫資料恢復—無備份,binlog未開啟的Mysql資料庫資料恢復案例資料庫資料恢復MySql
- RAC備份恢復之Voting備份與恢復
- gitlab的資料備份和恢復Gitlab
- Mysql資料備份與恢復MySql
- 實戰:xfs檔案系統的備份和恢復
- RMAN備份恢復典型案例——資料檔案存在壞快
- 備份與恢復oracle_homeOracle
- Oracle 備份和恢復介紹Oracle
- ORACLE備份&恢復案例三(轉)Oracle
- ORACLE備份&恢復案例二(轉)Oracle
- ORACLE本地磁碟備份恢復Oracle
- 12 使用RMAN備份和恢復檔案
- 【資料庫資料恢復】透過恢復NDF檔案修復資料庫的資料恢復過程資料庫資料恢復
- Linux中XFS檔案系統的備份,恢復,修復Linux
- 透過搭建恢復目錄實現RMAN異地備份和恢復
- 帝國cms備份和恢復 帝國cms恢復資料
- Oracle 之利用BBED修改資料塊SCN----沒有備份資料檔案的資料恢復Oracle資料恢復
- MySQL備份與恢復——基於Xtrabackup物理備份恢復MySql
- 如何恢復Hyper Backup備份的資料
- PostgreSql資料庫的備份和恢復SQL資料庫
- Oracle資料庫冷備和恢復Oracle資料庫
- Mysql資料庫備份及恢復MySql資料庫
- 達夢資料庫備份恢復資料庫
- RabbitMQ如何備份與恢復資料MQ
- 磁碟資料恢復及備份工具資料恢復
- postgresql備份與恢復資料庫SQL資料庫
- 備份與恢復:Polardb資料庫資料基於時間點恢復資料庫
- oracle冷備恢復Oracle
- Oracle 12c 備份與恢復Oracle
- Oracle 備份恢復篇之RMAN catalogOracle