==[[Oracle Database10g データベースサーバーのアーキテクチャ]]==
[[Oracle Database10g]] |
{{amazon|479810910X }}
[[http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/index.htm Documentation Library]] |
===データベースサーバーのアーキテクチャ===
====概要図====
=====SGA=====
*V$SGAINFO SGA情報の統合された簡潔な要約
[[SQL]]> select * from v$sgainfo;
NAME BYTES RES[[R]]ES
-------------------------------- ---------- ---
Fixed SGA Size 1218316 No
Redo [[R]]edo Buffers 2973696 No
Buffer Cache Size 96468992 Yes
Shared Pool Size 58720256 Yes
Large Pool Size 4194304 Yes
[[Java ]] Pool Size 4194304 Yes
Streams Pool Size 0 Yes
Granule Size 4194304 No
===データベースファイルの構成===
====制御ファイル====
*データファイルやREDOログファイルの場所や名前が書かれているデータファイルや[[R]]EDOログファイルの場所や名前が書かれている*データファイルやREDOログファイルが追加・削除されると自動的に更新されるデータファイルや[[R]]EDOログファイルが追加・削除されると自動的に更新される*制御ファイルの場所と名前は初期化パラメータファイルのCONTROL_FILESに記述制御ファイルの場所と名前は[[初期化パラメータファイル]]のCONTROL_FILESに記述
*データベースをマウントすると読み込まれる
=====[[SQL Plusのパラメータで確認Plus]]のパラメータで確認=====*CONTROL_FILESCONT[[R]]OL_FILES [[SQL]]> show parameters control_files
NAME TYPE VALUE
, /opt/oracle/app/oradata/orad
b1/control03.ctl
=====動的パフォーマンスビューで確認[[動的パフォーマンスビュー]]で確認=====*V$CONTROLFILECONT[[R]]OLFILE [[SQL]]> select name from v$controlfile;
NAME
----------------------------------------------
/opt/oracle/app/oradata/oradb1/control02.ctl
/opt/oracle/app/oradata/oradb1/control03.ctl
====REDOログファイル[[R]]EDOログファイル====*トランザクションおよび内部表に対して行われた変更を記録する[[トランザクション]]および内部表に対して行われた変更を記録する
*2つ以上のグループから構成される
*ログライタープロセス(LGWRLGW[[R]])はREDOバッファの内容を1つのグループにのみ書き出すは[[R]]EDOバッファの内容を1つのグループにのみ書き出す*グループのREDOログファイルが満杯になるか、ログスイッチが要求されると、次のグループに書き出しが行われるグループの[[R]]EDOログファイルが満杯になるか、ログスイッチが要求されると、次のグループに書き出しが行われる*チェックポイントが完了したREDOログファイルはLGWRにより上書きされるチェックポイントが完了した[[R]]EDOログファイルはLGW[[R]]により上書きされる
*グループ内のメンバーには同じ値が書き込まれる
<blockquote>ログスイッチを手動で実行 alter system switch logfile</blockquote>
=====V$LOG=====
*制御ファイルのREDOログ・ファイル情報を表示制御ファイルの[[R]]EDOログ・ファイル情報を表示
[[SQL]]> select group#, sequence#, members, status from v$log;
GROUPG[[R]]OUP# SEQUENCE# MEMBERS MEMBE[[R]]S STATUS
---------- ---------- ---------- ----------------
1 38 1 INACTIVE
2 39 1 CURRENTCU[[R]][[R]]ENT
3 37 1 INACTIVE
=====V$LOGFILE=====
*REDOログ・グループとメンバーおよびメンバーの状態を識別[[R]]EDOログ・グループとメンバーおよびメンバーの状態を識別 [[SQL]]> select * from v$logfile;
GROUPG[[R]]OUP# STATUS TYPE MEMBER MEMBE[[R]] IS
---------- ------- ------- ----------------------------------------------------------------------------
3 ONLINE /opt/oracle/app/oradata/oradb1/redo03.log NO
1 ONLINE /opt/oracle/app/oradata/oradb1/redo01.log NO
=====V$LOG_HISTORY LOG_HISTO[[R]]Y =====
*ログの履歴情報
====データファイル====
|-
|SYSTEM
|Oracle内部データ[[Oracle]]内部データ
|-
|TEMP
|一時データ
|-
|USERSUSE[[R]]S
|ユーザーデータ
|-
*表領域には1つ以上のデータファイルを対応づけ
*データファイルの中に表や索引と呼ばれるセグメントを格納
*[[Oracle Database10g 表領域の管理|表領域の管理] [表領域の管理]
*表領域に関係するデータディクショナリビューの一覧を確認
[[SQL]]> select table_name from dict where table_name like'%TABLESPACE%';
TABLE_NAME
------------------------------
USER_TABLESPACESUSE[[R]]_TABLESPACES
DBA_TABLESPACES
DBA_TABLESPACE_GROUPSDBA_TABLESPACE_G[[R]]OUPS DBA_TABLESPACE_USAGE_METRICSDBA_TABLESPACE_USAGE_MET[[R]]ICS DBA_FILE_GROUP_TABLESPACESDBA_FILE_G[[R]]OUP_TABLESPACES ALL_FILE_GROUP_TABLESPACESALL_FILE_G[[R]]OUP_TABLESPACES USER_FILE_GROUP_TABLESPACESUSE[[R]]_FILE_G[[R]]OUP_TABLESPACES
DBA_HIST_TABLESPACE_STAT
V$TABLESPACE
*OSブロックから構成
*データブロックサイズは、2、4、8、16、32KB
*DB_BLOCK_SIZE初期化パラメータで指定する標準ブロックサイズと4つまでの非標準ブロックサイズがあるDB_BLOCK_SIZE[[初期化パラメータ]]で指定する標準ブロックサイズと4つまでの非標準ブロックサイズがある