oracle direct seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/......

28
<Insert Picture Here> 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~ Oracle Direct Seminar

Upload: others

Post on 11-Jan-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

<Insert Picture Here>

日本オラクル株式会社

今さら聞けない!? Oracle入門 ~前編~

Oracle Direct Seminar

Page 2: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

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. データベース内部動作

Page 3: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

Copyright© 2007, Oracle. All rights reserved. 3

クライアント データベースサーバ

Oracle データベースとは

プログラム

Oracle Databaseは高性能なRDBMS

Databaseエンジン

Databaseエンジン

SQL文

Select * from emp;

二次元の表形式※ RDBMS:Relational DataBase Management System

Page 4: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

Copyright© 2007, Oracle. All rights reserved. 4

クライアント データベースサーバ

SQL文

データベースアクセス

アプリケーションサーバ

サーバ・プロセス

サーバ・プロセス

サーバ・プロセス

ユーザ・プロセス

ユーザ・プロセス

ユーザ・プロセス

Page 5: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

Copyright© 2007, Oracle. All rights reserved. 5

サーバ・プロセス

Oracle専用のメモリ領域

Oracle専用のメモリ領域

メモリ上のデータを検索する

データベースサーバ

データベースアクセス

ユーザ・プロセス

Page 6: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

Copyright© 2007, Oracle. All rights reserved. 6

サーバ・プロセス

Oracle専用のメモリ領域

Oracle専用のメモリ領域

常駐プロセス常駐プロセス

メモリ上のデータを検索する

ディスク上のデータを読み込む

メモリ上の更新データをディスクに書き込む

データベースサーバ

データベースアクセス

ユーザ・プロセス

Page 7: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? 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. データベース内部動作

Page 8: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

Copyright© 2007, Oracle. All rights reserved. 8

REDOログファイルREDOログファイルアーカイブ

REDOログファイル

アーカイブREDOログファイル

制御ファイル制御ファイルパラメータファイルパラメータファイル

表データを格納するファイル以外にもいくつかのファイルが存在

Oracleのファイル群

データファイルデータファイル

Page 9: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

Copyright© 2007, Oracle. All rights reserved. 9

データ・ファイルと表領域

• データ・ファイル• データを物理的に格納したファイル。

• 表領域• データの論理的な管理単位。1つ以上のデータファイルで構成される。

• データファイルはサイズや数を増やすことができる。

empemp表表 deptdept表表

表領域表領域

・・・・・・

データファイル1 データファイル2

empemp表表 salessales表表表領域表領域

・・・・・・

データファイル1

人事系人事系 会計系会計系

Page 10: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

Copyright© 2007, Oracle. All rights reserved. 10

表領域の構成

• ユーザ・データ用表領域• 各ユーザ用の表や索引を格納

• SYSTEM表領域

• データディクショナリ(システム全体の情報)を格納

• 一時表領域 (TEMP表領域)

• ソート処理時にメモリ領域が足りない場合に一時的に使用する領域

• UNDO表領域 (ロールバック情報専用表領域)• トランザクション管理(Commit/Rollback)や読み取り一貫性に必要な

UNDO(元に戻す)情報を格納

内部的に使う特別な表領域

Page 11: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

Copyright© 2007, Oracle. All rights reserved. 11

トランザクション管理

10万円の銀行振込を行う場合

自分の口座の金額確認

自分の口座を減額 (-10万円)

振り込み先口座を増額 (+10万円)

データ更新確定

一つのトランザクション(コミット) 

   

障害発生

更新処理を全て元に戻す( ロールバック )

更新処理を全て元に戻す( ロールバック )

Page 12: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

Copyright© 2007, Oracle. All rights reserved. 12

UNDO情報

変更前情報を生成

UNDO (ロールバック) セグメント~UNDO情報格納用のオブジェクト~

新しいデータで表を更新

表(テーブル)

トランザクションの更新

用途)  トランザクションのロールバック  読み取り一貫性

ロールバック時に元に戻す

Page 13: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

Copyright© 2007, Oracle. All rights reserved. 13

UNDO表領域(ロールバック情報専用表領域)

• UNDO(ロールバック)セグメントを格納する専用の表領域

• UNDOセグメントの数、大きさをOracleが自動管理(Oracle9iから)

UNDOUNDO表領域表領域

データファイル

・・・・・・

・・・・・・

UNDOUNDOセグメントセグメント

Page 14: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

Copyright© 2007, Oracle. All rights reserved. 14

REDOログファイルREDOログファイルアーカイブ

REDOログファイル

アーカイブREDOログファイル

制御ファイル制御ファイルパラメータファイルパラメータファイル

Oracleのファイル群

データファイルデータファイル

REDOログファイルREDOログファイルアーカイブ

REDOログファイル

アーカイブREDOログファイル

制御ファイル制御ファイルパラメータファイルパラメータファイル

データファイルデータファイル

Page 15: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

