LINUX下的ORACLE按周7個檔案覆蓋備份

來源:互聯網
上載者:User

今天因為工作上的關係,需要設計一個對ORACLE的備份方案,由於資料庫較大,不適合每天存量備份,所以設計了這種按周7個檔案的覆蓋備份,具體步驟如下:

 

1.建立SHELL執行指令碼oracle_backup.sh

[root@czjie ~]# vi /data/oracle/orabak/oracle_backup.sh

語句如下:

#!/bin/bash
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

#產生備份檔案名,最後一位元字(0-6)對應(星期天-星期六)
a=czjie_bak_week$(date +%w)
echo $a
exp czjie/czjie_2012 file=/data/oracle/orabak/$a.dmp log=/data/oracle/orabak/$a.log

 

注意:export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK,這一行如果沒有,那麼當exp工具所在的環境變數跟NLS LANG中的NLS_CHARCATERSET不一致時,就會導致EXP-00091 Exporting questionable statistics,如果不知道怎麼擷取NLS_CHARCATERSET,可參考我的文章:EXP-00091 Exporting questionable statistics

a=czjie_bak_week$(date +%w) 中 $(date +%w) 擷取的是周幾,按星期天為0的順序一直到星期六的6,測試時候可以用$(date +%w -d "1 days ago")方法進行天數上的調整;

 

2.授予SHELL指令碼可執行許可權及其使用者歸屬

[root@czjie ~]# cd /data/oracle/orabak
[root@czjie orabak]# chmod 700 backup.sh
[root@czjie orabak]# chown oracle backup.sh

 

3.確保備份的檔案目錄歸屬於oracle使用者

[root@czjie ~]# chown –R oracle.oinstall /data/oracle/orabak/

 

4.為oracle使用者建立一個crontab

[root@czjie ~]# crontab -u oracle –e

#添加以下內容:

0 6 * * *  /data/oracle/orabak/oracle_backup.sh

 

注意:0 6 * * * 表示每天淩晨6點調度一次,後面是執行的語句;測試的時候可以定義成*/1 * * * *表示每分鐘調度一次;

 

5.確保crond服務正常運行

[root@czjie ~]# /sbin/service crond status
crond (pid  3081) 正在運行...

如果服務沒正常執行可用下面的方法進行啟動和關閉:

/sbin/service crond start //啟動服務
/sbin/service crond stop //關閉服務
/sbin/service crond restart //重啟服務
/sbin/service crond reload //重新載入配置
/sbin/service crond reload //查看服務狀態

/etc/init.d/crond start //啟動服務
/etc/init.d/crond stop //關閉服務
/etc/init.d/crond restart //重啟服務
/etc/init.d/crond reload //重新載入配置

可以將這個服務在系統啟動的時候自動啟動:
在/etc/rc.d/rc.local這個指令碼的末尾加上:
/sbin/service crond start

 

至此,整個備份的配置過程完畢!由於自動調度的相關提示資訊不是列印到終端視窗,所以只能通過郵件日誌查看,語句如下:

[root@czjie ~]# cat /var/mail/oracle

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.