Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
<Insert Picture Here>
日本オラクル株式会社
今さら聞けない!? Oracle入門 ~前編~
Oracle Direct Seminar
Copyright© 2007, Oracle. All rights reserved. 2
<Insert Picture Here>
Agenda
1. Oracleの基本動作
2. Oracleのファイル群
3. Oracleのプロセス群と専用メモリ領域
4. データベース内部動作
1. Oracleの基本動作
2. Oracleのファイル群
3. Oracleのプロセス群と専用メモリ領域
今さら聞けない!?オラクル入門 ~後編~
4. データベース内部動作
Copyright© 2007, Oracle. All rights reserved. 3
クライアント データベースサーバ
Oracle データベースとは
プログラム
Oracle Databaseは高性能なRDBMS
Databaseエンジン
Databaseエンジン
SQL文
Select * from emp;
二次元の表形式※ RDBMS:Relational DataBase Management System
Copyright© 2007, Oracle. All rights reserved. 4
クライアント データベースサーバ
SQL文
データベースアクセス
アプリケーションサーバ
サーバ・プロセス
サーバ・プロセス
サーバ・プロセス
ユーザ・プロセス
ユーザ・プロセス
ユーザ・プロセス
Copyright© 2007, Oracle. All rights reserved. 5
サーバ・プロセス
Oracle専用のメモリ領域
Oracle専用のメモリ領域
メモリ上のデータを検索する
データベースサーバ
データベースアクセス
ユーザ・プロセス
Copyright© 2007, Oracle. All rights reserved. 6
サーバ・プロセス
Oracle専用のメモリ領域
Oracle専用のメモリ領域
常駐プロセス常駐プロセス
メモリ上のデータを検索する
ディスク上のデータを読み込む
メモリ上の更新データをディスクに書き込む
データベースサーバ
データベースアクセス
ユーザ・プロセス
Copyright© 2007, Oracle. All rights reserved. 7
<Insert Picture Here>
Agenda
1. Oracleの基本動作
2. Oracleのファイル群
3. Oracleのプロセス群と専用メモリ領域
4. データベース内部動作
1. Oracleの基本動作
2. Oracleのファイル群
3. Oracleのプロセス群と専用メモリ領域
今さら聞けない!?オラクル入門 ~後編~
4. データベース内部動作
Copyright© 2007, Oracle. All rights reserved. 8
REDOログファイルREDOログファイルアーカイブ
REDOログファイル
アーカイブREDOログファイル
制御ファイル制御ファイルパラメータファイルパラメータファイル
表データを格納するファイル以外にもいくつかのファイルが存在
Oracleのファイル群
データファイルデータファイル
Copyright© 2007, Oracle. All rights reserved. 9
データ・ファイルと表領域
• データ・ファイル• データを物理的に格納したファイル。
• 表領域• データの論理的な管理単位。1つ以上のデータファイルで構成される。
• データファイルはサイズや数を増やすことができる。
empemp表表 deptdept表表
表領域表領域
・・・・・・
データファイル1 データファイル2
empemp表表 salessales表表表領域表領域
・・・・・・
データファイル1
人事系人事系 会計系会計系
Copyright© 2007, Oracle. All rights reserved. 10
表領域の構成
• ユーザ・データ用表領域• 各ユーザ用の表や索引を格納
• SYSTEM表領域
• データディクショナリ(システム全体の情報)を格納
• 一時表領域 (TEMP表領域)
• ソート処理時にメモリ領域が足りない場合に一時的に使用する領域
• UNDO表領域 (ロールバック情報専用表領域)• トランザクション管理(Commit/Rollback)や読み取り一貫性に必要な
UNDO(元に戻す)情報を格納
内部的に使う特別な表領域
Copyright© 2007, Oracle. All rights reserved. 11
トランザクション管理
10万円の銀行振込を行う場合
自分の口座の金額確認
自分の口座を減額 (-10万円)
振り込み先口座を増額 (+10万円)
データ更新確定
一つのトランザクション(コミット)
障害発生
更新処理を全て元に戻す( ロールバック )
更新処理を全て元に戻す( ロールバック )
Copyright© 2007, Oracle. All rights reserved. 12
UNDO情報
変更前情報を生成
UNDO (ロールバック) セグメント~UNDO情報格納用のオブジェクト~
新しいデータで表を更新
表(テーブル)
トランザクションの更新
用途) トランザクションのロールバック 読み取り一貫性
ロールバック時に元に戻す
Copyright© 2007, Oracle. All rights reserved. 13
UNDO表領域(ロールバック情報専用表領域)
• UNDO(ロールバック)セグメントを格納する専用の表領域
• UNDOセグメントの数、大きさをOracleが自動管理(Oracle9iから)
UNDOUNDO表領域表領域
データファイル
・・・・・・
・・・・・・
UNDOUNDOセグメントセグメント
Copyright© 2007, Oracle. All rights reserved. 14
REDOログファイルREDOログファイルアーカイブ
REDOログファイル
アーカイブREDOログファイル
制御ファイル制御ファイルパラメータファイルパラメータファイル
Oracleのファイル群
データファイルデータファイル
REDOログファイルREDOログファイルアーカイブ
REDOログファイル
アーカイブREDOログファイル
制御ファイル制御ファイルパラメータファイルパラメータファイル
データファイルデータファイル
Copyright© 2007, Oracle. All rights reserved. 15
REDOログ・ファイル
• 変更履歴を格納
• 障害時の復旧に使用
• COMMIT発生時に書き込み
REDOログ・ファイル
データに加えられた変更をすべて記録
REDOログ・エントリ更新1 旧データ → 新データ
更新2 旧データ → 新データ
Commit
データベースへの変更情報を記録するファイル
UNDOとREDO• UNDO:元に戻す → ロールバック• REDO:もう一度実行 → 障害時の復旧
※ アーカイブREDOログ・ファイル:REDOログ・ファイルのバックアップ
Copyright© 2007, Oracle. All rights reserved. 16
制御ファイル
制御ファイル
データベース情報: DB名称 ・バージョン …
データ・ファイル情報: データ・ファイル名、現在の状態…REDOログ・ファイル情報: 最新のREDOログ・ファイルの情報
ログ履歴情報
データベースの物理的な構造に関する情報を格納
非常に重要なファイルの為、ミラー化をすることを推奨(Oracleの機能でミラー化可能)
Copyright© 2007, Oracle. All rights reserved. 17
パラメータ・ファイル
db_name = DB名db_cache_size = 13905db_block_size = 8192log_buffer = 32768shared_pool_size = 37970944sort_area_size = 65536background_dump_dest = /u01/app/oracle/admin/DB名/bdumpcontrol_files = ( /u01/app/oracle/oradata/DB名/control01.ctl )
:
― パラメータの例 ―
各種パラメータが書かれた設定ファイル。データベースの起動時に読み込まれる。
テキスト形式の初期化パラメータ・ファイルまたは
バイナリ形式のサーバー・パラメータ・ファイル(Oracle9iから)
制御ファイルの名前
Oracle専用のメモリ領域サイズ etc…
Pfile
SPfile
Copyright© 2007, Oracle. All rights reserved. 18
Oracleのファイル群 ~まとめ
• データファイル
表や索引のデータが格納されています
• REDOログファイル、アーカイブREDOログファイル障害時の復旧に使用する変更履歴が格納されています
アーカイブREDOログファイルはREDOログファイルのバックアップです
• 制御ファイル、パラメータ・ファイル
データベースが稼働するための情報が格納されています
Copyright© 2007, Oracle. All rights reserved. 19
<Insert Picture Here>
Agenda
1. Oracleの基本動作
2. Oracleのファイル群
3. Oracleのプロセス群と専用メモリ領域
4. データベース内部動作
1. Oracleの基本動作
2. Oracleのファイル群
3. Oracleのプロセス群と専用メモリ領域
今さら聞けない!?オラクル入門 ~後編~
4. データベース内部動作
Copyright© 2007, Oracle. All rights reserved. 20
クライアント データベースサーバ
アプリケーションサーバ
SQL文
サーバ・プロセス
サーバ・プロセス
サーバ・プロセス
Oracle専用の
メモリ領域
Oracle専用の
メモリ領域
データベースアクセス
ユーザ・プロセス
ユーザ・プロセス
ユーザ・プロセス
Copyright© 2007, Oracle. All rights reserved. 21
サーバ・プロセス
Oracle専用のメモリ領域
Oracle専用のメモリ領域
常駐プロセス常駐プロセス
メモリ上のデータを検索する
メモリ上の更新データをディスクに書き込む
データベースサーバ
データベースアクセス
ユーザ・プロセス
ディスク上のデータを
読み込む
データファイル
REDOログファイル アーカイブREDOログファイル
制御ファイル パラメータファイル
Copyright© 2007, Oracle. All rights reserved. 22
インスタンス
サーバ・プロセス
Oracle専用のメモリ領域
Oracle専用のメモリ領域
常駐プロセス常駐プロセス
メモリ上のデータを検索する
メモリ上の更新データをディスクに書き込む
データベースアクセス
ユーザ・プロセス
SGASGAバックグラウンド・プロセスバックグラウンド・プロセス
データベースサーバ ディスク上のデータ
を読み込む
データファイル
REDOログファイル アーカイブREDOログファイル
制御ファイル パラメータファイル
Copyright© 2007, Oracle. All rights reserved. 23
REDOログ・
バッファ共有プールデータベース・
バッファ・キャッシュ
システム・グローバル領域 (SGA)
処理を高速にするための共有メモリー領域
・表データ
・索引データ
・UNDO情報
などを一時的に格納
・SQL文の情報・DBの管理情報
などを保持
・更新履歴情報
を一時的に格納
Copyright© 2007, Oracle. All rights reserved. 24
SMON インスタンス回復を実施
PMON ユーザプロセスの回復を実施
DBWR (DBライター) データの書き込み
CKPT チェックポイントの処理実施
LGWR (ログライター) ログの書き込み
ARCH アーカイブファイルを生成
SGA
データ・ファイル REDOログファイル
制御ファイル
アーカイブファイルアーカイブファイル
PMONPMON SMONSMON
DBWRDBWR
CKPTCKPT
LGWRLGWR
ARCHARCH
バックグラウンド・プロセス
Copyright© 2007, Oracle. All rights reserved. 25
インスタンスインスタンス
システム・グローバル領域(SGA)
システム・グローバル領域(SGA)
プロセスプロセス プロセスプロセス プロセスプロセス プロセスプロセス
Oracleの処理実行の中心部分
メモリとプロセスから構成されます
インスタンス
Copyright© 2007, Oracle. All rights reserved. 26
<Insert Picture Here>
Agenda
1. Oracleの基本動作
2. Oracleのファイル群
3. Oracleのプロセス群と専用メモリ領域
4. データベース内部動作
1. Oracleの基本動作
2. Oracleのファイル群
3. Oracleのプロセス群と専用メモリ領域
今さら聞けない!?オラクル入門 ~後編~
4. データベース内部動作
Copyright© 2007, Oracle. All rights reserved. 27
http://www.oracle.co.jp/direct0120-155-096
詳しい説明、システム導入のご相談は
Oracle Directまずはお問合せください
Copyright© 2007, Oracle. All rights reserved. 28