3.21 TERMINATE

目的

Oracle Database 23c以降、TERMINATEコマンドを使用して、カタログ・スキーマ接続を強制的に終了できます。リカバリ・カタログ所有者としてリカバリ・カタログに接続している場合にのみ、TERMINATEコマンドを実行できます。

リカバリ・カタログのアップグレードの実行中、RMANのデフォルトの動作では、リカバリ・カタログ・スキーマに接続されている進行中のRMANジョブがある場合は、UPGRADE CATALOGコマンドがエラー・メッセージとともに終了します。ただし、Oracle Database 23c以降では、UPGRADE CATALOGでアップグレードを完了し、進行中のRMANジョブによって発生するボトルネックを回避するために、より適切な制御を実行できます。

RMANをメンテナンス・モードでリカバリ・カタログに接続し、TERMINATEコマンドを使用して強制的に終了できるものを次に示します。
  • すべてのアクティブなカタログ・スキーマ接続
  • リカバリ・カタログのアップグレードの進行を妨げる、ブロックしているカタログ・スキーマ接続。ブロックしている接続とは、UPGRADE CATALOGコマンドの発行後に開始されたカタログ・スキーマ接続です。
  • リカバリ・カタログのアップグレード・プロセスの完了を待機しているカタログ・スキーマ接続。UPGRADE CATALOGコマンドの発行後に開始されたカタログ・スキーマ接続は、待機している接続と呼ばれます

前提条件

  • リカバリ・カタログにRMANを接続している必要があります
  • CONNECT CATALOGコマンドを実行して、カタログ・スキーマ所有者としてリカバリ・カタログに接続する必要があります

ブロックおよび待機しているカタログ・スキーマ接続を終了するための追加の前提条件

カタログ・スキーマへのブロックおよび待機している接続を終了するには:
  • リカバリ・カタログにRMANを接続している必要があります
  • UPGRADE CATALOGコマンドを発行している必要があります
  • SET CATALOG MAINTENANCE ONコマンドを発行して、メンテナンス・モードを有効にする必要があります。
  • CONNECT CATALOGコマンドを実行して、カタログ・スキーマ所有者としてリカバリ・カタログに接続する必要があります

使用上のノート

TERMINATEコマンドを使用すると、RMANメンテナンス・モードを使用してカタログ・スキーマ接続を監視し、アクションを実行できます。これは、リカバリ・カタログのアップグレードの実行中にカタログ・スキーマ接続によって発生するボトルネックを回避するために特に役立ちます。

ノート:

メンテナンス・モードを使用してカタログ・スキーマ接続を管理する方法の詳細は、カタログ・アップグレードの監視のためのメンテナンス・モードの使用を参照してください。

構文

Terminate::=

セマンティクス

構文要素 説明

BLOCKING CONNECTED USERS

リカバリ・カタログのアップグレードの進行をブロックしているすべてのカタログ・スキーマ接続を終了します。

ブロックしている接続とは、UPGRADE CATALOGコマンドの発行後に開始されたカタログ・スキーマ接続です。ブロックしている接続は、リカバリ・カタログのアップグレードの進行中にボトルネックを発生させる可能性があります。

UPGRADE CATALOGコマンドを発行した後、RMANメンテナンス・モードでTERMINATE BLOCKING CONNECTED USERSコマンドを実行できます。カタログ・スキーマ所有者としてリカバリ・カタログに接続している必要があります。

WAITING CONNECTED USERS

リカバリ・カタログのアップグレードの完了を待機しているリカバリ・カタログ・スキーマ接続を終了します。

UPGRADE CATALOGコマンドを発行した後、RMANメンテナンス・モードでTERMINATE WAITING CONNECTED USERSコマンドを実行できます。カタログ・スキーマ所有者としてリカバリ・カタログに接続している必要があります。

例3-79 ブロックしているリカバリ・カタログ・スキーマ接続の終了

この例では、リカバリ・カタログに接続し、UPGRADE CATALOGコマンドを発行していることを前提としています。

SET CATALOG MAINTENANCE ONコマンドを実行して、RMANメンテナンス・モードを有効にします。次に、CONNECT CATALOGコマンドを実行して、ユーザーrco (カタログ・スキーマ所有者)としてリカバリ・カタログに接続します。

TERMINATE BLOCKING CONNECTED USERSを実行して、ブロックしているカタログ・スキーマ接続をすべて終了します。

RMAN> SET CATALOG MAINTENANCE ON;
CONNECT CATALOG rco@catdb;
TERMINATE BLOCKING CONNECTED USERS;
RMAN-03023: executing command: SET catalog maintenance ON

RMAN-06008: connected to recovery catalog database

RMAN-07556: Following sessions are blocking the catalog schema upgrade
RMAN-07559: =============================================
RMAN-07560: Logon_time             SID   Serial User
RMAN-07559: =============================================
RMAN-07561: 2023-08-01 11:17:13     53    34909 RMAN
RMAN-06958: Executing: alter system kill session '53, 34909'
RMAN-07559: =============================================