ヘッダーをスキップ

Oracle Warehouse Builder インストレーションおよび管理ガイド
10gリリース2(10.2.0.2)for Microsoft Windows and UNIX Systems

B40080-01
目次
目次
索引
索引

戻る 次へ

6 インストールの診断およびデバッグ

この章では、インストール時にエラーや問題が発生した場合に使用する参照情報を記載します。この章では、次の項目について説明します。

デバッグ

この項では、次の項目について説明します。

ログ・ファイルのロケーション

Warehouse Builderクライアントまたは他のOracle製品を起動できない

デザイン・センターなどのWarehouse Builderクライアントを起動しようとすると、スプラッシュ画面が一瞬表示された後、クライアントの起動に失敗することがあります。この場合、後からインストールした別のソフトウェア製品によって、クライアントに必要なJavaオブジェクトが上書きされている可能性があります。

クライアントがWindowsにインストールされており、そのクライアントを「スタート」メニューから起動した場合、エラー・メッセージが表示されないことがあります。その場合は、DOSプロンプトで「run <OWB_ORACLE_HOME>¥owbclient.bat」と入力して、クライアントを手動で起動します。

'<ドライブ>:¥Program Files¥ Qarbon¥viewlet Builder3jre¥lib¥fonts'にフォントが見つかりません」のようなエラー・メッセージが表示される場合があります。

Warehouse Builderのフリーズまたはハングアップ

Warehouse Builderがフリーズまたはハングアップしているようならば、次の手順でスタックのトレースを実行します。

  1. DOSコマンド・プロンプトで、次のように入力します。
    cd OWB_ORACLE_HOME¥owb¥bin¥win32¥

  2. owbclient.batを実行します。

  3. プログラムがハングアップしたら、[Ctrl]を押しながら[Break]を押します。

    これによりスレッドダンプが生成されます。この情報は、オラクル社カスタマ・サポート・センターで問題を特定するのに役立ちます。

エラーおよびその他の予期せぬ動作についての詳細なエラー・ロギング

Warehouse Builderでエラーが生成された場合、または他の予期せぬ結果が示された場合は、詳細なエラー・ロギングを使用すると、ユーザーやオラクル社カスタマ・サポート・センターが原因を特定できることがあります。

詳細なエラー・ロギングを行うには:

  1. コマンド・プロンプトで次のディレクトリに移動します。

    Windowsの場合: OWB_ORACLE_HOME¥owb¥bin¥win32

    UNIXの場合: OWB_ORACLE_HOME/owb/bin/unix

  2. 表1-9に記載のいずれかの実行ファイルを実行し、パイプを通して出力をログ・ファイルに書き出します(owbclient.bat > owbclient.logなど)。

  3. 結果として生成されたログ・ファイルを調べます。

    オラクル社カスタマ・サポート・センターに連絡する際には、このログを使用します。

Java Virtual Machine(Java VM)のチェック

データベース内のJava Virtual Machine(Java VM)サーバーのチェック、確認、または再インストールを行うには、OracleMetaLinkを参照します。

  1. Webブラウザでhttp://metalink.oracle.comに接続します。

  2. OracleMetaLinkにログインするか、または新規ユーザーとして登録します。

  3. 「検索」フィールドに次の用語を入力します(これらはセミコンロンで区切られています)。
    INITJVM.SQL; INSTALL; JAVAVM; JVM; VERIFY; SERVER; INSTALL; CLEANUP

  4. [Enter]キーを押します。

この検索により、Java VMのクリーンアップ・ノートが返されます。使用可能なドキュメントの数は頻繁に変更されます。これは、オラクル社カスタマ・サポート・センターによりさまざまなクリーンアップ・ノートが作成、結合、および削除されるためです。この検索語句の文字列により、適切な最新のドキュメントが返されます。

HP-UXへのインストール時に発生するデータベース・サーバー問題の検出

HP-UXオペレーティング・システムにWarehouse Builderランタイム・コンポーネントをインストールするときに、「INS0022: 起動したプログラムでエラーが発生しました」というエラーが発生する場合があります。これはデータベース・サーバーの問題である可能性があります。

