テ-ブル領域
必要容量(KB) =
X行 * ( 5バイト + LEN + Y )
/ ( ブロックサイズ - 90バイト ) * ( 1 - PCTFREE/100 ) * 2048/1000 (KB)
ここで
X行 テ-ブルの件数
LEN テ-ブル1行(レコ-ド)当たりのバイト数(総バイト数)
CHARタイプはケタ数
NUMBERタイプは22バイト
で計算する
Y 1行当たりのカラム数(項目数)
ブロックサイズ オラクルデ-タベ-スのブロックサイズ
AIXでは4096バイト(NTは2048バイト)
PCTFREE(%) デ-タブロックの空領域の割合
10%とする.
想定容量 = 想定件数 * (5+総バイト数 + カラム数)* 0.0011621(KB)
インデックス領域
必要容量(KB) =
X行 * ( 11バイト + LEN )
/ ( ブロックサイズ-90バイト ) * ( 1 - PCTFREE/100 ) * 2048/1000 (KB)
ここで
X行 テ-ブルの件数
LEN インデックスのバイト数
PCTFREE(%) 前述と同じ.
想定容量 = 想定件数 * (11+インデックス部のバイト数)* 0.0011621(KB)
シーケンスのデータ移行
set linesize 200
set pagesize 0
set trimspool on
set heading off
set feedback off
spool /tmp/impSeq.sql
select '-- シーケンスを削除する' from dual;
select 'DROP SEQUENCE ' || SEQUENCE_NAME || ';' from USER_SEQUENCES;
select '-- シーケンスを生成する' from dual;
select 'CREATE SEQUENCE ' || SEQUENCE_NAME ||
' START WITH ' || LAST_NUMBER ||
' INCREMENT BY ' || INCREMENT_BY ||
' MINVALUE ' || MIN_VALUE ||
' MAXVALUE ' || MAX_VALUE ||
case CYCLE_FLAG when 'Y' then ' CYCLE' else ' NOCYCLE' end ||
' CACHE ' || CACHE_SIZE || ';'
from USER_SEQUENCES;
select 'quit' from dual;
spool off
quit
表領域を構成しているエクステント数の確認
SELECT SEGMENT_NAME, SEGMENT_TYPE, TABLESPACE_NAME, EXTENTS
FROM DBA_SEGMENTS
WHERE TABLESPACE_NAME = '[tablespace_name]';
表領域の断片化調査
SELECT TABLESPACE_NAME, FILE_ID, BYTES, BLOCKS FROM DBA_FREE_SPACE
WHERE TABLESPACE_NAME = '[tablespace_name]'
ORDER BY BLOCK_ID;
表領域サイズと使用量
select
d.tablespace_name,
現サイズ "現サイズ[MB]",
round(現サイズ-空き容量) "使用量[MB]",
round((1 - (空き容量/現サイズ))*100) "使用率(%)",
空き容量 "空き容量[MB]"
from
(SELECT tablespace_name, round(SUM(bytes)/(1024*1024)) "現サイズ"
FROM dba_data_files GROUP BY tablespace_name) d,
(SELECT tablespace_name, round(SUM(bytes)/(1024*1024)) "空き容量"
FROM dba_free_space GROUP BY tablespace_name) f
where d.tablespace_name=f.tablespace_name
/
表領域のサイズ
SELECT tablespace_name, SUM(bytes)/(1024*1024) "SIZE[M]" FROM dba_data_files GROUP BY tablespace_name;
表領域の空サイズ
SELECT tablespace_name, trunc(SUM(bytes)/(1024*1024)) "Free[M]" FROM dba_free_space GROUP BY tablespace_name;
実際にテーブルが占有しているディスク領域
select
TABLESPACE_NAME,
SEGMENT_NAME,
sum(BYTES/1024) AS SIZE_KB
from DBA_EXTENTS
where TABLESPACE_NAME = '[tablespace_name]'
group by TABLESPACE_NAME, SEGMENT_NAME
/
ユーザ追加
CREATE USER [user] IDENTIFIED BY [password] DEFAULT TABLESPACE [tablespace] TEMPORARY TABLESPACE [tmp]
ロール追加
GRANT CONNECT,EXP_FULL_DATABASE,IMP_FULL_DATABASE,RESOURCE TO [user]
ユーザ削除
DROP USER [user] CASCADE;
キャラクタセットの確認
SQL> SELECT NLS_CHARSET_NAME(NLS_CHARSET_ID('CHAR_CS')),NLS_CHARSET_NAME(NLS_CHARSET_ID('NCHAR_CS')) FROM DUAL;
NLS_CHARSET_NAME(NLS_CHA NLS_CHARSET_NAME(NLS_CHARSE
------------------------ ---------------------------
AL32UTF8 AL16UTF16
spfileの位置
SQL> show parameter spfile;
NAME TYPE VALUE
------------------- --------------- ------------------------------
spfile string +DG1/***/spfile***.ora
インスタンス情報確認
SQL> select instance_name from SYS.GV_$INSTANCE;
INSTANCE_NAME
------------------------------------------------
***1
***2
最終更新:2009年08月24日 12:05