RMU /SETコマンドのDATABASE /TRANSACTION_MODE=(...)を使用すると、データベースを変更済とマークせずに、データベースで許可されるトランザクション・モードを変更できます。このコマンドの使用目的は、スタンバイ・データベースで許可されるトランザクション・モードの設定です。このコマンドでは、排他的なデータベース・アクセスが必要です(データベースが開いていたり、他のユーザーがアクセスしていたりすることはできません)。スタンバイ・データベースでは読取り専用トランザクションしか許可されないため、スタンバイ・データベースでTRANSACTION_MODE=READ_ONLY修飾子の設定を使用したい場合があります。この設定により、レプリケーション操作がアクティブでない場合でも、常にスタンバイ・データベースへの変更が禁止されます。
RMU /SET DATABASEコマンドではデータベース指定が必要です。RMU /SET DATABASE /TRANSACTION_MODE=(...)修飾子の有効なキーワードを次に示します。
- ALL - すべてのトランザクション・モードを有効にします。
- CURRENT - データベースに設定されるすべてのトランザクション・モードを有効にします。
- NONE - すべてのトランザクション・モードを無効にします。
- [NO]BATCH_UPDATE
- [NO]READ_ONLY
- [NO]EXCLUSIVE
- [NO]EXCLUSIVE_READ
- [NO]EXCLUSIVE_WRITE
- [NO]PROTECTED
- [NO]PROTECTED_READ
- [NO]PROTECTED_WRITE
- [NO]READ_WRITE
- [NO]SHARED
- [NO]SHARED_READ
- [NO]SHARED_WRITE
複数のトランザクション・モードをmode-listに指定する場合は、リストをカッコで囲み、トランザクション・モードを1つずつカンマで区切ります。次のことに注意してください。
- 否定形のトランザクション・モードを指定すると、そのモードはアクセス・モードとして許可されないことを意味します。たとえば、Noexclusive_Writeアクセス・モードを指定すると、排他書込みが、リストア対象データベースの許可されたアクセス・モードにならないことを意味します。
- Shared、ExclusiveまたはProtectedトランザクション・モードを指定した場合、そのトランザクション・モードでの読取りと書込みの両方を指すものとみなされます。
- モードを有効にするには、リストに追加するか、Allオプションを使用してすべてのトランザクション・モードを有効にする必要があります。
- このコマンドでは、特定のモードを有効または無効にするトランザクション・モードの後に、それとは反するモードが指定される可能性があります。たとえば、/TRANSACTION_MODE=(NOSHARED_WRITE, SHARED)と指定した場合、最初の値はShared_Writeアクセスの無効化を示し、2番目の値はShared_Writeアクセスの有効化を示すため、指定内容が不明確になります。Oracle RMUは、このような不明確さの解決方法として、有効化を示す指定を先に適用し、次に、無効化を示す指定を適用します。モードを記述した順序は関係しません。前述の例の場合は、Shared_Readが有効、Shared_Writeが無効となります。
root-file-spec
データベースのトランザクション・モードを指定するデータベース・ルート・ファイルを指定します。