機械翻訳について

スキーマ・ユーザーのパスワードの失効時に実行中のサービスが失敗する問題

Oracle Java Cloud Serviceインスタンスが突然失敗し、パスワード失効エラー・メッセージが発行される場合があります。

この失敗は、インフラストラクチャ・リポジトリ・スキーマのユーザー・パスワードが、Oracle Java Cloud Serviceインスタンスの作成後180日で失効するように設定されていることによります。 次のエラー・メッセージが表示されます。
Received exception while creating connection for pool X: ORA-28001: 
the password has expired
java.sql.SQLException: ORA-01017: invalid username/password; logon denied

この問題の別の症状として、パッチ適用事前チェック、リストアまたはスケール・アウト操作が失敗する可能性があります。

WebLogic Server管理サーバーをホスティングするVMにopcとしてログオンできる必要があります。 そのようにすると、oracleとしてsudoできます。 管理サーバーをホスティングするVM上、または管理対象サーバーをホスティングするVM上のファイル上のすべての操作は、oracleとして実行される必要があります。

この手順のサマリーは次のとおりです。

  1. データベース・デプロイメントの各インフラストラクチャ・リポジトリ・スキーマのパスワードを更新します。

  2. WebLogic Serverを実行していて、WebLogic Serverコンソールにアクセスできる場合、Weblogic管理コンソールから、対応するすべてのデータソースのパスワードを変更します。

  3. WebLogic Serverを実行しておらず、WebLogic Serverコンソールにアクセスできない場合、WebLogic Serverの構成でパスワードを手動で変更します。

  4. オフラインWLSTコマンドmodifyBootStrapCredentialを実行します。

  5. ノード・マネージャから管理サーバーを起動してから、管理対象サーバーを起動します。

