A Oracle Label Securityの無効化、有効化、アンインストールおよび再インストール

Oracle Label Securityは、コマンドラインから無効化、有効化、アンインストールおよび再インストールできます。

A.1 Oracle Label Securityの無効化および有効化

必要に応じて、Oracle Label Securityを無効化および有効化できます。

A.1.1 Oracle Label Securityを無効にする必要がある場合

アップグレード・タスクを実行する際、または誤った構成を修正する際には、Oracle Label Securityを無効にする必要があります。

別の理由でOracle Label Securityを無効にするのは、Oracle Label Securityを強制せずにアプリケーションをテストする場合です。タスクが終了したら、Oracle Label Securityを再度有効にできます。

また、Oracle Label Securityをアンインストールする前に無効にする必要もあります。

A.1.2 Oracle Label Securityの無効化

Oracle Database Vaultが有効な場合、Oracle Label Securityを無効にしないでください。

  1. Oracle Label Security管理者としてPDBにログインします。
    利用可能なPDBを検索するには、DBA_PDBSデータ・ディクショナリ・ビューを問い合せます。現在のPDBを確認するには、show con_nameコマンドを実行します。
  2. DBA_DV_STATUSデータ・ディクショナリ・ビューを問い合せて、このPDBでOracle Database Vaultが有効になっているかどうかを確認します。
    Oracle Database Vaultは、Oracle Label Securityに依存します。Oracle Database VaultがPDBにインストールされている場合、Oracle Label Securityを無効化しないでください。
    SELECT * FROM DBA_DV_STATUS;

    次のような出力が表示されます。

    NAME                 STATUS
    -------------------- -----------
    DV_CONFIGURE_STATUS  FALSE
    DV_ENABLE_STATUS     FALSE

    出力がFALSEの場合は、Oracle Label Securityを無効にできます。

  3. 次のプロシージャを実行します。
    EXEC LBACSYS.OLS_ENFORCEMENT.DISABLE_OLS;
    
  4. SYSDBA管理権限を持つユーザーとしてCDBに接続します。
    CONNECT / AS SYSDBA
  5. PDBを閉じてから、再度開きます。

    たとえば:

    ALTER PLUGGABLE DATABASE pdb_name CLOSE IMMEDIATE;
    ALTER PLUGGABLE DATABASE pdb_name OPEN;
    
  6. Oracle Real Application Cluster (Oracle RAC)の場合、Oracle Label Securityを有効にした各Oracle RACノードに対して、これらのステップを繰り返します。

A.1.3 Oracle Label Securityの有効化

SQL*PlusでOracle Label Securityを有効にできます。

  1. Oracle Label Security管理者としてPDBにログインします。
    利用可能なPDBを検索するには、DBA_PDBSデータ・ディクショナリ・ビューを問い合せます。現在のPDBを確認するには、show con_nameコマンドを実行します。
  2. 次のプロシージャを実行します。
    EXEC LBACSYS.OLS_ENFORCEMENT.ENABLE_OLS;
    
  3. SYSDBA管理権限を持つユーザーとしてCDBに接続します。
    CONNECT / AS SYSDBA
  4. PDBを閉じてから、再度開きます。

    たとえば:

    ALTER PLUGGABLE DATABASE pdb_name CLOSE IMMEDIATE;
    ALTER PLUGGABLE DATABASE pdb_name OPEN;
    
  5. Oracle Real Application Cluster (Oracle RAC)の場合、Oracle Label Securityを有効にした各Oracle RACノードに対して、これらのステップを繰り返します。

A.2 Oracle Label Securityのアンインストールおよび再インストール

必要に応じて、Oracle Label Securityをアンインストールおよび再インストールできます。

A.2.1 Oracle Label Securityのアンインストール

catnools.sqlスクリプトを使用して、プラガブル・データベース(PDB)からOracle Label Securityをアンインストールできます。

