Oracle のエラー(ORA-28000/ORA-28001/ORA-28002)が表示されるのですが? | SiteTracker(サイトトラッカー)

SiteTrackerに関するよくあるご質問にお答えします。

Oracle のエラー(ORA-28000/ORA-28001/ORA-28002)が表示されるのですが?
【 Ver.9/8 Premier/7.5 eBusiness 】

Oracle を外部 DB として SiteTracker を使用していると、ある日を境にして、SiteTracker の画面にアクセスした際、あるいは、nettracker コマンドを実行した際に以下の Oracle エラーのいずれかが表示されるようになる場合があります。

  1. ORA-28000: the account is locked
  2. ORA-28001: the password is expired
  3. ORA-28002: the password will expier within * days (「*」印の箇所は数値)

※ エラーメッセージは、日本語の場合もあります。

ORA-28000 エラーの例

SiteTracker 9 での ORA-28000 エラー
(画像をクリックすると拡大表示します)


これらのエラーは、それぞれ SiteTracker が使用する Oracle ユーザが以下の状態である事を示しています。

  • a. ORA-28000: the account is locked の場合
    • Oracle ユーザのアカウントがロックされている。
  • b. ORA-28001: the password is expired の場合
    • Oracle ユーザのパスワードが期限切れ。
  • c. ORA-28002: the password will expier within * days の場合 (「*」印の箇所は数値)
    • Oracle ユーザのパスワードがあと * 日で無効になる。

対処方法

Oracle の標準ツールである SQL*Plus や Oracle Enterprise Manager (OEM) を用いて、Oracle ユーザの状態を変更してください。

  • a. ORA-28000: the account is locked の場合
    • Oracle ユーザのアカウントのロックを解除する。
  • b. ORA-28001: the password is expired の場合
    • Oracle ユーザのパスワードを再設定する。
  • c. ORA-28002: the password will expier within * days の場合 (「*」印の箇所は数値)
    • Oracle ユーザのパスワードを再設定する。

なお、Oracle ユーザのパスワードを再設定する際には、それまで使用していたパスワードと同じものを設定してください。
Oracle ユーザのパスワードを変更した場合は、以下の手順で SiteTracker 側にもそのパスワードを反映させる必要があります。

  1. コマンドプロンプト(Windows の場合)もしくはターミナル(Unix 系 OS の場合)で、SiteTracker のインストールディレクトリに移動する。
    ( 導入環境に合わせて変更してください )
    Windows の場合
    cd "c:¥Program Files¥SiteTracker"
    Unix 系 OS の場合
    cd /usr/local/SiteTracker

  2. 以下の nettracker コマンドを実行する。
    ( 導入環境に合わせて変更してください )
    Windows の場合
    nettrracker admin -dbpasswd
    Unix 系 OS の場合
    ./nettrracker admin -dbpasswd

    コマンド実行後は、画面の指示に従い、パスワードを変更してください。
    ( SiteTracker 9 の場合 ) C:\Program Files\SiteTracker>nettracker admin -dbpasswd
    Unica NetInsight 8.1.5 - Copyright(c) 1996-2010 Unica Corporation
    Changing the password for the database connection.
    Enter old password: (← 旧パスワードを入力。入力文字は表示されません。)
    Enter new password: (← 新パスワードを入力。入力文字は表示されません。)
    Database password successfully changed.
    C:\Program Files\SiteTracker>

備考: Oracle 11g のパスワード期限のデフォルト設定について

Oracle 11g は、Oracle ユーザのデフォルトのパスワード期限が 180 日に設定されています。(Oracle 10g までは無制限)
その為、SiteTracker の外部 DB として Oracle 11g を使用する場合、SiteTracker が使用する Oracle ユーザのパスワードを変更せずに使い続けると、Oracle ユーザが登録されてから 181 日目以降 ORA-28002 エラーが表示され、188 日目以降 ORA-28001 が表示されます。

デフォルトのパスワード期限は、SQL*Plus を用いて変更できます。

# sqlplus sys/パスワード@サービス名 as sysdba
SQL> alter profile default limit password_life_time unlimited; (← デフォルトのパスワード期限を無期限に変更)
SQL> alter user SiteTrackerが使用するOracleユーザ名 identified by パスワード; (← SiteTracker が使用する Oracle ユーザに反映)
SQL> alter user SiteTrackerが使用するOracleユーザ名 account unlock; (← SiteTracker が使用する Oracle ユーザのロック解除)

パスワードを変更した場合は、対処方法に記載した手順で SiteTracker 側にもそのパスワードも反映させる必要があります。


また、Oracle Enterprise Manager (OEM) が使用するアカウント (SYSMAN、DBSNMP) もデフォルトのパスワード有効期限は 180 日に設定されています。その為、Oracle 11g がインストールされてから 187 日経過すると OEM での接続ができなくなります。
SQL*Plus を用いて、これらのアカウントのパスワードを再設定すると OEM で接続できるようになります。

  1. # sqlplus /nolog
  2. SYSMAN でログイン。パスワードの再設定を要求されるので再設定。
    connect sysman/旧パスワード
  3. DBSNMP でログイン。パスワードの再設定を要求されるので再設定。
    connect dbsnmp/旧パスワード

※ Oracle の初期設定や、SQL*Plus/Oracle Enterprise Manager (OEM) の使用方法等につきましては、オラクルのサポートにお問い合わせください。

「エラーについて」のよくある質問一覧へLinkIcon

※ 操作手順や用語は、基本的にSiteTracker 8 をベースに記載しています。