SQL データディクショナリ・ビュー

データディクショナリ・ビューã¨ã¯ï¼Ÿ

ãƒ¦ãƒ¼ã‚¶ãƒ¼ã€æ¨©é™ã€é ˜åŸŸã€åˆ¶ç´„ãªã©ã® æ ¹å¹¹çš„ãªæƒ…å ±ã‚’ä¿æŒã™ã‚‹èª­ã¿å–り専用ã®è¡¨ã¨ãƒ“ュー
データディクショナリ表ã¯ã€DDLãªã©ãŒå®Ÿè¡Œã•れスキーマ構造ãŒå¤‰æ›´ã•れるãªã©ã®è¡Œç‚ºã«ã‚ˆã£ã¦è‡ªå‹•çš„ã«æ›´æ–°ã•れる。
é™çš„ディクショナリã¨ã‚‚よã°ã‚Œã‚‹ ⇔ 動的パフォーマンス・ビュー
ディクショナリ表ã¸ã¯ã€ç›´æŽ¥ã‚¢ã‚¯ã‚»ã‚¹ã§ããªã„。以下ã®ãƒ“ューを経由ã—ã¦ã‚¢ã‚¯ã‚»ã‚¹ã‚’行ã†ã€‚
ALL_~
ユーザーãŒã‚¢ã‚¯ã‚»ã‚¹ã§ãる情報(ä»–ã®ã‚¹ã‚­ãƒ¼ãƒžå«ã‚€)
USER_~
ユーザーã®ã‚¹ã‚­ãƒ¼ãƒž(ユーザー)ã®æƒ…å ±
DBA_~
データベース全体ã«é–¢é€£ã™ã‚‹æƒ…å ±(SELECT ANY TABLEã€SELECT ANY DICTIONARY権é™ãŒå¿…è¦ï¼šDBAロール)
SYSTEMè¡¨é ˜åŸŸã«æ ¼ç´ã•れã¦ã„る。
一般ユーザーã¯SYSTEM表領域ãŒOPENã•れるã¾ã§ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ããªã„。
管ç†ãƒ¦ãƒ¼ã‚¶ãƒ¼(SYSDBAã€SYSOPERä¿æŒãƒ¦ãƒ¼ã‚¶ãƒ¼)ã¯â—‹

一覧

select * from dictionary;

テーブル情報

USER_COL_COMMENTS

SELECT
 TABLE_NAME テーブルå
 COLUMN_NAME 列å
 COMMENTS 列コメント
FROM
 USER_COL_COMMENTS;

USER_TAB_COLUMNS

SELECT
 TABLE_NAME テーブルå
 COLUMN_NAME 列å
 DATA_TYPE 項目ã®åž‹ã€‚VARCHAR2ã‚„NUMBERãªã©
 DATA_LENGTH 項目長。文字項目ã®å ´åˆæƒ³å®šã—ãŸå€¤ãŒãã®ã¾ã¾ã€‚NUMBERåž‹ã®22固定。
 DATA_PRECISION 数値ã®ç²¾åº¦(NUMBER(8,3)ã¨ã‹ã®8ã®éƒ¨åˆ†)
 DATA_SCALE 数値ã®å°æ•°éƒ¨(NUMBER(8,3)ã¨ã‹ã®3ã®éƒ¨åˆ†)
 NULLABLE NULL値を許å¯ã™ã‚‹ã‹ã©ã†ã‹ã€‚NULLを許容ã™ã‚‹å ´åˆã€Y
 COLUMN_ID テーブル内ã§ã®é …ç›®ã®ä½ç½®
FROM
 USER_TAB_COLUMNS

ビュー情報

SELECT
 VIEW_NAME VIEWå
 TEXT VIEWã®å®šç¾©ã«ä½¿ç”¨ã—ãŸSQL
FROM
 USER_VIEWS

インデックス情報

SELECT * FROM USER_IND_COLUMNS WHERE TABLENAME LIKE = '%~%'

シーケンス情報

一覧
SELECT * FROM USER_SEQUENCES;
ç¾åœ¨å€¤
SELECT LAST_NUMBER FROM ALL_SEQUENCES WHERE SEQUENCE_NAME = 'シーケンスå';

表領域情報

SELECT * FROM USER_TABLES ORDER BY TABLESPACE_NAME;

ユーザー情報

SELECT * FROM DBA_USERS;

所有者情報

ALL_COL_COMMENTS

USER_COL_COMMENTSã®å„列
所有者
OWNER
例
SELECT
 OWNER
 TABLE_NAME
 COLUMN_NAME
 COMMENTS
FROM
 ALL_COL_COMMENTS;

ALL_DIRECTORIES

OWNER
DIRECTORY_NAME
DIRECTORY_PATH
ORIGIN_CON_ID

インスタンス情報

インスタンス

インスタンスã®çŠ¶æ…‹
SELECT status FROM v$instance;
→

ステータス コマンド
OPEN STARTUP ã¾ãŸã¯ ALTER DATABASE OPEN後
OPEN MIGRATE ALTER DATABASE OPEN { UPGRADE | DOWNGRADE }後
MOUNTED STARTUP MOUNT ã¾ãŸã¯ ALTER DATABASE CLOSE後
STARTED STARTUP NOMOUNT後

セッション情報

SELECT SID, SERIAL# FROM v$session WHERE USERNAME = ~;
â€»çµæžœ
100 200
101 201

セッションを削除
ALTER SYSTEM KILL SESSION '100, 200'

キャッシュ

共有プールクリア
※ディクショナリã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã€SQLæ–‡ã€ãƒ‘ッケージã€å®Ÿè¡Œè¨ˆç”»
ALTER SYSTEM FLUSH BUFFER_CACHE;

データベース・ãƒãƒƒãƒ•ァ・キャッシュクリア
※データブロック
ALTER SYSTEM FLUSH BUFFER_CACHE;

文字コード

SELECT * FROM V$NLS_PARAMETERS WHERE PARAMETER = 'NLS_CHARACTERSET';
SELECT character_set_name FROM information_schema.character_sets;

DUAL表

全ユーザãŒå‚ç…§ã§ãるシステム表
1列(DUMMY列)ã€1行(値ï¼'X')ã§æ§‹æˆã•れる
SELECT * FROM DUAL;
テストã«ä¾¿åˆ©
SELECT INITCAP('AAA') FROM DUAL;
→Aaa
※DUALè¡¨ã«æ ¼ç´ã•れã¦ã„る値ã¨é–¢ä¿‚ãªã„åˆ—ã‚’è‡ªåˆ†ã§æŒ‡å®šã—ã¦å‡ºåŠ›ã™ã‚‹

Follow me!