TABLE(表)の情報を参照するには、
TABLESデータディクショナリビューを参照します。
TABLESデータディクショナリの種類
TABLESデータディクショナリビューには以下3種類があります。
DBA_TABLES | 全てのTABLE情報を対象とする ※権限が必要 |
---|---|
ALL_TABLES | ログインユーザが参照可能なTABLEを対象とする |
USER_TABLES | ログインユーザが保持するTABLEを対象とする |
TABLESデータディクショナリの定義
TABLESデータディクショナリの定義です。
(DBA_TABLES/ALL_TABLES/USER_TABLESの違いは、OWNER列のありなしのみです。)
列名 | 型 | メモ |
---|---|---|
OWNER | VARCHAR2(30) | テーブルの所有者 ※DBA_TABLES/ALL_TABLESのみ |
TABLE_NAME | VARCHAR2(30) | テーブル名 ※大文字 |
TABLESPACE_NAME | VARCHAR2(30) | 表領域名 |
CLUSTER_NAME | VARCHAR2(30) | |
IOT_NAME | VARCHAR2(30) | |
STATUS | VARCHAR2(8) | ステータス (VALID:使用可 UNUSABLE:使用不可) |
PCT_FREE | NUMBER | |
PCT_USED | NUMBER | |
INI_TRANS | NUMBER | |
MAX_TRANS | NUMBER | |
INITIAL_EXTENT | NUMBER | |
NEXT_EXTENT | NUMBER | |
MIN_EXTENTS | NUMBER | |
MAX_EXTENTS | NUMBER | |
PCT_INCREASE | NUMBER | |
FREELISTS | NUMBER | |
FREELIST_GROUPS | NUMBER | |
LOGGING | VARCHAR2(3) | |
BACKED_UP | VARCHAR2(1) | |
NUM_ROWS | NUMBER | |
BLOCKS | NUMBER | |
EMPTY_BLOCKS | NUMBER | |
AVG_SPACE | NUMBER | |
CHAIN_CNT | NUMBER | |
AVG_ROW_LEN | NUMBER | |
AVG_SPACE_FREELIST_BLOCKS | NUMBER | |
NUM_FREELIST_BLOCKS | NUMBER | |
DEGREE | VARCHAR2(10) | |
INSTANCES | VARCHAR2(10) | |
CACHE | VARCHAR2(5) | |
TABLE_LOCK | VARCHAR2(8) | |
SAMPLE_SIZE | NUMBER | |
LAST_ANALYZED | DATE | 統計情報を最後に更新した日時 |
PARTITIONED | VARCHAR2(3) | |
IOT_TYPE | VARCHAR2(12) | |
TEMPORARY | VARCHAR2(1) | |
SECONDARY | VARCHAR2(1) | |
NESTED | VARCHAR2(3) | |
BUFFER_POOL | VARCHAR2(7) | |
FLASH_CACHE | VARCHAR2(7) | |
CELL_FLASH_CACHE | VARCHAR2(7) | |
ROW_MOVEMENT | VARCHAR2(8) | |
GLOBAL_STATS | VARCHAR2(3) | |
USER_STATS | VARCHAR2(3) | |
DURATION | VARCHAR2(15) | |
SKIP_CORRUPT | VARCHAR2(8) | |
MONITORING | VARCHAR2(3) | |
CLUSTER_OWNER | VARCHAR2(30) | |
DEPENDENCIES | VARCHAR2(8) | |
COMPRESSION | VARCHAR2(8) | |
COMPRESS_FOR | VARCHAR2(12) | |
DROPPED | VARCHAR2(3) | |
READ_ONLY | VARCHAR2(3) | 読み取り専用かどうか (Y:読取専用 N:読取専用でない) |
SEGMENT_CREATED | VARCHAR2(3) | |
RESULT_CACHE | VARCHAR2(7) |
サンプル
TABLESデータディクショナリビューを検索するサンプルです。
1 2 |
SELECT table_name FROM ALL_TABLES; |
1 2 3 |
SELECT table_name FROM DBA_TABLES WHERE OWNER = 'TARO'; |
1 2 3 |
SELECT table_name, tablespace_name FROM USER_TABLES WHERE TABLE_NAME = 'M_USER'; |
メモ
- TABLE_NAMEを検索条件とする場合、TABLE名は必ず大文字で指定してください。
- DBA_TABLESを検索する場合は、すべてのTABLEを参照する権限が必要です。
- USER_TABLESは、「TABS」シノニムでもアクセス可能です。 (例)SELECT * FROM TABS;