Oracle 批處理自動備份bat腳本語句

開門見山

1、備份的語句能執行
2、創建一個檢單bat腳本能執行
3、把備份的語句放到bat 腳本里面

示例

@echo off 
echo 正在備份 Oracle 數據庫,請稍等……    
set expname=%date:~0,4%%date:~5,2%%date:~8,2%
expdp 用戶名/密碼@orcl  schemas=導出的用戶 directory=備份的文件夾 dumpfile=%expname%.dmp logfile=%expname%.log

步驟

1、備份語句

確保導出的語句能夠執行


expdp 用戶名/密碼@orcl schemas=導出的用戶 directory=備份的文件夾 dumpfile=文件命名.dmp logfile=文件命名.log

2、bat腳本

確保bat腳本能執行
有時候bat腳本執行時會包@echo錯誤,這是編碼的問題。
把bat文件另存爲的時候修改編碼爲:ANSI 就行了。
在這裏插入圖片描述


3、bat腳本添加導出語句

@echo off 
echo 正在備份 Oracle 數據庫,請稍等……    

set expname=%date:~0,4%%date:~5,2%%date:~8,2%

expdp 用戶名/密碼@orcl  schemas=導出的用戶 directory=備份的文件夾 dumpfile=%expname%.dmp logfile=%expname%.log

set:設置變量,expname變量賦值爲當前日期
用戶名:連接數據庫的用戶名 schemas:要導出哪個用戶的數據
directory:備份的文件夾名字,可以通過下面語句查詢當前可以備份到哪些目錄

cmd
>sqlplus /nolog
SQL>conn /as sysdba
SQL>select * from dba_directories;

自己創建目錄的話可參照下面的語句

cmd
>sqlplus /nolog
SQL>conn /as sysdba
SQL>create directory dir as 'd:\dump';// 該路徑選擇時可以不存在,但是導出的時候一定要自己動手創建好
SQL>select * from dba_directories;// 查詢
SQL>grant read,write on directory dir to 用戶名;// 授權給指定用戶

%expname%:引用set 變量

注意:導出語句最後不要留空行;變量賦值也不要有空格和空行,不然出現奇奇怪怪的現象,可能會多出一個日誌文件或者dmp文件,並且是 空命名
雙擊bat腳本,結果一閃而過,可以在bat腳本中加入pause 逐行判斷是哪一句出現問題。

最後把bat腳本添加到windows帶有的任務計劃就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章