データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

Oracle EBSのAPPSスキーマとWebLogicのパスワードを変更する手順【R12.2対応】

本記事では、Oracle® E-Business Suite(EBS)のAPPSスキーマおよびWebLogic®のパスワードを変更する手順を詳しく解説します。これは、Oracle Applicationsデータベース管理者(DBA)にとって日常的な重要作業のひとつです。EBS R12.2では、AFPASSWDオプションを使用するか、FNDCPASSを使用した後に一部手動作業を行うことで、パスワードを変更できます。

スキーマパスワードの変更

EBS R12.2における主要スキーマは以下のとおりです。

スキーマ説明
APPSデータベース内のすべてのアプリケーションコードを所有し、E-Business Suiteの全データにアクセスできます。
すべてのエンドユーザー接続は、APPLSYSPUBスキーマによる認証後にAPPSとして接続されます。
APPSスキーマは、APPLSYSおよびAPPS_NEスキーマと同じパスワードである必要があります。
APPLSYSユーザーやメニューなどを定義するための基盤オブジェクト(AD_*テーブル、FND_*テーブル)を所有します。
APPLSYSスキーマは、APPSおよびAPPS_NEスキーマと同じパスワードである必要があります。
APPS_NEE-Business Suite向けの新しい非エディション(non-editioned)ランタイム「APPS」ユーザーです。
APPS_NEスキーマは、APPLSYSおよびAPPSスキーマと同じパスワードである必要があります。

参考資料: Integrigy – Oracle E-Business Suite: APPLSYS, APPS and APPS_NE

注意: パスワード変更の作業はrunファイルシステム上で実行する必要があります。また、パスワードを変更する前に、必ずFND_USERテーブルとFND_ORACLE_USERIDテーブルのバックアップを取得してください。変更が正常に完了したことを確認できたら、バックアップは削除します。APPLSYSのパスワードを変更すると、APPS・APPLSYS・APPS_NEの3つのスキーマのパスワードが同時に変更されます。

それでは、スキーマパスワードを変更する具体的な手順を見ていきましょう。

ステップ1:アプリケーション層サービスの停止

プライマリアプリケーションノードから次のコマンドを実行し、複数ノードのアプリケーション層サービスを停止します。

adstpall.sh apps/apps_password -mode=allnodes

このコマンドを実行すると、WebLogicパスワードの入力を求められます。内部では、R12.2.xの前提条件セットアップ時に有効化されたSecure Shell(SSH)経由ですべてのノードに接続します。

ステップ2:パスワードの変更

APPS、APPLSYS、APPS_NEスキーマのパスワードを変更するには、次のコマンドラインユーティリティのいずれかを使用します。

FNDCPASSを使用する場合

プライマリアプリケーションサーバーのrunファイルシステムに環境ファイルをエクスポートした後、次のコマンドでパスワードを変更します。

FNDCPASS apps/apps_password 0 Y <SYSTEMユーザー名>/<SYSTEMパスワード> SYSTEM APPLSYS <新しいパスワード>

注意: パッチ19127427の適用が必要な場合があります。未適用の場合、FNDCPASSが「ERROR IN PASSWORD VERIFICATION FOR APPS」というエラーで失敗することがあります。

AFPASSWDを使用する場合

AFPASSWDFNDCPASSの強化版であり、次のような特徴があります。

  • 現在の操作に必要なパスワードのみの入力を求めるため、アプリケーション管理者とデータベース管理者の職務分離が実現できます。また、Oracle Database Vaultとの相互運用性も向上します。一方、従来のFNDCPASSではAPPSおよびSYSTEMのユーザー名とパスワードの両方が必要なため、職務分離が困難でした。
  • AFPASSWDでパスワードを変更する際は、確認のため新しいパスワードを2回入力します。
  • EBS Release 12.2.3以降では、AFPASSWDを使用してEBSユーザーパスワードをパスワードハッシュ方式へ移行することも可能です。

AFPASSWDコマンドの構文は次のとおりです。

AFPASSWD [-c <APPSUSER>[@<TWO_TASK>]] -s <APPLSYS>

以下は、データベースユーザーERPUATとして、プライマリアプリケーションサーバーのrunファイルシステムの環境ファイルをエクスポートしながらパスワードを変更する例です。

  • コマンドを実行:AFPASSWD -c apps@ERPUAT -s APPLSYS
  • Application Object LibraryのOracleパスワード(APPSUSER)を入力し、APPSへの接続を確立します。
  • SYSTEM Oracleスキーマのパスワードを入力し、SYSTEMへの接続を確立します(ログファイル:AFPWD_ERPUAT_11.log)。
  • ユーザーの新しいパスワードを入力し、確認のため再入力します。
  • 操作が正常に完了します。

ステップ3:AutoConfigの実行

新しく変更したパスワードを使用して、すべてのノードでAutoConfigを実行します。

ステップ4:AdminServerの起動

$INST_TOP/admin/scripts/adadminsrvctl.shスクリプトを使用してAdminServerを起動します。この時点では、他のアプリケーション層サービスは起動しないでください。

