NT版Oracle8.0.5で表領域の現在のエクステント数を知る方法(SQL)を教えて下さい。

このQ&Aに関連する最新のQ&A

フリー Oracle」に関するQ&A: oracle,sql-server,DB2,フリーDB

SQL 本」に関するQ&A: SQLの本

ltd co」に関するQ&A: inc とco ltdの違いって?

A 回答 (6件)

こんにちわ。


こんなのでどうですか?

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

表領域ごとのエクステントの数だと思いますよ。
    • good
    • 0
この回答へのお礼

ご回答いただいて申し訳ないのですが、セグメント毎のEXTENT数のように思えるのですが。
表領域毎のEXTENT数とすると同じ表領域で同じEXTENT_IDは存在しないのではないかと思いますが、自分の使っている環境では存在します。

お礼日時:2001/03/29 15:30

エクステント状況を調査するための方法と書いてある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
    • good
    • 0
この回答へのお礼

何度もご回答ありがとうございます。
ds_segment_name は ds.segment_name 、
ds_segment_type は ds.segment_type の誤りと思われます。
&WARN_EXTENTS も定義しないといけないでしょう。
それから重要な点なんですが、dba_segmentsにはtablespaceに関するエクステント情報はないようです。

お礼日時:2001/03/16 09:10

こんにちは。

再登場の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日間の試用期限付きで
利用はできます。
あっ、操作には十分に注意して下さいね。
(表領域を簡単に削除出来たりするので・・・)

ではでは・・・

参考URL:http://www.sint.co.jp/
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
お手数をおかけしました。
参考にさせていただきます。

お礼日時:2001/03/14 12:59

 すみません。

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

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

 ・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等を使って、使っていない領域から逆算する方法もあると思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
今回知りたいのは未使用領域ではなく、表領域自体のエクステント数です。表領域を何回拡張したかです。

お礼日時:2001/03/14 12:57

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
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
現在エクステントがいくつ目なのかということが知りたいのですが、いかがでしょうか。
TABLEの場合、EXTENTSという項目があるのですがTABLESPACEにはないのでしょうか。

お礼日時:2001/03/13 23:49

こんにちは。



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

ご回答ありがとうございます。
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

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QOracle8.0.5で、差分ロードする際、処理を高速化させる方法を教えて下さい

Oracle8.0.5で、差分ロードする際、
処理を高速化させる方法を教えて下さい。

Oracleの知識がほとんど無いので、作業が簡単で
効率的な方法を特に募集します。

よろしくお願いいたします。

Aベストアンサー

ロードはSQLLorderでいいんですよね?

>(1)TEMPテーブルにデータをロード
>(2)TEMPテーブルから本テーブルにInsert文で差分を抽出する
>(3)本テーブルにUPDATE文で差分データ文をUPDATEする。

(2)、(3)の区別をするためのマッチングは、相関副問い合わせで行ってますか?
もし、そうであれば、(2)の処理に時間がかかるはずです。
(件数にもよりますが)。
相関副問い合わせで更新対象のレコードを削除してしまい、本テーブルにすべての差分データをロードするという手もあります。



>Tableは、単純作成しただけで、インデックス等
>を一切張っておりません。

主キーもないんですか?
ないと更新という考えが出来ないはずですが。
主キーはあるというのなら、TEMPにもはってますか?

QOracle9iで必要なインストール領域とメモリ領域について

Oracle9i(Database Enterprise Edition)を導入しようしており、必要なディスク容量
やメモリ量を見積もっています。環境はSolaris9です。
・インストール領域としてどれだけの領域が必要でしょうか?おおそよの数値で
 けっこうです。
・Oracleで使うメモリ容量を算出する方法があればおしえてください。
 「ここに出ていますよ」という情報でもけっこうです。

よろしくお願い致します。

Aベストアンサー

・インストール領域は多分100M前後だったと思います。が、データ領域を考えるとゴミみたいなものですから、意識する必要は殆ど無いかと思われます。

・メモリ必要量はインストール時に512MB必要です。実際にはDB設計及びデータ量、利用形態(プログラムの組み方等)によって大きく異なりますので個別の案件毎に対応が必要かと思われます。少なくともEEが必要な要件であれば最低でも1G以上になると思いますが・・・

QOracleのsystem表領域について

ORACLE初心者です。

system表領域がいっぱいになる現象が発生しました。(使用率98%)
原因調査を依頼されましたが、system表領域がどのような要素で
構成され、増えていくのか分かりません。

(環境)
Windows2000Server
Oracle 8.1.6 WorkGroupServer

ユーザのデフォルト表領域はちゃんと指定しているとの事です。
何か情報がありましたら、教えていただきたくお願いします。

Aベストアンサー

SQL*PLUSを起動し、一般ユーザが使用しているユーザIDで
ログインしてください。

そして、
select table_name,tablespace_name
from user_tables;
を実行します。

テーブル名と表領域名が表示されますので、表領域systemを
占有しているテーブル名がわかるかと思います。

QOracle8.1.7の、表領域の上限をお教え下さい

Oracle8.1.7の、表領域の上限をお教え下さい。

表領域は、100Gの領域を作成する予定です。
複数ファイルで分割して作るのではなく、
1ファイルで作成しようと思っております。
(OSは、Windows2000で、Win2000上では、1ファイルの上限は2テラ
まで、大丈夫との事です)

よろしくお願いいたします。

Aベストアンサー

こんにちわ。

Oracle の表領域についてですが、表領域を構成する1データファイル
サイズは、約400万ブロックに制限されています。
つまり、データファイルサイズはDB_BLOCK_SIZE の設定によって
異なります。
仮に、DB_BLOCK_SIZE = 16K で作成した場合、約64GB が上限になります。
→ 100GB の表領域を作成するには、最低2つのデータファイルが必要に
なりますが、バックアップの事を考えると、もう少データファイルサイズを
小さくした方が良いと思います。

QOracle バッファ領域について

Oracleでユーザをエクスポートした際に、ストアドプロシージャのところで、
ORA-01406 取り出された列の値は切り捨てられました
というエラーが出ました。

これはプログラム・バッファ領域が文字列全体を格納するために十分な大きさではない、という意味らしく、対処として、最大列値を保持できるよう列のバッファ領域を増やす必要があるようです。
具体的に何をすればいいのか、上の説明ではよくわかりませんでした。
(結局そのバッファ領域はどこで設定するのか等)
詳しい方がいれば、お教えください。
よろしくお願い致します。

Aベストアンサー

ORACLE7なら、
initorcl.oraというファイルを
いじくればよかったのですが…。

バージョンはいくつですか?
ORACLEのデータを
見るツールは何を使っていますか?


このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング

おすすめ情報