Rman-ORACLE資料庫RMAN實現自動備份
在M模組資料庫各節點使用nfs方式掛載10.30.1.12的/billbak4/MDSPDBbak目錄,作為備份儲存空間,可以滿足RAC架構資料庫備份的需求。
2.配置NFS伺服器(以下操作需要有root 使用者許可權):
2.1使用以下命令檢查NFS服務是否啟動:
# service nfs status
# chkconfig –list nfs
# service nfs restart
2.2.配置檔案中指定共享目錄(生產環境中要對應修改為12個節點的IP)
# vi /etc/exports
/orabk 172.30.4.26(rw,async,no_root_squash)
/orabk 172.30.4.27(rw,async,no_root_squash)
2.3生效新的exports 內容。
# exportfs –rv
3.Oracle 伺服器上掛載nfs共享目錄(以下操作在M模組的每個節點上都要執行)
3.1.建立本地備份目錄,如 /rmanbk。
3.2使用mount命令進行掛載。
# mount -t nfs -o rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,actimeo=0,
vers=3,timeo=600 172.30.1.78:/u01/rmanbk /rmanbk
3.3修改備份目錄的許可權:
#chown oracle:oinstall /rmanbk
#chmod 755 /rmanbk
3.4修改fstab檔案,設定NFS自動掛載
# vi /etc/fstab
172.30.1.78:/u01/rmanbk /rmanbk nfs rw,hard,nointr,tcp,noac,vers=3,timeo=600,rsize=32768,wsize=32768 0 0[@more@]
ORACLE資料庫RMAN實現自動備份:
1.備份方式:
在M模組資料庫各節點使用nfs方式掛載10.30.1.12的/billbak4/MDSPDBbak目錄,作為備份儲存空間,可以滿足RAC架構資料庫備份的需求。
2.配置NFS伺服器(以下操作需要有root 使用者許可權):
2.1使用以下命令檢查NFS服務是否啟動:
# service nfs status
# chkconfig –list nfs
# service nfs restart
2.2.配置檔案中指定共享目錄(生產環境中要對應修改為12個節點的IP)
# vi /etc/exports
/orabk 172.30.4.26(rw,async,no_root_squash)
/orabk 172.30.4.27(rw,async,no_root_squash)
2.3生效新的exports 內容。
# exportfs –rv
3.Oracle 伺服器上掛載nfs共享目錄(以下操作在M模組的每個節點上都要執行)
3.1.建立本地備份目錄,如 /rmanbk。
3.2使用mount命令進行掛載。
# mount -t nfs -o rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,actimeo=0,
vers=3,timeo=600 172.30.1.78:/u01/rmanbk /rmanbk
3.3修改備份目錄的許可權:
#chown oracle:oinstall /rmanbk
#chmod 755 /rmanbk
3.4修改fstab檔案,設定NFS自動掛載
# vi /etc/fstab
172.30.1.78:/u01/rmanbk /rmanbk nfs rw,hard,nointr,tcp,noac,vers=3,timeo=600,rsize=32768,wsize=32768 0 0
4.編寫RMAN 備份指令碼(以下在其中的一個節點上執行,其它節點上會看到共享的指令碼檔案)
4.1在其中一個節點上建立備份指令碼和備份日誌的存放目錄
$ mkdir /rmanbk/script
$ mkdir /rmanbk/logs
$ cd /rmanbk/script
4.2編寫0級備份指令碼(oracle使用者進行):
注:以下指令碼中用到的節點名字及檔案路徑在生產環境都應按照實際情況進行修改。
$ cat rman_level_0.rman
run{
allocate channel d1 device type disk MAXPIECESIZE=8G connect ;
allocate channel d2 device type disk MAXPIECESIZE=8G connect ;
backup incremental level 0 database format '/rmanbk/db_%d_%s_%c_%p_%t.dbf'
plus archivelog delete all input format '/rmanbk/arc_%d_%s_%c_%p_%t.dbf';
crosscheck backupset;
delete noprompt expired backupset;
delete noprompt obsolete;
release channel d1;
release channel d2;
}
run
{
allocate channel d1 device type disk connect ;
delete archivelog all backed up 1 times to device type disk like '/arch1/%.dbf';
release channel d1;
}
run
{
allocate channel d2 device type disk connect ;
delete archivelog all backed up 1 times to device type disk like '/arch2/%.dbf';
release channel d2;
}
4.3編寫1級增量備份指令碼(oracle使用者進行):
$ cat rman_level_1.rman
run{
allocate channel d1 device type disk MAXPIECESIZE=8G connect ;
allocate channel d2 device type disk MAXPIECESIZE=8G connect ;
backup incremental level 1 database format '/rmanbk/db_%d_%s_%c_%p_%t.dbf'
plus archivelog delete all input format '/rmanbk/arc_%d_%s_%c_%p_%t.dbf';
crosscheck backupset;
delete noprompt expired backupset;
delete noprompt obsolete;
release channel d1;
release channel d2;
}
run
{
allocate channel d1 device type disk connect ;
delete archivelog all backed up 1 times to device type disk like '/arch1/%.dbf';
release channel d1;
}
run
{
allocate channel d2 device type disk connect ;
delete archivelog all backed up 1 times to device type disk like '/arch2/%.dbf';
release channel d2;
}
4.4編寫0級shell指令碼(oracle使用者進行):
$ vi backup_level_0.sh
#!/bin/bash
DATE=`date +%Y%m%d`
DATE_BEGIN_BACKUP=`date +%Y-%m-%d" "%H:%M:%S`
echo "------------- Start at " $DATE_BEGIN_BACKUP "--------------------"
export PATH=/u01/app/oracle/product/10.2.0/db_1/bin:/bin:/sbin:/usr/css/bin:/usr/local/bin
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
export TERM=linux
export NLS_LANG=american_america.zhs16gbk
export LD_LIBRARY_PATH=/u01/app/oracle/product/10.2.0/db_1/lib
export HOME=/home/oracle
export ORACLE_SID=sid_name
rman target / log=/rmanbk/logs/$DATE.log append cmdfile=/rmanbk/script/rman_level_0.rman <
#DATE_END_BACKUP=`date +%Y-%m-%d" "%H:%M:%S`
echo ""
#echo "------------- End at " $DATE_END_BACKUP "--------------------"
4.5編寫1級shell指令碼(oracle使用者進行):
$ cat backup_level_1.sh
#!/bin/bash
DATE=`date +%Y%m%d`
DATE_BEGIN_BACKUP=`date +%Y-%m-%d" "%H:%M:%S`
echo "------------- Start at " $DATE_BEGIN_BACKUP "--------------------"
export PATH=/u01/app/oracle/product/10.2.0/db_1/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
export TERM=linux
export NLS_LANG=american_america.zhs16gbk
export LD_LIBRARY_PATH=/u01/app/oracle/product/10.2.0/db_1/lib
export HOME=/home/oracle
export ORACLE_SID=klir2
rman target / log=/orabk/logs/$DATE.log append cmdfile=/orabk/script/rman_level_1.rman <
DATE_END_BACKUP=`date +%Y-%m-%d" "%H:%M:%S`
echo ""
echo "------------- End at " $DATE_END_BACKUP "--------------------"
5.在一個節點上編寫oracle的crontab指令碼,啟動定時備份操作:
$ crontab -e
0 2 * * 0 /rmanbk/script/backup_level_0.sh
0 2 * * 1,2,3,4,5,6 /rmanbk/script/backup_level_1.sh
6. 設定增量備份的trace檔案,
SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '/orabk/a.f' REUSE;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24930246/viewspace-1058030/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux實現mysql資料庫每天自動備份定時備份LinuxMySql資料庫
- 資料庫自動備份資料庫
- Mysql資料庫自動備份MySql資料庫
- 自動備份Oracle資料庫Oracle資料庫
- 使用RMAN備份資料庫資料庫
- 在linux中資料庫實現每天自動備份資料及自動刪除5天前備份資料(常用)Linux資料庫
- Facebook如何實現PB級別資料庫自動化備份資料庫
- linux下自動備份oracle資料庫-rmanLinuxOracle資料庫
- 每天自動備份Oracle資料庫Oracle資料庫
- 利用RMAN備份重建資料庫資料庫
- 在SQL Server 2005資料庫中實現自動備份SQLServer資料庫
- 【RMAN】使用增量備份更新資料庫備份映象資料庫
- linux系統中實現mongodb3.0.5資料庫自動備份LinuxMongoDB資料庫
- aix oracle 10g實現資料庫的遠端自動備份AIOracle 10g資料庫
- 【原】Oracle學習系列—資料庫備份—RMAN備份Oracle資料庫
- RMAN備份 建立catalog資料庫資料庫
- 非歸檔資料庫RMAN備份資料庫
- golang實現mysql資料庫備份GolangMySql資料庫
- rman資料庫全庫備份與恢復資料庫
- 使用RMAN建立資料庫備份庫(筆記)資料庫筆記
- RMAN自動備份任務新增
- rman 自動備份指令碼-windows指令碼Windows
- BMMySQL定時備份資料庫(全庫備份)的實現meuMySql資料庫
- oracle資料庫使用rman備份指令碼Oracle資料庫指令碼
- 【RMAN】利用備份片還原資料庫資料庫
- Backup And Recovery User's Guide-備份資料庫-RMAN備份概覽-RMAN備份的目的GUIIDE資料庫
- 實現MySQL資料庫的實時備份MySql資料庫
- RMAN備份恢復——RAC環境資料庫的備份(zt)資料庫
- RMAN備份恢復--RAC環境資料庫的備份(十)資料庫
- RMAN備份恢復——RAC環境資料庫的備份(一)資料庫
- 透過rman全庫備份遷移資料庫資料庫
- DB2資料庫自動備份方法TRDB2資料庫
- windowns系統,oracle資料庫expdp自動備份Oracle資料庫
- Backup And Recovery User's Guide-備份資料庫-RMAN備份概覽-為RMAN備份指定TAGGUIIDE資料庫
- Backup And Recovery User's Guide-備份資料庫-使用RMAN備份資料庫檔案GUIIDE資料庫
- windows下rman自動備份指令碼Windows指令碼
- Oracle自動備份資料(轉)Oracle
- RMAN備份恢復典型案例——資料庫卡頓資料庫