adadminsrvctl.sh start

ステップ5:WebLogicでのAPPSパスワードの変更

次のいずれかの方法で、WebLogic Suite(WLS)データソースのAPPSパスワードを変更します。

管理コンソールから変更する場合

  1. WLS管理コンソールにログインします。
    Oracle EBSのAPPSスキーマとWebLogicのパスワードを変更する手順【R12.2対応】
  2. 変更センターで[Lock & Edit]をクリックします。
    Oracle EBSのAPPSスキーマとWebLogicのパスワードを変更する手順【R12.2対応】
  3. ドメイン構造ツリーで[サービス]を展開し、[データ・ソース]を選択します。
    Oracle EBSのAPPSスキーマとWebLogicのパスワードを変更する手順【R12.2対応】
  4. [JDBCデータ・ソースのサマリー]ページで[EBSDataSource]を選択します。
    Oracle EBSのAPPSスキーマとWebLogicのパスワードを変更する手順【R12.2対応】
  5. [EBSDataSourceの設定]ページで[接続プール]タブを選択します。
  6. [パスワード]欄に新しいパスワードを入力します。
    Oracle EBSのAPPSスキーマとWebLogicのパスワードを変更する手順【R12.2対応】
  7. [パスワードの確認]欄にも同じ新しいパスワードを入力します。
  8. [保存]をクリックします。
  9. 変更センターで[変更のアクティブ化]をクリックします。

コマンドラインから変更する場合

UNIXのプロンプトからWLSのadadminコンソール経由でAPPSパスワードを変更するには、次の手順を実行します。

  1. 次の情報を事前に確認しておきます(次のステップで使用します)。
    • weblogic_password:WebLogicのパスワード
    • server_name:WebLogic管理サーバーが稼働しているサーバー名
    • port:runファイルシステムのWebLogic管理ポート
    • apps_password:先ほど変更した新しいappsパスワード
    • データソースの実際のパス:$FMW_HOME/user_projects/domains/EBS_domain_${ORACLE_SID}
  2. updateDSpwd.pyを編集し、パラメータを自身の環境に合わせて更新します。
    username = 'weblogic'
    password = 'weblogic_password'
    URL= 't3://server_name:port'
    connect(username,password,URL)
    edit()
    startEdit()
    en = encrypt('apps_password','actual path of data source')
    dsName = 'EBSDataSource'
    cd('/JDBCSystemResources/'+dsName+'/JDBCResource/'+dsName+'/JDBCDriverParams/'+dsName)
    set('PasswordEncrypted',en)
    print ('')
    print ('')
    save()
    activate()
  1. updateDSpwd.pyを実行します。

ステップ6:すべてのサービスの起動

プライマリアプリケーションノードから次のコマンドを実行し、すべてのサービスを起動します。

adstrtal.sh apps/apps_password -mode=allnodes

ステップ7:WebLogicデータソースの検証

WLSデータソースが正しく動作しているか、次の手順で確認します。

  1. WLS管理コンソールにログインします。
  2. ドメイン構造ツリーで[サービス]を展開し、[データ・ソース]を選択します。
  3. [JDBCデータ・ソースのサマリー]ページで[EBSDataSource]を選択します。
  4. [EBSDataSourceの設定]ページで[モニタリング] > [テスト]を選択します。
  5. [oacore_server1]を選択します。
  6. [データ・ソースのテスト]をクリックします。
  7. 「Test of EBSDataSource on server oacore_server1 was successful」というメッセージが表示されることを確認します。

WebLogicパスワードの変更

ここからは、WebLogic自体のパスワードを更新する手順を、Txk Delta 7以降のバージョンと、Txk Delta 7より前のバージョンに分けて紹介します。