データベース・サーバー問題を特定するには:

  1. SQL*Plusで、SYSユーザーに接続します。

    Create user test_lj identified by test_lj;
    Grant connect, resource to test_lj;
     
    
  2. 次の内容を含むORACLE_HOME/owb/bin/unix/test.shを作成します。

    ../unix/loadjava -thin -verbose -order -resolve -user 
    'test_lj/test_
    lj@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=hpdgpa3)(PORT=1522))(CONNECT_
    DATA=(SERVICE_NAME=dgpadw)))' 
    ../../lib/int/rtpserver.jar 
    
    
  3. ディレクトリをORACLE_HOME/owb/bin/unix/に変更します。

  4. test.shを実行します。

診断

この項では、次の項目について説明します。

'<ドライブ>:¥Program Files¥ Qarbon¥viewlet Builder3jre¥lib¥fonts'にフォントが見つかりません

原因:    Warehouse Builderクライアント・コンポーネントをインストールした後、Jinitiatorに依存する別のソフトウェア・プログラムをインストールしたため、Oracle製品に必要なJavaオブジェクトが上書きされています。これにより、Warehouse BuilderまたはJavaオブジェクトに依存する他のOracle製品を起動できない可能性があります。

処置:    Jinitiatorを再インストールします。

SYSDBA権限を持たないSYSユーザー

原因:    標準のデータベースのインストールでは、SYSユーザーはSYSDBA接続情報を持ちます。これはSQL*Plusで次のconnect文を発行することにより確認できます。

connect sys/<<sys_password>>@TNS_NAME_OF_DB as sysdba;

標準のデータベースのインストールでは、REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVEおよびデフォルトのパスワード・ファイルがインストール・プロセスで作成されるため、前述のconnect文が機能します。

処置:    データベースがREMOTE_LOGIN_PASSWORDFILE=NONEを使用して構成されている場合は、connect sys/<<sys_password>>@TNS_NAME_OF_DB as sysdba;文が失敗します。この場合は、次のいずれかの操作を実行できます。

  • データベースを
    REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVEを使用して再構成し、パスワード・ファイルが存在しない場合は作成します。

  • 前述の操作が不可能な場合は、
    O7_DICTIONARY_ACCESSIBILITY=TRUEを使用してデータベースを再構成します。
    この設定を使用すると、connect sys/<<sys_password>>@TNS_NAME_OF_DBが機能し、Warehouse BuilderアシスタントでSYSユーザーに接続できるようになります。

エラー! JARファイル'../../../jdk/jre/lib/jce.jar'が見つからず、ロードできません。このエラーが原因でOWBアプリケーションを起動できません。警告: 文字列からフォントセットへの変換用のcharsetがありません。

原因:    AIXコンピュータでリポジトリ・アシスタントのreposinst.sh、またはOMB PlusセッションのOMBPlus.shを起動したとき、これらのエラー・メッセージや警告メッセージが表示される場合があります。これは、AIXマシンで独自の構造を持っているJDKフォルダが原因です。

処置:    これらの起動時のエラーおよび警告メッセージは無視してかまいません。Warehouse Builderアプリケーションは問題なく起動します。

RTC-5301: コントロール・センター・サービスは現在使用できません

原因:    コントロール・センターで配布や実行を管理するには、コントロール・センター・サービスを稼動する必要があります。このサービスはJDBCを使用してコントロール・センターに接続するので、任意のWarehouse Builderホームから実行できます。通常、このサービスはサーバー・ホストで実行します。

処置:    サーバー・ホストでサービスを起動するには、スクリプトstart_service.sqlを使用します。

コントロール・センター・サービスをサーバー・ホストで実行できない場合は、適切なスクリプトlocal_service_login.shまたはlocal_service_login.batを使用して、ローカル・コンピュータで起動します。このスクリプトは次のように使用します。

local_service_login.sh [-startup | -closedown] <OWB-Home>

この場合、コントロール・センター・サービスはローカル・コンピュータで実行され、そのローカル・コンピュータが稼動状態でコントロール・センターに接続できる場合のみ使用可能になります。

サービスのステータスを調べるには、スクリプトshow_service.sqlを使用します。

