Oracle數(shù)據(jù)庫定時(shí)自動(dòng)備份批處理代碼(Windows)_第1頁
Oracle數(shù)據(jù)庫定時(shí)自動(dòng)備份批處理代碼(Windows)_第2頁
Oracle數(shù)據(jù)庫定時(shí)自動(dòng)備份批處理代碼(Windows)_第3頁
Oracle數(shù)據(jù)庫定時(shí)自動(dòng)備份批處理代碼(Windows)_第4頁
Oracle數(shù)據(jù)庫定時(shí)自動(dòng)備份批處理代碼(Windows)_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、.:.;echo offset pweek=%date:-1%set fn=e:bakdbgdosys_dqgis%Date:0,4%Date:5,2%Date:8,2%if %pweek% equ 日 ( exp system/sysorcl file=%fn%.dmp owner=gdosys,dqgis log=%fn%.log rar a %fn%.rar %fn%.* del %fn%.dmp del %fn%.log) else ( exp system/sysorcl file=d:bakweek%date:8,2%.dmp owner=gdosys,dqgis log=d:ba

2、kweek%date:8,2%.logrem exp system/sysorcl file=d:bakweek%date:11,3%.dmp owner=gdosys log=d:bakweek%date:11,3%.log)hi.baidu/lvns/blog/item/beb171d3c2fa2cd6a8ec9a2d.html這是最近寫的一個(gè)Oracle數(shù)據(jù)庫自動(dòng)備份的批處置,經(jīng)過測(cè)試正常運(yùn)轉(zhuǎn),記錄如下。包括兩部分,邏輯備份和冷備份,如有不完好之處,還往看到本文的高手指點(diǎn)! 注:這些內(nèi)容是本人經(jīng)過一番學(xué)習(xí)和多次測(cè)試調(diào)試后的結(jié)果,假設(shè)想轉(zhuǎn)載,請(qǐng)以銜接的方式,謝謝協(xié)作! 第一部分,邏輯備份

3、下面是:AutoBackup_Logic.bat -邏輯備份的主文件,直接在方案義務(wù)中調(diào)用就可以了。echo off rem rem 需求配置的參數(shù)闡明: rem BAT_HOME:即本批處置所在的目錄; rem DUMP_DIR:即要備份到的數(shù)據(jù)文件目錄,存在與數(shù)據(jù)字典表:dba_directories 中。 rem set BAT_HOME=E:BAT set DUMP_DIR=E:TempDBBackup set BKFILE=%Date:0,4%Date:5,2%Date:8,2% set HHMMSS=%time:0,2%time:3,2%time:6,2% call %BAT_HO

4、ME%LogicBackup.bat %DUMP_DIR% %BAT_HOME%LogicBackup_%BKFILE%HHMMSS%.log echo Completed! 下面是:LogicBackup.bat echo off rem call LogicBackup.bat %DUMP_DIR% rem = rem 本批處置實(shí)現(xiàn)支持expdp數(shù)據(jù)泵的Oracle數(shù)據(jù)庫版本的數(shù)據(jù)庫邏輯備份,流程為:導(dǎo)出數(shù)據(jù)到 rem dump_dir 數(shù)據(jù)庫目錄下,然后把dmp文件以rar格式放入當(dāng)天備份日期命名的目錄下,便于以后按 rem 照日期恢復(fù)。 rem rem 需求配置的參數(shù)闡明: rem B

5、AT_HOME:即本批處置所在的目錄; rem BKDIR:是調(diào)用本批處置時(shí)傳進(jìn)來的參數(shù) dump_dir,即要備份到的數(shù)據(jù)文件目錄。 rem rem Author: Sanlavo rem Time: 2007-06-07 rem = rem echo 備份開場(chǎng). echo 當(dāng)前的時(shí)間是: %DATE% %time% set BAT_HOME=E:BAT set BKDIR=%1 set BKFILE=%Date:0,4%Date:5,2%Date:8,2% set HHMMSS=%time:0,2%time:3,2%time:6,2% expdp system/sys parfile=%B

6、AT_HOME%ScriptsLibparfiletest.sql if not exist %BKDIR%BKFILE%_LOGIC ( md %BKDIR%BKFILE%_LOGIC ) else ( echo 目錄 %BKDIR%BKFILE%_LOGIC 曾經(jīng)存在 ) echo 開場(chǎng)緊縮文件. rar a %BKDIR%BKFILE%_LOGIC%BKFILE%HHMMSS%_LOGIC_FULL.rar %BKDIR%*.dmp echo 緊縮文件 %BKFILE%HHMMSS%_LOGIC_FULL.rar 完成 echo 開場(chǎng)挪動(dòng)文件. move %BKDIR%*.dmp %BK

7、DIR%BKFILE%_LOGIC move %BKDIR%*.log %BKDIR%BKFILE%_LOGIC echo 挪動(dòng)文件完成 echo 開場(chǎng)刪除dmp文件. del /f /s /q %BKDIR%BKFILE%_LOGIC*.dmp echo 刪除dmp文件完成 net send %userdomain% 數(shù)據(jù)庫邏輯備份已于:%DATE% %time% 完成! echo . echo 備份已于:%DATE% %time% 完成! echo . rem 挪動(dòng)批處置的日志文件到備份目錄下面 xcopy %BAT_HOME%LogicBackup_%BKFILE%*.log %BKDI

8、R%BKFILE%_LOGIC echo Successfully Completed! 下面是expdp的parfile參數(shù)的文件parfiletest.sql內(nèi)容:directory=dump_dir dumpfile=DBBackup_Logic_%U.dmp logfile=DBBackup_Logic.log filesize=80M full=y job_name=EXP_DB_FULL 到此,邏輯備份批處置完成,可以用命令來定時(shí)執(zhí)行,例如: c:at 06:06 /every:S E:BATAutoBackup_Logic.bat 這樣,邏輯備份將會(huì)在每周星期六凌晨六點(diǎn)六分執(zhí)行。

9、 第二部分,冷備份: 下面是:AutoBackup.bat -主文件echo off set BAT_HOME=E:BAT set DUMP_DIR=E:TempDBBackup call ColdBackup.bat orcl %DUMP_DIR% %BAT_HOME%ColdBackup_%DATE:0,10%.log pause 下面是備份流程文件:ColdBackup.batecho off rem E:BATColdBackup.bat orcl E:TempDBBackup rem rem= rem 要備份的文件列表有:參數(shù)文件、控制文件、數(shù)據(jù)文件、重做日志文件 rem rem 參

10、數(shù)文件有: rem %ORACLE_HOME%databasespfile.ora rem %ORACLE_HOME%databasePWD.ora rem %ORACLE_HOME%databasepfile.ora rem rem 控制文件:可以經(jīng)過查詢數(shù)據(jù)字典視圖v$control 確認(rèn)控制文件的位置和清單 rem select status,name from v$controlfile; rem rem 數(shù)據(jù)文件:可以經(jīng)過查詢數(shù)據(jù)字典視圖 dba_data_files 確定數(shù)據(jù)文件的位置和清單 rem select status,file_name from dba_data_fil

11、es; rem rem 重做日志文件:查詢數(shù)據(jù)字典v$logfile可以確認(rèn)聯(lián)機(jī)重做日志文件的位置和清單 rem select group#,status,member from v$logfile; rem Author: Sanlavo rem Time: 11:35 2007-5-31 rem= rem rem 請(qǐng)?jiān)谶@里配置好本批處置程序所放的途徑BAT_HOME以及ORACLE_HOME: set ORACLE_HOME=D:oracleproduct10.2.0db_1 set BAT_HOME=E:BAT set BKFILE=%Date:0,4%Date:5,2%Date:8,2

12、% set HHMMSS=%time:0,2%time:3,2%time:6,2% rem 數(shù)據(jù)庫脫機(jī) call %BAT_HOME%ShutdownDB.bat %1 rem %1 為數(shù)據(jù)庫 %2為備份文件途徑 rem 創(chuàng)建備份目錄 if exist %2%BKFILE%_DBBackup ( echo %2%BKFILE%_DBBackup 曾經(jīng)存在 ) else ( mkdir %2%BKFILE%_DBBackup echo %2%BKFILE%_DBBackup 曾經(jīng)創(chuàng)建 ) rem copy備份文件到備份目錄中 rem call xcopyfiles.bat %1 %2 rem b

13、egin = echo 數(shù)據(jù)庫 %1 冷備份開場(chǎng). rem 備份 dbs 目錄下參數(shù)文件 xcopy %ORACLE_HOME%dbs*.* %2%BKFILE%_DBBackupdbs /S /I /C /Y /F rem 備份 %ORACLE_HOME%database 目錄下參數(shù)文件 xcopy %ORACLE_HOME%database*.* %2%BKFILE%_DBBackupdatabase /S /I /C /Y /EXCLUDE:ScriptsLibdatabaseExclude.lst /F rem 備份數(shù)據(jù)庫控制文件、數(shù)據(jù)文件、重做日志文件 rem 創(chuàng)建數(shù)據(jù)庫命名的文件夾

14、,存放相關(guān)文件 if not exist %2%BKFILE%_DBBackup%1 ( md %2%BKFILE%_DBBackup%1 ) rem 從filepath.txt中讀取文件途徑信息并copy到目的途徑 for /f %i in (%BAT_HOME%ScriptsLibfilepath.txt) do ( xcopy %i %2%BKFILE%_DBBackup%1 /S /I /C /Y /F ) echo 數(shù)據(jù)庫 %1 冷備份完成! rem end = echo 啟動(dòng)數(shù)據(jù)庫 rem 上面的操作過程中以及修正了環(huán)境途徑,所以掉不到該批處置文件 %BAT_HOME:0,2% c

15、d %BAT_HOME% call %BAT_HOME%StartupDB.bat %1 :Operation :End rem if exist *.dmp ( rem move *.dmp %BKFILE%_DBBackup & goto End1 rem echo Move dump file successfull rem )else ( rem echo 不存在數(shù)據(jù)庫備份文件 & goto End1 rem ) rem End rem : 把日期目錄下的文件挪動(dòng)到當(dāng)前目錄 rem : move %BKFILE%_DBBackup*.bat rem :End1 rem echo * r

16、em echo Operation Successfully rem echo * pause 上文中的:databaseExclude.lst 內(nèi)容如下:.log .exe 即,排除日志文件和exe文件,其他的全部備份。 上文中的:filepath.txt內(nèi)容是經(jīng)過數(shù)據(jù)字典查詢后得到的比如控制文件、數(shù)據(jù)文件、日志文件等的途徑列表,例如: D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL01.CTL D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL02.CTL D:ORACLEPRODUCT10.2.0ORADATAORCLCONTR

17、OL03.CTL D:ORACLEPRODUCT10.2.0ORADATAORCLUSERS01.DBF D:ORACLEPRODUCT10.2.0ORADATAORCLSYSAUX01.DBF D:ORACLEPRODUCT10.2.0ORADATAORCLUNDOTBS01.DBF D:ORACLEPRODUCT10.2.0ORADATAORCLSYSTEM01.DBF D:ORACLEPRODUCT10.2.0ORADATAORCLEXAMPLE01.DBF D:SDEDB.DBF E:SDEDBSDE_DATA01.DBF E:SDEDBSDE_INDEX01.DBF D:ORACLE

18、PRODUCT10.2.0ORADATAORCLWJ01.DBF D:ORACLEPRODUCT10.2.0ORADATAORCLREDO01.LOG D:ORACLEPRODUCT10.2.0ORADATAORCLREDO02.LOG D:ORACLEPRODUCT10.2.0ORADATAORCLREDO03.LOG . 在冷備份中涉及到數(shù)據(jù)庫的封鎖和啟動(dòng),這里不在羅索了。關(guān)于冷備份的執(zhí)行,也可以模擬邏輯備份部分,在方案義務(wù)中調(diào)用。 第三部分,熱備份: rem script:hotbak.sql rem creater:chenjiping rem date:4.4.2002 rem de

19、sc:backup database datafile in archive -connect database connect internal/virpure; -archive alter system checkpoint; alter system archive log all; alter system switch logfile; -start alter tablespace afis_remote begin backup; !xcopy e:orantdatabaseremote_data1.ora e:databak/H/R; !xcopy e:orantdataba

20、seremote_data2.ora e:databak/H/R; alter tablespace afis_remote end backup; alter tablespace afis_rmtafis begin backup; !xcopy e:orantdatabasermtafis_data1.ora e:databak/H/R; !xcopy e:orantdatabasermtafis_data2.ora e:databak/H/R; alter tablespace afis_rmtafis end backup; alter tablespace afis_lquser

21、begin backup; !xcopy e:orantdatabaselquser_data.ora e:databak/H/R; alter tablespace afis_lquser end backup; alter tablespace afis_transf begin backup; !xcopy e:orantdatabasetransf1_data.ora e:databak/H/R; !xcopy e:orantdatabasetransf2_data.ora e:databak/H/R; alter tablespace afis_transf end backup;

22、alter tablespace system begin backup; !xcopy e:orantdatabasesys1afis.ora e:databak/H/R; alter tablespace system end backup; alter tablespace rbs begin backup; !xcopy e:orantdatabaserbs1afis.ora e:databak/H/R; alter tablespace rbs end backup; alter tablespace usr begin backup; !xcopy e:orantdatabaseusr1afis.ora e:databak/H/R;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論