1. root用戶登錄oracle服務器
#新建Oracle數據庫備份存放目錄
mkdir –p /home/oracle/backup
#設置目錄權限為oinstall用戶組的oracle用戶
chown–R oracle:oinstall /home/oracle/backup
2. 創建目錄對象
因為使用expdp命令需要使用到目錄對象(directory),所以首先需要創建目錄對象,並賦予某個用戶對象的操作權限。
操作步驟如下:
#切換到oracle用戶
Su – oracle
#切換到SQLPLUS環境
Sqlplus / as sysdba
執行以下命令:
#制定EXPDP輸出目錄
create directory expdp_bak_dir as ‘/home/oracle/backup’;
#授予system權限
grant create any directory to system;
3. 編輯自動備份腳本
#新建腳本文件
vi /data/oracle/AutoBackup.sh
#腳本文件內輸入以下代碼
#!/bin/sh
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=/data/oracle/product/11.2.0/db_1
export ORACLE_SID="orcl"
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export DATA_DIR=/home/oracle/backup
rq=`date +%Y%m%d`
cleardate=`date -d "1 month ago" +%Y%m%d`
rm -rf /home/oracle/backup/YG$rq.dmp
expdp system/tjca1q@orcl dumpfile=YG$rq.dmp logfile=log_YG$rq.log directory=expdp_bak_dir schemas=tjca compression=all
#以上,rq為日期;cleardate為清除日期(1 month ago一個月前);rm為刪除命令;schemas=用戶對象;compression為壓縮,值為all時代表全壓縮。
按Ctrl+c退出編輯模式,按shift+:輸入wq 寫入並退出。
4. 設置系統自動定時執行備份腳本
#編輯系統任務計划
vi /etc/crontab
#將下列代碼寫入最后一行(如第一次設置則為空文件):
00 23 * * * oracle /data/oracle/AutoBackup.sh
#:wq寫入退出
#以上語句代表:每天23:00,以oracle用戶執行AutoBackup.sh腳本文件進行備份。
servicecrond restart#重啟系統計划服務
crontab–l #查看任務是否設置成功
#crond常用命令
service crond start #啟動服務
service crond start #停止服務
service crond restart #重啟服務
service crond reload #重新載入配置
