- PR -

Oracle segment_name と関連するテーブル

1
投稿者投稿内容
ac廃止。
会議室デビュー日: 2006/05/16
投稿数: 18
投稿日時: 2006-11-17 10:18
ご存知の方いれば教えてください。

こんな感じの SQL で、領域消費を調べています。

set line 150
select owner
,substr(segment_name,1,20) SEG_NAME
,segment_type
,bytes BYTES
from sys.dba_segments
where owner in ('aaa','bbb','ccc')
and segment_type = 'TABLE'
and bytes > 65536
order by owner, bytes;



対象テーブル名称を洗い出したいのですが、
システムテーブルの紐付けがよく理解できていなくて困っています。

segment_name とユーザテーブル名称は、どのシステムテーブルと関連があるでしょう。

よろしくお願いいたします。
もしもし
ぬし
会議室デビュー日: 2004/10/15
投稿数: 280
投稿日時: 2006-11-17 11:55
つ [user|all|dba]_tables
_________________
もしもし@RMAN 友の会
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2006-11-17 15:05
DBA_SEGMENTS と DBA_TABLES や DBA_OBJECTS と結合することで、必要な情報を取得することができるように思いますが。
ac廃止。
会議室デビュー日: 2006/05/16
投稿数: 18
投稿日時: 2006-11-18 23:55
そのようですね。。

all_*, user_* のほうだけを見ていました。しかも関係ない列を見ていました。
SQL 結果の件数が多少合わない感じですが、何とかなると思います。

それと、Oracle のシステムテーブルの場合、キーのつながりが、
値と件数を見てみないと、はっきりとは分かりません。
どのデータベースもそういう面あると思いますが、
特に Oracleって、ER 図がなぜないのでしょう? 見たことある方いるでしょうか?
なにか、それ系のフリーのツールなどがあれば、便利かなと思うのですが。。
1

スキルアップ/キャリアアップ(JOB@IT)