Copyright© 2007, Oracle. All rights reserved. 15

REDOログ・ファイル

• 変更履歴を格納

• 障害時の復旧に使用

• COMMIT発生時に書き込み

REDOログ・ファイル

データに加えられた変更をすべて記録

REDOログ・エントリ更新1  旧データ → 新データ

更新2  旧データ → 新データ

 Commit

データベースへの変更情報を記録するファイル

UNDOとREDO• UNDO:元に戻す → ロールバック• REDO:もう一度実行 → 障害時の復旧

※ アーカイブREDOログ・ファイル:REDOログ・ファイルのバックアップ

Page 16: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

Copyright© 2007, Oracle. All rights reserved. 16

制御ファイル

制御ファイル

データベース情報: DB名称 ・バージョン …

データ・ファイル情報: データ・ファイル名、現在の状態…REDOログ・ファイル情報: 最新のREDOログ・ファイルの情報

ログ履歴情報

データベースの物理的な構造に関する情報を格納

非常に重要なファイルの為、ミラー化をすることを推奨(Oracleの機能でミラー化可能)

Page 17: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? 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

Page 18: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

Copyright© 2007, Oracle. All rights reserved. 18

Oracleのファイル群 ~まとめ

• データファイル

表や索引のデータが格納されています

• REDOログファイル、アーカイブREDOログファイル障害時の復旧に使用する変更履歴が格納されています

アーカイブREDOログファイルはREDOログファイルのバックアップです

• 制御ファイル、パラメータ・ファイル

データベースが稼働するための情報が格納されています

Page 19: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

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. データベース内部動作

Page 20: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

Copyright© 2007, Oracle. All rights reserved. 20

クライアント データベースサーバ

アプリケーションサーバ

SQL文

サーバ・プロセス

サーバ・プロセス

サーバ・プロセス

Oracle専用の

メモリ領域

Oracle専用の

メモリ領域

データベースアクセス

ユーザ・プロセス

ユーザ・プロセス

ユーザ・プロセス

Page 21: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

Copyright© 2007, Oracle. All rights reserved. 21

サーバ・プロセス

Oracle専用のメモリ領域

Oracle専用のメモリ領域

常駐プロセス常駐プロセス

メモリ上のデータを検索する

メモリ上の更新データをディスクに書き込む

データベースサーバ

データベースアクセス

ユーザ・プロセス

ディスク上のデータを

読み込む

データファイル

REDOログファイル アーカイブREDOログファイル

制御ファイル パラメータファイル

Page 22: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

Copyright© 2007, Oracle. All rights reserved. 22

インスタンス

サーバ・プロセス

Oracle専用のメモリ領域

Oracle専用のメモリ領域

常駐プロセス常駐プロセス

メモリ上のデータを検索する

メモリ上の更新データをディスクに書き込む

データベースアクセス

ユーザ・プロセス

SGASGAバックグラウンド・プロセスバックグラウンド・プロセス

データベースサーバ ディスク上のデータ

を読み込む

データファイル

REDOログファイル アーカイブREDOログファイル

制御ファイル パラメータファイル

Page 23: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

Copyright© 2007, Oracle. All rights reserved. 23

REDOログ・

バッファ共有プールデータベース・

バッファ・キャッシュ

システム・グローバル領域 (SGA)

処理を高速にするための共有メモリー領域

・表データ

・索引データ

・UNDO情報

などを一時的に格納

・SQL文の情報・DBの管理情報

などを保持

・更新履歴情報

を一時的に格納

Page 24: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

Copyright© 2007, Oracle. All rights reserved. 24

SMON インスタンス回復を実施

PMON ユーザプロセスの回復を実施

DBWR (DBライター) データの書き込み

CKPT チェックポイントの処理実施

LGWR (ログライター) ログの書き込み

ARCH アーカイブファイルを生成

SGA

データ・ファイル REDOログファイル

制御ファイル

アーカイブファイルアーカイブファイル

PMONPMON SMONSMON

DBWRDBWR

CKPTCKPT

LGWRLGWR

ARCHARCH

バックグラウンド・プロセス

Page 25: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

Copyright© 2007, Oracle. All rights reserved. 25

インスタンスインスタンス

システム・グローバル領域(SGA)

システム・グローバル領域(SGA)

プロセスプロセス プロセスプロセス プロセスプロセス プロセスプロセス

Oracleの処理実行の中心部分

メモリとプロセスから構成されます

インスタンス

Page 26: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? 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. データベース内部動作

Page 27: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

Copyright© 2007, Oracle. All rights reserved. 27

http://www.oracle.co.jp/direct0120-155-096

詳しい説明、システム導入のご相談は

Oracle Directまずはお問合せください

Page 28: Oracle Direct Seminarotndnld.oracle.co.jp/training/ord-seminar/beginner1/... 日本オラクル株式会社 今さら聞けない!? Oracle入門 ~前編~

Copyright© 2007, Oracle. All rights reserved. 28