oracle linux rman 指令碼
針對PRD系統的安全性及資料的可靠性,做出了一下的備份策略和指令碼。
環境:
作業系統:linux Enterprise SERVER 3
資料庫: ORACLE 9I
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1)系統備份(file level)
對於整個檔案系統的備份,它的初衷就是當系統檔案丟失、伺服器硬體的物理損壞造成的系統無法正常執行時,採用
通過系統的備份檔案來快速恢復損壞的系統,使作業系統在最短的時間修復。根據上面的分析,系統的備份可以在系統
硬體或軟體發生改變時進行備份,無須定製備份計劃。也可以定期手工備份(如3個月)。
備份指令碼檔名:system_bck.sh
指令碼內容如下:
#!/bin/sh
cd /
tar cvf rman:/dev/st0 . --ignore-failed-read
說明:a.rman 是遠端的LINUX操作平臺的備份機,這樣可以把資料直接存至異地。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2)資料庫備份(database level -- exp/imp)
對於資料庫的備份有很多種,比如:資料庫的線上熱備份、離線的冷備份,ORACLE exp/imp的工具備份,Rman備份和
第三方的備份軟體的備份。在對PRD系統進行分析後,決定首先採取exp/imp對ORACLE 資料庫進行計劃性的邏輯備份,這樣
可以節省本地的硬碟空間,也是ORACLE的一種有效的備份工具。
備份指令碼檔名:exp_full.sh
指令碼內容如下:
#!/bin/tcsh
source /usr/local/ora9i/.cshrc
setenv rq `date +%Y%m%d`
rm -fr /Oradata/backup/exp_plan/exp_full_*
exp userid=system/manager full=Y file='/Oradata/backup/exp_plan/exp_full_$rq.dmp' log='/Oradata/backup/exp_plan/exp_full_$rq.log'
說明:a.以上是做資料庫的完全資料庫匯出,檔名稱為變數 rq 的值。(如exp_full_20050311)
b.這個邏輯匯出的檔案存放在本地伺服器,並且保留一份,也就是當天有效。因為本地磁碟採用的是RAID5陣列,所以
沒有把這個匯出檔案在另存到異地。(由於RAID5的可靠性,異地轉存的混亂,所以沒有轉存到異地)。
c.用crontab進行定期的執行:23 00 * * * /Oradata/backup/exp_plan/exp_full.sh
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3)資料庫離線冷備份
離線冷備份的備份方式是在資料庫正常關機的條件下,對資料庫的資料檔案,重做日誌檔案,控制檔案,歸檔檔案,
和伺服器引數檔案進行備份,這樣可以保留某一時間段資料的完事性,2)可以依託於3)的備份結構。
備份指令碼檔名:cool_full_bck.sh 備份指令碼檔名:cool_tar_remote.sh 備份指令碼檔名:cool_tar_remote.sh 說明: a.00 21 * * 0 /Oradata/backup/exp_plan/cool_full_bck.sh #每週做資料庫的離線全備份 附加方式: 備份指令碼檔名:ora_bck 說明 :a.這備份方式可以做為與3)方式的可選項,見議備份方式不要太多,以免造成混亂。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/235507/viewspace-618212/,如需轉載,請註明出處,否則將追究法律責任。
指令碼內容如下:
#!/bin/sh
#
#本地備份目錄為
#/Oradata/backup/cool_bck/sda1
#/Oradata/backup/cool_bck/sda2
#
export ORACLE_HOME=/usr/local/ora9i/OraHome
$ORACLE_HOME/bin/sqlplus "/as sysdba" <
host "rm -fr /Oradata/backup/cool_bck/*"
host "mkdir -p /Oradata/backup/cool_bck/sda1"
host "mkdir -p /Oradata/backup/cool_bck/sda2"
host "cp -fr /Oradata/FIT_DB/FIT/* /Oradata/backup/cool_bck/sda2"
host "cp -fr /usr/local/ora9i/Oradata/FIT_DB/FIT/* /Oradata/backup/cool_bck/sda1"
host "cp -fr $ORACLE_HOME/dbs/*.ora /Oradata/backup/cool_bck"
startup
<
指令碼內容如下:
#!/bin/sh
#遠端備份機器名為 rman
#此指令碼為以追加方式寫入磁帶機
cd /Oradata/backup/cool_bck
tar rcvf rman:/dev/st0 .
指令碼內容如下:
#!/bin/sh
#遠端備份機器名為 rman
#此指令碼以覆蓋方式寫入磁帶機
cd /Oradata/backup/cool_bck
tar cvf rman:/dev/st0 .
b.30 23 * * 0 /Oradata/backup/exp_plan/cool_tar_remote.sh #將本地的資料備份到遠端磁帶機上
c.00 03 28 * * /Oradata/backup/exp_plan/cool_tar_remote_ow.sh #每月的28日對磁帶機進行覆蓋備份
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
資料庫備份(database level -- Rman)
採用Rman做異地的備份,這樣也是對2)的一個補充,在異地伺服器安裝RMAN catalog,磁帶機,建立指令碼;並對指令碼定
期的執行。這樣本地有exp/imp的匯出檔案和RAID5的安全性,遠端有Rman的磁帶備份,可以說是對資料的雙重保護。在資料
量增大時,可以考慮第三方備份軟體,如:veritas netbackup, Ca ,legato等備份軟體。
指令碼內容如下:
{configure default device type to "sbt_tape" parallelism 3;
configure exclude for tablespace temp;
allocate ch01 device type "sbt_tape";
allocate ch02 device type "sbt_tape";
allocate ch03 device type "sbt_tape";
backup database;
backup current controlfile;
backup archivelog all;
}
相關文章
- Oracle rman 指令碼Oracle指令碼
- unix、linux oracle rman匯出指令碼LinuxOracle指令碼
- oracle RMAN備份指令碼Oracle指令碼
- [Oracle] rman備份指令碼(2)Oracle指令碼
- oracle rman備份指令碼收集Oracle指令碼
- oracle 10g rman 指令碼Oracle 10g指令碼
- Linux/Unix shell 指令碼中呼叫SQL,RMAN指令碼Linux指令碼SQL
- 分享Oracle Rman的備份指令碼Oracle指令碼
- oracle rman 定時備份指令碼Oracle指令碼
- [Oracle] rman備份的指令碼(1)Oracle指令碼
- ORACLE RMAN備份的指令碼配置Oracle指令碼
- rman指令碼指令碼
- linux 下RMAN備份shell指令碼Linux指令碼
- oracle11g Rman 備份指令碼Oracle指令碼
- 一次 oracle rman 指令碼的部署Oracle指令碼
- [Rman]Oracle Rman增量備份Level012指令碼Oracle指令碼
- oracle資料庫使用rman備份指令碼Oracle資料庫指令碼
- Oracle生產環境RMAN備份指令碼Oracle指令碼
- linux下rman增量備份指令碼以及指令碼自動執行Linux指令碼
- 【RMAN】RMAN指令碼中使用替換變數--windows 下rman全備指令碼指令碼變數Windows
- 我在linux 中使用rman 備份指令碼Linux指令碼
- rman 備份指令碼指令碼
- rman儲存指令碼指令碼
- rman備份指令碼指令碼
- Oracle 11g RMAN multiplexing 備份指令碼Oracle指令碼
- oracle for linux 備份指令碼OracleLinux指令碼
- oracle 檢測指令碼on linuxOracle指令碼Linux
- rman 全備份指令碼指令碼
- rman增量備份指令碼指令碼
- rman實用指令碼集指令碼
- 自動化RMAN指令碼指令碼
- windows rman備份指令碼Windows指令碼
- RMAN恢復指令碼案例指令碼
- RMAN常用備份指令碼指令碼
- 水煮oracle41----shell指令碼中對oracle的sql*plus和rman工具的指令碼呼叫和嵌入Oracle指令碼SQL
- 備份&恢復系列之三:在linux中對oracle用rman指令碼備份!LinuxOracle指令碼
- Oracle 11g EXPDP、RMAN自動備份SHELL指令碼Oracle指令碼
- 使用rman備份的指令碼指令碼