共通問題

Optim™ Database Administrator の使用時にいくつかの共通の問題が発生することがあります。
DB2® インスタンス名の検索
IBM® Data Server Client を必要とする変更コマンドは、DB2 インスタンス名を要求します。 Optim Database Administrator はインスタンス名を 接続から検出します。 Windows システムでは、通常、インスタンス名は DB2 です。UNIX システムでは、通常、インスタンス名は DB2 がインストールされたときの ID です。 例えば、db2inst95 などです。 インストール環境は異なる場合があります。
フォワード・エンジニアリング
変更をフォワード・エンジニアリングするとき、他のオブジェクトから派生したオブジェクト (ビュー、マテリアライズ照会表、別名など) の DDL を必ず確認して、正しい従属オブジェクトが解決されるようにしてください。 DB2 は、一部の派生オブジェクトの CREATE ステートメントを、厳密に指定どおりにカタログに保存します。 これらのステートメントの作成者がスキーマ名を完全に指定しなかった場合、現行のログインが指定されたと想定します。 フォワード・エンジニアリング・プロセス中と現行のログインが異なる場合には CREATE ステートメントは失敗する場合があります。 この問題を解決するには、オブジェクトの変更時に同じ作成者 ID を使用するか、DDL で従属オブジェクトを完全に指定するか、またはコマンドの前に構文 SET CURRENT SCHEMA を追加します。

例えば、CREATE VIEW MYSCHEMA.VIEW AS SELECT * FROM MYTABLE; のような CREATE VIEW コマンドを生成し、MYTABLE が実際には DB2 という名前のスキーマに属する場合、このコマンドが配置されるときに、DB2 は現行のログイン名の下位で MYTABLE を検索します。name. その時 loginname.MYTABLE が定義されていないというエラーが出る場合があります。SET CURRENT SCHEMA=DB2 ステートメントを CREATE VIEW MYSCHEMA.VIEW AS SELECT * FROM MYTABLE 構文の前に追加した場合、参照されるすべてのオブジェクトは、正しく解決されます。

Optim Database Administrator が派生オブジェクトの CREATE ステートメントの正しい順序を計算する際、この派生オブジェクトに、完全修飾スキーマ名のない他の派生オブジェクトの名前が含まれていると、Optim Database Administrator がこれらのステートメントを誤った順序で配置することがあります。 この問題を修正するには、必要に応じて以下の操作を実行してください。
  • 変更コマンドを生成するために使用されるログインが、データベース・オブジェクトを作成するために使用されたログインと同じになるようにします。
  • SQL および XQuery エディター で、生成されたコマンドを開き、ステートメントを正しい順序で配置します。
