WINDOWS下部署ORACLE邏輯匯出備份指令碼

germany006發表於2016-01-05

操作步驟:

1、環境變數設定:

1)右鍵點我的電腦(計算機)—>高階系統設定—>環境變數—>系統變數—>變數path—>編輯-->新增路徑


2)儲存原環境變數:

C:\ProgramData\Oracle\Java\javapath;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;E:\app\administrator\product\11.2.0\dbhome_1\bin;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\


3)新新增2個路徑後的環境變數:

C:\ProgramData\Oracle\Java\javapath;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;E:\app\administrator\product\11.2.0\dbhome_1\bin;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;E:\app\administrator\product\11.2.0\dbhome_1\BIN;C:\Program Files (x86)\WinRAR



2、備份目錄設定

 1) 在WINDOWS系統F磁碟機代號建立ORA_DB_BACKUP目錄。

 2)create  directory ORA_BACKUP_DIR as 'F:\ORA_DB_BACKUP';


3、許可權設定

1)grant dba to system;   

注意:這裡system原本就擁有此許可權,不用執行

2)grant read,write on directory ORA_BACKUP_DIR to system;

注意:這裡在建立備份目錄的時候,系統自動新增了讀寫執行的許可權,不用執行

     正常情況新使用者需要授權。



4、指令碼程式碼

F:

cd \ORA_DB_BACKUP\

expdp system/***** directory=ORA_BACKUP_DIR dumpfile=ORA_BACKUP%date:~0,10%.dmp log=ORA_LOG%date:~0,10%.log full=y

rar a ORA_LOG%date:~0,10%.rar ORA_LOG%date:~0,10%.log

rar a ORA_BACKUP%date:~0,10%.rar ORA_BACKUP%date:~0,10%.dmp

del ORA_LOG%date:~0,10%.log /q

del ORA_BACKUP%date:~0,10%.dmp /q

Forfiles -p F:\ORA_DB_BACKUP\ -s -m *.rar -d -7 -c "Cmd /C del @FILE"


注意:這裡的時間格式不能是2015/06/08 這種格式,會被資料庫預設為路徑,需修改時間格式。

程式碼詳解:

第一行F:代表進入備份目錄所在磁碟機代號

第二行進入備份目錄

第三行ORACLE邏輯匯出命令expdp,system/*****是賬號密碼,directory是ORACLE備份目錄名稱,%date:~0,10%表示取當前系統時間前10位,full=y表示全備

第四、五行WINRAR壓縮軟體壓縮打包命令

第六、七行刪除原備份檔案(因為前面2步已經壓縮打包了)

第八行刪除備份目錄中7天以前的以.rar格式結尾的檔案



5、計劃任務

系統開始選單(WIN)—>控制皮膚—>管理工具—>任務計劃程式

如下圖:

 


 

 

 

 

 

注意:
1、在BAT指令碼中的時間變數可能會因為作業系統的時間格式問題導致指令碼無法執行,需要更改作業系統的時間格式為2016-01-01這種。
2、在啟動指令碼時最好新增起始目錄路徑
3、FORFILES指定刪除目錄時,有時會遇到指定的目錄新增了雙引號就無法執行的問題,可去掉指定目錄雙引號。
遇到以下報錯就是這種情況:
錯誤: 無效引數/選項 - '@FILE'。
鍵入 "FORFILES /?" 以瞭解用法。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28371090/viewspace-1971583/,如需轉載,請註明出處,否則將追究法律責任。

相關文章