LRM-00112: 參數 'logfile' 不允許有多個值

在widows系統上寫個bat腳本定時備份oracel數據庫的,但一執行bat腳本就會報“LRM-00112: 參數 'logfile' 不允許有多個值”,網上資源都是說創建邏輯目錄可能有空格,我就重新修改了邏輯目錄還是不是行的,最後發現是語句的問題如下:

我都是習慣生產的名字爲back_20190419.log這樣形式的沒有雙引號,這個語句在我在其它服務器執行一點都沒有問題的
expdp %bakdbname%/%bakdbpasswd%@%sid% directory=BACKDIR dumpfile=%dumpbame%_%BACKUPDATE%.dmp logfile=%dumpbame%_%BACKUPDATE%.log


加上雙引號就可以執行了也不報錯了
expdp %bakdbname%/%bakdbpasswd%@%sid% directory=BACKDIR dumpfile="%dumpbame%_%BACKUPDATE%.dmp" logfile="%dumpbame%_%BACKUPDATE%.log"


完整bat備份腳本:

back.bat腳本文件

@echo off   
echo ================================================   
echo  Windows環境下Oracle數據庫的自動備份腳本  
echo  1. 使用當前日期命名備份文件。  
echo  2. 自動刪除15天前的備份。 
echo  3.使用expdb命令導出需要先在數據庫中創建備份文件存貯目錄,sql如下:
echo    create directory backdir as 'E:\nx12320_nxchart\data'; 
echo ================================================  
::以“YYYYMMDD”格式取出當前時間。  
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2%
::設置用戶名、密碼和sid。  
set bakdbname=nx12320
set bakdbpasswd=123456
set sid=orcl
set dumpbame=NX12320
set bakdbhome=E:\nx12320_nxchart\data
::創建備份目錄。
if not exist "E:\nx12320_nxchart\data"       mkdir E:\nx12320_nxchart\data
::expdp備份
expdp %bakdbname%/%bakdbpasswd%@%sid% directory=BACKDIR dumpfile="%dumpbame%_%BACKUPDATE%.dmp" logfile="%dumpbame%_%BACKUPDATE%.log"
::切換目錄
e:
cd %bakdbhome%
::調用rar進行壓縮
"C:\Program Files\WinRAR\WinRAR.exe" a -m5 -dw %dumpbame%_%BACKUPDATE%".zip" "%dumpbame%_%BACKUPDATE%.log" "%dumpbame%_%BACKUPDATE%.DMP"
::刪除10天前的備份。  
forfiles /p "%bakdbhome%" /s /m *.zip /d -15 /c "cmd /c del @path" 
exit


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