Txk Delta 7以降の場合

  1. 次のコマンドを実行してrunファイルシステムをsourceし、AdminServer以外のすべてのアプリケーション層サービスを停止します。プライマリアプリケーションサーバー上で、AdminServerとNode Manager以外のアプリケーションサービスが稼働していないことを確認してください。

    adstpall.sh apps/apps_password -mode=allnodes -skipNM -skipAdmin
  2. 次のコマンドを実行して、WebLogic管理パスワードを変更し、サービスを起動します。

    perl $FND_TOP/patch/115/bin/txkUpdateEBSDomain.pl -action=updateAdminPassword

    Appsパスワード、現在のWebLogicパスワード、新しいWebLogicパスワードの入力を求められます。

    以下は、この処理の実行ログのサンプルです。

    $ perl $FND_TOP/patch/115/bin/txkUpdateEBSDomain.pl -action=updateAdminPassword
    
    Program: txkUpdateEBSDomain.pl started at Tue Aug 21 04:30:52 2018
    
    AdminServer is restarted after changing WebLogic Admin Password
    All MidTier services should be SHUTDOWN before changing WebLogic Admin Password
    Confirm if all Mid-Tier services are in SHUTDOWN state. Enter "Yes" to proceed or anything else to exit:
    Enter the full path of Applications Context File [DEFAULT - /apps1/OSID/fs1/inst/apps/OSID_pserver/appl/admin/OSID_pserver.xml]:
    Enter the WLS Admin Password:
    Enter the new WLS Admin Password:
    Enter the APPS user password:
    
    Online mode:
    Backup Location: /apps1/OSID/fs1/inst/apps/OSID_pserver/logs/appl/rgf/TXK/txkUpdateEBSDomain_Tue_Aug_21_04_30_52_2018
    Logfile Location: /apps1/OSID/fs1/inst/apps/OSID_pserver/logs/appl/rgf/TXK/txkUpdateEBSDomain_Tue_Aug_21_04_30_52_2018/updateAdminPassword.log
    
    Domain updated successfully
    Restarting AdminServer with new Admin Password.
    
    You are running adadminsrvctl.sh version 120.10.12020000.10
    Stopping WLS Admin Server...
    adadminsrvctl.sh: exiting with status 0
    
    You are running adnodemgrctl.sh version 120.11.12020000.12
    adnodemgrctl.sh: exiting with status 0
    
    You are running adadminsrvctl.sh version 120.10.12020000.10
    Starting WLS Admin Server...
    adadminsrvctl.sh: exiting with status 0
    
    *************** IMPORTANT ****************
    WebLogic Admin Password is changed.
    Restart all application tier services using control scripts.
    
    Program: txkUpdateEBSDomain.pl completed at Tue Aug 21 04:34:33 2018
  3. 次のコマンドで、すべてのノードのすべてのサービスを起動します。
    adstrtal.sh apps/apps_password -mode=allnodes
  4. 管理コンソールにログインし、新しいWebLogicユーザーパスワードでアクセスできることを確認します。

Txk Delta 7より前のバージョンの場合

  1. WebLogic管理コンソールにログインします。
  2. 既存のWebLogic管理ユーザー名とパスワードを使用します。
  3. [Lock & Edit]をクリックし、[ドメイン]をクリックします。
  4. [セキュリティ]タブをクリックし、さらに[詳細設定]タブをクリックします。
  5. [Node Managerパスワード]欄に、WebLogic管理ユーザーに設定したい新しいパスワードを入力します。
  6. [保存]をクリックして設定が正常に更新されたことを確認し、その後[変更のアクティブ化]をクリックします。
  7. [セキュリティ・レルム]をクリックし、[myrealm]をクリックします。
  8. [ユーザーとグループ]を選択し、[weblogicユーザー]を選択して、WebLogicユーザーの新しいパスワードを入力します。
  9. 設定が正常に更新されていることを確認します。

注意: パスワード変更後の次のprepareフェーズでは、Oracle Ad Online Patching(adop)がEBS Domain Configurationを呼び出し、パッチファイルシステム上のWLSデータソースが新しいAppsパスワードと同期されるようになっています。

まとめ

本記事で紹介した手順により、APPS・APPLSYS・APPS_NEおよびWebLogicのパスワードを安全に変更できます。なお、特殊文字やマルチバイト文字を含むパスワードは、現時点のEBSではサポートされていない点に注意してください。

FNDCPASSはレガシーツールですが、後方互換性のために引き続きサポートされています。ただし、コマンドライン上でパスワードを直接入力することはセキュリティ上のリスクとなり得ます。Oracleは、コマンドラインでのパスワード入力が不要な後継ツールであるAFPASSWDへの早期移行を、すべてのお客様に推奨しています。

ご質問やコメントがある場合は、フィードバックフォームからお気軽にお寄せください。

  1. Windows 10でパスワードの最大有効期間と最小有効期間を変更する方法

    Windows 10でローカルアカウントのパスワード有効期限機能を有効にしている場合、ニーズに合わせてパスワードの最大有効期間と最小有効期間を変更したくなることがあります。デフォルトでは、パスワードの最大有効期間は42日、最小有効期間は0日に設定されています。 パスワードの最大有効期間とは 「パスワードの有効期間」ポリシー設定は、システムがユーザーにパスワードの変更を要求するまで、パスワードを使用できる期間(日数)を決定します。1〜999日の間でパスワードの有効期限を設定することも、日数を0に設定してパスワードを無期限にすることもできます。最大有効期間が1〜999日の間に設定されている場合、最

  2. 初心者にもおすすめ!厳選チャットボットプラットフォーム&アプリ6選

    まだ標準にはなっていないものの、チャットボットは少しずつカスタマーサポートに欠かせない存在になりつつあります。チャットボットプラットフォームを活用すれば、企業はエンドユーザーとのコミュニケーションをスムーズに行えます。昨今のビジネスはSNSでのリーチが非常に広く、チャットボットを使えば何百人、何千人もの顧客と同時にやり取りすることが可能です。直感的に操作でき、顧客体験全体の向上にもつながります。さらに、顧客からの重要な問い合わせに自動で回答することで、人件費を抑え、業務負担の軽減にも役立ちます。 本記事では、おすすめのチャットボットアプリとプラットフォームをご紹介します。 チャットボットがよく