用途
RMAN
コマンドを使用すると、オペレーティング・システムのコマンドラインからRMANを起動できます。
RMANによるデータベースへの接続は、SQL*Plusによるデータベースへの接続と同じ方法で指定および認証します。RMANによるターゲット・データベースまたは補助データベースへの接続にはSYSDBA
権限が必要である点のみが異なります。AS SYSDBA
キーワードは、暗黙的に指定され、明示的には指定できません。SQL*Plusを使用する場合のデータベース接続オプションについては、『Oracle Database管理者ガイド』を参照してください。
注意: 適切なセキュリティ・プラクティスとして、コマンドラインにパスワードを入力するときは、プレーン・テキストで入力しないでください。RMANでは、RMANプロンプトで要求された場合にのみパスワードを入力してください。パスワード保護については、『Oracle Databaseセキュリティ・ガイド』を参照してください。 |
関連項目: コマンドラインからRMANを起動する方法は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。 |
使用上の注意
オペレーティング・システムのプロンプトで入力するコマンド名は、オペレーティング・システムによって異なります。たとえば、LinuxシステムおよびUNIXシステムでは、小文字でrman
と入力します。
オペレーティング・システムのコマンドラインでCATALOG
またはNOCATALOG
を指定せずにRMANを起動した場合、CONNECT
CATALOG
コマンドを実行しないかぎり、RMANセッションはNOCATALOG
モードになります(例3-32を参照)。リカバリ・カタログを保持する場合は、RMAN操作を実行する前にリカバリ・カタログに接続することをお薦めします。
セマンティクス
構文要素 | 説明 |
---|---|
APPEND |
新規出力をメッセージ・ログ・ファイルの終わりに追加させます。このパラメータを指定せず、かつメッセージ・ログ・ファイルと同じ名前のファイルがある場合、RMANはそのファイルを上書きします。 |
CHECKSYNTAX |
入力されたコマンドに対して構文エラーをチェックするモードでRecover Managerを起動させますが、それ以外の処理は実行しません(例3-35を参照)。引数CMDFILE または@ とともに使用すると、RMANクライアントが起動し、ファイル内のすべてのコマンドをチェックしてから終了します。コマンド・ファイルを指定せずに使用すると、RMANによって、入力が求められ、ユーザーがRMANクライアントを終了するまで各コマンドが解析されます。
|
AUXILIARY connectStringSpec |
補助データベースへの接続文字列を指定します。たとえば、AUXILIARY SYS@dupdb のように指定します。
関連項目: |
CATALOG connectStringSpec |
リカバリ・カタログを格納するデータベースへの接続文字列を指定します。たとえば、CATALOG catowner@inst2 のように指定します。
関連項目: |
CMDFILE filename |
ファイル内のすべてのRMANコマンドを解析し、コンパイルしてから、順番に実行します。解析フェーズで構文エラーが発生するか、実行フェーズでランタイム・エラーが発生すると、RMANは終了します。エラーが見つからなければ、RMANはジョブの完了後に終了します。
ファイル名の最初の文字がアルファベットの場合は、ファイル名を囲む引用符を省略できます。コマンド・ファイルの内容は、RMANプロンプトに入力した内容と同じにする必要があります。 注意: コマンド・ファイルをオペレーティング・システムのコマンドラインでオプションとして実行するのではなく、RMANプロンプトから実行すると、ファイルは1つのジョブとして実行されません。RMANは各行を順次読み込んで実行し、スクリプトの最終行に達した場合にのみ終了します。 |
@ filename |
CMDFILE と同じです。 |
{ string_or_identifier | integer } |
USING 構文の後に指定されているオプションと同じです。 |
LOG filename |
RMANがその出力として、処理済のコマンドとその結果を記録するファイルを指定します。RMANはプロンプトにコマンド入力を表示しますが、コマンドの出力は表示せずにログ・ファイルに書き込みます。デフォルトでは、RMANはメッセージ・ログ・ファイルを標準出力に書き出します。
また、RMAN出力は、
注意: RMANの出力をログ・ファイルと標準出力の両方に送信する最も簡単な方法は、Linuxの % rman | tee rman.log |
MSGNO |
RMANは、すべてのコマンドに対してRMAN- xxxx の形式でメッセージ番号を出力します。デフォルトでは、RMANはRMAN- xxxx 接頭辞を出力しません。 |
NOCATALOG |
リカバリ・カタログなしでRMANを使用するように指定します。 |
SEND ' command ' |
ベンダー固有のコマンド文字列を割り当てられたチャネルすべてに送信します。
関連項目: この機能のサポートの有無は、メディア管理ソフトウェアのドキュメントおよび |
PIPE pipe_name |
RMANパイプ・インタフェースを起動します。RMANでは、コマンドの受信用と出力の送信用に1つずつ、2つのパブリック・パイプが使用されます。パイプ名はPIPE パラメータの値から導出されます。たとえば、オプションPIPE rpi TARGET / を指定してRMANパイプ・インタフェースを起動できます。
RMANはターゲット・データベース内で次のパイプをオープンします。 入力パイプと出力パイプに関するメッセージは、すべて 関連項目: パイプを通じてRMANにコマンドを渡す方法については、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。 |
SCRIPT script_name |
ストアド・スクリプトの名前を指定します。
RMANは、ターゲット・データベースおよびリカバリ・カタログ( ストアド・スクリプト名が数字またはRMANの予約語で始まる場合は、そのスクリプト名を一重引用符で囲む必要があります(「RMANの予約語」を参照)。数字で始まるスクリプト名またはRMANの予約語と一致するスクリプト名は作成しないようにする必要があります。 関連項目: ストアド・スクリプトの詳細は、 |
TARGET connectStringSpec |
ターゲット・データベースへの接続文字列を指定します。たとえば、TARGET / のように指定します。
関連項目: |
TIMEOUT integer |
integer 秒以内に入力パイプから入力を受け取らなかった場合に、RMANを自動的に終了させます。TIMEOUT を使用する場合は、PIPE パラメータを指定する必要があります。
関連項目: パイプを通じてRMANにコマンドを渡す方法については、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。 |
USING { string_or_identifier | integer } |
コマンド・ファイルの置換変数で使用する値を1つ以上指定します。SQL*Plusの場合と同じく、&1 は最初の値を配置する場所を示し、&2 は2番目の値を配置する場所を示し、以降も同様に値が示されます。USING句で指定した値をRMANコマンド・ファイルに渡す方法は、例3-34 で説明します。
置換変数の構文は、 関連項目: ストアド・スクリプトを実行する場合の |
例3-32 デフォルトのNOCATALOGモードでのターゲット・データベースへのRMANの接続
この例では、オペレーティング・システム・プロンプトでデータベース接続オプションを指定せずにRMANクライアントを起動します。RMANプロンプトで、CONNECT
コマンドを実行してターゲット・データベースに接続します。CONNECT
CATALOG
がRMANプロンプトで実行されなかったため、RMANはリポジトリ接続を必要とする最初のコマンド(この場合は、BACKUP DATABASE
コマンド)の実行時にデフォルトのNOCATALOG
モードで接続します。
% rman RMAN> CONNECT TARGET / RMAN> BACKUP DATABASE;
例3-33 補助データベース・インスタンスへのRMANの接続
この例では、ターゲット・データベースprod
およびリカバリ・カタログ・データベースcatdb
にはネット・サービス名を使用して接続し、補助データベース・インスタンスにはオペレーティング・システム認証を使用して接続します。
% rman TARGET SYS@prod Recovery Manager: Release 11.1.0.6.0 - Production Copyright (c) 1982, 2007, Oracle. All rights reserved. target database Password: password connected to target database: PROD (DBID=39525561) RMAN> CONNECT CATALOG rman@catdb recovery catalog database Password: password connected to recovery catalog database RMAN> CONNECT AUXILIARY /
例3-34 置換変数の指定
データベースをバックアップするLinuxシェル・スクリプトを作成するとします。シェル変数を使用して、実行時にRMANのバックアップ・スクリプトに引数を渡すことができるようにします。置換変数を使用すると、この問題が解決します。最初に、次のような内容で、whole_db.cmd
という名前のコマンド・ファイルを作成します。
cat > /tmp/whole_db.cmd <<EOF # name: whole_db.cmd CONNECT TARGET / BACKUP TAG &1 COPIES &2 DATABASE FORMAT '/disk2/db_%U'; EXIT; EOF
次に、csh
シェル変数のtagname
およびcopies
を設定するLinuxシェル・スクリプトを次のように記述します。シェル・スクリプトにより、RMANが起動され、ターゲット・データベースprod1
に接続され、whole_db.cmd
が実行されます。USING
句は、実行時に変数tagname
およびcopies
の値をRMANコマンド・ファイルに渡します。
#!/bin/csh # name: runbackup.sh # usage: use the tag name and number of copies as arguments set tagname = $argv[1] set copies = $argv[2] rman @'/tmp/whole_db.cmd' USING $tagname $copies LOG /tmp/runbackup.out # the preceding line is equivalent to: # rman @'/tmp/whole_db.cmd' $tagname $copies LOG /tmp/runbackup.out
最後に、次のようにLinuxシェルからシェル・スクリプトrunbackup.sh
を実行し、タグQ106
を使用してデータベースのバックアップを2つ作成します。
% runbackup.sh Q106 2
例3-35 コマンド・ファイルの構文のチェック
次のように、コマンド・ファイルbackup_db.cmd
を作成するとします。
cat > /tmp/backup_db.cmd <<EOF CONNECT TARGET / BACKUP DATABASE; EXIT; EOF
次の例では、コマンド・ファイルbackup_db.cmd
の内容を構文チェックします(例には出力例も含まれます)。
% rman CHECKSYNTAX @'/tmp/backup_db.cmd' Recovery Manager: Release 11.1.0.6.0 - Production on Wed Jul 11 17:51:30 2007 Copyright (c) 1982, 2007, Oracle. All rights reserved. RMAN> CONNECT TARGET * 2> BACKUP DATABASE; 3> EXIT; The cmdfile has no syntax errors Recovery Manager complete.