開門見山
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帶有的任務計劃就可以了。