「Oracle Database10g データベースサーバーのアーキテクチャ」の版間の差分
ナビゲーションに移動
検索に移動
1行目: | 1行目: | ||
− | ==Oracle Database10g データベースサーバーのアーキテクチャ== | + | ==[[Oracle Database10g データベースサーバーのアーキテクチャ]]== |
[[Oracle Database10g]] | | [[Oracle Database10g]] | | ||
{{amazon|479810910X }} | {{amazon|479810910X }} | ||
− | + | [http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/index.htm Documentation Library] | |
===データベースサーバーのアーキテクチャ=== | ===データベースサーバーのアーキテクチャ=== | ||
====概要図==== | ====概要図==== | ||
10行目: | 10行目: | ||
=====SGA===== | =====SGA===== | ||
*V$SGAINFO SGA情報の統合された簡潔な要約 | *V$SGAINFO SGA情報の統合された簡潔な要約 | ||
− | SQL> select * from v$sgainfo; | + | [[SQL]]> select * from v$sgainfo; |
− | NAME BYTES | + | NAME BYTES [[R]]ES |
-------------------------------- ---------- --- | -------------------------------- ---------- --- | ||
Fixed SGA Size 1218316 No | Fixed SGA Size 1218316 No | ||
− | + | [[R]]edo Buffers 2973696 No | |
Buffer Cache Size 96468992 Yes | Buffer Cache Size 96468992 Yes | ||
Shared Pool Size 58720256 Yes | Shared Pool Size 58720256 Yes | ||
Large Pool Size 4194304 Yes | Large Pool Size 4194304 Yes | ||
− | Java Pool Size 4194304 Yes | + | [[Java]] Pool Size 4194304 Yes |
Streams Pool Size 0 Yes | Streams Pool Size 0 Yes | ||
Granule Size 4194304 No | Granule Size 4194304 No | ||
29行目: | 29行目: | ||
===データベースファイルの構成=== | ===データベースファイルの構成=== | ||
====制御ファイル==== | ====制御ファイル==== | ||
− | * | + | *データファイルや[[R]]EDOログファイルの場所や名前が書かれている |
− | * | + | *データファイルや[[R]]EDOログファイルが追加・削除されると自動的に更新される |
− | * | + | *制御ファイルの場所と名前は[[初期化パラメータファイル]]のCONTROL_FILESに記述 |
*データベースをマウントすると読み込まれる | *データベースをマウントすると読み込まれる | ||
− | =====SQL | + | =====[[SQL Plus]]のパラメータで確認===== |
− | * | + | *CONT[[R]]OL_FILES |
− | SQL> show parameters control_files | + | [[SQL]]> show parameters control_files |
NAME TYPE VALUE | NAME TYPE VALUE | ||
45行目: | 45行目: | ||
, /opt/oracle/app/oradata/orad | , /opt/oracle/app/oradata/orad | ||
b1/control03.ctl | b1/control03.ctl | ||
− | ===== | + | =====[[動的パフォーマンスビュー]]で確認===== |
− | *V$ | + | *V$CONT[[R]]OLFILE |
− | SQL> select name from v$controlfile; | + | [[SQL]]> select name from v$controlfile; |
NAME | NAME | ||
---------------------------------------------- | ---------------------------------------------- | ||
53行目: | 53行目: | ||
/opt/oracle/app/oradata/oradb1/control02.ctl | /opt/oracle/app/oradata/oradb1/control02.ctl | ||
/opt/oracle/app/oradata/oradb1/control03.ctl | /opt/oracle/app/oradata/oradb1/control03.ctl | ||
− | ==== | + | ====[[R]]EDOログファイル==== |
− | * | + | *[[トランザクション]]および内部表に対して行われた変更を記録する |
*2つ以上のグループから構成される | *2つ以上のグループから構成される | ||
− | *ログライタープロセス( | + | *ログライタープロセス(LGW[[R]])は[[R]]EDOバッファの内容を1つのグループにのみ書き出す |
− | * | + | *グループの[[R]]EDOログファイルが満杯になるか、ログスイッチが要求されると、次のグループに書き出しが行われる |
− | * | + | *チェックポイントが完了した[[R]]EDOログファイルはLGW[[R]]により上書きされる |
*グループ内のメンバーには同じ値が書き込まれる | *グループ内のメンバーには同じ値が書き込まれる | ||
<blockquote>ログスイッチを手動で実行 alter system switch logfile</blockquote> | <blockquote>ログスイッチを手動で実行 alter system switch logfile</blockquote> | ||
64行目: | 64行目: | ||
=====V$LOG===== | =====V$LOG===== | ||
− | * | + | *制御ファイルの[[R]]EDOログ・ファイル情報を表示 |
− | SQL> select group#, sequence#, members, status from v$log; | + | [[SQL]]> select group#, sequence#, members, status from v$log; |
− | + | G[[R]]OUP# SEQUENCE# MEMBE[[R]]S STATUS | |
---------- ---------- ---------- ---------------- | ---------- ---------- ---------- ---------------- | ||
1 38 1 INACTIVE | 1 38 1 INACTIVE | ||
− | 2 39 1 | + | 2 39 1 CU[[R]][[R]]ENT |
3 37 1 INACTIVE | 3 37 1 INACTIVE | ||
=====V$LOGFILE===== | =====V$LOGFILE===== | ||
− | * | + | *[[R]]EDOログ・グループとメンバーおよびメンバーの状態を識別 |
− | SQL> select * from v$logfile; | + | [[SQL]]> select * from v$logfile; |
− | + | G[[R]]OUP# STATUS TYPE MEMBE[[R]] IS | |
---------- ------- ------- ---------------------------------------------------------------------------- | ---------- ------- ------- ---------------------------------------------------------------------------- | ||
3 ONLINE /opt/oracle/app/oradata/oradb1/redo03.log NO | 3 ONLINE /opt/oracle/app/oradata/oradb1/redo03.log NO | ||
84行目: | 84行目: | ||
1 ONLINE /opt/oracle/app/oradata/oradb1/redo01.log NO | 1 ONLINE /opt/oracle/app/oradata/oradb1/redo01.log NO | ||
− | =====V$ | + | =====V$LOG_HISTO[[R]]Y ===== |
*ログの履歴情報 | *ログの履歴情報 | ||
====データファイル==== | ====データファイル==== | ||
96行目: | 96行目: | ||
|- | |- | ||
|SYSTEM | |SYSTEM | ||
− | | | + | |[[Oracle]]内部データ |
|- | |- | ||
|TEMP | |TEMP | ||
|一時データ | |一時データ | ||
|- | |- | ||
− | | | + | |USE[[R]]S |
|ユーザーデータ | |ユーザーデータ | ||
|- | |- | ||
107行目: | 107行目: | ||
*表領域には1つ以上のデータファイルを対応づけ | *表領域には1つ以上のデータファイルを対応づけ | ||
*データファイルの中に表や索引と呼ばれるセグメントを格納 | *データファイルの中に表や索引と呼ばれるセグメントを格納 | ||
− | *[Oracle Database10g 表領域の管理] | + | *[[Oracle Database10g 表領域の管理|表領域の管理]] |
*表領域に関係するデータディクショナリビューの一覧を確認 | *表領域に関係するデータディクショナリビューの一覧を確認 | ||
− | SQL> select table_name from dict where table_name like'%TABLESPACE%'; | + | [[SQL]]> select table_name from dict where table_name like'%TABLESPACE%'; |
TABLE_NAME | TABLE_NAME | ||
------------------------------ | ------------------------------ | ||
− | + | USE[[R]]_TABLESPACES | |
DBA_TABLESPACES | DBA_TABLESPACES | ||
− | + | DBA_TABLESPACE_G[[R]]OUPS | |
− | + | DBA_TABLESPACE_USAGE_MET[[R]]ICS | |
− | + | DBA_FILE_G[[R]]OUP_TABLESPACES | |
− | + | ALL_FILE_G[[R]]OUP_TABLESPACES | |
− | + | USE[[R]]_FILE_G[[R]]OUP_TABLESPACES | |
DBA_HIST_TABLESPACE_STAT | DBA_HIST_TABLESPACE_STAT | ||
V$TABLESPACE | V$TABLESPACE | ||
140行目: | 140行目: | ||
*OSブロックから構成 | *OSブロックから構成 | ||
*データブロックサイズは、2、4、8、16、32KB | *データブロックサイズは、2、4、8、16、32KB | ||
− | * | + | *DB_BLOCK_SIZE[[初期化パラメータ]]で指定する標準ブロックサイズと4つまでの非標準ブロックサイズがある |
2020年2月16日 (日) 04:30時点における最新版
Oracle Database10g データベースサーバーのアーキテクチャ
データベースサーバーのアーキテクチャ
概要図
- ローカルネーミングメソッド例
SGA
- V$SGAINFO SGA情報の統合された簡潔な要約
SQL> select * from v$sgainfo; NAME BYTES RES -------------------------------- ---------- --- Fixed SGA Size 1218316 No Redo 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 Maximum SGA Size 167772160 No Startup overhead in Shared Pool 33554432 No Free SGA Memory Available 0 11 rows selected.
データベースファイルの構成
制御ファイル
- データファイルやREDOログファイルの場所や名前が書かれている
- データファイルやREDOログファイルが追加・削除されると自動的に更新される
- 制御ファイルの場所と名前は初期化パラメータファイルのCONTROL_FILESに記述
- データベースをマウントすると読み込まれる
SQL Plusのパラメータで確認
- CONTROL_FILES
SQL> show parameters control_files NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_files string /opt/oracle/app/oradata/oradb1 /control01.ctl, /opt/oracle/ap p/oradata/oradb1/control02.ctl , /opt/oracle/app/oradata/orad b1/control03.ctl
動的パフォーマンスビューで確認
- V$CONTROLFILE
SQL> select name from v$controlfile; NAME ---------------------------------------------- /opt/oracle/app/oradata/oradb1/control01.ctl /opt/oracle/app/oradata/oradb1/control02.ctl /opt/oracle/app/oradata/oradb1/control03.ctl
REDOログファイル
- トランザクションおよび内部表に対して行われた変更を記録する
- 2つ以上のグループから構成される
- ログライタープロセス(LGWR)はREDOバッファの内容を1つのグループにのみ書き出す
- グループのREDOログファイルが満杯になるか、ログスイッチが要求されると、次のグループに書き出しが行われる
- チェックポイントが完了したREDOログファイルはLGWRにより上書きされる
- グループ内のメンバーには同じ値が書き込まれる
<blockquote>ログスイッチを手動で実行 alter system switch logfile</blockquote>
V$LOG
- 制御ファイルのREDOログ・ファイル情報を表示
SQL> select group#, sequence#, members, status from v$log; GROUP# SEQUENCE# MEMBERS STATUS ---------- ---------- ---------- ---------------- 1 38 1 INACTIVE 2 39 1 CURRENT 3 37 1 INACTIVE
V$LOGFILE
- REDOログ・グループとメンバーおよびメンバーの状態を識別
SQL> select * from v$logfile; GROUP# STATUS TYPE MEMBER IS ---------- ------- ------- ---------------------------------------------------------------------------- 3 ONLINE /opt/oracle/app/oradata/oradb1/redo03.log NO 2 ONLINE /opt/oracle/app/oradata/oradb1/redo02.log NO 1 ONLINE /opt/oracle/app/oradata/oradb1/redo01.log NO
V$LOG_HISTORY
- ログの履歴情報
データファイル
表領域
- データベースは、表領域という論理単位に分けられる
表領域 | 用途 |
---|---|
SYSTEM | Oracle内部データ |
TEMP | 一時データ |
USERS | ユーザーデータ |
- 表領域には1つ以上のデータファイルを対応づけ
- データファイルの中に表や索引と呼ばれるセグメントを格納
- 表領域の管理
- 表領域に関係するデータディクショナリビューの一覧を確認
SQL> select table_name from dict where table_name like'%TABLESPACE%'; TABLE_NAME ------------------------------ USER_TABLESPACES DBA_TABLESPACES DBA_TABLESPACE_GROUPS DBA_TABLESPACE_USAGE_METRICS DBA_FILE_GROUP_TABLESPACES ALL_FILE_GROUP_TABLESPACES USER_FILE_GROUP_TABLESPACES DBA_HIST_TABLESPACE_STAT V$TABLESPACE GV$TABLESPACE 10 rows selected.
セグメント
- オブジェクトに割り当てる領域
- データセグメント、索引セグメント、UNDOセグメント、一時セグメントなど
- 1つの表領域に属すが、複数のデータファイルにまたがることがある
- エクステントから構成
エクステント
- セグメント内の連続領域
- データブロックからなる
データブロック
- 論理データベース構造の最単位
- OSブロックから構成
- データブロックサイズは、2、4、8、16、32KB
- DB_BLOCK_SIZE初期化パラメータで指定する標準ブロックサイズと4つまでの非標準ブロックサイズがある
© 2006 矢木浩人