rman恢復--歸檔模式有備份,丟失資料檔案的恢復
1:建立資料庫備份
通過指令碼實現
2:構造資料
SQL> create tablespace orcl_data logging datafile '/u01/app/oracle/oradata/orcl/orcl_data.dbf' size 50m autoextend on next 50m maxsize 2048m extent management local;
Tablespace created.
SQL> SQL> create user orcl identified by orcl default tablespace orcl_data;
User created.
SQL> grant connect,resource,dba to orcl;
Grant succeeded.
SQL> conn orcl/orcl
Connected.
SQL> create table t1(id number,name varchar(20));
Table created.
SQL> insert into t1 values(1,'sun');
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
SQL> select * from t1;
ID NAME
---------- --------------------
1 sun
1 sun
1 sun
1 sun
SQL> commit;
Commit complete.
Tablespace created.
SQL> SQL> create user orcl identified by orcl default tablespace orcl_data;
User created.
SQL> grant connect,resource,dba to orcl;
Grant succeeded.
SQL> conn orcl/orcl
Connected.
SQL> create table t1(id number,name varchar(20));
Table created.
SQL> insert into t1 values(1,'sun');
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
SQL> select * from t1;
ID NAME
---------- --------------------
1 sun
1 sun
1 sun
1 sun
SQL> commit;
Commit complete.
3:模擬檔案丟失
以SYSDBA身份連線並關閉資料庫
SQL> conn /as sysdba
Connected.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
Connected.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
手動模擬資料檔案丟失,直接刪除剛剛建立的orcl_data資料檔案。
嘗試重啟資料庫
SQL> startup
ORACLE instance started.
Total System Global Area 835104768 bytes
Fixed Size 2217952 bytes
Variable Size 520095776 bytes
Database Buffers 310378496 bytes
Redo Buffers 2412544 bytes
Database mounted.
ORA-01157: 無法標識/鎖定資料檔案 5 - 請參閱 DBWR 跟蹤檔案
ORA-01110: 資料檔案 5: '/u01/app/oracle/oradata/orcl/orcl_data.dbf'
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
orcl MOUNTED
ORACLE instance started.
Total System Global Area 835104768 bytes
Fixed Size 2217952 bytes
Variable Size 520095776 bytes
Database Buffers 310378496 bytes
Redo Buffers 2412544 bytes
Database mounted.
ORA-01157: 無法標識/鎖定資料檔案 5 - 請參閱 DBWR 跟蹤檔案
ORA-01110: 資料檔案 5: '/u01/app/oracle/oradata/orcl/orcl_data.dbf'
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
orcl MOUNTED
4:執行恢復
[oracle@oracle ~]$ export ORACLE_SID=orcl
[oracle@oracle ~]$ rman target /
Recovery Manager: Release 11.2.0.1.0 - Production on чǚ?? 12? 24 19:11:06 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database: ORCL (DBID=1362763236, not open)
RMAN> restore datafile 5; ----可以指定檔案序號,也可以指定檔案的詳細路徑
Starting restore at 2013-12-24 19:11:50
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=20 device type=DISK
creating datafile file number=5 name=/u01/app/oracle/oradata/orcl/orcl_data.dbf
restore not done; all files read only, offline, or already restored
Finished restore at 2013-12-24 19:11:52
RMAN> recover datafile 5;
Starting recover at 2013-12-24 19:12:59
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time: 00:00:00
Finished recover at 2013-12-24 19:13:00
RMAN> alter database open;
database opened
[oracle@oracle ~]$ rman target /
Recovery Manager: Release 11.2.0.1.0 - Production on чǚ?? 12? 24 19:11:06 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database: ORCL (DBID=1362763236, not open)
RMAN> restore datafile 5; ----可以指定檔案序號,也可以指定檔案的詳細路徑
Starting restore at 2013-12-24 19:11:50
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=20 device type=DISK
creating datafile file number=5 name=/u01/app/oracle/oradata/orcl/orcl_data.dbf
restore not done; all files read only, offline, or already restored
Finished restore at 2013-12-24 19:11:52
RMAN> recover datafile 5;
Starting recover at 2013-12-24 19:12:59
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time: 00:00:00
Finished recover at 2013-12-24 19:13:00
RMAN> alter database open;
database opened
切換回SQL*PLUS命令環境下,檢視當前資料庫狀態和資料
[oracle@oracle ~]$ sqlplus "/as sysdba"
SQL*Plus: Release 11.2.0.1.0 Production on 星期二 12月 24 19:18:45 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
orcl OPEN
SQL> conn orcl/orcl
Connected.
SQL> select * from t1;
ID NAME
---------- --------------------
1 sun
1 sun
1 sun
1 sun
SQL>
SQL*Plus: Release 11.2.0.1.0 Production on 星期二 12月 24 19:18:45 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
orcl OPEN
SQL> conn orcl/orcl
Connected.
SQL> select * from t1;
ID NAME
---------- --------------------
1 sun
1 sun
1 sun
1 sun
SQL>
5:關於rman的restore和recover區別
restore 是還原,檔案級的恢復。就是物理檔案還原。
recover 是恢復,資料級的恢復。邏輯上恢復,比如應用歸檔日誌、重做日誌,全部同步,保持一致。
用我自己的土話講就是,用restore先把備份檔案拷貝到資料庫目錄下進行替換,再用recover經過一些處理,資料庫就恢復正常了。
1、restore 命令:用於還原已經備份的資料檔案。
(1)、restore database 還原所有的資料檔案。
(2)、restore tablespace 還原特定表空間的資料檔案。
(3)、restore datafile 還原特定的資料檔案。
(4)、restore controlfile 還原控制檔案。
(5)、restore archivelog 還原歸檔日誌檔案。
2、recover 命令:當資料庫需要應用歸檔日誌檔案恢復資料檔案時,使用recover命令。使用該命令資料庫系統會自動應用歸檔的日誌檔案。
(1)、recover database 恢復所有的資料檔案。
(2)、recover tablespace 恢復特定表空間的資料檔案。
(3)、recover datafile 恢復特定的資料檔案。
recover 是恢復,資料級的恢復。邏輯上恢復,比如應用歸檔日誌、重做日誌,全部同步,保持一致。
用我自己的土話講就是,用restore先把備份檔案拷貝到資料庫目錄下進行替換,再用recover經過一些處理,資料庫就恢復正常了。
1、restore 命令:用於還原已經備份的資料檔案。
(1)、restore database 還原所有的資料檔案。
(2)、restore tablespace 還原特定表空間的資料檔案。
(3)、restore datafile 還原特定的資料檔案。
(4)、restore controlfile 還原控制檔案。
(5)、restore archivelog 還原歸檔日誌檔案。
2、recover 命令:當資料庫需要應用歸檔日誌檔案恢復資料檔案時,使用recover命令。使用該命令資料庫系統會自動應用歸檔的日誌檔案。
(1)、recover database 恢復所有的資料檔案。
(2)、recover tablespace 恢復特定表空間的資料檔案。
(3)、recover datafile 恢復特定的資料檔案。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28698327/viewspace-1065457/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- dg丟失歸檔,使用rman增量備份恢復
- 12 使用RMAN備份和恢復檔案
- 電腦檔案丟失資料恢復資料恢復
- RMAN備份恢復典型案例——資料檔案存在壞快
- 【BBED】丟失歸檔檔案情況下的恢復
- 剪下的檔案還能恢復嗎,恢復剪貼丟失的檔案
- Oracle使用備份檔案集恢復歸檔日誌Oracle
- Sql Server資料庫檔案丟失的恢復方法SQLServer資料庫
- 【北亞資料恢復】MongoDB資料遷移檔案丟失的MongoDB資料恢復案例資料恢復MongoDB
- 【資料庫資料恢復】mdb_catalog.wt檔案丟失的MongoDB資料恢復案例資料庫資料恢復MongoDB
- 【伺服器資料恢復】xfs檔案系統資料丟失的資料恢復案例伺服器資料恢復
- 從備份片中恢復某個指定得歸檔或者資料檔案
- 【資料庫資料恢復】Sql Server資料庫檔案丟失的資料恢復過程資料庫資料恢復SQLServer
- DATA GUARD主庫丟失資料檔案的恢復(3)
- DATA GUARD主庫丟失資料檔案的恢復(1)
- DATA GUARD主庫丟失資料檔案的恢復(2)
- rman 增量備份恢復
- RMAN備份恢復技巧
- 丟失的隨身碟檔案如何恢復?
- 資料庫資料恢復—MongoDB資料庫檔案丟失,啟動報錯的資料恢復案例資料庫資料恢復MongoDB
- macOS Big Sur系統如何恢復丟失的資料檔案?Mac
- XFS檔案系統的備份、恢復、修復
- 【虛擬機器資料恢復】Hyper-V虛擬化檔案丟失的資料恢復案例虛擬機資料恢復
- RMAN備份異機恢復
- 怎樣恢復Mac檔案及資料夾資料?BackupLoupe for mac(資料恢復備份助手)3.5.4Mac資料恢復
- 【RMAN】如果控制檔案損壞那麼如何恢復?恢復控制檔案的方式有哪幾種?
- MongoDB資料庫報錯,資料庫檔案丟失資料恢復案例MongoDB資料庫資料恢復
- RMAN備份恢復典型案例——異機恢復未知DBID
- 備份與恢復:polardb資料庫備份與恢復資料庫
- RMAN備份恢復效能優化優化
- RMAN備份與恢復測試
- Linux中XFS檔案系統的備份,恢復,修復Linux
- 檔案丟失不用怕:超實用的Mac資料恢復軟體!Mac資料恢復
- 【伺服器資料恢復】SAN LUN對映出錯導致檔案系統資料丟失的資料恢復案例伺服器資料恢復
- RMAN備份恢復典型案例——資料庫卡頓資料庫
- 硬碟資料丟失如何恢復?硬碟
- 分割槽丟失資料恢復資料恢復
- 檔案的基本管理和XFS檔案系統備份恢復
- 伺服器資料恢復—重灌系統導致XFS檔案系統分割槽丟失的資料恢復案例伺服器資料恢復