實現Oracle異地資料自動備份的方案

來源:互聯網
上載者:User

在大型商業應用中,資料的異地容災備份十分重要,也必不可少。筆者根據自己的實踐經驗,設計了一套簡潔地實現異地資料自動備份的方案,可供資料庫管理員參考。文中所有的程式都經過測試,運行良好。這裡類比的異地運行環境為一主一備兩套Sun Solaris系統,所採用的備份方法為Oracle資料庫提供的標準備份:export。

相關命令

文中主要用到三個命令,這裡先單獨介紹一下:

export: 將資料庫中資料備份成一個二進位系統檔案,它有三種模式: 使用者模式、表模式、整個資料庫模式。還可分為三種備份類型:完全型、積累型、增量型。本文以整個資料庫模式下的完全型為例說明。export使用格式為:exp userid file。

其中:userid的用法為username/userpassword,即Oracle中的使用者名稱/口令。userid必須為exp的第一個參數,file指備份檔案所放位置及名稱。

ftp: 一般情況下可通過互動方式實現兩台主機間的資料轉送,即需要手工輸入目標主機的IP地址、使用者名稱、口令等。但是當使用者使用ftp命令時,系統將會先在該使用者的註冊目錄中尋找.netrc檔案,並首先執行該檔案。這樣,我們可以通過編寫一個.netrc的檔案來達到自動備份的目的。要注意該檔案必須命名為.netrc,且必須存放在啟動ftp命令主機上的使用者註冊目錄裡。ftp常用選項:

-i:進行多檔案傳送時關閉互動提示;

-n:在串連之後不進行自動登入。

本文使用“-i”選項,以關閉互動提示。

crontab: cron是一個永久進程,它由/etc/rc.local啟動執行。cron檢查/var/spool/cron/crontabs/目錄中的檔案,找到所要執行的任務和執行任務的時間,並自動完成。該目錄中檔案由crontab命令建立。使用者所建立的crontab檔案存於/var/spool/cron/crontabs中,其檔案名稱與使用者名稱一致,本文使用crontab的使用者為Oracle,所建立的檔案名稱也為Oracle。

cron使用者的許可權記載在下列兩個檔案中: /usr/var/adm/cron/cron.deny和/usr/var/adm/cron/cron.allow。前面的檔案中所列的使用者不允許使用crontab命令;後一檔案中所列的使用者允許使用crontab命令。crontab命令的常用格式為:

crontab -l:顯示使用者的crontab檔案的內容;

crontab -r:從crontabs目錄中刪除使用者的crontab檔案;

crontab -e:編輯使用者的crontab檔案。

crontab檔案每行中有6個欄位,前5個為時間設定段,第6個為所要執行的命令。時間段分別為: minutes、hours、day of month、month、day of week,欄位之間用空格或Tab分開。欄位如果為“*”,表示該欄位在所有可能的取值範圍內取值; 如果一個欄位是由連字號隔開的兩個數字,表明命令可以在兩個數字之間的範圍內執行。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.