スキーマの管理
Oracle Application Expressインスタンス内にあるスキーマを管理します。
- Oracle Application Expressエンジン・スキーマの概要
スキーマは、データベース・オブジェクトの論理的なコンテナです。 - Oracle Application Expressエンジン・スキーマの判別
インスタンスの現在のApplication Expressエンジン・スキーマを判別します。 - Oracleデフォルト・スキーマの制限の理解
データベース管理者(DBA)はOracle Application Expressインスタンス内で権限を付与および取り消します。
Oracle Application Expressエンジン・スキーマの概要
スキーマはデータベース・オブジェクトの論理的なコンテナです。
インスタンス管理者はApplication Expressエンジン・スキーマ内で特定のアクションを実行する必要がある場合があります。たとえば、インスタンス管理者がOracleデフォルト・スキーマを割り当てられるようにするには、データベース管理者(DBA)がApplication Expressエンジン内でAPEX_SITE_ADMIN.UNRESTRICT_SCHEMA
プロシージャを実行して権限を明示的に付与する必要があります。
参照:
APEX_SITE_ADMIN.UNRESTRICT_SCHEMA
プロシージャについては、Oracleデフォルト・スキーマの制限の理解を参照してください。
親トピック: スキーマの管理
Oracle Application Expressエンジン・スキーマの判別
インスタンスの現在のApplication Expressエンジン・スキーマを判別します。
参照:
APEX_SITE_ADMIN.UNRESTRICT_SCHEMA
プロシージャについては、Oracleデフォルト・スキーマの制限の理解を参照してください。
Oracle Application Expressインスタンスで現在使用されているApplication Expressエンジン・スキーマを判別するには、次の手順を実行します。
親トピック: スキーマの管理
Oracleデフォルト・スキーマの制限の理解
データベース管理者(DBA)はOracle Application Expressインスタンス内で権限を付与および取り消します。
- ワークスペースへのOracleデフォルト・スキーマの割当てについて
インスタンス管理者がほとんどのOracleデフォルト・スキーマをワークスペースに割り当てられるようにするには、DBAが権限を明示的に付与する必要があります。 - Oracleデフォルト・スキーマを割り当てる権限の付与
DBAはインスタンス管理者に、Oracleスキーマをワークスペースに割り当てる権限を付与できます。 - Oracleデフォルト・スキーマを割り当てる権限の取消し
DBAは、デフォルト・スキーマを割り当てる権限を取り消すことができます。 - 制限付きスキーマでの作業
DBAは、特定のワークスペースを例外として指定したり、スキーマのすべてのワークスペースの例外を削除したり、ワークスペースのすべてのスキーマの例外を削除することで、制限付きスキーマで作業できます。 - 権限ステータスの判別
DBAは権限の現在のステータスを判別できます。
親トピック: スキーマの管理
ワークスペースへのOracleデフォルト・スキーマの割当てについて
インスタンス管理者がほとんどのOracleデフォルト・スキーマをワークスペースに割り当てられるようにするには、DBAが権限を明示的に付与する必要があります。
インスタンス管理者は、Oracle Application Expressのインストール時に、Oracleデフォルト・スキーマをワークスペースに割り当てることができません。デフォルト・スキーマ(SYS
、SYSTEM
、RMAN
など)は、様々な製品機能および内部使用のために予約されています。デフォルト・スキーマへのアクセスは非常に強力な権限となる場合があります。たとえば、デフォルト・スキーマSYSTEM
へのアクセスが可能なワークスペースでは、SYSTEM
ユーザーを解析対象とするアプリケーションを実行できます。
インスタンス管理者がほとんどのOracleデフォルト・スキーマをワークスペースに割り当てられるようにするには、DBAがSQL*Plusを使用してAPEX_INSTANCE_ADMIN
パッケージでプロシージャを実行する権限を明示的に付与する必要があります。
ヒント:
Oracle Application Expressリリース3.1以上では、SYS
とSYSTEM
スキーマが、ワークスペースで解析スキーマとして使用されなくなる場合があります。
注意:
APEX_INSTANCE_ADMIN
パッケージのプロシージャへの引数として渡される、すべてのスキーマおよびワークスペースの名前は、コール元で提供されている名前と同じものが使用されます。
たとえば、p_schema =>'system'
のような引数の値を渡す場合、小文字のスキーマ名'system'
が記録され、参照されます。この例の場合、共通スキーマ名である(大文字の)SYSTEMを参照する際に、予期しない結果が返される可能性があります。
親トピック: Oracleデフォルト・スキーマの制限の理解
Oracleデフォルト・スキーマの割当て権限の取消し
DBAは、デフォルト・スキーマを割り当てる権限を取り消すことができます。
DBAは、SQL*Plusを使用してApplication Expressエンジン・スキーマ内でAPEX_INSTANCE_ADMIN.RESTRICT_SCHEMA
プロシージャを実行することで、デフォルト・スキーマを割り当てる権限を取り消します。次に例を示します。
EXEC APEX_180200.APEX_INSTANCE_ADMIN.RESTRICT_SCHEMA(p_schema => 'RMAN'); COMMIT;
この例では、インスタンス管理者はワークスペースにRMAN
スキーマを割り当てることができなくなります。ただし、すでにRMAN
スキーマに割当て済のワークスペースによるRMAN
スキーマは、そのまま使用できます。
制限付きスキーマでの作業
DBAは、特定のワークスペースを例外として指定したり、スキーマのすべてのワークスペースの例外を削除したり、ワークスペースのすべてのスキーマの例外を削除することで、制限付きスキーマで作業できます。
- スキーマのワークスペースの例外の削除
DBAは、スキーマのすべてのワークスペースの例外を削除できます。 - ワークスペースのスキーマの例外の削除
DBAは、ワークスペースのすべてのスキーマの例外を削除できます。 - 特定のワークスペースを例外として指定
DBAは、特定のワークスペースを例外として指定できます。
親トピック: Oracleデフォルト・スキーマの制限の理解
スキーマのワークスペースの例外の削除
DBAは、スキーマのすべてのワークスペースの例外を削除できます。
DBAは、SQL*Plusを使用してApplication Expressエンジン・スキーマ内でAPEX_INSTANCE_ADMIN.REMOVE_SCHEMA_EXCEPTIONS
プロシージャを実行することで、スキーマに対するすべてのワークスペース例外を取り消せます。次に例を示します。
EXEC APEX_050200.APEX_INSTANCE_ADMIN.REMOVE_SCHEMA_EXCEPTIONS(p_schema => 'RMAN'); COMMIT;
この例では、すでにRMAN
スキーマが制限されているが、1つ以上の例外が事前に作成済の場合に、インスタンス管理者はあらゆるワークスペースをRMAN
スキーマに割り当てることができなくなります。
親トピック: 制限付きスキーマでの作業
ワークスペースのスキーマの例外の削除
DBAは、ワークスペースのすべてのスキーマの例外を削除できます。
DBAは、SQL*Plusを使用してApplication Expressエンジン・スキーマ内でAPEX_INSTANCE_ADMIN.REMOVE_WORKSPACE_EXCEPTIONS
プロシージャを実行することで、すべてのスキーマの例外を取り消せます。次に例を示します。
EXEC APEX_180200.APEX_INSTANCE_ADMIN.REMOVE_WORKSPACE_EXCEPTIONS(p_workspace => 'AUDITOR_WORKSPACE'); COMMIT;
この例では、AUDITOR_WORKSPACEという名前のワークスペースに対して、制限付きスキーマの例外が事前に作成されている場合に、インスタンス管理者はあらゆる制限付きスキーマをこのワークスペースに割り当てることができなくなります。
親トピック: 制限付きスキーマでの作業
特定のワークスペースを例外として指定
DBAは、特定のワークスペースを例外として指定できます。
スキーマがCREATE_SCHEMA_EXCEPTION
プロシージャを使用して制限されている場合、DBAはAPEX_INSTANCE_ADMIN.CREATE_SCHEMA_EXCEPTION
プロシージャを実行することで、特定の作業領域を例外として指定できます。次に例を示します。
EXEC APEX_180200.APEX_INSTANCE_ADMIN.CREATE_SCHEMA_EXCEPTION(p_schema => 'RMAN', p_workspace=> 'DBA_WORKSPACE'); EXEC APEX_180200.APEX_INSTANCE_ADMIN.CREATE_SCHEMA_EXCEPTION(p_schema => 'RMAN', p_workspace => 'AUDITOR_WORKSPACE'); COMMIT;
この例では、インスタンス管理者はAUDITOR_WORKSPACEという名前のワークスペースをRMAN
スキーマに割り当てることができなくなります。ただし、この制限はREMOVE_SCHEMA_EXCEPTION
プロシージャが実行された後に処理されたワークスペース・プロビジョニングリクエストに対してのみ適用されます。AUDITOR_WORKSPACEがRMAN
スキーマに割り当てられている場合、この方法ではワークスペースによるスキーマの使用続行を阻止できません。
親トピック: 制限付きスキーマでの作業
権限ステータスの判別
DBAは権限の現在のステータスを判別できます。
DBAは、SQL*Plusを使用してutilitiesディレクトリでスクリプトreport_instance_configuration.sql
を実行することで、権限の現在のステータスを判定できます。次に例を示します。
utilitiesディレクトリでスクリプトreport_instance_configuration.sql
を実行するには、次の手順を実行します。
生成されたレポートに、制限付きスキーマやスキーマ例外など、Application Expressのインスタンスに関する一般情報が表示されます。
親トピック: Oracleデフォルト・スキーマの制限の理解