この問題を解決するには:
  1. データベース・デプロイメントの各インフラストラクチャ・リポジトリ・スキーマのパスワードを更新します。

    スキーマ接頭辞がわかっている場合は、手順bに進みます。

    1. 管理サーバーをホストしているJava Cloud ServiceインスタンスのVMにログインし、スキーマ接頭辞の値を取得します。
      ssh -i <private_key> opc@<IP_address_of_admin_server_VM>
      sudo su oracle
      curl http://192.1.1.192/latest/user-data/chef/initial_attributes/wlss/schema_prefix
      
      返されるスキーマ接頭辞の値は次のようになります。
      SP255951777
      
    2. Oracle Database Cloud Serviceデータベース・デプロイメントのVMにログインします。
      ssh -i <ssh_key> opc@<DB_vm_ip_address>
      sudo su oracle
      
    3. Oracle Database Cloud Serviceデータベース・デプロイメントに接続します。
      sqlplus / as sysdba
      

      データベース・デプロイメントのプロビジョニング時に指定したユーザー名を使用します。

      データベース・デプロイメントのバージョンが12cの場合は、次の手順も必要です。
      alter session set container=PDB1 
      

      Oracle Java Cloud Service時に指定したPDB名を使用します。

    4. インフラストラクチャ・リポジトリ・スキーマ・ユーザーのパスワードを新しいパスワードに変更します。

      注意:

      次のスキーマ・ユーザーは、パスワードを変更する必要があります。

      Fusion Middleware 11gの場合 For Fusion Middleware 12.1.3 Fusion Middleware 12.2.1.xの場合

      <schema_prefix>_IAU

      <schema_prefix>_IAUOES

      <schema_prefix>_IAUOES_APPEND

      <schema_prefix>_IAUOES_VIEWER

      <schema_prefix>_IAU_APPEND

      <schema_prefix>_IAU_VIEWER

      <schema_prefix>_MDS

      <schema_prefix>_OPSS

      <schema_prefix>_IAU

      <schema_prefix>_IAU_APPEND

      <schema_prefix>_IAU_VIEWER

      <schema_prefix>_MDS

      <schema_prefix>_OPSS

      <schema_prefix>_STB

      <schema_prefix>_IAU

      <schema_prefix>_IAU_APPEND

      <schema_prefix>_IAU_VIEWER

      <schema_prefix>_MDS

      <schema_prefix>_OPSS

      <schema_prefix>_STB

      <schema_prefix>_UMS

      データベース・デプロイメントのWebLogic Serverバージョンに関連する各スキーマ・ユーザーのパスワードを変更します。 次に例を示します。
      ALTER USER <schema_prefix>_IUA identified by <new_password>;
      
    5. データベースのすべてのユーザー・アカウントのロックを解除して、パスワード失効後にログインの失敗を繰り返したことによりロックされているケースに対応します。
      ALTER USER <schema_prefix>_IAU ACCOUNT UNLOCK;
      

      注意:

      WebLogic管理サーバーを実行していて、WebLogic管理コンソールにアクセスできる場合は手順2に従い、それ以外の場合は手順3に進みます。
  2. WebLogic管理コンソールからすべてのデータソースを更新して、新しいパスワードを反映させます。
    1. WebLogic管理コンソールにログインし、ドメイン構造ボックスでサービス、データソース・メニューの順に移動します。
    2. 「ロックして編集」をクリックします。
    3. データソースごとに、データソース名、構成、接続プールタブの順に移動し、新しいパスワードを使用してパスワードおよびパスワードの確認フィールドを更新します。
    4. このページの保存ボタンをクリックしてから、アクティブ化をクリックします。
    5. すべてのWebLogic Serverを停止します。

      WebLogic管理コンソールから、環境、サーバー、制御タブの順に移動します。

      すべてのサーバーを選択し、停止、ただちに強制停止の順にクリックします。

      手順4に進みます。

  3. WebLogic Serverを実行していない場合、または管理コンソールにアクセスできない場合:
    1. 新しいスキーマ・パスワードを暗号化し、データ・ソース構成ファイルを更新します
      ssh -i <private_keyopc@<ipaddress_of Admin_VM>
      sudo su oracle; cd /u01/data/domain/<domain_name>
      
      WebLogic Serverが稼働していないことを確認します。 稼働している場合、プロセスを停止するには、次のようにします。
      kill -9 <pid>
      
      その後、次を実行します。
      . <domain_home/bin/setDomainEnv.sh
      
    1. WebLogic Encryptionユーティリティを実行し、データベース・スキーマに設定したパスワードを入力します。
      /u01/jdk/bin/java weblogic.security.Encrypt
       password: <Enter the new password for the schema user>
      
    2. 次のような暗号化されたパスワードが必要です。
      AES}JHyrhOMB5hVRuDU/pV0qX86qz98ZV0xWXBSEAANA4Gs=
      

      後で参照できるように、暗号化されたパスワードの出力を書き留めてください。

    3. データソースxmlファイルを新しいパスワードで更新します。
      cd <domain_home>/<domain_name>/config/jdbc
      

      新しい暗号化されたパスワードで更新する必要のある<domain_home/<domain_name>/config/jdbcディレクトリにあるデータソースxmlファイルを開きます:

      Fusion Middleware 11gの場合 For Fusion Middleware 12.1.3 Fusion Middleware 12.2.1.xの場合

      mds-owsm-jbdc.xml

      opss-ds-jdbc.xml

      LocalSvcTblDataSource-jdbc.xml

      opss-auditview-jdbc.xml

      mds-owsm-jdbc.xml

      opss-datasource-jdbc.xml

      opss-audit-jdbc.xml

      LocalSvcTblDataSource-jdbc.xml

      opss-auditview-jdbc.xml

      mds-owsm-jdbc.xml

      opss-datasource-jdbc.xml

      opss-audit-jdbc.xml

  4. Modify BootStrapCredential WLSTコマンドを実行して、 <SCHEMA_PREFIX>_OPSSユーザーの新しいパスワードでjps-config.xmlを更新します。 手順2bを参照してください。
    1. 管理サーバーをホストしているOracle Java Cloud ServiceのVMにログインします。
      ssh -i <private_key> opc@<IP_of_admin_server>
      sudo su oracle
      
    2. WLSTを起動します。
      /u01/app/oracle/middleware/oracle_common/common/bin/wlst.sh
      
    3. modifyBootStrapCredentialコマンドを実行して、スキーマ・ユーザーの新しいパスワードでjps-configファイルを更新します。

      注意:

      JPS構成ファイルの完全パスを指定する必要があります。

      次に例を示します。

      wls:/offline>modifyBootStrapCredential(jpsCconfig_File='<domain_home>/<domain_name>/config/fmwconfig/jps-config.xml',username='<schema_prefix>_OPSS',password='<new_password_set_for_this_schema_user>')
      
  5. ノード・マネージャから管理サーバーを起動してから、管理対象サーバーを起動します。
    1. WebLogic管理サーバーをホストしているOracle Java Cloud ServiceのVMにログインします。
    2. WLSTを起動します。
      /u01/app/oracle/middleware/oracle_common/common/bin/wlst.sh
      
    3. ノード・マネージャに接続します。
      コマンドを実行する前に、関連するいくつかの変数に必要な値を取得します。
      • ホスト名 - コマンド・プロンプトで、hostnameと入力します。

      • ノード・マネージャのポート番号、ドメイン名、ドメイン・ホーム - nodemanager.propertiesファイルを開いて、それぞれの値を確認します。

        11gの場合:
        u01/app/oracle/middleware/wlserver_10.3/common/nodemanager/nodemanager.properties
        
        12cの場合:
        /u01/data/domains/<domain_name>/nodemanager/nodemanager.properties
        
      • 管理サーバー名 -
        cd /u01/data/domains/<domain_name>/servers.
        

        adminserverで終わるサーバー名を探します。

      nmConnectコマンドを実行します。
      nmConnect('<weblogic_username>','<weblogic_password>','<hostname>','<domain_name>','<domain_home>/<domain_name>','ssl')
      
    4. 管理サーバーを起動します。
      nmStart("<admin_server_name>")
      
    5. 管理サーバーのステータスが実行中の場合は、WebLogic管理コンソールにアクセスして管理対象サーバーを起動します。
      • ドメイン構造セクションで、環境の下のサーバーをクリックします。

      • 制御タブで、管理対象サーバーを選択し、起動をクリックします。

パスワード失効の問題が修正されました。