非CDBの場合と同様、マルチテナント・コンテナ・データベース(CDB)内のユーザーは、ロールおよび権限を付与できます。CDBにおける主な違いは、ローカルに付与されるロールおよび権限と、共通に付与されるロールおよび権限とが区別されることです。ローカルに付与された権限またはロールは、それが付与されたコンテナでのみ実行可能です。共通に付与された権限またはロールは、既存および将来のどのコンテナにおいても実行可能です。
ユーザーおよびロールは、共通の場合もローカルの場合もあります。ただし、権限は、それ自体は共通でもローカルでもありません。ユーザーがCONTAINER=CURRENT
句を使用してローカルに権限を付与した場合、権限受領者は現行コンテナ内でのみ実行可能な権限を持ちます。ユーザーがCONTAINER=ALL
句を使用して共通に権限を付与した場合、権限受領者は既存および将来のコンテナ内で実行可能な権限を持ちます。
注意:
Oracle Enterprise Manager Database Express (EM Express)を使用してCDBで権限またはロールを付与する場合、その権限またはロールが共通に付与されるものか、ローカルに付与されるものかは、権限が付与されるコンテナによって決まります。
たとえば、EM Expressを使用してルートに権限を付与すると、権限は共通に付与されるので、権限受領者は既存および将来のすべてのコンテナ内でその権限を行使できます。EM Expressを使用してプラガブル・データベース(PDB)内で権限を付与する場合、この権限はローカルに付与される権限であり、権限受領者はそのPDB内でのみ行使できます。
CDBでは、付与の行為は、ローカルであろうと共通であろうと、どれも特定のコンテナ内で起こります。付与の基本原則は、次のとおりです。
共通およびローカルのどちらの現象も、ローカルに付与および受領できます。
共通に付与または受領できるのは、共通の現象のみです。
ローカルのユーザー、ロールおよび権限は、本質的に特定のコンテナに限定されます。したがって、ローカル・ユーザーは、共通のロールおよび権限を付与することはできず、ローカルのロールおよび権限は共通に付与されることはありません。
関連項目:
このような付与の原則の詳細は、『Oracle Database概要』を参照してください。