centos7系統下oracle 11g自動備份


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 #重新載入配置


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM