oracle數(shù)據(jù)庫自動備份系統(tǒng)
oracle數(shù)據(jù)庫自動備份系統(tǒng)
Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它是在數(shù)據(jù)庫領(lǐng)域一直處于領(lǐng)先地位的產(chǎn)品。下面學(xué)習(xí)啦小編為大家分享一下oracle數(shù)據(jù)庫自動備份系統(tǒng)的方法,有需要的可以參考一下!
oracle數(shù)據(jù)庫自動備份系統(tǒng)
實(shí)現(xiàn)過程:
1. 建立文件 backup.bat (自定義文件名.bat)
@echo off
REM ###########################################################
REM # Windows Server 2003下Oracle數(shù)據(jù)庫自動備份批處理腳本
REM ###########################################################
REM 取當(dāng)前系統(tǒng)時(shí)間,可能因操作系統(tǒng)不同而取值不一樣
set CURDATE=%date:~0,4%%date:~5,2%%date:~8,2%
set CURMON=%date:~0,4%%date:~5,2%
set CURTIME=%time:~0,2%
REM 小時(shí)數(shù)如果小于10,則在前面補(bǔ)0
if "%CURTIME%"==" 0" set CURTIME=00
if "%CURTIME%"==" 1" set CURTIME=01
if "%CURTIME%"==" 2" set CURTIME=02
if "%CURTIME%"==" 3" set CURTIME=03
if "%CURTIME%"==" 4" set CURTIME=04
if "%CURTIME%"==" 5" set CURTIME=05
if "%CURTIME%"==" 6" set CURTIME=06
if "%CURTIME%"==" 7" set CURTIME=07
if "%CURTIME%"==" 8" set CURTIME=08
if "%CURTIME%"==" 9" set CURTIME=09
set CURTIME=%CURTIME%%time:~3,2%%time:~6,2%
REM 設(shè)置所有者、用戶名和密碼
set OWNER=orcl
set USER=bktcgl
set PASSWORD=bktcgl
REM 創(chuàng)建備份用目錄,目錄結(jié)構(gòu)為oraclebak/YYYYMMDD/
if not exist "oraclebak" mkdir oraclebak
cd oraclebak
if not exist "%CURMON%" mkdir %CURMON%
set FILENAME=%CURMON%/%OWNER%_%CURDATE%_%CURTIME%.DMP
set EXPLOG=%CURMON%/%OWNER%_%CURDATE%_%CURTIME%_log.log
REM 調(diào)用ORACLE的exp命令導(dǎo)出用戶數(shù)據(jù)
exp %USER%/%PASSWORD%@%OWNER% file=%FILENAME% log=%EXPLOG% owner=%USER% grants=n
exit
注:
1.bat文件可雙擊或直接在命令行執(zhí)行,檢查正確與否
2.檢查時(shí)可注釋掉exit
3.以上文件實(shí)現(xiàn)按月份創(chuàng)建文件夾,按時(shí)間生成備份文件
2.建立windows任務(wù)
步驟:
開始 -> 所有程序 -> 附件 -> 系統(tǒng)工具 -> 任務(wù)計(jì)劃程序 -> 操作 -> 創(chuàng)建基本任務(wù)
-> 任務(wù)名輸入"oracle_backup"(自定義任務(wù)名),執(zhí)行這個(gè)任務(wù)選擇每天,下一步
-> 起始時(shí)間下午12:00,起始日期2012-7-11,下一步 ->(啟動程序)下一步
->在 瀏覽 中查找剛剛寫好的 backup.bat 文件 >下一步 > 完成
注:
1.在任務(wù)計(jì)劃欄目下新增一個(gè)名為"oracle_backup"的任務(wù)計(jì)劃,表明已經(jīng)配置完畢。
2.不同系統(tǒng)的任務(wù)計(jì)劃略有不同,但基本換湯不換藥,不做一一例舉
問題:系統(tǒng)警告"已創(chuàng)建新任務(wù),但可能不能運(yùn)行,因?yàn)闊o法設(shè)置賬戶信息。指定的錯(cuò)誤是:Ox80041315:任務(wù)計(jì)劃程序服務(wù)沒有運(yùn)行"
原因:電腦的任務(wù)計(jì)劃程序服務(wù)沒有啟動起來。
解決:開始 > 所有程序 > 管理工具 > 服務(wù),找到"Task Scheduler"服務(wù),發(fā)現(xiàn)啟動類型為"已禁用",
右鍵單擊更改為"自動",并把它啟動起來,然后重新添加一次任務(wù)計(jì)劃就可以了。
3.簡單解釋
1. bat:是dos下的批處理文件。批處理文件是無格式的文本文件,它包含一條或多條命令。在命令提示下鍵入批處理文件的名稱,或者雙擊該批處理文件,系統(tǒng)就會調(diào)用 Cmd.exe按照該文件中各個(gè)命令出現(xiàn)的順序來逐個(gè)運(yùn)行它們。
2. Echo 命令:打開回顯或關(guān)閉請求回顯功能,或顯示消息。
3. @ 命令:表示不顯示@后面的命令
4. Rem 命令:注釋命令
5. If命令:if表示將判斷是否符合規(guī)定的條件,從而決定執(zhí)行不同的命令。
6. exit :退出命令行
7. GRANTS: 是權(quán)限的意思,在你導(dǎo)出的目標(biāo)數(shù)據(jù)庫中可能會有一些表的如select 權(quán)限等賦給了別的用戶。
【GRANTS=Y】導(dǎo)出的時(shí)候?qū)⑦@些權(quán)限導(dǎo)出,導(dǎo)入的時(shí)候?qū)⑦@些權(quán)限導(dǎo)入。
【GRANTS=N】權(quán)限不被導(dǎo)入。
看過“ oracle數(shù)據(jù)庫自動備份系統(tǒng) ”的人還看了:
1.sqlserver多數(shù)據(jù)庫自動備份系統(tǒng)