ロール 権限の集合
エクステント 連続したデータブロック
オラクルは表やインデックスにエクステント単位で領域を割り当てる。
たとえあきブロックがあっても、連続していなければ、エクステントとして確保できない。
セグメント 特定のタイプのデータ構造に対して割り当てたエクステントの論理的な集合
SQL*Plus
表記規則
[ ] カッコ内は省略可能
a | b aかbの何れかを選択
'text' 任意の文字列を指定
'char' 任意の文字を指定
n 任意の数字
コマンド
列ヘッダーの表示設定 SET HEA[DING] ON | OFF
オートコミット SET AUTO[COMMIT] ON | OFF | n
NULL文字の表示設定 SET NULL 'text '
NULL文字の表示設定(指定列に対して有効) COL 列名 'text '
列の表示分割 COL 列名 HEA 'text1 | text2 '
( 指定文字列の間の「|」は改行表示)
折り返した列の値の後で指定文字の行を出力する方法 SET RECSEP WR | OFF
SET RECSEPCHAR 'char'
処理内容をファイルに保存する SPOOL ファイル名
SPOOL OFF
(SPOOL OFFするまでの内容が保存される)
改ページでポーズ SET PAU 'text'
ポーズ解除 SET PAU OFF
列セパレータ SET COLSEP 'text'
1行の文字数 SET LIN 80 | n
一度にDBからフェッチするバッチの行数設定 SET ARRAY 5 | n
経過時間の表示
(クエリ結果が完全に表示されるまでの時間) SET TIMING ON
複数のSQLの組み合わせ時間を計測する場合 (SET TIMING ON してから)
TIMING START
TIMING STOP
クエリ結果が表示されないようにして時間計測する場合 SET AUTOTRACE TRACEONLY
PL/SQL
乱数パッケージのインストール
@?/rdbms/admin/catoctk.sql
乱数を使ったサンプルプログラム
-- 画面に出力する
SET SERVEROUTPUT ON;
DECLARE
num NUMBER;
BEGIN
-- 乱数パッケージ初期化処理
-- 10000以下の範囲で乱数を発生させる
-- (シード値は5桁以上を推奨)
DBMS_RANDOM.INITIALIZE( 10000 );
-- 10個の乱数を表示する
FOR cnt IN 1..10 LOOP
-- 乱数の取得
-- 取得した値は負も含むため、絶対値を求める
num := ABS( DBMS_RANDOM.RANDOM );
-- 更に100の剰余を答えとする
num := MOD( num , 100 );
-- 画面に表示
DBMS_OUTPUT.PUT_LINE( '乱数' | cnt | ' = ' | num );
END LOOP;
-- 乱数パッケージ終了処理
DBMS_RANDOM.TERMINATE;
END;
情報収集のSQL
テーブルの列構成の表示
DESC テーブル名
ユーザーテーブルの表示
SELECT TABLE_NAME,TABLESPACE_NAME
,CLUSTER_NAME, IOT_NAME
,NUM_ROWS,SAMPLE_SIZE,LAST_ANALYZED
FROM USER_TABLES;
USER_TABLES は TAB と省略できる
データディクショナリ一覧
SELECT TABLE_NAME,COMMENTS FROM DICT;
INDEX情報の取得
SELECT INDEX_NAME,TABLE_NAME,TABLESPACE_NAME
FROM USER_INDEXES;
セッション情報
SELECT SID, SERIAL#,
STATUS, USERNAME, SCHEMANAME, OSUSER,
TERMINAL, MACHINE, PROGRAM, A.NAME
FROM V$SESSION S, AUDIT_ACTIONS A
WHERE S.COMMAND = A.ACTION;
関連:セッションの切断について 参照
テーブル情報
SELECT TABLE_NAME FROM USER_TABLES;
ビュー情報
SELECT VIEW_NAME, TEXT FROM USER_VIEWS;
バージョン情報
SELECT * FROM V$VERSION;
一時セグメント領域の確認
SELECT TABLESPACE_NAME, CONTENTS FROM DBA_TABLESPACES;
ユーザ作成
CREATE USER ユーザ名
INDENTIFIED BY パスワード
[ DEFAULT TABLESPACE 表領域名 ]
[ TEMPORARY TABLESPACE 表領域名 ]
[ QUOTA サイズ | UNLIMITED ON 表領域名 ]
注意:
DEFAULT及びTEMPORARY TABLESPACE 未指定時は SYSTEM表領域となるので必ず指定する
権限付与
GRANT 権限1 [ ,権限2, 権限3 ... ] TO ユーザー名
権限取消し
REVOKE 権限1 [ ,権限2, 権限3 ... ] FROM ユーザー名
データベースの停止
通常停止
SHUTDOWN NORMAL;
即時停止
SHUTDOWN IMMEDIATE;
アクティブなトランザクションを先に完了してから停止
SHUTDOWN TRANSACTIONAL;
表領域をオンライン・オフラインにする
ALTER TABLESPACE 表領域名 OFFLINE | ONLINE
最終更新:2008年11月15日 22:09