oracle資料庫自動備份
1. oracle中怎麼設置資料庫自動備份
Oracle自動備份的三種方法:
Oracle自動備份資料庫不外乎以下三種方式:
WINDOWS下的任務計劃(At命令)
UNIX下的Crontab
第三方工具如Viritas
在以上三種方式中Viritas屬於第三方工具,很多人可能都沒有接觸,主要說一下windows的任務計劃與unix的cron
1、生成腳本文件,如backup.rcv 假定文件內容如下:
$>cat backup.rcv connect target sys/password rcvcat rman/rman@localname; run{ allocate channel c1 type disk; allocate channel c2 type disk; allocate channel c3 type disk; backup fileaperset 3 format 『/u01/oradata/backup/arch%u_%s_%p』 archivelog all delete input; release channel c1; release channel c2; release channel c3; }
2、生成執行文件在windows上生成backup_archive.bat,內容包括rman cmdfile = backup.rcv 在unix下生成 backup_archive.sh,內容包括oracle/ramn/rman cmdfile = backup.rcv
3、加入調度在windows中用任務計劃向導即可,或使用at命令。在unix中,在目標機器上編寫一個文件,用以啟動Oracle自動備份進程。假定文件名為ORACLE,文件將放在/var/spool/cron/crontabs目錄下
$>cat oracle
0 23 * * 0 backup_archive.sh
#表示星期天23點對資料庫備份
0 12,18 * * * backup_archive.sh
#表示每天12點,18點備份
Crontab文件的每一行由六個域(minutes,hours,day of month,month,day of week,command)組成,域之間用空格或Tab分隔開來。
2. oracle開啟歸檔會自動備份資料庫嗎
當然不會自動備份,只是自動
歸檔日誌
文件檔歸檔目錄而已。建議生產環境開啟歸檔之後使用rman進行全備或者0
level
增量備份
。
3. Oracle資料庫RMAN的自動備份腳本簡介
Oracle資料庫RMAN的自動備份腳本簡介
各位同學知道Oracle資料庫RMAN如何自動備份腳本嘛?下面我為大家整理了關於Oracle資料庫RMAN的自動備份腳本文章,希望能為你提供幫助:
1、資料庫設置為歸檔方式
2、資料庫的備份腳本
db_full_backup.sh :資料庫全備腳本
db_l0_backup.sh :資料庫0級備份腳本
db_l1_backup.sh :資料庫1級備份腳本
ftp_del.sh :數據FTP清理腳本
rman_bak.sh :數據備份主程序
3、備份原理
每周1、3、6進行0級備份
每周日、2、4、5進行1級備份
備份文件上傳到FTP伺服器
FTP伺服器每周清理一次,但是清理後將周六和周日的備份進行保留(6.bak和0.bak)
所有工作防暑crontab中自動執行備份
4、備份目錄含義
arc :資料庫歸檔目錄
rmanbak :資料庫備份文件的保存目錄
rmanscripts :資料庫腳本存放路徑
5、FTP目錄
ftp上必須手動建立目錄
L0:
---1
---3
---6
---6.bak
L1:
---2
---4
---5
---0
---0.bak
rman_bak.sh腳本主程序
#!/bin/bash
#--------------------------------------------
# Oracle auto backup using rman
#
# author:songrh
# week:1,3,6 Level 0 backup
# 2,4,5,0 Level 1 backup
# Copyright by ChenLong Tec
#--------------------------------------------
#
#
export ORACLE_BASE=/u02/oracle
export ORACLE_HOME=/u02/oracle/proct/9.2.4
export ORACLE_SID=PROD
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
export NLS_LANG=american_america.ZHS16GBK
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NL33=$ORACLE_HOME/ocommon/nls/admin/data
export PATH=/bin:/usr/bin:/usr/sbin:$ORACLE_HOME/bin:$PATH
export PATH=$PATH:/opt/local/bin
#
SH_PATH=/u02/rmanscripts
ARC_PATH=/u02/arch
RMAN_BAK_PATH=/u02/rmanbak
#
#FULL_PATH=$RMAN_BAK_PATH/full
L0_PATH=$RMAN_BAK_PATH/L0
L1_PATH=$RMAN_BAK_PATH/L1
#
#DAY_TAG=`date "%Y-%m-%d"`
LOG_TAG=`date "%Y-%m-%d"`
#FIRST_DAY=`date %e`
WEEK=`date %w`
#WEEK=1
#
# FTP configure
IP="122.120.150.155"
FTPUSER="ftpbak"
FTPPASS="******"
FTPROOT0="L0"
FTPROOT1="L1"
#
DISK_USE=`df -k |sed -n '/u02/'p | awk '{print $5}' |sed 's/%//'`
####check path function
############
if [[ $DISK_USE -ge 90 ]]; then
rm -rf $L0_PATH/*
rm -rf $L1_PATH/*
fi
if [ "$WEEK" = "6" -o "$WEEK" = "3" -o "$WEEK" = "1" ]; then
if [ ! -d $L0_PATH ]; then
mkdir $L0_PATH
fi
if [ "$WEEK" = "1" ]; then
rm -rf $L0_PATH/*
rm -rf $L1_PATH/*
mkdir $L0_PATH/$WEEK
$SH_PATH/db_l0_backup.sh $L0_PATH/$WEEK
cd $L0_PATH/$WEEK
$SH_PATH/ftp_del.sh $IP $FTPUSER $FTPPASS $FTPROOT0 $WEEK $WEEK_$LOG_TAG.log
else
if [ ! -d $L0_PATH/$WEEK ]; then
mkdir $L0_PATH/$WEEK
$SH_PATH/db_l0_backup.sh $L0_PATH/$WEEK
cd $L0_PATH/$WEEK
$SH_PATH/ftp.sh $IP $FTPUSER $FTPPASS $FTPROOT0 $WEEK $WEEK_$LOG_TAG.log
else
;
4. 如何實現Oracle 11g資料庫每天自動備份
1、先創建自動備份的批處理文件,內容如下:
cd d:\備份 oa%date:~8,2%.dmpexpdp username/password@orcl directory=DIR_EXP mpfile=oa%date:~8,2%.dmp
*說明:D:\備份是備份目錄,username/password@orcl 分別為登陸資料庫的用戶名、密碼、資料庫實例。DIR_EXP 是在plsql中建立的directory即目錄,需要根據自己的實際需求來創建。
2、在系統的任務計劃程序中,添加任務計劃,選擇這個批處理文件,設置為每天某個時間啟動運行即可。
5. oracle資料庫怎麼自動備份
配置批處理文件
1
新建名為"oracleBackup"的文本文檔(名字自己定),然後重命名後綴為"oracleBackup.bat"的批處理文件。
2
在oracleBackup.bat文件上點擊右鍵,選擇編輯,填寫以下相關內容:
rem ---------------------------------------------------------------------------
rem windows環境下Oracle資料庫的自動備份腳本。
rem 可以將本批處理設成windows任務計劃下自動執行。
@echo off
@echo ================================================
@echo windows環境下Oracle資料庫的自動備份腳本
@echo 說明:啟動備份時,需要配置以下變數
@echo 1、BACKUP_DIR 指定要備份到哪個目錄
@echo 2、ORACLE_USERNAME 指定備份所用的Oracle用戶名
@echo 3、ORACLE_PASSWORD 指定備份所用的Oracle密碼
@echo 4、ORACLE_DB 指定備份所用的Oracle連接名
@echo 5、BACK_OPTION 備份選項,可以為空,可以為full=y,可以為owner=a用戶,b用戶 等等....
@echo 6、RAR_CMD 指定RAR命令行壓縮工具所在目錄
@echo ================================================
rem 以下變數需要根據實際情況配置------> 注意:此腳本必須放在E:\backup目錄下
set BACKUP_DIR=E:\backup
set ORACLE_USERNAME=se
set ORACLE_PASSWORD=xj
set ORACLE_DB=xj_orcl
set BACK_OPTION= OWNER=se
set RAR_CMD="C:\Program Files\WinRAR\Rar.exe"
for /f "tokens=1,2" %%a in ('date/t') do set TODAY=%%a
set BACK_NAME=%ORACLE_DB%_%TODAY%()_
set BACK_FULL_NAME=%BACKUP_DIR%\%BACK_NAME%
rem 開始備份
exp %ORACLE_USERNAME%/%ORACLE_PASSWORD%@%ORACLE_DB% %BACK_OPTION% file="%BACK_FULL_NAME%.dmp" log="%BACK_FULL_NAME%exp.log"
rem 壓縮並刪除原有文件
%RAR_CMD% a -df "%BACK_FULL_NAME%back.rar" "%BACK_FULL_NAME%.dmp" "%BACK_FULL_NAME%exp.log"
rem ---------------------------------------------------------------------------
forfiles /m *.rar -d -7 /c "cmd /c del /f @path"
3
配置相關參數:
BACKUP_DIR:該參數為備份數據文件的存放位置,可根據實際情況進行設置(註:設置的文件路徑不允許包含漢字、特殊字元等內容)。
ORACLE_USERNAME:該參數為指定備份的Oracle資料庫用戶名。
ORACLE_PASSWORD:該參數為指定備份的Oracle資料庫密碼。
ORACLE_DB:該參數為指定備份的Oracle資料庫連接名。
BACK_OPTION:該參數為備份選項,可以為空,也可以為full=y等。
RAR_CMD:指定RAR命令行壓縮工具所在目錄
END
安裝軟體
1
下載WINRAR安裝包。
2
點擊"wrar520sc_setup.exe",進行安裝軟體。
3
根據軟體的安裝路徑,在命名的bat處理文件中配置:RAR_CMD參數。
END
添加定時任務
打開電腦的控制面板,選擇"任務計劃",雙擊打開。頁面如圖所示:
雙擊打開添加定時任務,點擊下一步進入相關設置頁面。頁面如圖所示:
單擊瀏覽按鈕,找到oracleBackup.bat文件添加,然後進行配置:根據實際情況選擇要備份的時間類型,此處以每天執行為例,選擇每天,點擊下一步,設置執行時間。
輸入執行定時任務機器的用戶名及密碼,點擊下一步,進入完成界面,點擊完成,至此,Oracle資料庫定時任務備份的設置。
5
利用修改機器時間進行定時任務的測試。