Oracle Label SecurityをアンインストールできるのはPDBからのみで、CDBルートまたはアプリケーション・コンテナ・ルートからはアンインストールできません。
  1. Oracle Label Security管理者としてPDBにログインします。
    利用可能なPDBを検索するには、DBA_PDBSデータ・ディクショナリ・ビューを問い合せます。現在のPDBを確認するには、show con_nameコマンドを実行します。
  2. ユーザーDVSYSDBA_USERSデータ・ディクショナリ・ビューを問い合せることで、このPDBにOracle Database Vaultがインストールされていないことを確認します。
    SELECT USERNAME FROM DBA_USERS WHERE USERNAME = 'DVSYS';

    出力にDVSYSと表示されている場合は、Oracle Database Vaultがインストールされているため、PDBからOracle Label Securityをアンインストールする前にOracle Database Vaultをアンインストールする必要があります。

  3. Oracle Label Securityを無効化します。
    Oracle Label Securityが有効になっているかどうかは、DBA_OLS_STATUSデータ・ディクショナリ・ビューを問い合せて確認できます。
  4. Oracle Label Securityをアンインストールするには、次のコマンドを入力します。
    @?/rdbms/admin/catnools.sql value [value]

    この仕様では、valueは次のいずれかの設定を示します。

    • LBACSYSは、LBACSYSスキーマのみをアンインストールします。このオプションを使用するには、SYSDBA管理権限を持つユーザーSYSである必要があります。たとえば:
      @?/rdbms/admin/catnools.sql LBACSYS
    • POLICIESは、ポリシーをアンインストールしますが、OLSラベル列は保持します。このオプションを使用するには、LBAC_DBAロール(またはユーザーLBACSYSであること)が必要です。
      @?/rdbms/admin/catnools.sql POLICIES
    • POLICIES_WITH_DATAは、OLSラベル列を保持せずにOLSポリシーをアンインストールします。このオプションを使用するには、LBAC_DBAロール(またはユーザーLBACSYSであること)が必要です。
      @?/rdbms/admin/catnools.sql POLICIES_WITH_DATA
  5. SYSDBA管理権限を持つユーザーとしてCDBに接続します。
    CONNECT / AS SYSDBA
  6. PDBを閉じてから、再度開きます。

    たとえば:

    ALTER PLUGGABLE DATABASE pdb_name CLOSE IMMEDIATE;
    ALTER PLUGGABLE DATABASE pdb_name OPEN;
    
  7. Oracle Real Application Cluster (Oracle RAC)の場合、Oracle Label Securityを有効にした各Oracle RACノードに対して、これらのステップを繰り返します。

A.2.2 Oracle Label Securityの再インストール

Oracle Label SecurityはPDBに再インストールできますが、CDBルートには再インストールできません。

  1. Oracle Label Security管理者としてPDBにログインします。
    利用可能なPDBを検索するには、DBA_PDBSデータ・ディクショナリ・ビューを問い合せます。現在のPDBを確認するには、show con_nameコマンドを実行します。
  2. DBA_OLS_STATUSデータ・ディクショナリ・ビューを問い合せて、このPDBにOracle Label Securityがすでにインストールされて有効になっているかどうかを確認します。
    たとえば:
    SELECT NAME, STATUS FROM DBA_OLS_STATUS;

    DBA_OLS_STATUSデータ・ディクショナリ・ビューが認識されない場合、Oracle Label Securityはインストールされず、再インストールできます。出力が次のようにFALSEと表示される場合は、Oracle Label Securityの登録のみが必要です。

    NAME                 STATUS
    -------------------- -----------
    OLS_CONFIGURE_STATUS  FALSE
    OLS_ENABLE_STATUS     FALSE
  3. SQL*Plusを終了します。
  4. 次のコマンドを入力して、Oracle Label Securityを再インストールします。
    @?/rdbms/admin/catols.sql
  5. SYSDBA管理権限を持つユーザーとしてCDBに接続します。
    CONNECT / AS SYSDBA
  6. PDBを閉じてから、再度開きます。

    たとえば:

    ALTER PLUGGABLE DATABASE pdb_name CLOSE IMMEDIATE;
    ALTER PLUGGABLE DATABASE pdb_name OPEN;
    
  7. PDBにOracle Label Securityを登録します。
  8. Oracle Real Application Cluster (Oracle RAC)の場合、Oracle Label Securityを有効にした各Oracle RACノードに対して、これらのステップを繰り返します。