-PR-
締切済み

Oracle8で表領域の現在のエクステント数を知る方法

  • 困ってます
  • 質問No.50780
  • 閲覧数922
  • ありがとう数6
  • 気になる数0
  • 回答数6
  • コメント数0

お礼率 84% (21/25)

NT版Oracle8.0.5で表領域の現在のエクステント数を知る方法(SQL)を教えて下さい。
通報する
  • 回答数6
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全6件)

  • 回答No.1
レベル10

ベストアンサー率 47% (77/163)

こんにちは。

[表領域]ってTABLESPACEのことですよね?
NT版ではちょっと自信ないのですが、
SERVER版ではテーブル[SYS.DBA_DATA_FILES]を参照すれば
EXTENTを確認できると思います。
ORACLE8なので同じだとは思うのですが違いますか?
ちなみにSQL文だと
----------------------------------------------------
SELECT * FROM SYS.DBA_DATA_FILES
WHERE TABLESPACE_NAME = 'XXXXXXX';
----------------------------------------------------
になると思います。
間違っていたらごめんなさいです。
ではでは・・・
お礼コメント
hyuhyupopo

お礼率 84% (21/25)

ご回答ありがとうございます。
NT版ではやはり異なるようです。
SYS.DBA_DATA_FILESには
FILE_NAME, FILE_ID, TABLESPACE_NAME, BYTES,
BLOCKS, STATUS, RELATIVE_FNO, AUTOEXTENSIBLE,
MAXBYTES, MAXBLOCKS, INCREMENT_BY
がありますがEXTENTSはありません。
NT版では表領域と、表領域を構成する物理ファイルが別れていますが、これは物理ファイルの情報のようです。
投稿日時 - 2001-03-13 12:47:58


  • 回答No.6
レベル8

ベストアンサー率 46% (18/39)

こんにちわ。
こんなのでどうですか?

SELECT TABLESPACE_NAME, COUNT(EXTENT_ID), SUM(BYTES) FROM DBA_EXTENTS
GROUP BY TABLESPACE_NAME;

表領域ごとのエクステントの数だと思いますよ。
お礼コメント
hyuhyupopo

お礼率 84% (21/25)

ご回答いただいて申し訳ないのですが、セグメント毎のEXTENT数のように思えるのですが。
表領域毎のEXTENT数とすると同じ表領域で同じEXTENT_IDは存在しないのではないかと思いますが、自分の使っている環境では存在します。
投稿日時 - 2001-03-29 15:30:00
  • 回答No.4
レベル10

ベストアンサー率 47% (77/163)

こんにちは。再登場のpaz777です。

ちょっと勘違いしていました。
σ(^^)の回答は[ALTER TABLESPACE ADD DATAFILE]で追加
した場合を想定していました。
ご質問の件は[AUTOEXTENTS]で増分された数を知りたいの
ですよね?
色々と調べてみましたが、今現在、見つけることが出来て
いません。

お詫びと言ってはなんですが、以下の URLから
「Object Browser for Windows Version 7.0」
(Copyright(c) 1997-2000 System Integrator Co.,Ltd)
ってソフトがDLでき、このソフトで表領域の監視が行えます。
http://www.sint.co.jp/

フリーソフトでは無いのですが30日間の試用期限付きで
利用はできます。
あっ、操作には十分に注意して下さいね。
(表領域を簡単に削除出来たりするので・・・)

ではでは・・・
お礼コメント
hyuhyupopo

お礼率 84% (21/25)

ご回答ありがとうございます。
お手数をおかけしました。
参考にさせていただきます。
投稿日時 - 2001-03-14 12:59:43
  • 回答No.2
レベル12

ベストアンサー率 33% (196/589)

Oracle7のマニュアルを見たのですが、多分同じではないでしょうか。

SELECT tablespace_name "TABLSPACE", initial_extent "INITIAL_EXT", next_extent "NEXT_EXT", min_extents "MIN_EXT", max_extents "MAX_EXT", pct_increase FROM sys.dba_tablespaces;

※以下は、表示例ですが、スペースが詰まってしまって見ずらくなってしまいました。

TABLESPACE INITIAL_EXT NEXT_EXT MIN_EXT MAN_EXT PCT_INCREASE
---------- ----------- -------- ------- ------- ------------
SYSTEM 10240000 10240000 1 99 50
USERS 10240000 10240000 1 99 50
お礼コメント
hyuhyupopo

お礼率 84% (21/25)

ご回答ありがとうございます。
現在エクステントがいくつ目なのかということが知りたいのですが、いかがでしょうか。
TABLEの場合、EXTENTSという項目があるのですがTABLESPACEにはないのでしょうか。
投稿日時 - 2001-03-13 23:49:55
  • 回答No.3
レベル12

ベストアンサー率 33% (196/589)

 すみません。下の回答をしたものですが、”現在のエクステント数”の回答になっていませんでした。

 マニュアルを調べて直して見ましたら、エクステントに関係する情報は、次のデータ・ディクショナリ・ビユーに含まれると有ります。

 ・USER_EXTEXTS
 ・DBA_EXTENTS
 ・USER_FREE_SPACE
 ・DBA_FREE_SPACE

使用例は、次以下参照して下さい。

 SELECT segment_name, bytes, blocks
FROM sys.dba_extents
WHERE segment_type = 'ROLLBACK' ;

 ここで、'ROLLBACK'の所を'TABLE'に変更すれば、表の情報がえられます。
 但し、このやり方では、表領域の情報は得られないので、各表の情報を合計して表領域全体の情報を得る必要があるようです。
 逆に、DBA_FREE_SPACE等を使って、使っていない領域から逆算する方法もあると思います。
お礼コメント
hyuhyupopo

お礼率 84% (21/25)

ご回答ありがとうございます。
今回知りたいのは未使用領域ではなく、表領域自体のエクステント数です。表領域を何回拡張したかです。
投稿日時 - 2001-03-14 12:57:31
  • 回答No.5
レベル12

ベストアンサー率 33% (196/589)

エクステント状況を調査するための方法と書いてあるSQLを見つけましたので、参考のためにアップします。
本に書いてある内容をそのまま書いておきます。
自信はないのですが、役にたつかもしれないのでアップしておきます。
まとはずれだったら、ごめんなさい。

column sys_date new_value_sysdate noprint
column owner format a12 heading "OWNER"
column segment_name format a25 trunc heading "SEGMENT/NAME"
column segment_type format a10 trunc heading "SEGMENT/TYPE"
column kbytes format 9,999,999 heading "KBYTES"
column extents format 9,999,999 heading "EXTENTS"
column max_extents format 99999 heading "MAX/EXTENTS"

select to_char(sysdate,'Dy DD-Mon-YY HH:MI PM')SYS_DATE,
ds.owner, ds_segment_name, ds_segment_type,
ds.bytes/1024 kbytes, ds.extents,ds.max_extents
from sys.dba_segments ds
where ds.extents>&WARN_EXTENTS
order by ds.extents desc, ds.owner
お礼コメント
hyuhyupopo

お礼率 84% (21/25)

何度もご回答ありがとうございます。
ds_segment_name は ds.segment_name 、
ds_segment_type は ds.segment_type の誤りと思われます。
&WARN_EXTENTS も定義しないといけないでしょう。
それから重要な点なんですが、dba_segmentsにはtablespaceに関するエクステント情報はないようです。
投稿日時 - 2001-03-16 09:10:26
このQ&Aのテーマ
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