用批處理寫的 資料庫備份還原工具

2021-09-21 20:50:32 字數 2180 閱讀 4277

由於平時要進行資料庫的備份和還原操作,為了提高效率和節省時間就有了下面的批處理程式,這是針對oracle編寫的,可以用在不同的電腦上,因為它會自動讀取當前電腦的環境變數,從而取得oracle的安裝路徑,唯一有一點不足的地方是程式中執行過程中會產生乙個中間文字檔案,不過這並不礙大事,備份或者還原完了以後將會自動刪除產生文字檔案,**如下:

@echo off&setlocal enabledelayedexpansion 

color 0a 

:start 

for /f "tokens=2 delims==" %%a in ('path') do ( 

set "str=%%a" 

set str=!str: =+! 

for %%i in (!str!) do ( 

set "var=%%i" 

set var=!var:+= ! 

echo !var!>>change.txt 

for /f "delims=" %%i in ('findstr "db_1\bin" change.txt') do set var=%%i 

) ) 

set /p choice=1.備份 2.還原 3.按任意鍵退出: 

if %choice%==1 goto exp 

if %choice%==2 goto imp 

:exp 

del /q change.txt 

set /p file=請輸入備件資料庫的檔名: 

set /p path=請輸入存放的路徑(記得輸冒號:): 

"%var%"\exp.exe smhr/smhr@orcl file=%path%\%file% full=n 

set /p choice=1.繼續 2.按任意鍵退出: 

if %choice%==1 goto start 

:imp 

del /q change.txt 

set /p file=請將要匯入的資料庫檔案拖入窗體內: 

"%var%"\imp.exe smhr/smhr@orcl file=%file% full=y 

set /p choice=1.繼續 2.按任意鍵退出: 

if %choice%==1 goto start

要注意**中的@orcl

如果你的電腦上只有乙個資料庫,那麼這個寫不寫是不礙事的,但是如果有兩個資料那麼這個是必須得寫的,否則會出現使用者名稱密碼失敗。

今天(2010.07.15)又再次看了看,以前寫過的這個批處理,發現了一些問題,以前考慮的是環境變數中的第一條路徑是oracle的,可是在我現在工作的電腦上的環境變數是這樣的

e:\oracle\product\10.1.0\client_1\bin;e:\oracle\product\10.1.0\client_1\jre\1.4.2\bin\client;e:\oracle\product\10.1.0\client_1\jre\1.4.2\bin;e:\oracle\product\10.1.0\db_1\bin;e:\oracle\product\10.1.0\db_1\jre\1.4.2\bin\client;e:\oracle\product\10.1.0\db_1\jre\1.4.2\bin;e:\python26;%systemroot%\system32;%systemroot%;%systemroot%\system32\wbem;c:\program files\ati technologies\ati.ace\core-static;c:\program files\microsoft sql server\80\tools\binn;e:\program files\subversion\bin;c:\program files\common files\thunder network\kankan\codecs

看到了吧前面的並不是我們想要的,我寫的這個批處理真正需要的是以下這行路徑

e:\oracle\product\10.1.0\db_1\bin

所以需要將原**中的

for /f "delims=" %%i in ('findstr "oracle" change.txt') do set var=%%i

改為 for /f "delims=" %%i in ('findstr "db_1\bin" change.txt') do set var=%%i

這樣以來,就能適應任何環境的主機了,因為我們查詢的是db_1\bin  

用批處理寫的 資料庫備份還原工具 修正加強版

這次的這個版本與上乙個版本的不同之處在於 1 支援密碼隱藏輸入 2 可以動態連線不同的oracle資料庫 3 修改了以前程式中的bug,更好支援不同的主機 echo off setlocal enabledelayedexpansion color 0a echo.echo.歡迎使用oracle資料...

用批處理自動備份MySQL資料庫

使用批處理檔案執行mysql備份,然後用windows自代的任務計畫執行 1.使用批處理自動的xcop命令 net stop mysql xcopy d wwwroot xuxu123 d wwwroot xuxu123 date 10 y net start mysql 2.使用mysql的mys...

oracle資料庫備份批處理

echo off e cd e 資料庫備份 set username test set password 123456 set strdate date 0,4 date 5,2 date 8,2 set filename username strdate echo on echo 備份開始 dat...