領域管理関連
エクステントの獲得状態 (テーブル)
指定したテーブルのエクステント数、ブロック数、バイト数が分かる
エクステント数はあくまで領域予約であり、実際に使用しているとは限らない。
SELECT
SEGMENT_NAME, TABLESPACE_NAME, EXTENTS, BLOCKS, BYTES
FROM
DBA_SEGMENTS
WHERE
OWNER = 'xxDB_USERxx'
AND SEGMENT_TYPE = 'TABLE'
AND SEGMENT_NAME IN ( 'xxTABLE_NAMExx' ) ;
断片化 (断片化の状態)
断片化情報の取得
エクステントの個々の 断片化 に関して詳細がわかる。(エクステントの断片化)
ディクショナリ管理の場合にはエクステントの断片化がわかる
SELECT
SEGMENT_NAME, TABLESPACE_NAME, FILE_ID, BLOCK_ID, BLOCKS, BYTES
FROM
DBA_EXTENTS
WHERE
OWNER = 'xxUSER_NAMExx'
AND SEGMENT_TYPE = 'TABLE'
AND SEGMENT_NAME IN ( 'xxTABLE_NAMExx' ) ;
テーブル属性の操作 ( 表領域とデータファイルのリサイズ、NOLOGGING)
テーブルスペースのリサイズ
データファイルのリサイズ
テーブルのロギング属性(LOGGING/NOLOGGING)
以下の特定の処理に対してREDOログを生成することを抑制できるオプション
※通常のDMLによるREDOログは発生する。
ALTER TABLE tablename { NOLOGGING | LOGGING } ;
NOLOGGING により影響のある SQL
- ダイレクトパスの処理( SQL*Loader、INSERT /*+APPEND */ SELECT 〜)
- CREATE TABLE 〜 AS SELECT 〜
- ALTER TABLE 〜 MOVE PARTITION
- ALTER TABLE 〜 SPLIT PARTITION
- LOBテーブルに格納されるNOCACHE NOLOGGING モードのLOBの INSERT、UPDATE および DELETE
- INDEX の作成
RECOVERY不要のデータファイルのON/OFFLINE操作
ALTER DATABASE DATAFILE filespec OFFLINE / ONLINE操作には通常RECOVERY操作が必要である。
これはデータファイル間で異なる チェックポイント 情報を調整するための作業。
そこで作業中に REDOログファイルがSWITCHさえしなければ リカバリはしなくてもよい。
以下のSQLを実行しておくとREDOが十分に大きければ再ONLINE前のRECOVERY操作が不要になる可能性は上がる。
ALTER SYSTEM ARCHIVE LOG CURRENT;