首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle異地備份實作:FTP .netrc自動登入與Cron排程整合

     編輯:Oracle 資料庫基礎

解決FTP互動式登入痛點,實現備份檔案無人值守跨主機傳輸

利用.netrc檔案儲存認證與巨集指令,配合Cron排程,完成「導出→磁帶→異地」三層備份閉環的最後一環。

一、.netrc檔案建立與權限

# 檔案位置:$HOME/.netrc (Oracle用戶家目錄)
# 權限:僅擁有者可讀寫
chmod 600 .netrc

二、.netrc內容詳解


machine host2          # 目標備份主機名
login oracle           # 遠端登入帳號
password oracle        # 遠端帳號密碼
macdef init            # 定義init巨集,自動登入後自動執行
bin                    # 二進制傳輸模式
lcd /backup            # 切換本地工作目錄
cd /pub                # 切換遠端目標目錄
mput *                 # 上傳所有檔案
bye                    # 結束FTP會話
  • macdef init為關鍵:FTP客戶端讀取.netrc後自動執行此巨集,實現全自動化
  • 遠端主機需預先建立/pub目錄並授予oracle用戶寫入權限
  • 建議兩主機同處高速區域網路,縮短傳輸窗口

三、Cron排程整合(續前文)


# Oracle用戶 crontab -e
0 23 * * * /oracle/ora_backup      # 23:00 導出
0 2  * * * /oracle/tar_backup      # 02:00 磁帶
0 4  * * * ftp -i host2            # 04:00 異地同步(-i關閉互動提示)

四、安全性與健壯性增強建議

  • 憑證加密:生產環境建議改用SFTP/SCP + SSH金鑰認證,避免明文密碼
  • 傳輸驗證:巨集結束前加入ls -l或校驗和比對,確認檔案完整到達
  • 錯誤通知:腳本捕獲非零返回碼,郵件/簡訊通知DBA
  • 保留策略:遠端同步保留N代,本地/磁帶保留M代,避免單點失效

五、現代化替代方案

新架構建議採用:

  1. RMAN備份至NFS/ASM共享儲存
  2. Data Guard實時同步至備援站點
  3. Oracle Cloud Infrastructure Object Storage / AWS S3雲端備份
  4. Zero Data Loss Recovery Appliance (ZDLRA) 企業級備份設備
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved