Oracle 冷備份
--======================
-- Oracle 冷備份
--======================
一、冷備份
資料庫在關閉狀態下完成所有物理系統檔案複製的過程,也稱離線備份
適合於非歸檔模式下,資料庫處於一致性狀態
二、步驟
首先在執行的庫中得到資料庫執行的所有的物理檔案位置,然後在計劃內關閉資料庫(shutdown)
再執行複製物理文家到備份路徑或備份裝置
備份完成後立即啟動資料庫讓其提供正常的服務
三、冷備指令碼的寫法
首先應該在相關檢視裡查出資料庫的資料檔案,日誌檔案,控制檔案,臨時檔案所在的位置
注意:不要直接把oradata下的cp就行了,因為生產庫裡各個檔案通常分佈在不同的磁碟,不同的地方,所以在去檢視裡獲得真實路徑
--檢視例項和資料庫的相關資訊
SQL> select instance_name,version,status,archiver,database_status from v$instance;
INSTANCE_NAME VERSION STATUS ARCHIVE DATABASE_STATUS
---------------- ----------------- ------------ ------- -----------------
orcl 10.2.0.1.0 OPEN STOPPED ACTIVE
SQL> select dbid,name,log_mode from v$database;
DBID NAME LOG_MODE
---------- --------- ------------
1242732291 ORCL NOARCHIVELOG
--檢視資料檔案及狀態資訊
SQL> select file_name,tablespace_name,status,online_status from dba_data_files;
FILE_NAME TABLESPACE STATUS ONLINE_
------------------------------------------------------- ---------- --------- -------
/u01/app/oracle/oradata/orcl/undotbs01.dbf UNDOTBS1 AVAILABLE ONLINE
/u01/app/oracle/oradata/orcl/system01.dbf SYSTEM AVAILABLE SYSTEM
/u01/app/oracle/oradata/orcl/sysaux01.dbf SYSAUX AVAILABLE ONLINE
/u01/app/oracle/oradata/orcl/users01.dbf USERS AVAILABLE ONLINE
/u01/app/oracle/oradata/orcl/example01.dbf EXAMPLE AVAILABLE ONLINE
/u01/app/oracle/oradata/orcl/tbs1_1.dbf TBS1 AVAILABLE ONLINE
/u01/app/oracle/oradata/orcl/tbs1_2.dbf TBS1 AVAILABLE ONLINE
--檢視資料檔案
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/orcl/system01.dbf
/u01/app/oracle/oradata/orcl/undotbs01.dbf
/u01/app/oracle/oradata/orcl/sysaux01.dbf
/u01/app/oracle/oradata/orcl/users01.dbf
/u01/app/oracle/oradata/orcl/example01.dbf
/u01/app/oracle/oradata/orcl/tbs1_1.dbf
/u01/app/oracle/oradata/orcl/tbs1_2.dbf
--檢視臨時檔案
SQL> select name from v$tempfile;
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/orcl/temp01.dbf
--檢視日誌檔案
SQL> select member from v$logfile;
MEMBER
------------------------------------------------------------
/u01/app/oracle/oradata/orcl/redo2a.rdo
/u01/app/oracle/oradata/orcl/redo2b.rdo
/u01/app/oracle/oradata/orcl/redo1a.rdo
/u01/app/oracle/oradata/orcl/redo3a.rdo
/u01/app/oracle/oradata/orcl/redo3b.rdo
/u01/app/oracle/oradata/orcl/redo1b.rdo
--檢視控制檔案
SQL> select name from v$controlfile;
NAME
------------------------------------------------------------
/u01/app/oracle/oradata/orcl/control01.ctl
/u01/app/oracle/oradata/orcl/control02.ctl
--建立備份目錄
SQL> ho mkdir /u01/app/oracle/coolbak
--使用連線符生成複製檔案命令
SQL> select 'ho cp ' || name || ' /u01/app/oracle/coolbak' from v$controlfile;
'HOCP'||NAME||'/U01/APP/ORACLE/COOLBAK'
----------------------------------------------------------------------------------
ho cp /u01/app/oracle/oradata/orcl/control01.ctl /u01/app/oracle/coolbak
ho cp /u01/app/oracle/oradata/orcl/control02.ctl /u01/app/oracle/coolbak
SQL> save /tmp/tmpbak.sql; --將上面的輸入儲存為tmpbak.sql
Created file /tmp/tmpbak.sql
SQL> ho vim /tmp/tmpbak.sql --編輯tmpbak.sql,將下面的內容輸入到tmpbak.sql
set feedback off
set heading off
set verify off
set trimspool off
set pagesize 0
set linesize 200
define dir = '/u01/app/oracle/coolbak'
define script. = '/tmp/coolbak.sql'
spool &script
select 'ho cp ' || name || ' &dir' from v$controlfile
union all
select 'ho cp ' || name || ' &dir' from v$datafile
union all
select 'ho cp ' || member || ' &dir' from v$logfile
union all
select 'ho cp ' || name || ' &dir' from v$tempfile
/
create pfile = '&dir/initorcl.ora' from spfile;
ho cp /u01/app/oracle/10g/dbs/orapworcl &dir
spool off
shutdown immediate
start &script
ho rm &script
startup
--執行tmpbak.sql
SQL> @/tmp/tmpbak.sql;
--執行過程及資料庫啟動略
--啟動後檢視備份的檔案
SQL> ho ls /u01/app/oracle/coolbak
control01.ctl orapworcl redo2b.rdo system01.dbf users01.dbf
control02.ctl redo1a.rdo redo3a.rdo tbs1_1.dbf
example01.dbf redo1b.rdo redo3b.rdo tbs1_2.dbf
initorcl.ora redo2a.rdo sysaux01.dbf undotbs01.dbf
四、總結
優點
冷備模式下概念易於理解,即將需要備份的檔案複製到安全的位置
操作比較簡單,不需要太多的干預
容易恢復到某個時間點上(只需將檔案再複製回去)
能與歸檔方法相結合,作資料庫“最新狀態”的恢復。
缺點
備份時,資料庫必須處於一致性關閉狀態
只能提供到某一時間點的恢復
備份時速度比較慢,尤其是資料量大效能影響比較大
不能實現基於表和使用者級別的資料恢復
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22578826/viewspace-703501/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle的熱備份和冷備份Oracle
- Oracle冷備份級冷備份的不完全恢復Oracle
- Oracle OCP(60):冷備份Oracle
- Oracle冷備份練習Oracle
- Oracle冷備份和熱備份的處理Oracle
- Oracle 熱備份和冷備份的區別Oracle
- Oracle冷備份(一致備份)指令碼Oracle指令碼
- Oracle物理冷備份指令碼Oracle指令碼
- 揭祕ORACLE備份之--冷備份(也叫離線備份)Oracle
- Oracle資料庫的冷備份及冷備份異地恢復方法Oracle資料庫
- Oracle資料庫的備份方法-冷備份(轉)Oracle資料庫
- oracle自動冷備份指令碼Oracle指令碼
- Oracle冷備份的通常步驟Oracle
- Oracle資料庫冷備份與熱備份操作梳理Oracle資料庫
- windows 下的Oracle 冷備份指令碼WindowsOracle指令碼
- oracle 自動冷備份指令碼(轉)Oracle指令碼
- mysql的冷備份與熱備份MySql
- SQL Server 冷備份SQLServer
- oracle冷備份、恢復和異機恢復Oracle
- MySQL冷備份過程MySql
- 生成冷備份指令碼指令碼
- Oracle資料庫冷備份的異地恢復Oracle資料庫
- ORACLE DB建立步驟-運用冷備份和RMANOracle
- 啟動/關閉與冷備份Oracle資料庫Oracle資料庫
- windows和unix平臺下Oracle冷備份指令碼WindowsOracle指令碼
- Oracle資料庫備份與恢復之匯出/匯入(EXP/IMP)、熱備份和冷備份Oracle資料庫
- MySQL的冷備份和熱備份概念理解(轉)MySql
- 冷備份應用歸檔
- oracle冷備恢復Oracle
- 資料庫冷備份內容資料庫
- oracle 冷備及恢復Oracle
- oracle冷備指令碼薦Oracle指令碼
- oracle的冷備指令碼Oracle指令碼
- 資料庫的冷備份遷移資料庫
- 備份&恢復系列之一:怎樣在linux中寫對oracle的冷備份指令碼!LinuxOracle指令碼
- Oracle DG搭建2(冷備方式)Oracle
- oracle備份--離線備份Oracle
- 物理冷備份與恢復的操作命令