資料庫的備份與恢復分析及例項
歸檔模式:可以進行一致性備份(冷備)和非一致性備份(熱備)。
非歸檔模式:一致性備份(冷備)
一致性備份(冷備份):在資料庫正常關閉情況下做備份,資料庫處於一致性狀態。
(可以用於歸檔和非歸檔),所有SCN號一致。缺點:資料庫需要關閉。
非一致性備份(熱備份):資料庫在open狀態下備份(用於歸檔模式),
使用alter database/tablespace xxx begin backup開始備份。
優點:資料庫不需要關閉,用於7x24事務處理的資料庫。
一般手工備份主要備份控制檔案,資料檔案,以及引數檔案等。
首先檢視控制檔案,資料檔案,以及引數檔案的位置:
sys@TEST0910> select name from v$controlfile;
NAME
------------------------------------------------------------
/u01/app/oracle/oradata/test0910/control01.ctl
/u01/app/oracle/fast_recovery_area/test0910/control02.ctl
sys@TEST0910> select file#,name from v$datafile;
FILE# NAME
---------- ------------------------------------------------------------
1 /u01/app/oracle/oradata/test0910/system01.dbf
2 /u01/app/oracle/oradata/test0910/sysaux01.dbf
3 /u01/app/oracle/oradata/test0910/undotbs01.dbf
4 /u01/app/oracle/oradata/test0910/users01.dbf
5 /u01/app/oracle/oradata/test0910/example01.dbf
sys@TEST0910> col file_name for a50
sys@TEST0910> col tablespace_name for a10
sys@TEST0910> select file_id,file_name,tablespace_name,bytes/1024/1024 m from dba_data_files;
FILE_ID FILE_NAME TABLESPACE M
---------- -------------------------------------------------- ---------- ----------
4 /u01/app/oracle/oradata/test0910/users01.dbf USERS 5
3 /u01/app/oracle/oradata/test0910/undotbs01.dbf UNDOTBS1 100
2 /u01/app/oracle/oradata/test0910/sysaux01.dbf SYSAUX 650
1 /u01/app/oracle/oradata/test0910/system01.dbf SYSTEM 720
5 /u01/app/oracle/oradata/test0910/example01.dbf EXAMPLE 345.625
sys@TEST0910> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /u01/app/oracle/product/11.2.0
/dbhome_1/dbs/spfiletest0910.o
ra
熱備份必須在歸檔模式下進行,不然會報錯。
先來看看資料庫是否為歸檔模式:
sys@TEST0910> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 24
Next log sequence to archive 26
Current log sequence 26
sys@TEST0910> select log_mode from v$database;
LOG_MODE
------------
ARCHIVELOG
手工熱備份步驟:
開庫備份只用于歸檔模式,而且熱備之前先執行命令:
熱備步驟:
alter database/tablespace XXX begin backup 這句話會導致鎖塊頭,scn號不會變化。
cp files
alter database/tablespace XXX end backup
實驗備份users表空間,並測試刪除檔案並恢復:
1、首先開始備份users表空間
sys@TEST0910> alter tablespace users begin backup;
Tablespace altered.
2、作業系統命令拷貝檔案:
[oracle@rtest ~]$ cd /u01/app/oracle
[oracle@rtest oracle]$ mkdir hot_dir
[oracle@rtest oracle]$ cp /u01/app/oracle/oradata/test0910/users01.dbf /u01/app/oracle/hot_dir/users01.dbf
3、結束users表空間的備份:
sys@TEST0910> alter tablespace users end backup;
Tablespace altered.
4、此時刪除users01.dbf檔案
[oracle@rtest oracle]$ ls /u01/app/oracle/oradata/test0910/users01.dbf
ls: /u01/app/oracle/oradata/test0910/users01.dbf: No such file or directory
5、關庫,再啟庫,報錯:
sys@TEST0910> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
sys@TEST0910> startup
ORACLE instance started.
Total System Global Area 2505338880 bytes
Fixed Size 2230952 bytes
Variable Size 587203928 bytes
Database Buffers 1895825408 bytes
Redo Buffers 20078592 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 4 - see DBWR trace file
ORA-01110: data file 4: '/u01/app/oracle/oradata/test0910/users01.dbf'
6、通過作業系統拷貝到正確的位置,(也可以通過rman恢復,這裡用拷貝方式)
[oracle@rtest oracle]$ cp /u01/app/oracle/hot_dir/users01.dbf /u01/app/oracle/oradata/test0910/users01.dbf
[oracle@rtest oracle]$ ls /u01/app/oracle/oradata/test0910/users01.dbf
/u01/app/oracle/oradata/test0910/users01.dbf
7、再開庫,報錯,需要介質恢復:
sys@TEST0910> alter database open;
alter database open
*
ERROR at line 1:
ORA-01113: file 4 needs media recovery
ORA-01110: data file 4: '/u01/app/oracle/oradata/test0910/users01.dbf'
8、介質恢復:
sys@TEST0910> recover datafile 4;
Media recovery complete.
9、再開庫,成功:
sys@TEST0910> alter database open;
Database altered.
恢復成功
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29196873/viewspace-1090234/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 備份與恢復:polardb資料庫備份與恢復資料庫
- 資料庫的備份與恢復資料庫
- MySQL增量備份與恢復例項MySql
- 將RAC備份集恢復為單例項資料庫單例資料庫
- 【備份恢復】從備份恢復資料庫資料庫
- mysql的資料庫備份與恢復MySql資料庫
- oracle資料庫的備份與恢復Oracle資料庫
- postgresql備份與恢復資料庫SQL資料庫
- mongo資料庫備份與恢復Go資料庫
- Informix資料庫備份與恢復ORM資料庫
- 【RAC】將單例項備份集恢復為rac資料庫單例資料庫
- 【RAC】將RAC備份集恢復為單例項資料庫單例資料庫
- 單例項環境利用備份恢復RAC資料庫(四)單例資料庫
- 單例項環境利用備份恢復RAC資料庫(三)單例資料庫
- 單例項環境利用備份恢復RAC資料庫(二)單例資料庫
- 單例項環境利用備份恢復RAC資料庫(一)單例資料庫
- RMAN例項備份與恢復詳解
- 關閉資料庫的備份與恢復資料庫
- Oracle資料庫的備份與恢復(轉)Oracle資料庫
- Oracle 資料庫的備份與恢復(轉)Oracle資料庫
- rman資料庫全庫備份與恢復資料庫
- Oracle資料庫備份與恢復之三:OS備份/使用者管理的備份與恢復Oracle資料庫
- 資料庫備份與恢復技術資料庫
- 資料庫備份與異機恢復——熱備份方式資料庫
- DB2的資料庫備份與恢復DB2資料庫
- ORACLE RAC資料庫的備份與恢復(6)Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(5)Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(4)Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(3)Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(2)Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(1)Oracle資料庫
- 資料庫(表)的邏輯備份與恢復資料庫
- Oracle資料庫備份與恢復之RMANOracle資料庫
- 資料庫備份與恢復----第一課資料庫
- 【備份恢復】Oracle 資料備份與恢復微實踐Oracle
- 基於tsm的oracle資料庫備份及恢復Oracle資料庫
- Oracle資料庫的備份及恢復策略研究(轉)Oracle資料庫
- Oracle資料庫的冷備份及冷備份異地恢復方法Oracle資料庫