プライマリ・コンテンツに移動
Oracle® Databaseバックアップおよびリカバリ・リファレンス
12cリリース1 (12.1)
B71298-08
目次へ移動
目次
索引へ移動
索引

前
次

ALLOCATE CHANNEL

用途

ALLOCATE CHANNELを使用すると、チャネル(RMANとデータベース・インスタンスとの接続)を手動で割り当てることができます。 ALLOCATE CHANNELコマンドは、RUNブロック内で発行する必要があります。コマンドを発行するブロック内に存在するチャネルのみを割り当てることができます。

前提条件

ターゲット・インスタンスを事前に起動する必要があります。

使用上の注意

手動で割り当てたチャネルと、CONFIGUREを指定して自動的に割り当てたチャネルは区別されます。自動チャネルは、手動でチャネルを割り当てていないすべてのRMANのジョブに適用されます。自動チャネル構成を、RUNコマンド内で手動で割り当てたチャネルでオーバーライドすることはできますが、手動チャネルをALLOCATE CHANNELで指定した後で、BACKUP DEVICE TYPEまたはRESTORE DEVICE TYPEを使用して、自動チャネルを使用することはできません。

複数チャネル

割り当てることができるチャネルは最大255で、チャネル当たり最大64ファイルをパラレルに読み取ることができます。ジョブ内の並列度は、割り当てるチャネル数で制御できます。複数チャネルを同時に割り当てると、1つのジョブで複数のバックアップ・セットやディスク・コピーをパラレルに読み書きできます。こうして、各チャネルが別々のバックアップ・セットまたはコピーの操作を行います。

ディスクへのバックアップを行う場合、通常は、出力デバイスごとにチャネルを1つ割り当てます(例2-7を参照)。ただし、RMANが、ストライプ化されたファイル・システムまたはASMディスク・グループに対して書込みを行う場合は、複数のチャネルを使用することでパフォーマンスを向上できます。テープにバックアップを作成する場合は、一般に、テープ・デバイスの数を多重化されたコピー数で除算した数が、テープ・チャネルの数に等しくなるようにします(例2-8を参照)。

Oracle RAC環境のチャネル

すべてのOracle RACインスタンスのSYSおよびSYSBACKUPユーザーのパスワードが同じである場合、ALLOCATEまたはCONFIGUREコマンドのCONNECTオプションでパスワードを指定する必要はありません。user@database形式の接続文字列を使用すると、RMANセッションの開始時にTARGET接続で使用されたものと同じパスワードが自動的に使用されます。

セマンティクス

構文要素 説明

AUXILIARY

RMANと補助データベース・インスタンスとの接続を指定します。

補助インスタンスは、DUPLICATEまたはTRANSPORT TABLESPACEコマンドを実行する場合、およびRECOVER TABLESPACEでTSPITRを実行する場合に使用します(例2-9を参照)。このオプションを指定する場合は、補助インスタンスが起動されている必要がありますが、マウントされている必要はありません。

関連項目: データベースの複製方法はDUPLICATEを、複製データベース・インスタンスへの接続方法はCONNECTを参照してください。

CHANNEL channel_id

RMANとターゲット・データベース・インスタンスとの接続を指定します。channel_idはチャネルの名前で、大/小文字が区別されます。データベースでは、I/Oエラーのレポートにchannel_idが使用されます。

接続するたびに、ターゲット・インスタンスまたは補助インスタンスでデータベース・サーバー・セッションが開始されます。このセッションで、RMANバックアップのバックアップ、リストアまたはリカバリが実行されます。共有サーバー・セッションには接続できません。

ALLOCATE CHANNELによってオペレーティング・システム・リソースがすぐに割り当てられるかどうかは、オペレーティング・システムによって異なります。プラットフォームによっては、コマンドの発行時に割り当てられます。別のプラットフォームでは、ファイルを読み書きのためにオープンするまで割り当てられません。

各チャネルは、一度に1つのバックアップ・セットまたはイメージ・コピーを使用します。RMANは、ジョブ終了時に自動的にチャネルを解放します。

注意: チャネル名の接頭辞にORA_は使用できません。接頭辞ORA_で始まるチャネル名は、RMAN専用に予約されています。

DEVICE TYPE deviceSpecifier

