3.4 CDB_*ビュー
SYSDBA
システム権限またはSELECT ANY DICTIONARY
権限、またはSELECT_CATALOG_ROLE
ロールを持つユーザー、または権限を直接付与されたユーザーのみが、CDB_*ビューを問い合せることができます。
CDB_*ビューは、コンテナ・データ・オブジェクトです。ルートに接続したユーザーがCDB_*ビューを問い合せる場合、問合せ結果はそのビューに対するユーザーのCONTAINER_DATA
属性によって異なります。ユーザーのCONTAINER_DATA
属性を設定および変更するには、SQL文のALTER USER
のCONTAINER_DATA
句を使用します。
基礎となるDBA_*ビューの所有者に関係なく、CDB_*ビューの所有者はSYS
です。
デフォルトでは、ルートに接続したユーザーにはルートに関連するデータのみが表示されます。
関連項目:
-
コンテナ・データ・オブジェクトの詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
-
SQL文の
ALTER USER
のCONTAINER_DATA
句の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。
CDB_*ビューには次の非表示列が含まれます。
-
CON$NAME
: この列には、特定のCDB_*行が表すデータのコンテナ名が表示されます -
CDB$NAME
: この列には、特定のCDB_*行が表すデータのCDB名が表示されます
PDBでは、CDB_*ビューに、対応するDBA_*ビューを介して表示可能なオブジェクトのみが表示されます。
特定のDBA_*ビューで見つかったすべての列に加えて、対応するCDB_*ビューにはCON_ID
列も含まれ、これにより、特定のCDB_*行が表しているデータがどのコンテナのものであるかが識別されます。CDB以外のコンテナにある場合、CON_ID
列の値は0
になります。
CDBビューは、ルート・コンテナからの問合せに対し、CDB内の別のコンテナからデータを返すことができます。これらのオブジェクトでは、暗黙的にルート・コンテナ(AL32UTF8)の文字セットにデータが変換され、ユーザーに結果が返されます。一部の文字セットには文字拡張(文字を表すためにより多くのバイト数を必要とする)があるため、AL32UTF8への変換時、特定のPDBからのデータがそのビューの列幅で格納できない場合、データが切り捨てられる可能性があります。
これらのビューによって、問合せの発行時に開いているすべてのPDBからデータが返されます(ただし、RESTRICTEDモードで開いているPDBは除く)。Oracle RAC環境では、これらのビューで返されるデータはセッションの接続先であるインスタンスによって異なる場合があります。