1. 程式人生 > >oracle 資料庫rman+crontab自動差異增量備份

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備份的檔案型別:表空間、資料檔案、控制檔案