| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「Oracle Database10g データベースサーバーのアーキテクチャ」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
 
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]] |
+
[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 RES
+
  NAME                                  BYTES [[R]]ES
 
  -------------------------------- ---------- ---
 
  -------------------------------- ---------- ---
 
  Fixed SGA Size                      1218316 No
 
  Fixed SGA Size                      1218316 No
  Redo Buffers                        2973696 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行目:
 
===データベースファイルの構成===
 
===データベースファイルの構成===
 
====制御ファイル====
 
====制御ファイル====
*データファイルやREDOログファイルの場所や名前が書かれている
+
*データファイルや[[R]]EDOログファイルの場所や名前が書かれている
*データファイルやREDOログファイルが追加・削除されると自動的に更新される
+
*データファイルや[[R]]EDOログファイルが追加・削除されると自動的に更新される
*制御ファイルの場所と名前は初期化パラメータファイルのCONTROL_FILESに記述
+
*制御ファイルの場所と名前は[[初期化パラメータファイル]]のCONTROL_FILESに記述
 
*データベースをマウントすると読み込まれる
 
*データベースをマウントすると読み込まれる
  
=====SQL Plusのパラメータで確認=====
+
=====[[SQL Plus]]のパラメータで確認=====
*CONTROL_FILES
+
*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$CONTROLFILE
+
*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
====REDOログファイル====
+
====[[R]]EDOログファイル====
*トランザクションおよび内部表に対して行われた変更を記録する
+
*[[トランザクション]]および内部表に対して行われた変更を記録する
 
*2つ以上のグループから構成される
 
*2つ以上のグループから構成される
*ログライタープロセス(LGWR)はREDOバッファの内容を1つのグループにのみ書き出す
+
*ログライタープロセス(LGW[[R]])は[[R]]EDOバッファの内容を1つのグループにのみ書き出す
*グループのREDOログファイルが満杯になるか、ログスイッチが要求されると、次のグループに書き出しが行われる
+
*グループの[[R]]EDOログファイルが満杯になるか、ログスイッチが要求されると、次のグループに書き出しが行われる
*チェックポイントが完了したREDOログファイルはLGWRにより上書きされる
+
*チェックポイントが完了した[[R]]EDOログファイルはLGW[[R]]により上書きされる
 
*グループ内のメンバーには同じ値が書き込まれる
 
*グループ内のメンバーには同じ値が書き込まれる
 
<blockquote>ログスイッチを手動で実行 alter system switch logfile</blockquote>
 
<blockquote>ログスイッチを手動で実行 alter system switch logfile</blockquote>
64行目: 64行目:
  
 
=====V$LOG=====
 
=====V$LOG=====
*制御ファイルのREDOログ・ファイル情報を表示
+
*制御ファイルの[[R]]EDOログ・ファイル情報を表示
  
  SQL> select group#, sequence#, members, status from v$log;
+
  [[SQL]]> select group#, sequence#, members, status from v$log;
 
   
 
   
     GROUP#  SEQUENCE#    MEMBERS STATUS
+
     G[[R]]OUP#  SEQUENCE#    MEMBE[[R]]S STATUS
 
  ---------- ---------- ---------- ----------------
 
  ---------- ---------- ---------- ----------------
 
           1        38          1 INACTIVE
 
           1        38          1 INACTIVE
           2        39          1 CURRENT
+
           2        39          1 CU[[R]][[R]]ENT
 
           3        37          1 INACTIVE
 
           3        37          1 INACTIVE
  
 
=====V$LOGFILE=====
 
=====V$LOGFILE=====
*REDOログ・グループとメンバーおよびメンバーの状態を識別
+
*[[R]]EDOログ・グループとメンバーおよびメンバーの状態を識別
  SQL> select * from v$logfile;
+
  [[SQL]]> select * from v$logfile;
 
   
 
   
     GROUP# STATUS  TYPE    MEMBER                                                                   IS
+
     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$LOG_HISTORY =====
+
=====V$LOG_HISTO[[R]]Y =====
 
*ログの履歴情報
 
*ログの履歴情報
 
====データファイル====
 
====データファイル====
96行目: 96行目:
 
|-
 
|-
 
|SYSTEM
 
|SYSTEM
|Oracle内部データ
+
|[[Oracle]]内部データ
 
|-
 
|-
 
|TEMP
 
|TEMP
 
|一時データ
 
|一時データ
 
|-
 
|-
|USERS
+
|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
 
  ------------------------------
 
  ------------------------------
  USER_TABLESPACES
+
  USE[[R]]_TABLESPACES
 
  DBA_TABLESPACES
 
  DBA_TABLESPACES
  DBA_TABLESPACE_GROUPS
+
  DBA_TABLESPACE_G[[R]]OUPS
  DBA_TABLESPACE_USAGE_METRICS
+
  DBA_TABLESPACE_USAGE_MET[[R]]ICS
  DBA_FILE_GROUP_TABLESPACES
+
  DBA_FILE_G[[R]]OUP_TABLESPACES
  ALL_FILE_GROUP_TABLESPACES
+
  ALL_FILE_G[[R]]OUP_TABLESPACES
  USER_FILE_GROUP_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つまでの非標準ブロックサイズがある
+
*DB_BLOCK_SIZE[[初期化パラメータ]]で指定する標準ブロックサイズと4つまでの非標準ブロックサイズがある

2020年2月16日 (日) 04:30時点における最新版

Oracle Database10g データベースサーバーのアーキテクチャ

Oracle Database10g |

Documentation Library

データベースサーバーのアーキテクチャ

概要図

  • ローカルネーミングメソッド例

0916 database svr arc.jpg

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> 0918 redo log.jpg

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
  • ログの履歴情報

データファイル

0917 oracle arch01.jpg

表領域
  • データベースは、表領域という論理単位に分けられる
表領域 用途
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つまでの非標準ブロックサイズがある