■SI Object Browser 掲示板


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

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

discussion
※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】
※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。
※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。
※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。
表領域情報の表示遅延について 2010/04/21 13:26 OB 2
SIObjectBrowser10で表領域情報の表示をしようとした場合、情報表示されるまでに
約4分。
表示された画面でデータファイルタブを選択すると、情報表示されるまで約18分必要としました。
ちなみに同じ画面でロールバックセグメントタブを選択すると数秒で情報が表示されます。

以下SQL文を直接実行すると、瞬時に応答あります。
 SELECT * FROM dba_tablespaces;
 SELECT * FROM dba_data_files;
 SELECT * FROM dba_temp_files;

ObjectBrowserでの動作でこうなってしまうのか、データベース側でなんらかの不具合が
発生しているのかの切り分けを行いたいので、アドバイス頂けますでしょうか?

環境は以下の通りです。
Oracleバージョン:10.1.0.5
ObjectBrowserバージョン:10.2.1.1

以上、よろしくお願いします。
こんにちは
栗田@SIです。

ご返信が遅くなり、申し訳ございません
ご質問頂いた件についてですが、各画面の表示時には、
以下のSQLを発行しております。

よろしければ、こちらをSQLPlus等で実行頂き、
問題切り分けにご活用ください。

表領域タブ表示時:
SELECT D.TABLESPACE_NAME
,NVL
(U.BYTES
,0
)
,NVL
(U.MAXBYTES
,0
)
,NVL
(F.BYTES
,0
)
,D.STATUS
,D.CONTENTS
,NULL BLOCK_SIZE
,D.INITIAL_EXTENT
,D.NEXT_EXTENT
,D.MIN_EXTENTS
,D.MAX_EXTENTS
,D.PCT_INCREASE
,D.MIN_EXTLEN
,D.LOGGING
,D.EXTENT_MANAGEMENT
,D.ALLOCATION_TYPE
,D.PLUGGED_IN
,NULL SEGMENT_SPACE_MANAGEMENT
FROM DBA_TABLESPACES D
,
(
SELECT TABLESPACE_NAME
,SUM
(BYTES
) BYTES
,SUM
(MAXBYTES
) MAXBYTES
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME
) U
,
(
SELECT TABLESPACE_NAME
,SUM
(BYTES
) BYTES
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME
) F
WHERE
(D.EXTENT_MANAGEMENT <>
'LOCAL
'
OR D.CONTENTS <>
'TEMPORARY
'
)
AND D.TABLESPACE_NAME = U.TABLESPACE_NAME(+)
AND D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
UNION ALL
SELECT D.TABLESPACE_NAME
,NVL
(U.BYTES
,0
)
,NVL
(U.MAXBYTES
,0
)
,NVL
(U.BYTES
,0
) - NVL
(F.BYTES
,0
)
,D.STATUS
,D.CONTENTS
,NULL BLOCK_SIZE
,D.INITIAL_EXTENT
,D.NEXT_EXTENT
,D.MIN_EXTENTS
,D.MAX_EXTENTS
,D.PCT_INCREASE
,D.MIN_EXTLEN
,D.LOGGING
,D.EXTENT_MANAGEMENT
,D.ALLOCATION_TYPE
,D.PLUGGED_IN
,NULL SEGMENT_SPACE_MANAGEMENT
FROM DBA_TABLESPACES D
,
(
SELECT TABLESPACE_NAME
,SUM
(BYTES
) BYTES
,SUM
(MAXBYTES
) MAXBYTES
FROM DBA_TEMP_FILES
GROUP BY TABLESPACE_NAME
) U
,
(
SELECT TABLESPACE_NAME
,SUM
(BYTES_CACHED
) BYTES
FROM V$TEMP_EXTENT_POOL
GROUP BY TABLESPACE_NAME
) F
WHERE D.EXTENT_MANAGEMENT =
'LOCAL
'
AND D.CONTENTS =
'TEMPORARY
'
AND D.TABLESPACE_NAME = U.TABLESPACE_NAME(+)
AND D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)

データファイルタブ表示時:
SELECT D.FILE_NAME
,D.TABLESPACE_NAME
,D.BYTES
,D.MAXBYTES
,SUM
(S.BYTES
)
,T.STATUS
FROM DBA_DATA_FILES D
,DBA_FREE_SPACE S
,DBA_TABLESPACES T
WHERE D.FILE_ID = S.FILE_ID (+)
AND D.TABLESPACE_NAME = T.TABLESPACE_NAME
GROUP BY D.FILE_NAME
,D.TABLESPACE_NAME
,T.STATUS
,D.BYTES
,D.MAXBYTES
UNION ALL
SELECT D.FILE_NAME
,D.TABLESPACE_NAME
,D.BYTES
,D.MAXBYTES
,D.BYTES - NVL
(SUM
(S.BYTES_CACHED
)
,0
)
,T.STATUS
FROM DBA_TEMP_FILES D
,V$TEMP_EXTENT_POOL S
,DBA_TABLESPACES T
WHERE D.FILE_ID = S.FILE_ID (+)
AND D.TABLESPACE_NAME = T.TABLESPACE_NAME
GROUP BY D.FILE_NAME
,D.TABLESPACE_NAME
,T.STATUS
,D.BYTES
,D.MAXBYTES

※表示の都合上、"<>"を全角にしております。
置き換えてご利用ください。

何卒よろしくお願いいたします。
栗田 様

情報提供ありがとうございます。

色々と確認した結果、どうもオブジェクトの数が多い事がひとつの
原因に思い、調査したところ、$BINファイルが異常な数(約40000件)
存在していました。
それら不要なものを削除し再度表領域情報を表示させたところ、
瞬時に結果が帰ってくる状況になりました。

助言ありがとうございました。

以上です