• 締切済み

db2 index テーブルについて

いつもお世話になっております。 DB2について、質問です。 テーブルにcsvファイルをインポートしようとしたところ 割り込みエラーが発生してしまいました。 詳しくはわかっていないのですが、 原因として考えられることとして indexテーブルが破壊されているのではないかと 思われます。 そこで、indexを使用しているかどうかについては 下記コマンドで確認しました。 describe indexes for table [user].[table] show detail ただ、indexテーブルが壊れているかどうかはわかりません。 どうすれば、わかりますでしょうか。 大変申し訳ございませんが ご教示くださいますよう宜しくお願いいたします。

みんなの回答

  • pon_kotu
  • ベストアンサー率21% (8/38)
回答No.2

当方では、そのバージョンを確認することはできませんでした。 トラブルを解消するために以下の方法が考えられますので、 よろしければ試してみてください。(それぞれ別個です) 1.テーブルの drop & create 2.一度テーブルに対して delete from テーブル名 を実行し、importを、insert into にする。 3.索引の再作成 reorg indexs all for table テーブル名をした後でインポート 残念ながらいただいた情報では、この程度の対策しか見当たりません。 よろしければ試してみてください。

  • pon_kotu
  • ベストアンサー率21% (8/38)
回答No.1

こんにちは。 DB2のバージョンはいくつでしょうか。 どのようなコマンドを発行しましたか。 戻りのSQLCODEはいくつだったでしょうか。 エラーログは確認されましたでしょうか。 (unixならインスタンスのあるところ***/sqllib/db2dump/db2diag.log) あとは、下記サイト上手に使って解決してください。

参考URL:
http://publib.boulder.ibm.com/infocenter/db2luw/v8//index.jsp
googoocgi
質問者

お礼

ご回答ありがとうございます。 DB2のバージョンですが、 DB2 SDK 6.1.0 発行したコマンドについてですが、 export to ○○.csv of del select * import from ○○.csv of del replace into です。 export したデータについて データが存在したにも関わらず0行になっていました。 また、エラーについてですが、 DIA9999E 内部エラーが発生しました。 diag exist list func F0507FD0, exit code="36" DIA1003C 割り込み を受けました。 というようなかんじででています。 その後、Index(es) need to be rebuilt. とでていました。 そのため、indexを使用しているのではないかと思い、 確認しています。

