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指令碼
- oracle資料庫使用rman備份指令碼Oracle資料庫指令碼
- rman 備份指令碼指令碼
- ORACLE NBU調取oracle rman指令碼備份歸檔不自動刪除歸檔Oracle指令碼
- Converting Oracle Database from Linux to Windows using RMANOracleDatabaseLinuxWindows
- Oracle使用RMAN從Windows遷移資料到LinuxOracleWindowsLinux
- ORACLE rman與RMAN-00054&ORA-09945Oracle
- oracle建庫指令碼Oracle指令碼
- ORACLE備份指令碼Oracle指令碼
- Linux下利用指令碼靜默安裝Oracle11GLinux指令碼Oracle
- 【RMAN】Oracle rman 常用命令參考Oracle
- Linux指令碼分享Linux指令碼
- Linux Shell指令碼Linux指令碼
- 【Linux】Linux安全加固指令碼Linux指令碼
- Windows Server Oracle 19c 19.3 RMAN使用RUN指令碼時TAG關鍵字的注意事項WindowsServerOracle指令碼
- oracle11g在linux7的靜默安裝指令碼OracleLinux指令碼
- Windows oracle 11g rman備份恢復到linux系統WindowsOracleLinux
- Oracle RMAN恢復測試Oracle
- Oracle RMAN備份實戰Oracle
- Oracle OCP(60):RMAN 備份Oracle
- Oracle 11G RAC複製備庫RMAN-03002 RMAN-05501 RMAN-03015 RMAN-03009 RMAN-10038Oracle
- Linux埠探測指令碼Linux指令碼
- linux常用的shell指令碼Linux指令碼
- linux啟定時指令碼Linux指令碼
- linux建立定時指令碼Linux指令碼
- linux 常用Mysql指令碼命令LinuxMySql指令碼
- 【RMAN】Oracle使用rman將11.2.0.4資料庫遷移至Oracle12c命令參考Oracle資料庫
- ORACLE常用定時備份指令碼Oracle指令碼
- Oracle:GRID 下 root.sh 指令碼Oracle指令碼
- 【SCN】Oracle檢查scn值指令碼Oracle指令碼
- 【TABLE】Oracle表資訊收集指令碼Oracle指令碼
- Oracle批次生成Merge指令碼程式Oracle指令碼
- oracle自動冷備份指令碼Oracle指令碼
- oracle手工建庫後rman無法啟用(RMAN-04015)Oracle
- Oracle rman duplicate遷移測試Oracle
- Oracle RMAN 表空間恢復Oracle
- oracle_ray.sh 常用的oracle sql功能指令碼OracleSQL指令碼
- linux shell指令碼中 =~ 的作用Linux指令碼
- Linux 【Shell指令碼經典案例】Linux指令碼