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
を使用)。
ノート:
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::=)
pdb_unplug_clause::=
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_datafile_clause::=
pdb_recovery_clauses
pdb_general_recovery::=
pdb_change_state::=
pdb_open::=
instances_clause::=
pdb_close::=
relocate_clause::=
pdb_save_or_discard_state::=
pdb_change_state_from_root::=
application_clauses::=
セマンティクス
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_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_clauses
この句を使用すると、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
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を強制ロギングまたは強制ロギングなしモードにするか、PDBの強制ロギングまたは強制ロギングなしモードを解除します。
強制ロギング・モードでは、一時表領域および一時セグメントの変更を除くPDBのすべての変更の記録をデータベースに指示します。強制ロギングなしモードでは、PDBの変更を記録しないようデータベースに指示します。
CDB全体の強制ロギング・モードは、PDBレベルの強制ロギングなしモードより優先されます。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
を指定する必要があります。 -
DISABLE
FORCE
NOLOGGING
を指定して、PDBの強制ロギングなしモードを解除します。PDBが現在強制ロギングなしモードでない場合、この句を指定するとエラーになります。
この句は、logging_clauseで指定されたPDBのデフォルトのLOGGING
またはNOLOGGING
モードを変更しません。
pdb_refresh_mode_clause
この句を使用すると、PDBのリフレッシュ・モードを変更できます。この句は、リフレッシュ可能なPDB、つまり現在のリフレッシュ・モードがMANUAL
またはEVERY
number
MINUTES
の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」を参照してください。
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文はアプリケーション・コンテナのデフォルト・コンテナに影響します。
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
に変更できます。
[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と同じモードでオープンする必要があります。
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ユーザーズ・ガイドおよびリファレンス』を参照してください。
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
句を使用すると、アプリケーション・コンテナで次の操作を実行できます。
-
アプリケーションのインストール、パッチ適用、アップグレードおよびアンインストール
-
アプリケーション・バージョンおよびパッチ番号の登録
-
アプリケーション・ルートとアプリケーションPDBの間でアプリケーションの同期を維持
関連項目:
アプリケーション・コンテナの管理の詳細は、『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ではなくアプリケーション・ルートである必要があります。
-
アプリケーションのアップグレードを開始する前に、
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
app_version
-
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
SYNC
句を使用すると、アプリケーションPDBのアプリケーションを、アプリケーション・ルートの同じアプリケーションのバージョンおよびパッチ・レベルと同期できます。これは、アプリケーション・ルートのアプリケーションに変更が加えられた後に役立ちます。現在のコンテナはアプリケーションPDBである必要があります。
-
app_name
に、アプリケーション・ルートに存在するアプリケーションの名前を指定します。アプリケーションはアプリケーションPDBに存在する場合もしない場合もあります。
ALL SYNC
ALL
SYNC
句を使用すると、アプリケーションPDBのすべてのアプリケーションを、アプリケーション・ルートのすべてのアプリケーションと同期できます。この句は、最近アプリケーション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;