関連するQ&A

  • 質問344の続きですが・・

    DB2にて表定義を参照することが出来たのですが PRIMARY KEY の設定が見えません。 下記コマンドにて詳細を出しても表示されないのですが 他の場所を参照するのでしょうか? describe table <table name> show detail

  • DBリンク&シノニム経由インデックス

    Oracle8iサーバ(サービス名:Aサーバ)と Oracle10gサーバ(サービス名:Bサーバ)があります。 Aサーバに作られた、aスキーマに、test_tableというテーブルがあります。 そのtest_tableをBサーバに作られた、bスキーマから参照する為に、 DBリンク:BA_linkを作成しました。 実際に、bスキーマから参照する場合は、 同スキーマに、 CREATE SYNONYM test_table FOR test_table@BA_link; のように作られたシノニムを利用して、参照します。 抽出に時間がかかるので、インデックスを作成しようと思うのですが、 どのスキーマにどのように作成すればよいのでしょうか? ちなみにインデックスの対象にしたい項目は、 VAR_ITEM VARCHAR2(10) NUM_ITEM NUMBER(5) とします。 ちなみにbスキーマにて、 CREATE INDEX test_table_IX1 ON test_table (VAR_ITEM, NUM_ITEM); と実行したところ、 ORA-02021: リモート・データベースに対するDDL操作が無効です・ というエラーが発生しました。 DBリンク先自身に、作成すべきということはなんとなく予想が つくのですが、そのインデックスはDBリンク経由でも有効なのでしょうか?

  • 【ANALYZE】 テーブル・インデックス数が多い

    過去の質問を検索しても該当するものが無かったのでご質問させていただきます。 現在、オプティマイザ(コストベース)について調べています。 ANALYZEコマンドを使用して、テーブルおよびインデックスの 統計情報を取りたいのですが、以下のコマンドのようにテーブル名もしくはインデックス名を指定することしかできないのでしょうか? ANALYZE TABLE テーブル名 COMPUTE STATISTICS; ANALYZE INDEX インデックス名 COMPUTE STATISTICS; テーブル数及びインデックス数が非常に多いため、上記の方法では手間がかかります。 もう少し効率の良い方法を探しているのですが、ご存知であれば教えてください。 よろしくお願いいたします。

  • DB2でのcsvファイルのインポート

    今、IBM DB2 for Windowsを扱っているのですが、 csvファイルのインポートが良くわかりません。 csv形式で保存されているファイルがあるのですが、 そのファイルを元にテーブルを作りたいんです。 SQL以外で、何か簡単にできる方法は無いのでしょうか? また、やり方を解説しているページがあれば教えてください。 お願いします。

  • 見えないテーブル(phpMyAdmin)

    phpMyAdminにてテーブルが見えません。 SQLファイルをインポートしたのですが、テーブルが見えません。 コマンドライン上から show tables とやると見えます。 なぜでしょうか?? お詳しい方、ご教授願えませんか?

  • PHPからMySQL・異なるDBにコピー

    PHPからMySQL・異なるDBに接続し同じ構造のテーブルのデータをコピーすることは可能ですか? 以下を実行するとクエリが実行されず「コピーできません」が表示されてしまいます。 どのようにすればコピーできるか教えてください。 $connect1 = mysql_connect("localhost", "user1", "pass1") ; mysql_select_db("db1", $connect1); //db1内にtable1 $connect2 = mysql_connect("localhost", "user2", "pass2") ; mysql_select_db("db2", $connect2); //db2.内にtable2 $sql = "INSERT INTO `db1` . `table1` SELECT * FROM `db2` .`table2`;"; $result = mysql_query($sql, $connect1)or die("コピーできません"); //$result内「$connect1」でも「$connect2」結果は同じです。 //table1とtable2の構造は同じです。

    • ベストアンサー
    • PHP
  • INDEX 見積もりについて

    初めて投稿させていただきます、たかといいます。よろしくお願いします。 タイトルの件に関してなのですが、テーブルに関しては多くの場所で、 簡単な見積もり方法(アナライズコマンドよりUSER_TABLEを使用)を探し実践しているのですが、 INDEXに関してはアナライズコマンドより出てきた USER_INDEX を使用しうまく見積もることはできないのでしょうか? それらしい数字は多く出ているのですが、 実際に INITIAL、NEXT 等にどれを使っていいのかわからない状況です。 わかる人がいましたらご指導のほうよろしくお願いします。

  • DB2のSQLコマンドについて教えてください。

    DB2でSQLコマンドを使って、csvファイル形式で情報を収集しています。その際に、各テーブルはスペースで区切られているため、 テーブル内の文字(たとえばOSバージョンであればWindows XP) に空白があると、 あとからエクセルで区切るときに、正しくテーブルごとに区切れません。各テーブル間を「,」(カンマ)等で区切って、抽出できますでしょうか??? すみませんが、どうしてもわかりません。

  • DB2のSQLコマンドについて

    DB2でSQLコマンドを使って、csvファイル形式で情報を収集しています。その際に、各テーブルはスペースで区切られているため、 テーブル内の文字(たとえばOSバージョンであればWindows XP) に空白があると、 あとからエクセルで区切るときに、正しくテーブルごとに区切れません。各テーブル間を「,」(カンマ)等で区切って、抽出できますでしょうか??? すみませんが、どうしてもわかりません。 教えていただけますでしょうか?

    • ベストアンサー
    • MySQL
  • 2つの同じDBの比較について

    Oracle8iにて1つのDBに2人のユーザを作成し、同じテーブル構成に同じデータをimportしています。これから2つの環境にてそれぞれテストを行うのですが(あるアプリケーションを動かします)、1日の終わりにこの2人のユーザのテーブルを比較したいと考えています。各ユーザのテーブルは100個あるのですが、これらを比較する方法はありますか? 思い付くのはお互いのユーザの各テーブルをselectで抽出してMIFES(テキストツール)で比較なんてのしか思い付かなくて・・・ 是非簡単な方法があればご教授よろしくお願いします。