1 RMANコマンドについて
この章の内容は次のとおりです。
1.1 RMANの構文図
このマニュアルでは、RMANのコマンドライン構成の構文記述に図形式またはバッカス正規形(BNF)を使用しています。
この項では、RMANの表記規則についてのみ説明します。構文図およびBNF記法についての基本的な情報は、『Oracle Database SQL言語リファレンス』を参照してください。
次のCATALOG
コマンドの例で示すように、Recovery Managerの構文図は、線と矢印で構文の構造を表します。
catalog::=
この項では、構文図の構成要素を説明し、RMANコマンドの書式の例を示します。構文図の構成要素は、次のとおりです。
1.1.1 RMAN構文内のキーワード
キーワードは、Recovery Managerの構文で特殊な意味を持ちます。
キーワードは、構文図では、図の例にあるワードCATALOG
のように長方形で囲まれた大文字で表されます。本文とコード例で使用されている場合、RMANキーワードは CATALOG
DATAFILECOPY
のように固定幅フォントの大文字で表されます。RMAN文でのキーワードは、構文図に示すとおりに使用する必要があります。ただし、大文字と小文字は区別しません。
1.1.2 RMAN構文内のプレースホルダ
構文図でのプレースホルダは、キーワード以外を示します。
構文図では、図の例にあるワードintegerのようにプレースホルダが楕円で囲まれて表されます。説明文の中では、RMANのプレースホルダは小文字のイタリック体で表されます。たとえば、'
filename
'
となります。
通常、プレースホルダは次の内容を示します。
-
データベース・オブジェクト名(tablespace_name)
-
Oracleデータ型名(date_string)
-
副次句(datafileSpec)
構文図にプレースホルダがあるときは、RMAN文中では、適切な型のオブジェクトまたは式に置き換えます。たとえば、DUPLICATE TARGET DATABASE TO
'database_name'コマンドを記述する場合は、構文図のdatabase_nameプレースホルダを、dupdb
などの作成する複製データベースの名前に置き換えて使用します。
RMANの引用符付き文字列の場合、システムに依存しない有効な環境変数は、Oracleホームに使用する疑問符(?
)とSIDに使用するアットマーク(@
)のみです。ただし、ターゲット・システム上では、引用符付き文字列にオペレーティング・システム固有の環境変数を使用できます。環境変数は、RMANクライアントではなくデータベース・サーバーによって解析されます。
次の表に、構文図に表されるプレースホルダと、構文中でそれに代入する値の例を示します。
プレースホルダ | 説明 | 例 |
---|---|---|
|
一重引用符または二重引用符で囲まれた文字列。引用符で囲んだ文字列には、空白文字、句読点、RMANキーワードおよびSQLキーワードも含まれています。 |
|
|
アルファベット文字で開始し、空白および句読点のない文字列。 |
|
|
数値のみを含む文字列。 |
|
1.2 RMANコマンドの形式
RMANの言語は自由区分形式です。複数のキーワードは、少なくとも1つの空白文字(空白、タブ、改行など)で区切る必要があります。
RMANコマンドは、構文図で示すように、「RMANコマンド: @(アットマーク)からQUITまで」で説明するコマンドに対応するキーワードで始まり、引数がその後に続き、セミコロンで終了します。
次の例は、RMANのバックアップ・コマンドを示しています。
BACKUP DATABASE;
コマンドは、複数行になることがあります。たとえば、前述のコマンドの各キーワードを次のように別々の行に書き直すことができます。
BACKUP DATABASE ;
単一行のRMANコマンド最大長は4000文字です。コマンドがこの長さを超過した場合は、複数のコマンドに分割するか、コマンド行を複数使用([Enter]キーを使用して複数行にわたるコマンドを作成)することができます。たとえば、複数データファイルをバックアップするBACKUP
コマンドが4000文字を超える場合、このコマンドを2つの別のBACKUP
コマンドに分割するか、複数行にわたる単一のBACKUP
コマンドにできます。
コメントは行の任意の場所で番号記号(#
)文字を使用して挿入することができます。#
文字に後続する行の部分は無視されます。次に例を示します。
# run this command once each day BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY # using incrementally updated backups WITH TAG "DAILY_BACKUP" # daily backup routine DATABASE;
1.3 RMANの予約語について
RMAN言語には予約語があり、RMANコマンドで使用されています。通常は、RMANコマンド言語の本来の意味と矛盾する方法では予約語を使用しないでください。
予約語をRMANコマンドの引数として使用する必要がある場合(たとえば、ファイル名、表領域名、タグ名など)は、予約語を一重引用符または二重引用符で囲んでください。そうしないと、RMANでコマンドが正しく解析されず、エラーが発生します。例1-1に、RMANコマンドでRMAN予約語を適切に使用している例と適切でない使用例を示します。
例1-1 予約語をRMANコマンドの引数に使用する例
ALLOCATE CHANNEL backup DEVICE TYPE DISK; # incorrect ALLOCATE CHANNEL "backup" DEVICE TYPE DISK; # correct BACKUP DATABASE TAG full; # incorrect BACKUP DATABASE TAG 'full'; # correct
関連項目:
現在のすべての予約語のリストは、「RMANの予約語」を参照してください。
1.4 RMANコマンドの概要
RMANプロンプトで、またはRUN
コマンド内で、あるいはその両方でRMANコマンドを実行できます。
非推奨になっているコマンドとオプションもありますが、旧リリースのRMANのすべてのコマンドが、現行のリリースで動作します(「非推奨になったRMAN構文」を参照)。RMANクライアントのコマンドライン・オプションについては、「RMAN」
を参照してください。表1-1に、RMANコマンドの機能要約を示します。
表1-1 Recovery Managerコマンド
コマンド | 目的 |
---|---|
コマンド・ファイルを実行します。 |
|
現在実行中のコマンド・ファイルと同じディレクトリにあるコマンド・ファイルを実行します。 |
|
修復オプションを表示します。 |
|
チャネルを確立します。これは、RMANとデータベース・インスタンス間の接続です。 |
|
|
|
データベース・ファイル、データベース・ファイルのコピー、アーカイブ・ログまたはバックアップ・セットをバックアップします。 |
|
ファイル・コピーおよびユーザー管理バックアップに関する情報をリポジトリに追加します。 |
|
バックアップ・ピース、イメージ・コピーまたはアーカイブREDOログをステータス |
|
永続的なRMAN設定を構成します。この設定は、明示的に変更または使用不可にするまで、すべてのRMANセッションに適用されます。 |
|
RMANとターゲット・データベース、補助データベースまたはリカバリ・カタログ・データベースとの接続を確立します。 |
|
プラットフォーム間で表領域とデータベースをトランスポートするために、データファイルの形式を変換します。 |
|
リカバリ・カタログのためのスキーマを作成します。 |
|
ストアド・スクリプトを作成してリカバリ・カタログに格納します。 |
|
アーカイブ・ログ、データファイルのコピーおよびバックアップ・ピースなど、RMANで管理されるファイルが、ディスクまたはテープに引き続き存在するかどうかを判断します。 |
|
バックアップとコピーを削除し、その参照をリカバリ・カタログから削除し、その制御ファイル・レコードをステータス |
|
ストアド・スクリプトをリカバリ・カタログから削除します。 |
|
表またはビューの列定義をリストします。 |
|
リカバリ・カタログからスキーマを削除します。 |
|
ディスクからターゲット・データベースを削除して登録を解除します。 |
|
ターゲット・データベースのバックアップを使用して、テストに使用できる複製データベースを作成するか、スタンバイ・データベースを作成します。 |
|
RMANストアド・スクリプトを実行します。 |
|
RMAN実行可能ファイルを終了します。 |
|
データベースを過去のある時点またはSCNでの状態に戻します。 |
|
リカバリ・カタログのユーザーに権限を付与します。 |
|
RMANからオペレーティング・システムのコマンドライン・サブシェルをコールするか、特定のオペレーティング・システム・コマンドを実行します。 |
|
あるリカバリ・カタログから別のリカバリ・カタログに、メタデータをインポートします。 |
|
バックアップ・セットまたはコピーの詳細リストを生成します。 |
|
ストアド・スクリプトを表示します。 |
|
RMAN実行可能ファイルを終了します。 |
|
バックアップまたはデータファイルのコピーからリストアされたデータファイルまたはデータ・ブロックにREDOログ・ファイルおよび増分バックアップを適用して、内容を特定の時点の状態に更新します。 |
|
ターゲット・データベースをリカバリ・カタログに登録します。 |
|
|
|
自動診断リポジトリに記録された1つ以上の障害を修復します。 |
|
リカバリ・カタログに格納されている既存のスクリプトを置換します。既存のスクリプトがない場合は、 |
|
リカバリ・カタログの内容の詳細分析を行います。 |
|
SQL文 |
|
バックアップ・セットまたはディスク・コピーから、デフォルト位置または新規の位置にファイルをリストアします。 |
|
完全再同期化を実行します。これにより、スナップショット制御ファイルが作成され、そのファイルから新規または変更後の情報がリカバリ・カタログにコピーされます。 |
|
リカバリ・カタログ・ユーザーから権限を取り消します。 |
|
オペレーティング・システムのコマンドラインからRMANを起動します。 |
|
1つ以上の一連のRMANコマンドを実行します。これは、 |
|
ベンダー固有の引用符付き文字列を1つ以上の特定チャネルに送信します。 |
|
RUNブロックまたはセッションの実行時にRMANの動作に影響する様々な属性の値を設定します。 |
|
現行の |
|
ターゲット・データベースを停止します。このコマンドは、SQL*Plusの |
|
RMAN出力をログ・ファイルに書き込みます。 |
|
Recovery Manager内からSQL文またはPL/SQLプロシージャを実行します。 |
|
Recovery Manager内からSQL文を実行します。改善された構文については、SQLコマンドを参照してください。 |
|
ターゲット・データベースを起動します。このコマンドは、SQL*Plusの |
|
データファイルのコピーが、制御ファイルが指すデータファイルである現行のデータファイルであることを指定します。 |
|
1つ以上の表領域のバックアップからトランスポータブル表領域のセットを作成します。 |
|
リカバリ・カタログからデータベースを登録解除します。 |
|
リカバリ・カタログ・スキーマを、旧バージョンからRMAN実行可能ファイルに必要なバージョンにアップグレードします。 |
|
バックアップ・セットを調べて、データの損傷がないかどうかをレポートします。RMANは、指定したバックアップ・セットのバックアップ・ピースをすべてスキャンし、チェックサムを参照して、内容が正しくリストアされるかどうかを検証します。 |
1.5 RMAN副次句の概要
RMAN副次句は複数のコマンドで使用されます。
不要な重複を避けるために、副次句は別の章で説明しています。副次句を使用するコマンドの説明には、「RMAN副次句」の副次句の項目への相互参照が含まれています。表1-2に、RMANの副次句をまとめています。
表1-2 Recovery Managerの副次句
副次句 | 指定内容 |
---|---|
|
|
アーカイブREDOログ・ファイルの範囲 |
|
バックアップまたはコピーが完了した時刻の範囲 |
|
ターゲット・データベース、リカバリ・カタログ・データベースまたは補助データベースに接続するための、ユーザー名、パスワードおよびネット・サービス名。この接続は、ユーザーの認証とデータベースの識別のために必要です |
|
ファイル名または絶対ファイル番号によるデータファイル |
|
データベースまたはデータベースの一部。 |
|
バックアップまたはコピーに使用するストレージ・デバイスのタイプ |
|
|
|
Data Guard環境のすべてのデータベース、または固有の |
|
リカバリするデータベース・オブジェクトとそれらのオブジェクトが含まれるバックアップ・セットの名前 |
|
外部アーカイブREDOログ・ファイルの範囲 |
|
バックアップまたはコピーのファイル名形式 |
|
バックアップまたはコピーを現行の保存方針から除外するかどうか |
|
|
|
|
|
指定条件に従って不要となるバックアップ |
|
メンテナンス・コマンドで操作されるオブジェクト |
|
データのサイズ |
|
一時ファイル(パスまたはファイル番号で指定) |
|
上限(時刻、SCNまたはログ順序番号で指定)。通常、この句は不完全リカバリに必要な時点を指定するために使用します |