使用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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RMAN中檢查指令碼語法錯誤的命令指令碼
- 分享實用監控指令碼:使用Shell檢查程式是否存在指令碼
- oracle rman backup命令檢查資料庫錯誤Oracle資料庫
- C語言程式設計十大建議——語法語義篇:使用指令碼檢查部分語義錯誤C語言程式設計指令碼
- python檢測圖片是否存在指令碼Python指令碼
- 如何在 Shell 指令碼中執行語法檢查除錯模式指令碼除錯模式
- 檢查LOGO是否存在Go
- Linux中檢視指令碼程式是否存在的命令!Linux指令碼
- 檢查外來鍵是否有索引的指令碼索引指令碼
- 檢查CPU是否支援MMX指令的程式碼 (轉)
- 檢查是否存在truncate或者rebuild的索引Rebuild索引
- 用RMAN備份歸檔日誌時檢查歸檔日誌是否存在
- shell指令碼死迴圈檢查是否有特定的路由,若不存在進行增加操作指令碼路由
- 錯誤檢查思路
- 檢查貨幣是否存在SAP系統中
- 批次檢查主機是否可達的ping指令碼.指令碼
- Linux檢查硬體錯誤工具—mcelog命令Linux
- Linux 監控程式是否存在的指令碼Linux指令碼
- RAC指令碼檢查指令碼
- 反除錯&反反除錯 -- 利用sysctl檢測偵錯程式是否存在除錯
- 檢查Linux系統日誌error和mysql錯誤日誌的指令碼薦LinuxErrorMySql指令碼
- 【指令碼】shell語法指令碼
- 【RMAN】RMAN指令碼中使用替換變數--windows 下rman全備指令碼指令碼變數Windows
- 方便檢視11g錯誤日誌的指令碼指令碼
- Python3檢查檔案是否存在的常用方法!Python
- rman的備份檢視的指令碼指令碼
- 檢查使用者是否用了預設密碼(轉)密碼
- ORACLE提供檢驗RAC是否健康指令碼Oracle指令碼
- Win10磁碟錯誤怎麼檢查 win10檢查磁碟錯誤的方法Win10
- SHELL指令碼檢查Oracle DG備庫是否已經應用歸檔指令碼Oracle
- 亞馬遜aws文件語法錯誤亞馬遜
- 方便檢視11g錯誤日誌的指令碼(新)指令碼
- 記憶體檢查指令碼記憶體指令碼
- 使用rman備份的指令碼指令碼
- SQL SERVER 建表table之前,檢查是否有同名的表存在SQLServer
- Android 檢查裝置是否存在 導航欄 NavigationBarAndroidNavigation
- rman指令碼指令碼
- 檢查使用者名稱是否使用介面