■SI Object Browser 掲示板


ユーザの皆様、開発者、サポート担当者の交流のための掲示板です!

ユーザーの皆様同士で教え合ったりもできる交流の場にしたいと思っていますので、相互協力をよろしくお願いします。
なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。

discussion
※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】
※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。
※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。
※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。
逆順のインデックス定義表示について 2004/03/26 17:23 OB 4

「逆順」や「インデックス定義」などで該当と思われる投稿が
見当たりませんでしたので、新規投稿させていただきます。

インデックス定義を表示しようと思って開いたのですが、
以下のインデックスの定義を開くと、TEST_COLUMN_CHAR1
しか見えません。他のパターンもやってみたのですが、
やはり逆順インデックスの定義がどうしても正常に表示さ
れません。

 環境的に、サーバとクライアントのバージョンが微妙に
違うというのがありますが、今すぐには同バージョンで
試すことができないので、まだ同バージョンでの表示テスト
はしてません。

 昔、逆順のオブジェクトは、ツールでうまく見えないことが多い
という話しを聞いたことがあるのですが、OBでもむりなのでしょうか?

環境は、
OB = 8.0.3.8
SQL*Plus: Release 8.1.5.0.0
Oracle8i Enterprise Edition Release 8.1.6.0.0

作成してあるインデックスは、
CREATE INDEX TEST_TABLE_IDX4
ON TEST_TABLE
( TEST_COLUMN_CHAR5 ASC,
TEST_COLUMN_CHAR2 DESC)
PCTFREE 20
TABLESPACE IDX_TABLESPACE
STORAGE
(
INITIAL 40M
NEXT 20M
PCTINCREASE 0
MINEXTENTS 1
MAXEXTENTS 480
);

USER_IND_COLUMNSで見ると、以下のように見えてます。

INDEX_NAME TABLE_NAME COLUMN_NAME COLUMN_POSITION COLUMN_LENGTH DESCEND
--------------- ---------- ----------------- --------------- ------------- -------
TEST_TABLE_IDX4 TEST_TABLE TEST_COLUMN_CHAR5 1 5 ASC
TEST_TABLE_IDX4 TEST_TABLE SYS_NC00064$ 2 2 DESC
こんにちは
後迫@SIです。

情報をいただきありがとうございます。

確認したところ、
インデックスの定義にDESCを使用すると、
インデックス情報を正常に表示できませんでした。

原因ですが、DESCを付加してコンパイルした場合、USER_INDEXESのINDEX_TYPE列が
「FUNNTION-BASED-NORMAL」となり、ファンクション索引となるためのようです。

この不具合につきましては、
次回バージョンアップで修正を検討させていただきます。

どうぞよろしくお願いいたします。
回答ありがとうございます。

次回修正していただけるという事で、それはよかったのですが。
うまく情報を取得できそうでしょうか?
といいますのは、Oracleに標準でついている、
EnterpriseManagerのテーブル内容情報表示部分でも、
現時点では正常に表示できていない状態だからです。

確認バージョンは、8.1.6サーバについていたEMです。

さらに明記しておきますと、
EMで見えている間違った状況と、
OBで見えている間違った状況も、
それぞれが違った間違え方で見えている状態です。

USER_IND_COLUMNSで見える、SYS_NC00064$等のカラム名表示
これの解析方法が私にはわかりませんので、こうすれば良い
という回答がわかりません。EMですら間違えてしまう、
動的パフォーマンスビューの逆順表示。。。

どう見れば良いのか、もしわかって、公開できる内容でしたら、
いつか教えていただければと思っております。
こんにちは
後迫@SIです。

追加情報をいただきありがとうございます。
開発側に伝えさせていただきます。

ディクショナリビューから、
「SYS_NC00064$」などの名称をキーにして、
正しい列名を抽出できれば、表示することが可能と考えておりますが、
OEMでも表示できないということであれば、それができない可能性もあります。

現状では、修正可能かどうか、
また具体的な修正方法については検討できておりませんが、
進展があり次第アナウンスさせていただきますので、
どうぞよろしくお願いいたします。
今更ではありますが、ファンクション索引の調査方法がわかりましたので、
お伝えしておきます。

DBA_IND_EXPRESSIONSを使うと見れます。

もしまだ春の時期バージョンに間に合うなら・・・