バックアップ用のストレージ・タイプを指定します。V$BACKUP_DEVICEビューへの問合せで、使用可能なデバイス・タイプと名前がわかります。

注意: DEVICE TYPE DISKを指定すると、サーバー・セッション作成用以外のオペレーティング・システム・リソースは割り当てられません。

関連項目: deviceSpecifierを参照してください

   allocOperandList

割り当てたチャネルの制御オプションを指定します。順次I/Oデバイスのチャネル・パラメータはプラットフォームによって異なります(例2-6を参照)。

関連項目: allocOperandListを参照してください

例2-6 バックアップ用チャネルの手動割当て

この例では、データベース全体およびアーカイブREDOログのバックアップ用に1つのテープ・チャネルを割り当てます。PARMSパラメータで、wholedb_mfというOracle Secure Backupメディア・ファミリを指定しています。

RUN
{
  ALLOCATE CHANNEL c1 DEVICE TYPE sbt
    PARMS 'ENV=(OB_MEDIA_FAMILY=wholedb_mf)';
  BACKUP DATABASE;
  BACKUP ARCHIVELOG ALL NOT BACKED UP;
}

例2-7 複数ディスクへのバックアップの分散

ディスクにバックアップする場合は、複数のディスク・ドライブに分散したバックアップが実行できます。ディスク・ドライブごとにDEVICE TYPE DISKチャネルを1つ割り当て、出力ファイルごとにディスクが異なるようにフォーマット文字列を指定します。

RUN
{
  ALLOCATE CHANNEL disk1 DEVICE TYPE DISK FORMAT '/disk1/%U'; 
  ALLOCATE CHANNEL disk2 DEVICE TYPE DISK FORMAT '/disk2/%U'; 
  BACKUP DATABASE PLUS ARCHIVELOG;
}

例2-8 テープへのバックアップの複数コピーの作成

この例では、stape1stape2stape3およびstape4の4つのテープ・ドライブを書込みに使用できます。SET BACKUP COPIESコマンドを使用して、データベース・バックアップの同じコピーを2つ作成するように、RMANに対して指定します。一般に、テープ・チャネルの数は、多重化されたコピー数でテープ・デバイスの数を除算した数と等しくするため、2つのチャネルを割り当てます。この場合、BACKUP_TAPE_IO_SLAVES初期化パラメータをTRUEに設定する必要があります。

Oracle Secure BackupのOB_DEVICE_nパラメータでは、nにバックアップ・ピースのコピー数を指定します。RMANは、各バックアップ・ピースのコピー1をstape1stape2のテープ・ドライブに書き込み、各バックアップ・ピースのコピー2をstape3stape4のドライブに書き込みます。このようにして、データベース・バックアップの各コピーは、2つのテープ・ドライブ間で分散され、各ドライブ上にデータの一部が格納されます。

RUN
{
  ALLOCATE CHANNEL t1 DEVICE TYPE sbt 
    PARMS 'ENV=(OB_DEVICE_1=stape1,OB_DEVICE_2=stape3)';
  ALLOCATE CHANNEL t2 DEVICE TYPE sbt 
    PARMS 'ENV=(OB_DEVICE_1=stape2,OB_DEVICE_2=stape4)';
  SET BACKUP COPIES 2;
  BACKUP DATABASE;
}

例2-9 データベース複製用の補助チャネルの割当て

この例では、バックアップから複製データベースが作成されます。複製用に構成されたチャネルでAUXILIARYオプションが指定されていない場合でも、RMANは、そのチャネルを使用できます。この例では、事前に構成されているSBTチャネルがないため、補助SBTチャネルを手動で割り当てます。

RUN
{ 
  ALLOCATE AUXILIARY CHANNEL c1 DEVICE TYPE sbt;
  DUPLICATE TARGET DATABASE
    TO dupdb   
  DB_FILE_NAME_CONVERT '/disk2/dbs/','/disk1/'
  SPFILE 
    PARAMETER_VALUE_CONVERT   '/disk2/dbs/',
                              '/disk1/'
    SET LOG_FILE_NAME_CONVERT '/disk2/dbs/',
                              '/disk1/';
}

関連項目:

DB_FILE_NAME_CONVERTパラメータの詳細は、『Oracle Databaseリファレンス』を参照してください