コントロール・センター・サービスのログ・ファイルに「DBMS_OBFUSCATION」または「No key is found」が記録される

原因:    パスワードの暗号化がクライアントと同期していません。

処置:    リポジトリを再設定して、コントロール・センター・サービスを再起動します。リポジトリを再設定するには、owb/rtp/sql/reset_repository.sqlを実行します。

API5022: 指定されたリポジトリに接続できません。

このエラーは、Warehouse Builderリポジトリ・スキーマからデータベースをエクスポートまたはインポートした後に、リポジトリに接続を試みたときに表示されます。

原因:    パッケージのNAMESPACESERVICEIMPLが無効になっている可能性があります。この問題は、リポジトリの所有者がSYS.V_$SESSIONに対するSELECT権限を持たない場合に、Warehouse Builderリポジトリ・スキーマからデータベースをエクスポートまたはインポートすると、その後発生します。この問題の原因は、次の手順で診断できます。

  1. SQL*Plusで、Warehouse Builderリポジトリ・スキーマに接続します。

  2. SQLプロンプトで次のコマンドを入力します。

    ALTER PACKAGE NAMESPACESERVICEIMPL compile body; 
    
    
  3. Warning: Package body altered with compilation errors」というメッセージが表示された場合は、SQLプロンプトで次のコマンドを入力します。

    show errors;
    
    
  4. 次のエラーは、Warehouse Builderデザイン・リポジトリの所有者がSYS.V_$SESSIONに対するSELECT権限を持たないことを意味します。

    PL/SQL: SQL statement ignored
    PLS-00201: Identifier 'SYS.V_$SESSION' must be declared
     
    

処置:   

  1. SQL*Plusで、SYSユーザーとして接続します。

  2. SQLプロンプトで、次のコマンドを入力します。

    grant SELECT on V_$SESSION to Warehouse Builder_Repository_Owner;
    
    
  3. Repository_Ownerに接続します。

  4. SQLプロンプトで次のコマンドを入力します。

    alter package NAMESPACESERVICEIMPL compile;
    
    

LoadJavaエラーによるランタイム・アシスタントの障害

原因:    この問題は、Oracle DatabaseにJServerオプションがインストールされていない場合に発生する可能性があります。

処置:    Oracle DatabaseにJServerオプションがインストールされていることを確認します。

SYSDBAユーザーの指定時におけるエラー

Oracle Warehouse Builderアシスタントでは、Oracle Warehouse Builderデザイン・リポジトリまたはランタイム・コンポーネントをインストールするときに、SYSDBA接続情報を指定する必要があります。

原因:    標準のデータベースのインストールでは、SYSユーザーはSYSDBA接続情報を持ちます。これはSQL*Plusで次のconnect文を発行することにより確認できます。
connect sys/sys_password@TNS_NAME_OF_DB as sysdba;

標準のデータベースのインストールでは、REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVEおよびデフォルトのパスワード・ファイルがインストール・プロセスで作成されるため、前述のconnect文が機能します。

データベースが
REMOTE_LOGIN_PASSWORDFILE=NONEを使用して構成されている場合は、connect sys/sys_password@TNS_NAME_OF_DB as sysdba;文が失敗します。この場合は、次のいずれかの操作を実行できます。

処置:    データベースを
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVEを使用して再構成し、パスワード・ファイルが存在しない場合は作成します。

処置:    前述の操作が不可能な場合は、
O7_DICTIONARY_ACCESSIBILITY=TRUEを使用してデータベースを再構成します。この設定を使用すると、
connect sys/sys_password@TNS_NAME_OF_DB文が機能し、Warehouse BuilderアシスタントでSYSユーザーに接続できるようになります。

Name and Addressのリージョン・データ・ライブラリが使用不可能

原因:    Name and Addressのリージョン・データ・ライブラリが、正しいロケーションにインストールされていない可能性があります。

