oracle 資料庫rman+crontab自動差異增量備份
、環境準備:
兩臺linux 伺服器,一臺已經安裝好oracle資料庫
FileServer: 10.17.81.189
OracleServer:10.17.81.190
1.設定ssh密匙自動訪問:
在OracleServer 伺服器上,在輸入ssh-keygen指令後,只需要連續輸入三個回車鍵,就可以生成不需要密碼的金鑰公鑰對了,然後把id_rsa.pub. 上傳到 FileServer 伺服器上。
OracleServer:~# su - oracle #切換到oracle使用者下
oracle@OracleServer:~>ssh-keygen -t rsa
oracle@OracleServer :~>scp /home/oracle/.ssh/id_rsa.pub oracle@10.17.81.189:/home/oracle/.ssh/authorized_keys
2、建立增量備份指令碼
[email protected]:~> cd /opt/oracle/shell #進入到oracle shell
目錄(需要自己新建目錄)
[email protected]:/opt/oracle/shell> vim bakl0 #增量備份1指令碼
bakl 內容如下:
#!/bin/bash
export PATH #引入路徑
ORACLE_BASE=/opt/oracle
ORACLE_HOME=$ORACLE_BASE /product/11gR1/db
ORACLE_SID=ictdb #設定oracle_sid
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
/opt/oracle/product/11gR1/db/bin/rman target / <<EOF
run {
allocate channel c1 type disk;
backup
incremental level 0 # 增量為n,這裡就是這裡改成 lever n (n一般2級就夠了) 必須要有 0 備份
format "/opt/oracle/rmanbackup/dbf/inc0_%d_%u_%T"
tag monday_inc0
database;
sql 'alter system archive log current';
backup current controlfile format '/opt/oracle/rmanbackup/control/inc0_control_%d_%u_%T';
backup archivelog all format '/opt/oracle/rmanbackup/archive/inc0_archive_%d_%u_%T' delete all input;
release channel c1;
}
我這裡有增量2備份
依次建立 bakl1 bakl2 同bak0 只需要把level 0 改成 level 1 或者2 ,我習慣把備份集名字前面加上 inc【n】表示是 增量n備份
3、建立備份到檔案伺服器指令碼,把備份的資料複製到遠端檔案伺服器
[email protected]:/opt/oracle/shell> vim copy #複製到遠端檔案伺服器
#!/bin/bash
#copy file to file server
for cpfile in `find /opt/oracle/rmanbackup/ -ctime -1`;
do scp -r "$cpfile" [email protected]10.17.81.189:/opt/oracle/;
done
#delete before file
cd /opt/oracle/rmanbackup/
for rmfile in `find /opt/oracle/rmanbackup/ -mtime +7`;
do /bin/rm -rf "$rmfile";
done
4、設定crontab 自動備份策略
OracleServer:~ # crontab -l -u oracle
10 1 * * 0 sh /opt/oracle/shell/bakl0 #週末凌晨 1:10 執行增量0備份
10 1 * * 1 sh /opt/oracle/shell/bakl2 #週一凌晨 1:10 執行增量2備份
10 1 * * 2 sh /opt/oracle/shell/bakl2 #週二凌晨 1:10 執行增量2備份
10 1 * * 3 sh /opt/oracle/shell/bakl1 #週三凌晨 1:10 執行增量1備份
10 1 * * 4 sh /opt/oracle/shell/bakl2 #週四凌晨 1:10 執行增量2備份
10 1 * * 5 sh /opt/oracle/shell/bakl2 #週五凌晨 1:10 執行增量2備份
10 1 * * 6 sh /opt/oracle/shell/bakl2 #週六凌晨 1:10 執行增量2備份
10 3 * * * sh /opt/oracle/shell/copy #每天凌晨 3:10 備份檔案到檔案伺服器
相關推薦
oracle 資料庫rman+crontab自動差異增量備份
、環境準備: 兩臺linux 伺服器,一臺已經安裝好oracle資料庫 FileServer: 10.17.81.189 OracleServer:10.17.81.190 1.設定ssh密匙自動訪問: 在OracleServer 伺服器上,在輸入ss
Oracle資料庫RMAN備份
廢話不多說,直接上shell指令碼,另rman備份完之後不用做壓縮,壓縮前後文件大小變化不大。 需要用oracle使用者去執行指令碼 #!/bin/bash current_day=`date +%Y%m%d` backup_path=/home/oracle/rman
ORACLE 資料庫 rman 全備份
環境: 源庫 10.17.80.190 目標庫 10.17.80.189 uid:ictdb —-rman 異機備份過程——————————— 【源庫】 1、準備:開啟歸檔模式 1、SQLPLUS / AS SY
oracle資料庫RMAN 下的 delete 命令如何使用?
1.刪除過期備份。當使用RMAN命令執行備份操作時,RMAN會根據備份冗餘策略確定備份是否過期。 RMAN> delete obsolete; 2.刪除無效備份。首先執行CROSSCHECK命令核對備份集,如果發現備份無效(比如備份對應的資料檔案損壞或丟失
差異增量備份和累積增量備份區別(有圖)
說起Differential,相當有意思,大家可以這樣理解。有一家名為Differential的紅社會組織,他們民主自由善良博愛為人忠懇正直(以下省略5000個褒義形容詞),總之呢,他們會按照你與其約定的週期來向你收取保護費,因為他們的組織非常嚴密,(以上圖為例吧)所有成員按照0,1,2分為不同等級,0級最
oracle資料庫單張表的匯出及備份
開發十年,就只剩下這套架構體系了! >>>
Oracle Rman 增量備份與差異備份
一、增量與差異 問題: RMAN differential Backups 是什麼?它和 RMAN cumulative Backups 有啥區別?它們倆和 RMAN incremental backup 一樣嗎? 答案: D
Linux下Oracle資料庫自動備份Shell指令碼
1.在伺服器建立備份目錄,並賦予許可權 mkdir -p /backup/P_DATA #新建shell指令碼存放路徑 mkdir -p /backup/P_DB_BACK #新建Oracle資料庫備份目錄 chown -R oracle:oinstall /backup/P
mysql資料庫的完整備份、差異備份、增量備份
完整備份:(t為資料庫名) Mysql -uroot -pPassword t -e "FLUSH TABLES"; // 關閉所有開啟的表, 把記憶體中的快取寫入磁碟 Mysql -uroot -pPassword t -e "FLUSH TABLES WITH
Oracle資料庫備份與恢復 - 增量備份
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Oracle資料庫備份與恢復 - RMAN恢復
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
windows下自動備份mysql和oracle資料庫
rem ******Oracle backup start******** @echo off forfiles /p "C:\DatabaseBackup\egov\essucap" /m essucap_backup_*.dmp -d -7
Oracle 12 Rman增量備份
增量備份 增量備份主要作用是僅複製自上次備份以來已更改的資料塊。您可以使用RMAN建立資料檔案,表空間或整個資料庫的增量備份。 將增量備份作為策略的一部分的主要原因是: 用於基於增量更新備份的策略,其中這些增量備份用於定期前滾資料庫的映像副本; 減少每日備份所需的時間; 通過網路
linux自動備份oracle資料庫並上傳到備份伺服器 指令碼實現
實際專案中,備份資料是不可缺少的一步,完成資料的自動備份減少個人的工作量,是我們的目標。之前很少寫過指令碼,不過這些簡單的操作還是可以做到的!話不多說,開始具體介紹: oracle版本:10.2.0 作業系統:linuxredhat6.3 具體操作: (1)在伺服器上建立備
分享一個定時自動備份oracle資料庫的指令碼
分享一個定時自動備份oracle的指令碼 #!/bin/sh export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 export PATH=${ORACLE_HOME}:${PATH} workDIR=`pwd`
【Oracle】增量備份和全庫備份怎麼恢復資料庫
1差異增量實驗示例1.1差異增量備份為了演示增量備份的效果,我們在執行一次0級別的備份後,對資料庫進行一些改變。再執行一次1級別的差異增量備份:執行完1級別的備份後再次對資料庫進行更改:再執行一次1級別的差異增量備份:檢視當前SCN,我們對錶進行刪除:由此我們就可以演示利用增
WINDOWS 伺服器下自動備份oracle資料庫
一、window下自動備份資料庫的步驟 1、建立自動備份資料庫bat檔案 2、在window下建立定時器任務,定時執行1中的bat檔案 二、自動備份資料庫bat檔案 1、建立備份檔案及日誌檔案的資料夾(路徑) 建立資料夾的命令:md <路徑名> 因為是在bat檔
基於Windows作業系統的oracle資料庫定時自動備份
一:建立備份dmp檔案及日誌路徑 dmp檔案路徑:C:\db_bak\files 日誌路徑:C:\db_bak\logs 二:建立自動備份批處理檔案 2.1 建立記事本text檔案 複製以下內容到記事本中 @echo off echo ===========
[Rman]Oracle Rman增量備份Level012指令碼
採用0221222增量備份策略,7天一個輪迴 也就是週日0級備份,周1 2 4 5 6 採用2級增量備份,周3採用1級增量備份 開啟控制檔案自動備份 CONFIGURE CONTROLFILE A
oracle rman 增量備份完整恢復測試
RMAN備份 sql*plus與作業系統命令列切換 linux:用!符號 window:sql>到c:>用host命令,c:>到sql>用exit。 RMAN備份模式:全備、增量備份、冷備、熱備。 RMAN備份的檔案型別:表空間、資料檔案、控制檔案