使用CHECKSYNTAX命令檢查RMAN指令碼是否存在語法錯誤
在生產環境中,假如要部署一套RMAN的備份指令碼,那麼對指令碼的測試就是必不可少的環節,Oracle提供了CHECKSYNTAX命令來協助我們在不用實際執行指令碼的情況下檢查指令碼的語法錯誤,如:
[oracle@ligle-db ~]$ rman checksyntax
Recovery Manager: Release 10.2.0.4.0 - Production on Sat Mar 26 03:04:18 2011
Copyright (c) 1982, 2007, Oracle.All rights reserved.
RMAN>
RMAN> run [backup database;]
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01006: error signalled during parse
RMAN-02001: unrecognized punctuation symbol "["
再如:
RMAN> run {backup database delete all input;}
The command has no syntax errors
可見,如果在被檢命令中檢測出語法錯誤,那麼就會報錯,如:RMAN-00558。
下面再看下檢查RMAN指令碼:
加入在/home/oracle目錄下存放一指令碼cmdfile1,內容是:
restore database;
recover database;
現在執行CHECKSYNTAX命令檢查其語法是否存在問題:
[oracle@ligle-db ~]$ rman CHECKSYNTAX @/home/oracle/cmdfile1
Recovery Manager: Release 10.2.0.4.0 - Production on Sat Mar 26 03:16:48 2011
Copyright (c) 1982, 2007, Oracle.All rights reserved.
RMAN> restore database;
2> recover database;
3>
The cmdfile has no syntax errors
Recovery Manager complete.
如果指令碼中存在錯誤,比如去掉cmdfile1中的“;”,則輸出就會是:
[oracle@ligle-db ~]$ rman CHECKSYNTAX @/home/oracle/cmdfile1
Recovery Manager: Release 10.2.0.4.0 - Production on Sat Mar 26 03:18:43 2011
Copyright (c) 1982, 2007, Oracle.All rights reserved.
RMAN> restore database
2> recover
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01009: syntax error: found "recover": expecting one of: "archivelog, channel, check, controlfile, clone, database, datafile, device, from, force, high, (, preview, ;, skip, spfile, standby, tablespace, until, validate"
RMAN-01007: at line 2 column 1 file: /home/oracle/cmdfile1
--- END ---
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25834554/viewspace-706601/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux中檢視指令碼程式是否存在的命令!Linux指令碼
- 分享實用監控指令碼:使用Shell檢查程式是否存在指令碼
- Linux檢查硬體錯誤工具—mcelog命令Linux
- shell指令碼死迴圈檢查是否有特定的路由,若不存在進行增加操作指令碼路由
- sh指令碼判斷路徑是否存在指令碼
- 反除錯&反反除錯 -- 利用sysctl檢測偵錯程式是否存在除錯
- 【指令碼】shell語法指令碼
- Python3檢查檔案是否存在的常用方法!Python
- rman 備份指令碼指令碼
- Python3中如何檢查檔案是否存在?Python教程!Python
- Linux系統檢查指令碼Linux指令碼
- 記憶體檢查指令碼記憶體指令碼
- oracle資料庫使用rman備份指令碼Oracle資料庫指令碼
- python——指令碼實現檢測目標ip是否存在ftp笑臉漏洞(ftp後門漏洞)Python指令碼FTP
- Bash-Insulter:一個在輸入錯誤命令時嘲諷使用者的指令碼指令碼
- 記 Vue3 學習中見到的一個語法檢查錯誤 (ts-plugin 1128)VuePlugin
- 檢查字型是否存在的方法
- navicat 建立事件報語法錯誤事件
- 檢查使用者名稱是否使用介面
- Vue檢查使用者名稱是否使用Vue
- win10 d盤錯誤檢查如何操作_win10 d盤錯誤檢查詳細方法Win10
- 使用 sudo 命令出現錯誤
- 【SCN】Oracle檢查scn值指令碼Oracle指令碼
- CSS語法檢查利器之csslintCSS
- Bash 指令碼中的錯誤處理指令碼
- 亞馬遜aws文件語法錯誤亞馬遜
- 檢查 Linux 檔案系統中的錯誤:透過案例學習 FSCK 命令Linux
- 檢查備份情況的指令碼指令碼
- [20180302]使用find命令小錯誤.txt
- javascript中檢測變數是否存在時,最好使用typeofJavaScript變數
- 執行指令碼寫入中間表錯誤返回錯誤資訊指令碼
- 前端工程化之路-語法檢查前端
- shell指令碼執行錯誤 $‘\r‘:command not found指令碼
- 解決shell指令碼錯誤$’r’ command not found指令碼
- 使用 GDB 從崩潰中檢查 Objective C 類(HandleDelegateSource 錯誤訪問)Object
- 檢測表中行記錄是否已存在
- pycharm改變語法錯誤的顏色PyCharm
- 分享Oracle Rman的備份指令碼Oracle指令碼
- SQL查詢是否”存在”的新方法SQL