処置:    NAS_DATAディレクトリへのリージョン・データの抽出が成功していることを確認します。

  1. OWB_ORACLE_HOMEから、Name and Addressサーバーを起動します。

    Windowsの場合: owb¥bin¥win32¥NAStart.batを実行します。

    UNIXの場合: owb/bin/unix/NASTART.shを実行します。

  2. ログ・ファイルowb¥bin¥admin¥NASvr.logを開きます。

    このログには、インストールされた国のリストが含まれます。

    このようなリストがない場合は、リージョン・ライブラリ・データが正しいロケーションに抽出されていることを確認します。不適切なロケーションにデータを抽出していた場合は、データを再インストールするか、またはowb¥bin¥admin¥NameAddr.propertiesファイルを変更して、適切なファイル・パスを示します。NameAddr.propertiesファイルを変更する場合は、次の手順でName and Addressサーバーを停止し、再起動します。

    Windowsの場合: サーバーを起動するには、owb¥bin¥win32¥NAStart.batを実行します。サーバーを停止するには、owb¥bin¥win32¥NAStop.batを実行します。

    UNIXの場合: サーバーを起動するには、owb/bin/unix/NAStart.shを実行します。サーバーを停止するには、owb/bin/unix/NAStop.shを実行します。

  3. インストールの確認後は、必要に応じてName and Addressサーバーを停止できます。これは、このサーバーが、Name and Address演算子を使用するマッピングの実行時に自動的に起動されるためです。

系統および影響分析のレポート: マテリアライズド・ビューの広範な表領域要件

初めてマテリアライズド・ビューをリフレッシュするときには、ビューがOracle Warehouse Builderリポジトリから移入されます。マテリアライズド・ビューは、Warehouse Builderランタイム・リポジトリ全体に割り当てられている容量の2倍までの領域を占める場合があります。

原因:    Warehouse Builderランタイム・リポジトリ・スキーマに割り当てられている領域が不足しています。

処置:    専用の表領域でWarehouse Builderランタイム・リポジトリ・スキーマが作成される場合は、このような問題を簡単に監視できます。表領域の拡張に備えて物理ドライブに十分な空き領域があるかどうかを確認します。Oracle Enterprise Manager内で、表領域がAutoextend Onに設定されていることを確認します。

バッチ操作中のJavaのメモリー不足エラー

大量のメモリーを必要とする操作では、システム・リソース(仮想メモリーなど)に制限がある場合、Javaのメモリー不足エラーが発生する可能性があります。

原因:    仮想メモリーの割当てが十分ではありません。Warehouse Builderクライアントは、owbclient.batファイルの-mxパラメータで定義されているように、最大ヒープ・サイズが384MBで実行されます。owbclient.batファイルの-Dlimitパラメータにより、OWBメモリー・マネージャでJavaのガベージ・コレクションのサポートを開始するメモリーのしきい値(Dlimitの80%)が指定されます。-mxパラメータ値を変更する場合は、-Dlimitパラメータを同じ値か、または少なくともその値の90%に設定します。-Dlimitを低い値に設定すると、Warehouse Builderのパフォーマンスに悪影響を与えます。

処置:    Warehouse Builderの-Dlimitパラメータの値を次の手順で増やします。

  1. Warehouse Builderを終了します。

  2. テキスト・エディタで次のファイルを開きます。

    Windowsの場合: $OWBHOME¥bin¥win32¥ombplus.bat

    UNIXの場合: $OWBHOME¥bin¥win32¥owbclient.sh

  3. -Dlimitパラメータを334に変更します。

  4. ファイルを保存し、閉じます。

  5. Warehouse Builderを再起動します。

ORA-01925: 使用可能なロールの最大数30を超えました

このエラーは、リポジトリまたはターゲット・スキーマをインストールする際に発生します。

原因:    データベースで有効なロールが最大数を超えています。リポジトリまたはターゲット・スキーマを作成すると、そのスキーマに割り当てられているデータベースに新規ロールが作成されます。ロール数がMAX_ENABLED_ROLESパラメータの値を超えると、このエラーが発生します。

処置:    init.oraファイルで、初期化パラメータのMAX_ENABLED_ROLESの値を増やします。リポジトリまたはターゲット・スキーマを削除するときには、関連するロールも削除します。

INS0009: データベースに接続することができません。接続情報を確認してください。

このエラーは、データベースへの接続を試みる際に発生します。

原因:    ORA-12514: TNS: リスナーは接続記述子にあるSERVICE_NAMEを解決できませんでした。」の原因を参照してください。

