I Oracle Label Securityのトラブルシューティング

Oracle Label Securityのタスクのトラブルシューティングについてガイダンスが提供されています。

I.1 無効なSYS.OLS_ENFORCEMENTパッケージおよびSYS.LBAC_EXPパッケージ

SYS.OLS_ENFORCEMENTおよびSYS.LBAC_EXP PL/SQLパッケージが無効な場合は、Oracle Label Securityが正しくインストールされていない可能性があります。

この問題を修正するには、SYS.OLS_ENFORCEMENTパッケージ・オブジェクトとSYS.LBAC_EXPパッケージ・オブジェクトを検証する必要があります。
  1. SYSDBA管理権限があるユーザーとしてPDBにログインします。
    利用可能なPDBを検索するには、DBA_PDBSデータ・ディクショナリ・ビューを問い合せます。現在のPDBを確認するには、show con_nameコマンドを実行します。
  2. 次のコマンドを実行してそれら2つのパッケージを検証します。
    @?/rdbms/admin/catols.sql
  3. 次のコマンドを実行します:
    EXEC LBACSYS.CONFIGURE_OLS
    EXEC LBACSYS.OLS_ENFORCEMENT.ENABLE_OLS
  4. データベース・インスタンスを再起動します。
  5. INVALIDのオブジェクトをチェックして、前述の2つの項目がまだリストされているかどうかを確認します。
  6. これらのオブジェクトの検証後にOracle Label Securityを無効にする必要がある場合は、次の手順を実行します:
    1. Oracle Label Securityを無効化します。
      EXEC LBACSYS.OLS_ENFORCEMENT.DISABLE_OLS;
    2. データベースを再起動します。

I.2 ORA-6550エラーとORA-942エラーへの対処

ORA-6550エラーとORA-942エラーは、Oracle DatabaseアップグレードのOracle Label Securityコンポーネントが無効であることを示しています。

これらのエラーは、catuppst.sqlスクリプトの実行中に発生します。次のエラーが発生します:
catuppst.sql unable to run in Database: XXXX   Id: 0
ERRORS FOUND: during upgrade CATCTL ERROR COUNT=5
------------------------------------------------------
Identifier OLS 23-01-10 01:44:51 Script = 
/release/orabase/oracle/rdbms/admin/ols
ERROR = [ORA-06550: line 119, column 41: PL/SQL: ORA-00942: table or view 
does not exist
ORA-06550: line 118, column 5:
PL/SQL: SQL Statement ignored
  1. SYSDBA管理権限があるユーザーとしてPDBにログインします。
    利用可能なPDBを検索するには、DBA_PDBSデータ・ディクショナリ・ビューを問い合せます。現在のPDBを確認するには、show con_nameコマンドを実行します。
  2. Oracle Label Securityを無効化してから再有効化します。
  3. それらのオブジェクトを再コンパイルします。
    @$ORACLE_HOME/rdbms/admin/utlrp.sql
  4. 次のプロシージャを実行してOracle Label Securityを検証します:
    EXECUTE SYS.VALIDATE_OLS;
  5. utlrp.sqlですべてのOracle Label Security (LDAPSYS)オブジェクトが正常にコンパイルされ、コンパイル中にエラーがなかった場合は、次のプロシージャを実行します:
    EXEC DBMS_REGISTRY.VALID('OLS');