ALTER PLUGGABLE DATABASE
目的
ALTER
PLUGGABLE
DATABASE
文を使用すると、プラガブル・データベース(PDB)を変更できます。PDBには、従来のPDB、アプリケーション・コンテナまたはアプリケーションPDBを指定できます。
この句で実行できるタスクは、次のとおりです。
-
PDBをマルチテナント・コンテナ・データベース(CDB)から切断する(
pdb_unplug_clause
を使用)。 -
PDBの設定を変更する(
pdb_settings_clauses
を使用)。 -
PDBデータファイルをオンラインまたはオフラインにする(
pdb_datafile_clause
を使用)。 -
PDBをバックアップおよびリカバリする(
pdb_recovery_clauses
を使用)。 -
PDBの状態を変更する(
pdb_change_state
句を使用)。 -
CDB内の複数のPDBの状態を変更する(
pdb_change_state_from_root
句を使用)。 -
アプリケーション・コンテナでアプリケーションに対して操作を実行する(
application_clauses
を使用)。 -
snapshot_clauses
を使用してPDBのスナップショットを作成および管理する。
ノート:
PDBに接続して、対応するALTER
DATABASE
文を実行することにより、すべてのALTER
PLUGGABLE
DATABASE
タスクを実行できます。この機能は、CDBに移行したアプリケーションの下位互換性を維持するために用意されています。例外はPDBストレージの限度の変更です。これには、ALTER
PLUGGABLE
DATABASE
のpdb_storage_clause
を使用する必要があります。
関連項目:
PDBの作成の詳細は、「CREATE PLUGGABLE DATABASE」を参照してください。
前提条件
CDBに接続している必要があります。
pdb_unplug_clause
を指定するには、現在のコンテナがルートまたはアプリケーション・ルートである必要があります。また、AS
SYSDBA
またはAS
SYSOPER
として認証される必要があるとともに、SYSDBA
またはSYSOPER
権限(共通に付与されている権限か、ルートと切断対象のPDBのそれぞれでローカルに付与されている権限のいずれか)が必要です。
pdb_settings_clauses
を指定するには、現在のコンテナが設定の変更対象のPDBである必要があります。また、ALTER
DATABASE
権限(共通に付与されている権限か、そのPDBでローカルに付与されている権限のいずれか)が必要です。pdb_logging_clauses
またはRENAME
GLOBAL_NAME
句を指定するには、RESTRICTED
SESSION
権限(共通に付与されている権限か、名前を変更するPDBでローカルに付与されている権限のいずれか)も必要です。PDBはREAD
WRITE
RESTRICTED
モードである必要があります。
pdb_datafile_clause
を指定するには、現在のコンテナが、データファイルをオンラインまたはオフラインにするPDBである必要があり、ALTER
DATABASE
権限(共通に付与されている権限か、そのPDBでローカルに付与されている権限のいずれか)が必要です。
pdb_recovery_clauses
を指定するには、現在のコンテナがバックアップまたはリカバリの実行対象のPDBである必要があります。また、ALTER
DATABASE
権限(共通に付与されている権限か、そのPDBでローカルに付与されている権限のいずれか)が必要です。
pdb_change_state
句を指定するには、現在のコンテナが状態の変更対象のPDBである必要があります。また、AS
SYSBACKUP
、AS
SYSDBA
、AS
SYSDG
またはAS
SYSOPER
として認証される必要があります。
pdb_change_state_from_root
句を指定するには、現在のコンテナがルートまたはアプリケーション・ルートである必要があります。また、AS
SYSBACKUP
、AS
SYSDBA
、AS
SYSDG
またはAS
SYSOPER
として認証される必要があるとともに、SYSBACKUP
、SYSDBA
、SYSDG
またはSYSOPER
権限(共通に付与されている権限か、ルートまたはアプリケーション・ルートと状態の変更対象のPDBのそれぞれでローカルに付与されている権限のいずれか)が必要です。
application_clauses
を指定するには、現在のコンテナがアプリケーション・コンテナである必要があります。また、AS
SYSBACKUP
またはAS
SYSDBA
として認証される必要があるとともに、SYSBACKUP
またはSYSDBA
権限(共通に付与されている権限か、アプリケーション・ルートとアプリケーション操作を実行するアプリケーションPDBのそれぞれでローカルに付与されている権限のいずれか)が必要です。
構文
alter_pluggable_database::=
(pdb_unplug_clause::=、pdb_settings_clauses::=、pdb_datafile_clause::=、pdb_recovery_clauses、pdb_change_state::=、pdb_change_state_from_root::=、application_clauses::=)
database_clause::=
pdb_unplug_clause::=
pdb_unplug_encrypt::=
pdb_settings_clauses::=
(set_time_zone_clause::=、database_file_clauses::=、supplemental_db_logging::=、pdb_storage_clause::=、pdb_logging_clauses::=、pdb_refresh_mode_clause::=)
pdb_logging_clauses::=
logging_clause::=
pdb_force_logging_clause::=
pdb_refresh_mode_clause::=
pdb_refresh_switchover_clause ::=
pdb_datafile_clause::=
pdb_recovery_clauses
pdb_general_recovery::=
pdb_change_state::=
pdb_open::=
instances_clause::=
services_clause::=
pdb_close::=
relocate_clause::=
pdb_save_or_discard_state::=
pdb_change_state_from_root::=
application_clauses::=
snapshot_clauses ::=
pdb_snapshot_clause ::=
materialize_clause::=
create_snapshot_clause::=
drop_snapshot_clause::=
set_max_pdb_snapshots::=
prepare_clause::=
drop_mirror_copy::
lost_write_protection ::=
ALTER PLUGGABLE DATABASE
文でのlost_write_protection
句の使用方法は、ALTER DATABASE
文と同じです。構文の詳細は、ALTER DATABASEを参照してください。
セマンティクス
database_clause
コンテナ・データベースのPLUGGABLE DATABASE
オプションを指定します。
pdb_name
変更するデータベースの名前を指定します。db_name
を省略した場合は、初期化パラメータDB_NAME
の値によって特定されたデータベースが変更されます。なお、データベースの制御ファイルが初期化パラメータCONTROL_FILES
に指定されている場合にのみ、そのデータベースを変更できます。データベース識別子は、Oracle Netのデータベース指定とは関係ありません。
pdb_unplug_clause
この句を使用すると、CDBからPDBを切断できます。PDBを切断すると、PDBに関する情報がオペレーティング・システム上のファイルに保存されます。その後、このファイルを使用して、PDBをCDBに接続できます。
pdb_name
には、切断するPDBの名前を指定します。PDBはクローズされている必要があります。つまり、オープン・モードは、MOUNTED
である必要があります。Oracle Real Application Clusters(Oracle RAC)環境では、すべてのOracle RACインスタンスでそのPDBがクローズされている必要があります。
filename
には、PDBの情報を保存するオペレーティング・システム・ファイルのフルパス名を指定します。指定するファイル名によって、保存される情報のタイプおよび保存方法が決まります。
-
拡張子.xmlで終わるファイル名を指定すると、PDBに関するメタデータを含むXMLファイルが作成されます。その後、XMLファイルとPDBのデータファイルを新しい場所にコピーして、PDBをCDBに接続する際にXMLファイル名を指定します。この場合、PDBのデータファイルを別個にコピーする必要があります。
-
拡張子.pdbで終わるファイル名を指定すると、.pdbアーカイブ・ファイルが作成されます。これは、PDBに関するメタデータを含むXMLファイルとPDBのデータファイルを含む、圧縮されたファイルです。その後、この単一のアーカイブ・ファイルを新しい場所にコピーして、PDBをCDBに接続する際にアーカイブ・ファイル名を指定します。これにより、PDBのデータファイルを別個にコピーする必要がなくなります。PDBの接続時に.pdbアーカイブ・ファイルを使用する場合、このファイルはPDBの接続時に抽出され、PDBのファイルは.pdbアーカイブ・ファイルと同じディレクトリに配置されます。
切断後、そのPDBは、オープン・モードMOUNTED
、ステータスUNPLUGGED
としてCDBに留まります。切断されたPDBに対して実行できる操作は、DROP
PLUGGABLE
DATABASE
のみです。この操作により、PDBはCDBから削除されます。同じCDBまたは別のCDBにPDBを接続するには、先にそのPDBを削除する必要があります。
関連項目:
-
PDBの切断の詳細は、『Oracle Database管理者ガイド』を参照してください。
-
CDBへのPDBの接続の詳細は、「
CREATE
PLUGGABLE
DATABASE
」の「create_pdb_from_xml」句を参照してください。
pdb_unplug_encrypt
このコマンドを実行するにはSYSKM
権限が必要です。
統合PDB
-
ENCRYPT USING transport_secret
はオプションです。 -
TDEが使用されている場合は、この句を指定する必要があります。TDEが使用されていない場合、この文によってエラー
ORA-46680:master keys of the container database must be exported
がスローされます。 -
TDEが使用されている場合、ウォレットが
ROOT
でオープンしている必要があります。 -
キーは、指定された
transport secret
を使用して暗号化され、.XML
ファイルまたはアーカイブ・ファイルにエクスポートされます。
XMLメタデータ・ファイルへのPDBの切断: 例
ALTER PLUGGABLE DATABASE CDB1_PDB2 UNPLUG INTO '/tmp/cdb1_pdb2.xml' ENCRYPT USING transport_secret
アーカイブ・ファイルへのPDBの切断: 例
ALTER PLUGGABLE DATABASE CDB1_PDB1_1 UNPLUG INTO '/tmp/CDB1_PDB1_1.pdb' ENCRYPT USING transport_secret
分離モードのPDBの場合、ENCRYPT USING transport_secret
を指定する必要はありません。PDBのウォレット・ファイルはXMLファイルからのプラガブル・データベースの作成時にコピーされるため、これは必須ではありません。アーカイブ・ファイルとしてPDBを切断する場合、PDBのウォレット・ファイルは、.pdb
拡張子を持つ圧縮アーカイブに追加されます。
ewallet.p12
ファイルがすでに宛先に存在している場合、バックアップが自動的に開始されます。バックアップ・ファイルの形式はewallet_PLGDB_2017090517455564.p12
です。
pdb_settings_clauses
これらの句を使用すると、PDBの様々な設定を変更できます。
pdb_name
オプションでpdb_name
を使用して、設定を変更するPDBの名前を指定できます。
DEFAULT EDITION句
この句を使用すると、指定したエディションをPDBのデフォルト・エディションとして設定できます。この句のセマンティクスの詳細は、「ALTER
DATABASE
」の「DEFAULT EDITION句」を参照してください。
SET DEFAULT TABLESPACE句
この句を使用すると、以降にPDBで作成する表領域のデフォルト・タイプを指定または変更できます。この句のセマンティクスの詳細は、「ALTER
DATABASE
」の「SET DEFAULT TABLESPACE句」を参照してください。
DEFAULT TABLESPACE句
この句を使用すると、PDBのデフォルトの永続表領域を構築または変更できます。この句のセマンティクスの詳細は、「ALTER
DATABASE
」の「DEFAULT TABLESPACE句」を参照してください。
DEFAULT TEMPORARY TABLESPACE句
この句を使用すると、PDBのデフォルトの一時表領域を、新しい表領域または表領域グループに変更できます。この句のセマンティクスの詳細は、「ALTER
DATABASE
」の「DEFAULT [LOCAL] TEMPORARY TABLESPACE句」を参照してください。
RENAME GLOBAL_NAME TO句
この句を使用して、PDBのグローバル名を変更できます。新しいグローバル名は、CDB内で一意にする必要があります。Oracle Real Application Clusters(Oracle RAC)データベースの場合は、PDBを現在のインスタンスのみでREAD
WRITE
RESTRICTED
モードで開く必要があります。その他すべてのインスタンスでは、PDBをクローズする必要があります。この句のセマンティクスの詳細は、「ALTER
DATABASE
」の「RENAME GLOBAL_NAME句」を参照してください。
ノート:
PDBのグローバル名を変更するときには必ず、そのPDBへの接続に使用しているデータベース・サービスのPLUGGABLE
DATABASE
プロパティを変更してください。
set_time_zone_clause
この句を使用すると、PDBのタイムゾーン設定を変更できます。この句のセマンティクスの詳細は、ALTER
DATABASE
のset_time_zone_clauseを参照してください。
database_file_clauses
この句を使用すると、PDBのデータファイルと一時ファイルを変更できます。この句のセマンティクスの詳細は、ALTER
DATABASE
のdatabase_file_clausesを参照してください。
supplemental_db_logging
これらの句を使用すると、PDBのログ・ストリームへのサプリメンタル・データを追加する(または追加を停止する)ようにOracle Databaseに指示できます。
-
ADD
SUPPLEMENTAL
LOG
句を指定すると、PDBのログ・ストリームにサプリメンタル・データを追加できます。この句を発行するには、ALTER
DATABASE
...ADD
SUPPLEMENTAL
LOG
...文を使用してCDBルートのサプリメンタル・ロギングを有効にする必要があります。PDBに指定するサプリメンタル・ロギングのレベルは、CDBルートのログと一致する必要はありません。つまり、CDBルートのサプリメンタル・ロギングを有効にするときに指定された句に関係なく、PDBに句DATA
、supplemental_id_key_clause
、またはsupplemental_plsql_clause
のいずれかを指定できます。 -
DROP
SUPPLEMENTAL
LOG
句を指定すると、PDBのログ・ストリームへのサプリメンタル・データの追加を停止できます。
ALTER PLUGGABLE DATABASE
のADD SUPPLEMENTAL LOG DATA SUBSET DATABASE REPLICATIONは、PDBで影響の少ない最小サプリメンタル・ロギングを有効化します。
-
このDDLは、プラガブル・データベースでのみ実行できます。
-
このDDLを実行できるのは、
enable_goldengate_replication
パラメータがTRUEで、データベースが19.0以上と互換のときだけです。 -
このコマンドを実行するには、
CDB$ROOT
で最小サプリメンタル・ロギングを有効にする必要があります。 -
このDDLを実行すると、プラガブル・データベースに対して、最小サプリメンタル・ロギングの影響が少なくなります。
SYS.PROP$
が更新され、影響の少ない最小サプリメンタル・ロギングが、このプラガブル・データベースのPDBレベルで有効であることが示されます。
ALTER PLUGGABLE DATABASE
のDROP SUPPLEMENTAL LOG DATA SUBSET DATABASE REPLICATIONは、PDBで影響の少ない最小サプリメンタル・ロギングを有効化します。
-
このDDLは、プラガブル・データベースでのみ実行できます。
-
このDDLを実行できるのは、
enable_goldengate_replication
パラメータがTRUEで、データベースが19.0以上と互換のときだけです。 -
このコマンドを実行するには、
CDB$ROOT
で最小サプリメンタル・ロギングを有効にする必要があります。 -
SYS.PROP$
が更新され、サブセット・データベース・レプリケーションに対するサプリメンタル・ロギングが、このプラガブル・データベースのPDBレベルで無効になることが示されます。サブセット・データベース・レプリケーションに対するサプリメンタル・ロギングがCDB$ROOT
(CDBレベル)でも無効の場合、このプラガブル・データベースでは影響の少ない最小サプリメンタル・ロギングが無効になります。
この句のセマンティクスの詳細は、ALTER
DATABASE
のsupplemental_db_loggingを参照してください。
pdb_storage_clause
この句のセマンティクスは、CREATE
PLUGGABLE
DATABASE
のpdb_storage_clauseと同じですが、次が追加されます。
-
MAXSIZE
size_clause
を指定する場合は、size_clause
に、PDBの既存の表領域の合計サイズ以上の値を指定する必要があります。それ以外の場合はエラーが発生します。 -
MAX_AUDIT_SIZE
size_clause
を指定する場合、size_clause
に指定する値は、PDBで既存のあふれた統合監査OSファイル(.bin
形式)で使用される記憶域の容量以上である必要があります。それ以外の場合はエラーが発生します。 -
MAX_DIAG_SIZE
size_clause
を指定する場合、size_clause
に指定する値は、PDBにより現在使用されている自動診断リポジトリ(ADR)での診断用の記憶域の容量以上である必要があります。そうでない場合はエラーが発生します。
pdb_logging_clauses
この句を使用すると、PDBのロギング特性を設定または変更できます。
logging_clause
この句を使用して、PDB内で以降に作成する表領域のデフォルトのロギング属性を変更します。この句のセマンティクスは、CREATE
PLUGGABLE
DATABASE
のlogging_clauseと同じです。
pdb_force_logging_clause
この句を使用すると、PDBを4つのロギング・モードのいずれかに設定したり、そのモードから戻したりできます。
強制ロギング・モードでは、一時表領域および一時セグメントの変更を除くPDBのすべての変更の記録をデータベースに指示します。強制ロギングなしモードでは、PDBの変更を記録しないようデータベースに指示します。
STANDBY NOLOGGINGは、ロギングなしで実行できる操作をログに記録しないようにデータベースに対して指示します。データベースは、操作によって作成されたデータ・ブロックをData Guard構成内の資格を持つ各スタンバイ・データベースに送信します。これにより、通常、それらのスタンバイに無効なブロックがなくなります。
CDB全体の強制ロギング・モードは、他のどの設定より優先されます。PDBレベルの強制ロギング・モードおよび強制ロギングなしモードは、PDBの個々の表領域に指定するLOGGING
、NOLOGGING
またはFORCE
LOGGING
設定あるいはPDBの個々のデータベース・オブジェクトに指定するLOGGING
またはNOLOGGING
設定よりも優先され、これらの設定には影響されません。
-
ENABLE
FORCE
LOGGING
を指定して、強制ロギング・モードのPDBを配置します。PDBが現在強制ロギングなしモードである場合、この句を指定するとエラーになります。最初にDISABLE
FORCE
NOLOGGING
を指定する必要があります。 -
DISABLE
FORCE
LOGGING
を指定して、PDBの強制ロギング・モードを解除します。PDBが現在強制ロギング・モードでない場合、この句を指定するとエラーになります。 -
ENABLE
FORCE
NOLOGGING
を指定して、強制ロギングなしモードのPDBを配置します。PDBが現在強制ロギング・モードである場合、この句を指定するとエラーになります。最初にDISABLE
FORCE
LOGGING
を指定する必要があります。ログに記録されない操作では、CDBにスタンバイ・ロギングなしモードが設定されている場合でも、従来の無効化REDOが使用されます。 -
DISABLE
FORCE
NOLOGGING
を指定して、PDBの強制ロギングなしモードを解除します。PDBが現在強制ロギングなしモードでない場合、この句を指定するとエラーになります。 -
PDBをロード・パフォーマンスのスタンバイ・ロギングなしモードにするには、
SET STANDBY NOLOGGING FOR LOAD PERFORMANCE
を指定します。このモードでは、ロード・プロセスの速度が低下しない場合には、ログに記録されないタスクの一部としてロードされたデータは、プライベート・ネットワーク接続を介して資格のあるスタンバイに送信されます。低下する場合には、データは送信されず、各スタンバイで無効化REDOが発生するとプライマリから自動的にフェッチされ、データ・ブロックが受信されるまで再試行されます。 -
PDBをデータ可用性のスタンバイ・ロギングなしモードにするには、
SET STANDBY NOLOGGING FOR DATA AVAILABILITY
を指定します。このモードでは、ログに記録されないタスクの一部としてロードされたデータは、ネットワーク接続を介して、またはネットワーク接続が失敗する場合にはREDO内のブロック・イメージを介して、資格のあるスタンバイに送信されます。つまり、このモードでは、ネットワーク接続または関連するプロセスによってプライベート・ネットワーク接続を介したデータの送信が妨げられる場合には、ロードはログに記録する方法で行うように切り替わります。
スタンバイ・ロギングなしモードの場合、資格のあるスタンバイは、読取りのためにオープンされ、管理リカバリを実行しており、スタンバイREDOログでREDOを受信しているスタンバイです。
この句は、logging_clauseで指定されたPDBのデフォルトのLOGGING
またはNOLOGGING
モードを変更しません。
pdb_refresh_mode_clause
この句を使用して、PDBのリフレッシュ・モードを変更します。この句は、リフレッシュ可能なPDB、つまり現在のリフレッシュ・モードがMANUAL
またはEVERY
refresh_interval
MINUTES
またはHOURS
のPDBに対してのみ指定できます。PDBは、手動リフレッシュから自動リフレッシュに、または自動リフレッシュから手動リフレッシュに切り替えることができます。この句を使用して、自動リフレッシュの間隔(分単位)を変更することもできます。PDBを手動リフレッシュまたは自動リフレッシュからリフレッシュなしに切り替えることはできますが、リフレッシュ可能でないPDBで手動リフレッシュまたは自動リフレッシュを有効にすることはできません。この句のセマンティックスの詳細は、CREATE
PLUGGABLE
DATABASE
のドキュメントの「pdb_refresh_mode_clause」を参照してください。
REFRESH
この句を指定すると、リフレッシュ可能なPDB、つまり現在のリフレッシュ・モードがMANUAL
またはEVERY
number
MINUTES
のPDBの手動リフレッシュを実行できます。PDBはクローズされている必要があります。リフレッシュ可能なPDBの詳細は、「CREATE
PLUGGABLE
DATABASE
」の「pdb_refresh_mode_clause」を参照してください。
pdb_refresh_switchover_clause
この句を使用して、リフレッシュ可能なクローンPDBとプライマリPDBの間でロールを逆にします。この句により、リフレッシュ可能なクローンPDBは、読み書き両用モードでオープンできるプライマリPDBになります。元のプライマリPDBはリフレッシュ可能なクローンになります。
-
このコマンドは、プライマリPDBから実行する必要があります。
-
この文を発行するときに、
REFRESH MODE NONE
は指定できません。 -
dblink
は、リフレッシュ可能なクローンPDBが現在置かれているCDBのルートを指す必要があります。 -
この操作の後、現在のPDBはリフレッシュ可能なクローンになり、読取り専用モードでのみオープンできるようになります。
-
リフレッシュ可能なクローンが別のCDB内に存在している場合、データベース・リンク・ユーザーはプライマリPDBに存在している必要があります。
PRIORITY
PDBにPRIORITY
を割り当てることで、PDBに対する操作の順序を制御できます。優先度value
は、0より大きく4099より小さい整数にする必要があります。この範囲外の値はエラーをスローします。
様々な種類のPDBを管理するために、次の順序付けルールが適用されます。
-
PDBは、優先度の昇順で処理されます。優先度の値が低いPDBは、優先度の値が大きいPDBより前に処理されます。
-
同じ優先度を持つPDBは、任意の順序で処理できます。ただし、アプリケーションPDBとアプリケーション・ルートの優先度が同じ場合、または優先度が指定されていない場合でも、アプリケーション・ルートの後にアプリケーションPDBがオープンされます。
-
優先度のないPDBは、最も低い優先度と見なされます。
-
特定のPDBのPDB優先度は、すべてのRACインスタンスに適用できます。つまり、優先度は特定のRACインスタンスに固有ではありません。
-
接続、切断またはリフレッシュ可能クローンによって、優先度がソースPDBからターゲットPDBにコピーされることはありません。
-
アプリケーションPDBはアプリケーション・ルートより高い優先度を持つことはできません。
-
アプリケーション・ルート・クローンはアプリケーション・ルートと同じ優先度であり、PDB優先度を明示的に指定することはできません。
-
CDB$ROOT
およびPDB$SEED
の優先度は、Oracle RDBMSによって内部的に決定され、PDB優先度の影響を受けません。
SET CONTAINER_MAP
この句を使用すると、アプリケーション・コンテナのCONTAINER_MAP
データベース・プロパティを指定できます。現在のコンテナはアプリケーション・ルートである必要があります。map_object
の形式は[
schema
.]
table
です。schema
には、table
を含むスキーマを指定します。schema
を指定しない場合、表は自分のスキーマ内にあるとみなされます。table
には、レンジ、リストまたはハッシュ・パーティション化された表を指定します。
CONTAINERS DEFAULT TARGET
この句を使用すると、アプリケーション・コンテナ内のDML文のデフォルト・コンテナを指定できます。アプリケーション・ルートに接続している必要があります。
-
container_name
には、デフォルト・コンテナの名前を指定します。デフォルト・コンテナには、アプリケーション・ルートまたはアプリケーションPDBを含む、アプリケーション・コンテナ内の任意のコンテナを指定できます。指定できるデフォルト・コンテナは1つのみです。 -
NONE
を指定した場合は、デフォルト・コンテナはCDBルートです。これはデフォルトです。
WHERE
句でコンテナを指定せずにDML文がアプリケーション・ルートで発行されている場合、DML文はアプリケーション・コンテナのデフォルト・コンテナに影響します。
CONTAINERS HOSTおよびPORT
プロキシPDBから参照するPDBを作成する場合は、HOST
句およびPORT
句を使用します。このタイプのPDBは、参照先PDBと呼ばれます。
次の文はPDB内で実行できます。
ALTER PLUGGABLE DATABASE CONTAINERS HOST='myhost.example.com';
ALTER PLUGGABLE DATABASE CONTAINERS PORT=1599;
次の文は、CDBルート、アプリケーション・ルートまたはPDB内で実行できます。
ALTER PLUGGABLE DATABASE <pdbname> CONTAINERS HOST='myhost.example.com';
ALTER PLUGGABLE DATABASE <pdbname> CONTAINERS PORT=1599;
pdbname
は、次の条件を満たす必要があります。
- この文がアプリケーション・ルートで実行される場合、
pdbname
はアプリケーション・ルートの名前またはそのアプリケーションPDBのいずれかの名前と一致する必要があります。 - 文がCDBルートで実行される場合、
pdbname
はCDB内のいずれかのPDBの名前と一致する必要があります。 - 文がPDBで実行される場合、
pdbname
は現在のPDBの名前と一致する必要があります。
関連項目:
HOST
およびPORT
の完全なセマンティクスについては、CREATE PLUGGABLE DATABASE
のHOSTおよびPORTを参照してください
pdb_datafile_clause
この句を使用して、PDBに関連付けられたデータファイルをオンラインまたはオフラインにできます。この句を発行するときには、そのPDBがクローズされている必要があります。
-
pdb_name
には、PDBの名前を指定します。現在のコンテナがそのPDBである場合は、pdb_name
は省略できます。 -
DATAFILE
句では、オンラインまたはオフラインにするデータファイルを指定できます。filename
またはfilenumber
を使用して、特定のデータファイルを名前または番号によって識別します。V$DATAFILE
動的パフォーマンス・ビューのNAME
列とFILE#
列の問合せを実行することによって、データファイルの名前と番号を表示できます。そのPDBに関連付けられたすべてのデータファイルを指定するには、ALL
を使用します。 -
データファイルをオンラインにする場合は
ONLINE
を指定し、データファイルをオフラインにする場合はOFFLINE
を指定します。
pdb_recovery_clauses
pdb_recovery_clauses
を使用して、PDBをバックアップおよびリカバリできます。
pdb_name
オプションでpdb_name
を使用して、バックアップまたはリカバリするPDBの名前を指定できます。
pdb_general_recovery
この句を指定すると、PDB、スタンバイ・データベース、または指定した表領域やファイルのメディア・リカバリを制御できます。pdb_general_recovery
句は、ALTER
DATABASE
のgeneral_recovery
句と同じセマンティクスを持ちます。詳細は、ALTER
DATABASE
のgeneral_recovery句を参照してください。
この句を使用すると、PDB内のすべてのデータファイルをオンライン・バックアップ・モード(ホット・バックアップ・モードともいう)にしたり、このモードから戻すことができます。これらの句についてのセマンティクスは、ALTER
PLUGGABLE
DATABASE
およびALTER
DATABASE
と同じです。詳細は、「ALTER
DATABASE
」の「BACKUP句」を参照してください。
これらの句を使用して、リカバリのPDBを有効化または無効化します。PDBはクローズされている必要があります。つまり、オープン・モードは、MOUNTED
である必要があります。
-
ENABLE
RECOVERY
を指定して、PDBに属するすべてのデータファイルをオンラインにし、リカバリのPDBを有効化します。 -
DISABLE
RECOVERY
を指定して、PDBに属するすべてのデータファイルをオフラインにし、リカバリのPDBを無効化します。
関連項目:
RECOVERY
句の詳細は、『Oracle Data Guard概要および管理』を参照してください。
pdb_change_state
この句を使用すると、PDBの状態またはオープン・モードを変更できます。表11-2は、PDBのオープン・モードを示しています。
-
オープン・モードを
READ
WRITE
、READ
ONLY
またはMIGRATE
に変更するには、pdb_open
句を指定します。 -
オープン・モードを
MOUNTED
に変更するには、pdb_close
句を指定します。
表11-2 PDBのオープン・モード
オープン・モード | 説明 |
---|---|
|
読取り/書込みオープン・モードのPDBでは、問合せおよびユーザー・トランザクションを実行でき、ユーザーはREDOログを生成できます。 |
|
読取り専用オープン・モードのPDBでは、問合せは実行できますが、ユーザー変更を実行することはできません。 |
|
PDBが移行オープン・モードの場合は、PDBでデータベース・アップグレード・スクリプトを実行できます。 |
|
PDBは、マウント・モードでは、マウント・モードの非CDBと同じように動作します。どのオブジェクトの変更も行えず、またデータベース管理者のみがアクセス可能です。データファイルからの読取りも、データファイルへの書込みもできません。PDBに関する情報は、メモリー・キャッシュから削除されます。PDBのコールド・バックアップを実行できます。 |
V$PDBS
ビューのOPEN_MODE
列を問い合せて、PDBのオープン・モードを表示できます。
関連項目:
PDBのオープン・モードの詳細は、『Oracle Database管理者ガイド』を参照してください。
pdb_name
オプションでpdb_name
を使用して、オープン・モードを変更するPDBの名前を指定できます。
pdb_open
この句を使用して、PDBのオープン・モードをREAD
WRITE
、READ
ONLY
またはMIGRATE
に変更できます。この句を指定するときにFORCE
キーワードを指定しない場合は、そのPDBがMOUNTED
モードになっている必要があります。
READ
WRITE
またはREAD
ONLY
を指定しない場合は、デフォルトでREAD
WRITE
が設定されます。例外は、そのPDBが、フィジカル・スタンバイ・データベースとして使用されるCDBに属している場合です。この場合、デフォルトはREAD
ONLY
になります。
READ WRITE
この句を指定すると、オープン・モードをREAD
WRITE
に変更できます。
READ ONLY
この句を指定すると、オープン・モードをREAD
ONLY
に変更できます。
HYBRID READ ONLY
この句を指定すると、接続するユーザーのタイプに応じて、PDBをREAD ONLY
およびREAD WRITE
モードで開くことができます。ローカル・ユーザーがPDBに接続すると、PDBはREAD ONLY
モードで動作します。PDBは、共通ユーザーのREAD WRITE
モードで動作します。
[READ WRITE] UPGRADE
この句を指定すると、オープン・モードをMIGRATE
に変更できます。READ
WRITE
キーワードはオプションであり、意味を明確にするためのものです。
RESTRICTED
オプションのRESTRICTED
キーワードを指定すると、PDBへのアクセスはPDB内でRESTRICTED
SESSION
権限を持つユーザーに限られます。
PDBがREAD
WRITE
またはREAD
ONLY
モードにあるときに、RESTRICTED
キーワードとFORCE
キーワードを指定してオープン・モードの変更を実行すると、そのPDBに接続しているセッションのうち、そのPDBにおけるRESTRICTED
SESSION
権限を持っていないすべてのセッションが終了され、ロールバックされます。
FORCE
このキーワードを指定すると、PDBのオープン・モードをREAD
WRITE
からREAD
ONLY
に、またはREAD
ONLY
からREAD
WRITE
に変更できます。FORCE
キーワードを使用すると、オープン・モードの変更中にユーザーがPDBへの接続を維持できます。
READ
WRITE
からREAD
ONLY
へのPDBのオープン・モードの変更でFORCE
を指定すると、オープン・モードの変更時にオープンになっているあらゆるREAD
WRITE
トランザクションが、DML操作をそれ以上実行できなくなり、またCOMMIT
もできなくなります。
FORCEの制限事項
PDBが現在MIGRATE
モードにある場合は、FORCE
キーワードは指定できません。また、現在オープン状態になっているPDBをMIGRATE
モードに変更する際には、FORCE
キーワードは指定できません。
RESETLOGS
この句を指定すると、新しいPDBインカネーションを作成し、PDBのポイント・イン・タイム・リカバリ後に、そのPDBをREAD
WRITE
モードでオープンできます。
関連項目:
CDBおよびPDBのPoint-in-Timeリカバリの実行の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。
instances_clause
Oracle Real Application Clusters環境でこの句を使用すると、指定されたOracle RACインスタンス内のPDBの状態を変更できます。この句を省略すると、PDBの状態は現在のインスタンス内のみで変更されます。
-
instance_name
を使用して、1つ以上のインスタンス名のカンマ区切りのリストをかっこで囲んで指定します。これにより、それらのインスタンスのみPDBの状態が変更されます。 -
Specify
ALL
を指定すると、すべてのインスタンス内のPDBの状態を変更できます。 -
ALL
EXCEPT
を指定すると、指定されたインスタンスを除くすべてのインスタンス内のPDBの状態を変更できます。
PDBが1つ以上のインスタンス内ですでにオープンされている場合、別のインスタンス内でもオープンできますが、すでにオープンされているPDBと同じモードでオープンする必要があります。
services_clause
-
service_name
を使用して、1つ以上のサービスを指定するには、カンマで区切られたリストをかっこで囲んで指定します。 -
PDBのすべてのサービスを指定するには、
ALL
を指定します。 -
指定されたサービスを除くすべてのサービスを指定するには、
ALL
EXCEPT
を指定します。
pdb_close
この句を使用すると、PDBのオープン・モードをMOUNTED
に変更できます。この句を指定するときには、そのPDBがREAD
WRITE
、READ
ONLY
またはMIGRATE
モードにある必要があります。この句は、PDBでのSQL*Plus SHUTDOWN
コマンドに相当します。
IMMEDIATE
オプションのIMMEDIATE
キーワードを指定した場合、この句は、PDBでの即時モードのSQL*Plus SHUTDOWN
コマンドに相当します。それ以外の場合、PDBは通常モードでシャットダウンされます。
関連項目:
SQL*Plus SHUTDOWN
コマンドの詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。
ABORT
PDBを強制的に停止するには、ABORT
を指定します。
instances_clause
Oracle Real Application Clusters環境でこの句を使用すると、指定されたOracle RACインスタンス内のPDBの状態を変更できます。PDBは、いくつかのインスタンスでクローズし、別のインスタンスでオープンしておくことができます。この句のセマンティクスの詳細は、instances_clauseを参照してください。
relocate_clause
Oracle Real Application Clusters環境では、この句を使用して、異なるOracle RACインスタンス上でPDBを再オープンするようにデータベースに指示できます。
-
Oracle Databaseで選択された別のインスタンス上のPDBを再オープンするには、
RELOCATE
を指定します。 -
指定されたインスタンス内でPDBを再オープンするには、
RELOCATE
TO
'
instance_name
'
を指定します。 -
現在のインスタンス内でPDBをクローズするには、
NORELOCATE
を指定します。これはデフォルトです。
pdb_save_or_discard_state
この句を使用して、CDBの再起動時にPDBのオープン・モードを保存または破棄するようデータベースに指示します。
-
SAVE
を指定する場合、CDBの再起動後のPDBのオープン・モードは、CDBの再起動前のオープン・モードと同じです。 -
DISCARD
を指定する場合、CDBの再起動後のPDBのオープン・モードはMOUNTED
になります。これはデフォルトです。
instances_clause
Oracle Real Application Clusters環境でこの句を使用して、指定されたOracle RACインスタンス内のPDBのオープン・モードを保存または破棄するようデータベースに指示します。この句を省略すると、データベースはSAVE
またはDISCARD
設定を現在のインスタンスのPDBにのみ適用します。
-
instance_name
を使用して、1つ以上のインスタンス名のカンマ区切りのリストをかっこで囲んで指定します。これにより、SAVE
またはDISCARD
設定がそれらのインスタンスのPDBにのみ適用されます。 -
ALL
を指定して、SAVE
またはDISCARD
設定をすべてのインスタンスのPDBに適用します。 -
ALL
EXCEPT
を指定して、SAVE
またはDISCARD
設定を指定されたインスタンスを除くすべてのインスタンスのPDBに適用します。
pdb_change_state_from_root
-
状態を変更する1つ以上のPDBの
pdb_name
を指定します。 -
ALL
を指定すると、CDB内のすべてのPDBの状態を変更できます。 -
ALL
EXCEPT
を指定すると、pdb_name
を使用して指定したPDBを除く、CDB内のすべてのPDBの状態を変更できます。
PDBがすでに指定した状態にある場合は、PDBの状態は変わらず、エラーは返されません。状態を変更できないPDBがあると、そのPDBにエラーが発生します。
application_clauses
APPLICATION
句は、次の操作を実行する際に使用します。
-
アプリケーションのインストール、パッチ適用、アップグレードおよびアンインストール
-
アプリケーション・バージョンおよびパッチ番号の登録
-
アプリケーションでの同期操作
関連項目:
アプリケーション・コンテナの管理の詳細は、『Oracle Database管理者ガイド』を参照してください。
アプリケーション名の指定
ほとんどのapplication_clauses
では、アプリケーション名を指定する必要があります。アプリケーション名の最大長は30バイトです。名前は、「データベース・オブジェクトのネーミング規則」に指定されている要件を満たしている必要があります。アプリケーション名は、アプリケーション・コンテナ内で一意である必要があります。
アプリケーション・バージョンの指定
いくつかのapplication_clauses
では、アプリケーション・バージョンを指定する必要があります。アプリケーション・バージョンは最大長が30バイトで、英数字、句読点、スペースを使用できます。アプリケーション・バージョンには大文字と小文字の区別があり、一重引用符で囲む必要があります。
コメントの指定
いくつかのapplication_clauses
では、アプリケーションのインストール、パッチ適用またはアップグレード操作に関連付けるコメントを指定できます。comment
には、一重引用符で囲んだ文字列を入力します。
INSTALL句
INSTALL
句は、アプリケーション・コンテナでアプリケーションをインストールする際に使用します。現在のコンテナはアプリケーションPDBではなくアプリケーション・ルートである必要があります。
-
アプリケーションのインストールを開始する前に、
BEGIN
INSTALL
句を指定します。-
app_name
を使用して、アプリケーションに名前を割り当てます。 -
app_version
を使用して、アプリケーションにバージョンを割り当てます。 -
オプションの
COMMENT
句を指定すると、このインストールで作成されるアプリケーション・バージョンに関連付けるコメントを入力できます。
-
-
アプリケーションのインストールが終了したら、
END
INSTALL
句を指定します。-
対応する
BEGIN
INSTALL
句で指定したものと同じapp_name
を指定する必要があります。 -
app_version
を指定する必要はありませんが、指定する場合は、対応するBEGIN
INSTALL
句に指定したものと同じバージョンを指定する必要があります。
-
PATCH句
PATCH
句は、アプリケーション・コンテナでアプリケーションにパッチを適用する際に使用します。現在のコンテナはアプリケーションPDBではなくアプリケーション・ルートである必要があります。
-
アプリケーションへのパッチ適用を開始する前に、
BEGIN
PATCH
句を指定します。-
app_name
に、パッチを適用するアプリケーション名を指定します。 -
number
に、パッチ番号を指定します。 -
オプションの
MINIMUM
VERSION
句を使用すると、パッチを適用する前にアプリケーションがあるべき最小バージョンを指定できます。app_version
に、最小アプリケーション・バージョンを指定します。現在のアプリケーション・バージョンが最小アプリケーション・バージョンよりも低い場合、エラーが発生します。この句を省略した場合、最小バージョンは現在のアプリケーション・バージョンになります。 -
オプションの
COMMENT
句を指定すると、パッチ適用に関連付けるコメントを入力できます。
-
-
アプリケーションへのパッチ適用が終了したら、
END
PATCH
句を指定します。-
対応する
BEGIN
PATCH
句で指定したものと同じapp_name
を指定する必要があります。 -
number
を指定する必要はありませんが、指定する場合は、対応するBEGIN
PATCH
句に指定したものと同じ値を指定する必要があります。
-
UPGRADE句
UPGRADE
句は、アプリケーション・コンテナでアプリケーションをアップグレードする際に使用します。現在のコンテナはアプリケーションPDBではなくアプリケーション・ルートである必要があります。
アプリケーション・ルートがTDEを使用している場合、アプリケーションをアップグレードする前に外部ストアを構成する必要があります。
-
アプリケーションのアップグレードを開始する前に、
BEGIN
UPGRADE
句を指定します。-
app_name
に、アップグレードするアプリケーション名を指定します。 -
start_app_version
に、アプリケーションのアップグレード元バージョンを指定します。このバージョンが現在のアプリケーション・バージョンと一致しない場合、エラーが発生します。 -
end_app_version
に、アプリケーションのアップグレード先バージョンを指定します。 -
オプションの
COMMENT
句を指定すると、アップグレードに関連付けるコメントを入力できます。
-
-
アプリケーションのアップグレードが終了したら、
END
UPGRADE
句を指定します。-
対応する
BEGIN
UPGRADE
句で指定したものと同じapp_name
を指定する必要があります。 -
TO
end_app_version
を指定する必要はありませんが、指定する場合は、対応するBEGIN
UPGRADE
句に指定したものと同じバージョンを指定する必要があります。
-
UNINSTALL句
UNINSTALL
句は、アプリケーション・コンテナからアプリケーションをアンインストールする際に使用します。現在のコンテナはアプリケーションPDBではなくアプリケーション・ルートである必要があります。
-
アプリケーションのアンインストールを開始する前に、
BEGIN
UNINSTALL
句を指定します。-
app_name
に、アンインストールするアプリケーション名を指定します。
-
-
アプリケーションのアンインストールが終了したら、
END
UNINSTALL
句を指定します。-
対応する
BEGIN
UNINSTALL
句で指定したものと同じapp_name
を指定する必要があります。
-
SET PATCH
SET
PATCH
句を使用すると、アプリケーション・コンテナにすでにインストールされているアプリケーションのパッチ番号を登録できます。この句を使用すると、PATCH
句を使用してパッチ適用しなかったアプリケーションにパッチ番号を割り当てることができます。これは、PATCH
句が使用できなかったOracle Databaseの旧リリースで、アプリケーションがPDBから移行された場合に便利です。現在のコンテナには、アプリケーション・ルートまたはアプリケーションPDBを指定できます。
-
app_name
に、既存のアプリケーションの名前を指定します。 -
number
を使用して、既存のアプリケーションにパッチ番号を割り当てます。
SET VERSION
SET
VERSION
句を使用すると、アプリケーション・コンテナにすでにインストールされているアプリケーションのバージョンを登録できます。この句を使用すると、INSTALL
句を使用してインストールしなかったアプリケーションに名前とバージョンを割り当てることができます。これは、INSTALL
句が使用できなかったOracle Databaseの旧リリースで、アプリケーションがPDBから移行された場合に便利です。現在のコンテナには、アプリケーション・ルートまたはアプリケーションPDBを指定できます。
-
app_name
を使用して、既存のアプリケーションに名前を割り当てます。 -
app_version
を使用して、既存のアプリケーションにバージョンを割り当てます。
SET COMPATIBILITY VERSION
SET
COMPATIBILITY
VERSION
句を使用すると、アプリケーションの互換性バージョンを設定できます。
アプリケーションの互換性バージョンは、アプリケーション・コンテナに属するアプリケーションPDBで使用可能なアプリケーション・バージョンのうち、最も古いバージョンです。現在のコンテナはアプリケーションPDBではなくアプリケーション・ルートである必要があります。
ノート:
アプリケーション・コンテナの互換性設定より前のアプリケーション・バージョンを使用するアプリケーションPDBは接続できません。-
app_name
を使用して、アプリケーションの名前を指定します。 -
app_version
を使用して、アプリケーションの互換性バージョンを指定します。 -
CURRENT
を指定すると、互換性バージョンはアプリケーション・ルートにあるアプリケーションのバージョンに設定されます。
互換性バージョンは、互換性バージョンが設定され、アプリケーションPDBが作成されたときに適用されます。アプリケーションのアップグレードによって作成されたアプリケーション・ルート・クローンがある場合、互換性バージョンより古いバージョンに相当するすべてのアプリケーション・ルート・クローンが暗黙的に削除されます。
SYNC TO
アプリケーションを特定のバージョンまたはパッチ番号と同期できます。次の2つのバリエーションがあります。
-
SYNC TO
version_string
-
SYNC TO
PATCH
patch_number
例
salesapp
に対して次の操作を実行するとします。
-
バージョン1.0のインストール
-
パッチ101の適用
-
バージョン2.0へのアップグレード
-
パッチ102の適用
-
3.0へのアップグレード
ALTER PLUGGABLE DATABASE APPLICATION salesapp SYNC TO 2.0
では、バージョン2.0へのアップグレードまで(それを含む)のすべての文が再実行されます。
ALTER PLUGGABLE DATABASE APPLICATION salesapp SYNC TO PATCH 102
では、パッチ102の適用まで(それを含む)のすべての文が再実行されます。
SYNC TOの制限
SYNC TO
は、個々のアプリケーションでのみ使用できます。
SYNC TO
は、ALL SYNC
句とともに使用できません。
1つの文で複数のアプリケーションを同期する場合は、SYNC TO
をSYNC
句とともに使用することはできません。
SYNC
SYNC
句は、アプリケーションPDBのアプリケーションを、アプリケーション・ルートの同じアプリケーションのバージョンおよびパッチ・レベルと同期する際に使用します。現在のコンテナはアプリケーションPDBである必要があります。
app_name
は、アプリケーション・ルートに存在するアプリケーションの名前を指定します。アプリケーションはアプリケーションPDBに存在する場合もしない場合もあります。
Oracle Databaseリリース21c以降では、1つの文内の複数のアプリケーションをSYNC
で同期できます。これは、相互に依存するアプリケーションの機能的な正確性を維持するために必要です。
例
ALTER PLUGGABLE DATABASE APPLICATION hrapp payrollapp employeesapp SYNC
SYNCを使用した複数のアプリケーションの同期に関する制限
-
複数のアプリケーションを
SYNC
で同期するときに、SYNC TO
version_string
句を使用することはできません。 - 複数のアプリケーションを
SYNC
で同期するときに、SYNC TO
PATCH
patch_number
句を使用することはできません。
ALL SYNC
ALL
SYNC
句を使用すると、アプリケーションPDBのすべてのアプリケーションを、アプリケーション・ルートのすべてのアプリケーションと同期できます。この句は、最近アプリケーションPDBをCDBに追加し、そのアプリケーションをCDBと同期する場合に便利です。現在のコンテナはアプリケーションPDBである必要があります。
リリース21cでは、 EXCEPT
を使用してアプリケーションをALL
SYNC
から除外できます。
例
ALTER PLUGGABLE DATABASE APPLICATION ALL EXCEPT hrapp payrollapp SYNC
ALL SYNCを使用した複数のアプリケーションの除外に関する制限
-
複数のアプリケーションを
ALL EXCEPT SYNC
で除外するときに、SYNC TO
version_string
句を使用することはできません。 - 複数のアプリケーションを
ALL EXCEPT SYNC
で除外するときに、SYNC TO
PATCH
patch_number
句を使用することはできません。
snapshot_clauses
snapshot_clausesを使用すると、PDBの存続期間中にPDBのスナップショットを作成および管理できます。
pdb_snapshot_clause
PDBスナップショットを作成できるようにするには、この句を指定します。CREATE PLUGGABLE DATABASE
文でこの句を指定することもできます。
-
NONE
はデフォルトであり、PDBのスナップショットを作成できないことを意味します。 -
MANUAL
は、PDBのスナップショットを手動でのみ作成できることを意味します。 -
snapshot_interval
が指定されている場合、指定された間隔でPDBスナップショットが自動的に作成されます。また、ユーザーがPDBスナップショットを手動で作成できるようにもなります。 -
snapshot_interval
は、分単位で指定する場合は3000未満である必要があります。 -
snapshot_interval
は、時間単位で指定する場合は2000未満である必要があります。
materialize_clause
スナップショットPDBを完全なPDBクローンに変換するには、この句を使用します。この方法でこの句を使用すると、PDBのスナップショットを削除および消去できます。
-
この句は、スナップショットとして作成されたPDBに対してのみ指定できます。
-
PDBに属するすべてのデータファイル内のすべてのブロックがコピーされます。
create_snapshot_clause
この句を使用して、PDBに接続した後でPDBスナップショットを手動で作成します。
-
PDBスナップショットが自動的に作成されるようにPDBが設定された場合でも、この分を発行できます。
-
指定された名前のPDBスナップショットがすでに存在する場合は、エラーが報告されます。
-
指定された名前のPDBスナップショットが作成されます。
drop_snapshot_clause
この句を使用して、PDBに接続した後でPDBスナップショットを手動で削除します。
-
このスナップショットがいずれかのPDBによって使用されている場合は、エラーが報告されます。
set_max_pdb_snapshots
この句を使用して、特定のPDBのスナップショットの最大数を増加または減少させます。最初にPDBに接続する必要があります。
-
この文を発行するときにPDBが読取り/書込みモードでオープンされていない場合は、エラーが発生します。
-
最大数を0に設定することにより、すべてのPDBスナップショットを削除できます。
-
PDBごとに設定できるスナップショットの最大数は8です。
prepare_clause
-
この句を使用して、データベースのミラー・コピーを準備します。作成されるファイル・グループを識別するために
mirror_name
を指定する必要があります。作成されたグループにはすべての準備完了ファイルが含まれています。 -
REDUNDANCY
オプションのEXTERNAL
、NORMAL
またはHIGH
によって準備されるコピーの数を指定します。 -
ミラーの冗長性を指定しない場合、ソース・データベースの冗長性が使用されます。
-
FOR DATABASE
句を使用すると、CDBの新しい名前を指定できます。この名前は一意である必要があります。CREATE PLUGGABLE DATABASE
文のcreate_pdb_from_mirror_copy
句で使用されます。
名前によるプラガブル・データベースの作成:例を準備します
プラガブル・データベースの名前(pdb_name
)を指定した場合、pdb_name
は現在のPDBと一致するかどうかをチェックします。一致した場合は、それが実行されます。
ALTER PLUGGABLE DATABASE pdb_name PREPARE MIRROR COPY mirror_name WITH HIGH REDUNDANCY
名前なしのプラガブル・データベースの作成:例を準備します
プラガブル・データベースの名前(pdb_name
)を指定しない場合、文は現在のPDBで実行されます。
ALTER PLUGGABLE DATABASE PREPARE MIRROR COPY mirror_name WITH HIGH REDUNDANCY
drop_mirror_copy
この句を使用すると、プリコンパイルされた文によって作成されるデータおよびメタデータのミラー・コピーが破棄されます。準備操作に使用したものと同じミラー名を指定する必要があります。
この句を使用すると、すでにCREATE DATABASE
またはCREATE PLUGGABLE DATABASE
文で分割されているデータベースを削除できません。
lost_write_protection
プラガブル・データベースの書込みの欠落を有効化:例
ALTER PLUGGABLE DATABASE ENABLE LOST WRITE PROTECTION
プラガブル・データベースの書込みの欠落:例を無効にしてください
ALTER PLUGGABLE DATABASE DISABLE LOST WRITE PROTECTION
データベースの消失書込み保護を無効化しても、消失書込み記憶域の割当て解除は行われないことに注意してください。消失書込み記憶域の割当て解除を行うには、DROP TABLESPACE
文を使用する必要があります。
pdb_managed_recovery
この句を指定すると、PDBがフィジカル・スタンバイCDB内にあるインスタンスでPDBをリカバリできます。
例
CDBからのPDBの切断: 例
次の文はPDB pdb1
を切断し、PDBのメタデータをXMLファイル/oracle/data/pdb1.xml
に格納します。
ALTER PLUGGABLE DATABASE pdb1 UNPLUG INTO '/oracle/data/pdb1.xml';
PDBの設定の変更: 例
次の文は、PDB pdb2
内のすべての表領域で使用される記憶域の量に対する制限を500Mに変更します。
ALTER PLUGGABLE DATABASE pdb2 STORAGE (MAXSIZE 500M);
PDBのデータファイルのオフライン化: 例
次の文は、PDB pdb3
に関連付けられているデータファイルをオフラインにします。
ALTER PLUGGABLE DATABASE pdb3 DATAFILE ALL OFFLINE;
PDBの状態の変更: 例
PDB pdb4
がクローズされている、つまり、オープン・モードがMOUNTED
であることが前提となります。次の文は、READ
ONLY
オープン・モードでpdb4
をオープンします。
ALTER PLUGGABLE DATABASE pdb4 OPEN READ ONLY;
次の文は、FORCE
キーワードを使用して、pdb4
のオープン・モードをREAD
ONLY
からREAD
WRITE
に変更します。
ALTER PLUGGABLE DATABASE pdb4 OPEN READ WRITE FORCE;
次の文は、PDB pdb4
をクローズします。
ALTER PLUGGABLE DATABASE pdb4 CLOSE;
次の文は、READ
ONLY
オープン・モードでPDB pdb4をオープンします。RESTRICTED
キーワードが指定されているため、PDBへのアクセスは、PDBの中でRESTRICTED
SESSION
権限を持っているユーザーのみに許可されます。
ALTER PLUGGABLE DATABASE pdb4 OPEN READ ONLY RESTRICTED;
PDB pdb5
がクローズされている、つまり、オープン・モードがMOUNTED
であることが前提となります。Oracle Real Application Clusters環境で、次の文は、インスタンスORCLDB_1
およびORCLDB_2
の中でPDB pdb5
をREAD
WRITE
オープン・モードでオープンします。
ALTER PLUGGABLE DATABASE pdb5 OPEN READ WRITE INSTANCES = ('ORCLDB_1', 'ORCLDB_2');
Oracle Real Application Clusters環境で、次の文は、現在のインスタンスの中のPDB pdb6
をクローズして、インスタンスORCLDB_3
の中でpdb6
を再オープンするようにデータベースに指示します。
ALTER PLUGGABLE DATABASE pdb6 CLOSE RELOCATE TO 'ORCLDB_3';
CDB内のすべてのPDBの状態の変更: 例
現在のコンテナがルートであることが前提となります。次の文はCDB内のすべてのPDBをREAD
ONLY
オープン・モードでオープンします。
ALTER PLUGGABLE DATABASE ALL OPEN READ ONLY;