処置:    ORA-12514: TNS: リスナーは接続記述子にあるSERVICE_NAMEを解決できませんでした。」の手順に従ってください。

ORA-12154: TNS: サービス名を解決できませんでした。

このエラーは、データベースへの接続を試みる際に発生します。

原因:    ORA-12514: TNS: リスナーは接続記述子にあるSERVICE_NAMEを解決できませんでした。」の原因を参照してください。

処置:    ORA-12514: TNS: リスナーは接続記述子にあるSERVICE_NAMEを解決できませんでした。」の手順に従ってください。

ORA-12514: TNS: リスナーは接続記述子にあるSERVICE_NAMEを解決できませんでした。

このエラーは、データベースへの接続を試みる際に発生します。

原因:    Oracle Net Easy ConfigurationまたはOracle Net Assistantツールを使用してネット・サービス名エントリを作成し、新しく作成したネット・サービス名でデフォルトのオプション(サービス名)を使用した場合、パラメータSERVICE_NAMEが、ネット・サービス名エントリ内のCONNECT_DATAセクションの副次句としてTNSNAMES.ORAに追加されます。この副次句は、Oracle Database8i(8.1.x)の旧バージョンの(SID=<SIDname>)副次句と入れ替わります。

処置:    TNSNAMES.ORAファイルを次の手順で実装します。

  1. 個別のサービスとして識別する各SIDに対して、LISTENER.ORAGLOBAL_DBNAMEパラメータを使用します。このパラメータの値を、SERVICE_NAMEパラメータの値として使用します。リスナー・プロセスの停止と再起動を行って、LISTENER.ORAで変更した内容をすべて有効にする必要があります。

  2. INIT.ORAに存在するパラメータ(すなわち、SERVICE_NAMESおよびDB_DOMAIN)の値を使用して、TNSNAMES.ORAで使用する必要のあるSERVICE_NAMEの値を決定します。この値の有効な構成は<SERVICE_NAMES>.<DB_DOMAIN>で、ピリオドにより2つのINIT.ORA値が分けられています。SERVICE_NAMESBIKESで、DB_DOMAINCOMの場合、SERVICE_NAMEBIKES.COMとなります。

  3. INIT.ORAで設定されているDB_DOMAINパラメータがない場合、またはLISTENER.ORAGLOBAL_DBNAMEがない場合は、SERVICE_NAMEパラメータ用にTNSNAMES.ORA内のINIT.ORAからSERVICE_NAMESを使用できます。

    たとえば、INIT.ORASERVICE_NAMES = "TEST817"が含まれており、db_domainが設定されていない場合、TNSNAMES.ORAエントリはCONNECT_DATA =(SERVICE_NAME = "TEST817"))となります。

  4. init.oraSERVICE_NAMESパラメータで複数の値が指定されている場合は、これらの値のうち1つを使用できます。SERVICE_NAMESが設定されていない場合は、INIT.ORAファイルからDB_NAME.DB_DOMAINパラメータを使用できます。

  5. INIT.ORASERVICE_NAMESおよびDB_DOMAINが設定されておらず、LISTENER.ORAGLOBAL_DBNAMEが存在しない場合、TNSNAMES.ORAファイルのSERVICE_NAMEは、DB_NAMEとなります。

PL/SQL: ORA-04052: リモート・オブジェクトの検索中にエラーが発生しました。

このエラーは、Oracle Database 10gにアップグレードした後、最初にコネクタを再配布しないで、マッピングを再配布しようするときに発生します。

原因:    Oracle Database 10gにアップグレードする際には、データベースを新しいコンピュータへ移行します。このときに、古いデータベースと新しいデータベースのインスタンスに同じドメイン名が指定されていない可能性があります。ドメイン名は、SYSユーザーとしてSQL*Plusにログインし、コマンドSELECT * FROM GLOBAL_NAME;を入力すると確認できます。古いデータベースと新しいデータベースのグローバル名が一致していない場合は、このドメイン名の不一致がエラーの原因となっています。

