LoginSignup
0
0

ODIレポジトリDBのパスワード期限が切れて、ODIスタジオからの接続ができなくなった時の対処方法

Last updated at Posted at 2022-10-18

初めに
本記事は、以下の問題点を解決するため、対処方法を提供します。

  • ODIレポジトリ用のスキーマのパスワード期限が切れて(或いはパスワード変更後)、ODIスタジオからの接続ができなくなった。

問題現象
ODIスタジオから、レポジトリDBに接続しようとしますと、次のようなエラーが発生する可能性があります。

  • 期限切れの時のエラーメッセージ:ORA-28001: the password has expired
    image.png
    エラーの詳細:
    oracle.odi.core.config.MasterRepositoryResourceFailureException: ODI-10182: Uncategorized exception during repository access. Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Unable to start the Universal Connection Pool: oracle.ucp.UniversalConnectionPoolException: Cannot get Connection from Datasource: java.sql.SQLException: ORA-28001: the password has expired

  • パスワード変更後のエラーメッセージ:ORA-01017: Invalid username/password
    image.png

検証環境
ODIバージョン:ODI Studio 12.2.1.4.0 (on OCI Windows VM)
Oracle DBバージョン: Oracle Base Database 19c Standard Edition (on OCI)

ステップ

1. DB側でスキーマのパスワードをリセットする

パスワード期限が切れた場合、このステップから実施してください。
リセット済(変更直後)の場合、次のステップから実施してください。

  • 1-1. DBサーバにログインし、"oracle"ユーザに切り替えます。
[opc@db19c ~]$ sudo su - oracle
  • 1-2. 管理者ユーザで、sqlplusにログインします。
[oracle@db19c ~]$  sqlplus / as sysdba
  • 1-3. ODIレポジトリが所属するPDBに切り替えます。
SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 DB19C_PDB1                     READ WRITE NO
SQL> alter session set container=db19c_pdb1;

Session altered.
  • 1-4. レポジトリ・スキーマのパスワードをリセットします。
SQL> alter user DEV_ODI_REPO identified by <New_Password>;

User altered.
  • 1-5. パスワードの有効期限を確認します(オプション)。OCI上の「Oracle Base Database 19c SE」の場合、デフォルトでは60日間となります。
SQL> col USERNAME format a20
SQL> col PROFILE format a10
SQL> select USERNAME, PROFILE from DBA_USERS where USERNAME = 'DEV_ODI_REPO';

USERNAME             PROFILE
-------------------- ----------
DEV_ODI_REPO         DEFAULT

SQL> set linesize 100
SQL> col RESOURCE_NAME format a30
SQL> col RESOURCE_TYPE format a15
SQL> col LIMIT format a30
SQL> select PROFILE, RESOURCE_NAME, RESOURCE_TYPE, LIMIT
  2  from DBA_PROFILES
  3  where PROFILE = 'DEFAULT'
  4  and RESOURCE_TYPE = 'PASSWORD';

PROFILE    RESOURCE_NAME                  RESOURCE_TYPE   LIMIT
---------- ------------------------------ --------------- ------------------------------
DEFAULT    FAILED_LOGIN_ATTEMPTS          PASSWORD        3
DEFAULT    PASSWORD_LIFE_TIME             PASSWORD        60
DEFAULT    PASSWORD_REUSE_TIME            PASSWORD        365
DEFAULT    PASSWORD_REUSE_MAX             PASSWORD        5
DEFAULT    PASSWORD_VERIFY_FUNCTION       PASSWORD        ORA12C_STRONG_VERIFY_FUNCTION
DEFAULT    PASSWORD_LOCK_TIME             PASSWORD        1
DEFAULT    PASSWORD_GRACE_TIME            PASSWORD        7
DEFAULT    INACTIVE_ACCOUNT_TIME          PASSWORD        UNLIMITED
DEFAULT    PASSWORD_ROLLOVER_TIME         PASSWORD        0

9 rows selected.
  • 1-6. パスワードの有効期限を変更したい時、以下のコマンドを実施すればよいです。
    ※、UNLIMITEDに指定すると、無期限に変更ですが、セキュリティの観点では非推奨です。
SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME 180;

Profile altered.

2. ODIスタジオでパスワードを変更する

2-1. マスター・レポジトリへの接続

ログイン画面で、編集ボタンをクリックし、接続情報を編集します。
image.png
パスワードを新しいものと差し替えて、「Master Repository Only」を選択し、接続をテストします。

接続成功になったら、OKをクリックし、画面を閉じます。

ログイン画面で、OKをクリックし、マスター・レポジトリに接続します。
image.png

2-2. ワーク・レポジトリへの接続

Topology -> Repositories -> Work Repositories -> 「WORKREP」をダブルクリックします。次のインフォメーションが表示されたら、OKをクリックし続行します。
image.png
「Connection Information」をクリックします。
image.png
パスワードを新しいものと差し替えて、「Test Connection」をクリックします。確認用メッセージが表示されたら、「Yes」をクリックし続行します。
image.png
エージェントを指定し、接続をテストしてみて、接続成功を確認できればOKです。
image.png
成功後、「Disconnect」をクリックし、マスター・レポジトリの接続を切断します。
image.png
もう一回、ログイン画面で編集ボタンをクリックし、接続情報を編集します。
image.png
ワーク・レポジトリを選択し、接続をテストします。接続成功後、OKをクリックし画面を閉じます。

ログイン画面で、OKボタンをクリックし、ワーク・レポジトリへの接続を開始します。
image.png
ワーク・レポジトリに接続できることを確認します。
image.png
接続後:
image.png

以上

関連記事
オラクル・クラウドの個人シリーズ・ブログ
ODI On-PとODI MarketplaceとOCI Data Integrationの比較
OCI MarketplaceからODIインスタンスを作成する方法
Autonomous DBにODIレポジトリの作成方法
ODI Marketplace版のエージェントを起動と停止する方法

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0