サーバー接続のテスト
「管理エクスプローラー」ビューでデータベース接続を作成することによりサーバー接続をテストできます。
モデルの検証
Optim Database Administrator は、物理データ・モデルでエラーを検出した場合、「問題」ビューに記録されます。 「問題」ビューが表示されていない場合には、メインメニューから「ウィンドウ」 > 「ビューの表示」 > 「問題」を選択して開くことができます。 あるいは、キーボードから Alt+shift+Q、X を入力して開くことができます。 さらに詳細を表示するには、問題をダブルクリックします。
変更管理スクリプトの検証
Optim Database Administrator が 変更管理スクリプトでエラーを検出した場合、「問題」ビューに記録されます。 「問題」ビューが表示されていない場合には、メインメニューから「ウィンドウ」 > 「ビューの表示」 > 「問題」を選択して開くことができます。 あるいは、キーボードから Alt+shift+Q、X を入力して開くことができます。 さらに詳細を表示するには、問題をダブルクリックします。
変更コマンドの検証
Optim Database Administrator が、変更管理スクリプト・エディターの「コマンド」セクションで変更コマンドのエラーを検出した場合は、そのエラーは「エラー・ログ」ビューに記録されます。 「エラー・ログ」ビューが表示されていない場合には、メインメニューから「ウィンドウ」 > 「ビューの表示」 > 「エラー・ログ」を選択してこのビューを開くことができます。 または、キーボードで Alt キーと Shift キーを押しながら Q キー、L キーの順に押して開くこともできます。 エラーをダブルクリックすると、詳細情報が表示されます。
データ・プロジェクト・エクスプローラーでのリソースの削除
場合によっては、データ・プロジェクト・エクスプローラーでリソースを削除した後でもそれらが表示されることがあります。 それを最新表示するには、エディターを閉じて再オープンする必要があるかもしれません。 エディターは、メインメニューから「ウィンドウ」 > 「ビューの表示」 > 「データ・プロジェクト・エクスプローラー」を選択することにより開くことができます。
比較エディター使用時の画面スペース不足
比較エディターはかなりのスペースを占有することがあります。比較エディターを最大化するには、開いているエディターのタブをダブルクリックします。Windows システムでは、クイック・キーは Alt+-、X です。
データ・オブジェクトの検索
データ・オブジェクトが置かれている物理データ・モデルを知っている場合には、そのモデルをデータ・モデル・エディターで開きます。 このエディターでは、フィルター・フィールドにテキストを入力してリストをフィルターに掛けてから簡単にオブジェクトに移動したり、「検索」(Ctrl+F) を使用してオブジェクトを見つけたり、ドリルダウンしてオブジェクトを見つけたりすることができます。オブジェクトが置かれているモデルを知らない場合には、「検索」(Ctrl+H) を使用します。 「検索」ビューに結果が表示されます。 エディターでそのオブジェクトをダブルクリックして開きます。
「SQL の実行」ウィザードは拡張子に依存する
「SQL スクリプト」フォルダー内の SQL スクリプト・ファイルは、 sql または ddl という拡張子である必要があります。 これらのスクリプト・ファイルには、いくつかの DB2 コマンドおよびユーティリティーを含めることもできます。 「SQL の実行」ウィザードのアクションは、拡張子によって異なります。 sqlddl 以外の拡張子を持つスクリプト・ファイルから DB2 コマンドおよびユーティリティーを実行しようとすると、エラーが発生する場合があります。
アンロードおよび再ロード・コマンドの配置
アンロード・コマンドまたは再ロード・コマンドの配置時にエラーが発生した場合は、SQL コードは常に -22220 です。 このコードは、IBM Data Server Client でスクリプトのエラーが検出されたことを意味します。エラーの正確な理由は、エラー・コードによって指定されます。 エラー・コードは「データ出力」ビューに表示されます。 特定のエラー・コードの詳細は、「DB2 メッセージ・リファレンス」の資料を参照してください。
再ロード・コマンドのエラー
エラー・コード 3088
データベースの列名にロードするように指定されたソース列はデータベースの列とは互換性がありませんが、データベースの列は NULL 可能ではありません。
Source table tblA:  col1 int, col2 int, col3 varchar(5), col4 
num(6, 2) 
Target table (table being loaded) tblB: col2 int, col3 varchar(5),
col4 num(6, 2) not null. 
アンロード中にすべての行を選択した場合には、データ・タイプの不一致のため、再ロード中にターゲット表の col4 への VARCHAR 値の挿入は失敗します。
以下の方法でこの問題を修正します。
  • データ・ファイルを編集します。
  • 「データ保存のカスタマイズ」ウィザードを使用して、アンロード・ステートメント内の tblA から最後の 3 列を選択します。 このウィザードを使用して、必要に応じて列関数を追加します。
エラー・コード 3124
行「2」、列「3」のフィールド値は PACKED DECIMAL 値に変換できませんが、ターゲット列は NULL 可能ではありません。 行はロードされませんでした。
エラー・コード 3196
入力ファイルが見つかりませんでした。 アンロード・コマンドが実行されたリモート・マシンにデータ・ファイルが置かれている場合には、データ・プロジェクト・エクスプローラーから再度再ロード・コマンドを発行する必要があります。 再ロード・コマンドが実行されるマシンにデータ・ファイルが転送されていることを確認してから、データ・プロジェクト・エクスプローラーから再ロード・コマンド・ファイル (例えば、xxx_import.chx) を選択し、右クリックして「SQL の実行」を選択することにより再ロードを完了します。
アンロード・コマンドのエラー
エラー・コード 3025
ファイル名またはパスを指定するパラメーターが無効です。再ロードおよびアンロード・コマンドはリモート・システムで実行されると考えられるためOptim Database Administrator による、指定されたパスが存在することの確認は行われません。データ損失を回避するため、パスが有効であることを確認してください。 また、スクリプトを配置する前にプロジェクト・エクスプローラーからアンロード・コマンドを実行してください。
エラー・コード 3304
表が存在しません。 アンロード・コマンドは、表がドロップされる前に発行される必要があります。 スクリプトを配置する前に、変更管理スクリプト・エディターの「コマンド」セクションでコマンドの順序を検証する必要があります。 デフォルトのデータ・ファイル・タイプは DEL です (区切り付き ASCII。多くのデータベース・マネージャーおよびファイル・マネージャーとのやり取りで使用)。必要であれば、ファイル・タイプを IXF に変更できます。

エラー・コードが「データ出力」ビューに表示されない場合は、管理通知ログ・ファイル (db2dasdiag.log) でそのコードを確認できます。 このファイルの場所などについて詳しくは、DB2 インフォメーション・センターを参照してください。

データ・マイグレーション中のアンロード表および再ロード表のマッピング
Linux システムでは、ダブルクリック・アクションは十分に機能しません。代わりにクイック・キー・アクセスを使用して、データ保存項目を編集できます。 E キーをタイプするか Shift-F10 をタイプして、選択した項目を編集します。この編集アクションにより、フォーカスが最初の列のセル・エディター (例えば、エクスポート・コマンド) になります。Enter キーを押すと、フォーカスは 2 番目の列のセル・エディター (再ロード・コマンド) に移動します。
ロック要求の最大数が原因で変更コマンドの配置に失敗する
変更コマンドを配置している時にエラー・コード SQL0912N を受け取った場合、次のようにして問題を解決できます。
  • より頻繁にコミットする
  • ロック・サイズを増やす