処置:    コマンドALTER DATABASE RENAME GLOBAL_NAME TO xxx10G.US.ORACLE.COM;を発行して、新しいデータベースのグローバル名にドメイン名を追加するか、あるいはコネクタを再配布します。コネクタの再配布の詳細は、『Oracle Warehouse Builderユーザーズ・ガイド』を参照してください。

IMP-00003: Oracleエラー30371が発生しました。

ORA-30371: 同じ列で2ディメンション以上のレベルを定義することはできません。

このエラーは、移行時にターゲット・スキーマをインポートする際に発生しました。

原因:    Warehouse Builderターゲット・スキーマは、select_catalog_role権限を使用して作成されます。複数のWarehouse Builderターゲット・スキーマに同じディメンション・オブジェクトが定義されている場合、Oracle Exportがエクスポート・ファイルに複製を作成し、インポート時には、このエラーが発生します。

処置:    ターゲット・スキーマのエクスポート元である既存のバージョンのOracle DatabaseにSYSユーザーとして接続します。SQL*Plusで、revoke select_catalog_role from OLD_Target_Schema;という文を入力します。もう一度ターゲット・スキーマをOracle .DMPファイルにエクスポートしてから、そのファイルをOracle Database 10gにインポートします。

Oracle Database 10gでSQL*Plusに接続できない

原因:    Oracleホームまたはパスが正しく設定されていないか、ネット・サービス名が正しく構成されていません。

処置:    Oracle Database 10gでOracleホームとパスを正しく設定し、ネット・サービス名も正しく構成します。

  • Oracle Database 10gORACLE_HOMEPATHが正しく設定されていることを確認します。Oracleホーム・ディレクトリはOWB_ORACLE_HOMEを指している必要があります。PATH変数では、OWB_ORACLE_HOME¥binディレクトリを指定します。このディレクトリは他のOracle製品よりも前に指定する必要があります。

  • TNSNames.oraファイルが正しく構成されていることを確認します。

    Windowsの場合: Oracle Database 10gのプログラム・グループからNet Configuration Assistantを起動し、「ローカル・ネット・サービス名構成」を選択して、TNSNames.oraを構成します。

    UNIXの場合: ORACLE_HOMEPATHをWarehouse Builder 10gリリース2(10.2.0.2)のOWB_ORACLE_HOMEに設定し、OWB_ORACLE_HOME/bin/netcaを実行して、Net Configuration Assistantを起動します。「ローカル・ネット・サービス名構成」を選択して、TNSNames.oraを構成します。

ORA-04020: オブジェクトをロックしようとしてデッドロックを検出しました。または、ORA-04021: オブジェクトをロック待ちしていてタイムアウトが発生しました。

ランタイム・アシスタントでは、ランタイム・オブジェクトの作成時にsys.dbms_aqをロックしようとすると、オブジェクトの作成が停止され、エラー・ログにこのエラーが出力されます。

原因:    ユーザー・セッションがアドバンスド・キュー・オブジェクトを占有している可能性があります。

処置:    まず、SQL*PlusにSYSユーザーとしてログインし、アドバンスド・キュー・パッケージを占有しているユーザー・セッションを識別する問合せを実行します。たとえば、次のような問合せを実行します。

column s.sid format a5;

column s.serial# format a8;

column s.username format a10;

column objectname format a10;

select distinct

s.sid,

s.serial#,

s.username,

x.kglnaobj as objectname

from

dba_kgllock l,

v$session s,

x$kgllk x

where

l.kgllktype = 'Pin' and

s.saddr = l.kgllkuse and

s.saddr = x.kgllkuse and

x.kglnaobj in ('DBMS_AQ', 'DBMS_AQADM');

この例では、問合せの結果は次のようになります。

SID SERIAL# USERNAME OBJECTNAME

--- ------- -------- ----------

9 29623 RTU_4942 DBMS_AQ

SIDとシリアル番号を書き留め、次のコマンドを発行してユーザー・セッションを切断します。

ALTER SYSTEM KILL SESSION 'SIDNoted, SerialNumberNoted';

たとえば、このエラーの出力例で示されているセッションを切断するには、次のように入力します。

ALTER SYSTEM KILL SESSION '9,29623';


戻る 次へ
Oracle
Copyright © 2000, 2006, Oracle.

All Rights Reserved.
目次
目次
索引
索引