1. 程式人生 > >Oracle資料庫執行exp命令--報引數'log' 不允許有多個值

Oracle資料庫執行exp命令--報引數'log' 不允許有多個值

前幾天設定自動備份oracle 資料庫時發現一個問題,自動備份老是執行失敗,後來把語句拿出來單獨執行才發現是語句寫的有問題,一般情況下自動備份都要自動生成日誌檔案,以便於我們檢視備份是否正常執行。下面我舉一個小例子說明報錯的原因以及解決方法。

    expdp test/[email protected] DIRECTORY=test

      DUMPFILE=test%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.dmp

      SCHEMAS=test logfile=test%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.log

 

      大家可以看到第三句執行後生成日誌檔案,執行一段時間會發現一直執行失敗,提示報錯  logfile不允許有多個值。原因是  logfile=後面的值不允許變數。

    解決辦法:用英文的單引號將logfile後面的值括起來即可,如下所示:

SCHEMAS=test logfile='test%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.log'