There a nice new functionality in rman 11.2.0.3 i don’t know when it was added
It checks the syntax rman script without executing.

i created following file called restore.rman  with just this :

restore database;

then I executed following :

oracle@oraclelinux TEST]$  rman checksyntax cmdfile=”restore.rman”
Recovery Manager: Release 11.2.0.3.0 – Production on Thu Mar 1 16:57:49 2012
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
RMAN> restore database;2>The cmdfile has no syntax errors
Recovery Manager complete.

add following deliberate error to the file :

recover databae;

[TEST oracle@oraclelinux TEST]$  rman checksyntax cmdfile=”restore.rman”
Recovery Manager: Release 11.2.0.3.0 – Production on Thu Mar 1 16:59:10 2012
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
RMAN> restore database;2> recover databaeRMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-00558: error encountered while parsing input commandsRMAN-01009: syntax error: found “identifier”: expecting one of: “allow, archivelog, auxiliary, check, clear, copy, corruption, database, datafilecopy, datafile, delete, device, exclude, from, noparallel, noredo, parallel, preview, restore, skip readonly, standby, tablespace, test, undo, validate”RMAN-01008: the bad identifier was: databaeRMAN-01007: at line 2 column 9 file: restore.rman

I find this a usefull feature

Leave a Reply