重要: 変更コマンドを配置する前に DB2 を停止して再始動してください。 DB2 を再始動しなかった場合には、その後も SQL0912N エラーを受け取る場合があります。
アクティブなデータベース接続が多すぎるために変更コマンドの配置に失敗する
DB2 では、一度にアクティブにできるデータベース接続の数が制限されています。 データベース・マネージャー構成パラメーター NUMDB により最大数が設定されており、このデフォルトは 8 です。 データ・ソース・エクスプローラーで接続の最大数に到達した後は、新しい接続を作成することはできません。 そのため、変更コマンドを配置しようとすると失敗する場合があります。 DB2 からのエラー・メッセージは、「error in the script file」です。 このエラーは、DB2 への接続が多すぎるために発生します。 未使用または使用頻度の低い接続の 1 つをデータ・ソース・エクスプローラーから削除するか、NUMDB のサイズを増やすことを考慮します。
管理エクスプローラー「オブジェクト・リスト」にデータベースの変更が自動的に反映されない
データ・オブジェクト・エディターや変更管理スクリプト・エディターを使用せずに (当製品の外部で) 加えられたデータベースの変更は、管理エクスプローラーおよび「オブジェクト・リスト」には自動的に反映されません。 更新内容を表示するには、そのデータベースの接続をリフレッシュするか、管理エクスプローラーでそのデータベースのいずれかのオブジェクト・タイプ・フォルダーをリフレッシュする必要があります。
自動キー・マイグレーションをオフにする
キー・マイグレーションはデフォルトでオンになっています。 新しく外部キーを追加するときに、 親表に列が追加される場合は、自動キー・マイグレーションをオフにしてこの操作を除去します。 自動キー・マイグレーションをオフにするには、 次のステップを実行します。
  1. メインメニューから、「Windows」 > 「設定」をクリックします。
  2. 「データ管理」 をドリルダウンして、 「キー・マイグレーション」を展開します。
  3. 「追加」をダブルクリックします。
  4. 「キーを自動的にマイグレーション」チェック・ボックスのチェックを外して「適用」をクリックし、「OK」をクリックします。
変更管理スクリプトの後方互換性の欠如
Optim Database Administrator V2.2.3 の変更管理スクリプト・エディターで作成または編集された変更コマンド・スクリプトには、これより前のバージョンの Optim Database Administrator との互換性はありません。
旧リリースの Optim Database Administrator で作成されたプロジェクトおよび変更管理スクリプトのサポート
Optim Database Administrator V2.2.3 と互換性があるのは、Optim Database Administrator V2.2.1 以降の リリースで作成されたデータ設計プロジェクトと変更コマンド・スクリプトのみです。 Optim Database Administrator V2.2.3 は、プロジェクト内のファイルを現在使用されている新しい形式に変換します。 変換時に発生したエラーはすべて表示されます。 変換を続行するのか取り消すのかを確認するプロンプトが表示されます。 変換を続行することを選択した場合は、問題の原因となっているオブジェクトは無視されて、有効なオブジェクトのみが保持されます。
旧リリースの Optim Database Administrator で作成されたワークスペースの使用時に管理エクスプローラーが開かない
Optim Database Administrator V2.2.3 は、旧リリースの Optim Database Administrator で作成されたワークスペースをサポートしています。 ただし、旧リリースで作成されたワークスペースを初めて使用する際は、管理エクスプローラーは開きません。 管理エクスプローラーを開くには、メインメニューで、 「ウィンドウ」 > 「ビューの表示」 > 「管理エクスプローラー」をクリックします。 リストに管理エクスプローラーが表示されない場合は、 「その他 (Other)」をクリックして、「データ」を展開し、 「管理エクスプローラー」を選択して、「OK」をクリックします。

管理エクスプローラーが開きます。このワークスペースを再び使用する際には、 管理エクスプローラーが表示されます。

Kerberos 認証の使用時にコマンドが実行されない
Secure Shell (SSH) プロトコルを使用してリモート・データベース・サーバーにアクセスする際に、このプロトコルでは基盤となる RXA ライブラリーと RSE ライブラリーが使用されます。 これらのライブラリーのどちらも Kerberos 認証をサポートしていません。
Kerberos 認証の使用時は Optim Database Administrator では以下の操作はサポートされません。
  • Activate
  • Add database partition
  • Backup database
  • Catalog
  • Create database
  • db2set
  • Drop database
  • Drop database partition number
  • Export
  • Force
  • Get
  • Get instance
  • HADR setup
  • Import
  • Load
  • Queisce
  • Rebind
  • Recover
  • Reorg
  • Restart
  • Restore
  • Rollforward
  • Runstats
  • Set client
  • Start instance
  • Stop instance
  • Stop rollforward
  • Unquiesce
  • Update
  • Update options

フィードバック