ここからはじめる、oracle データベース入門・アーキテクチャー編 · ...

119
<Insert Picture Here> 5「夜もよか~!! オラクル勉強会 presented by アシスト」 ここからはじめる、Oracle データベース入門・アーキテクチャー編 2013515

Upload: others

Post on 02-Aug-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

<Insert Picture Here>

第5回 「夜もよか~!! オラクル勉強会 presented by アシスト」

ここからはじめる、Oracle データベース入門・アーキテクチャー編

2013年5月15日

Page 2: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 2

<Insert Picture Here>

Agenda

1. RDBMSとは

2. Oracleの基本動作

3. Oracleのファイル群

4. Oracleのプロセス群とメモリ領域

5. データベース内部動作

6. Oracleの運用管理

Page 3: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 3

データベース データ

データベースとは

• 特定のテーマに沿ったデータを集めて管理し、容易に検索・抽出などの再利用をできるようにしたもの

• ウィキペディア(http://ja.wikipedia.org/)より引用

レシピ

レシピ

レシピ集

おいしい カレーを作りたい

登録

登録 参照

参照

おいしい スープを作りたい

Page 4: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 4

データへの容易なアクセス

• 紙(データ)を綴じて本 (レシピ集)にする • データを一箇所にまとめる

• 索引をつくる • 本の特定のページをすぐに

参照できる

• 「おいしいカレーを作りたい」

• 多数の本(レシピ集)の分類

• 目的のレシピ集がどこにあるかわかるように

• 「和食」、「中華料理」 etc.

レシピ集での例

Page 5: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 5

データの更新をおこなうには

• 多数の本(レシピ集)のうち、記述を変更したい本を選択

• 更新方法、その1)

• 本をまるごと差し替える

• 更新方法、その2)

• 該当の記述を特定、変更

• 索引を利用できると、すばやく記述を特定できる

レシピ集での例

Page 6: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 6

データをみんなで利用するには

• 同時に複数人が利用できる?

• レシピ集を占有する?占有する範囲は?

• レシピ集、レシピ単位、材料や手順の単位

• データを更新するときのルールは?

• レシピ集の保管は?

同一データを変更できるのは、ひとりだけ

変更途中のデータでなければ、誰でもデータを変更できる

データの変更中も、他の人は変更前のデータを参照できる

許可が無いひとは、データを見たり変更したりすることができない

多数の本の管理は、専門の管理者にまかせ、利用者は気にしない

変更を確定する前であれば、いつでも変更を取り消すことができる

排他制御

同時実行、データの粒度

トランザクション

読取一貫性

セキュリティ

管理性

更新 参照 参照

レシピ集での例

Page 7: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 7

現在主流 • 階層型データベース

• ネットワーク型データベース

• リレーショナル型データベース

階層型 ネットワーク型 リレーショナル型

データベースの種類

Page 8: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

社員番号 社員名 給与 部門番号

1 大久保 5000 10

2 近藤 3000 20

3 伊藤 2500 10

4 西嶋 2000 20

5 河和 2750 30

8

RDB(リレーショナル・データベース)の特徴①

• データを2次元の表で管理する

• 表は列と行から構成されている

社員表

列(カラム)

行 (レコード)

フィールド

Page 9: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

部門番号 部門名

10 OU

20 営業部

30 技術部

社員番号 社員名 給与 部門番号

1 大久保 5000 10

2 近藤 3000 20

3 伊藤 2500 10

4 西嶋 2000 20

5 河和 2750 30

9

RDB(リレーショナル・データベース)の特徴②

• 複数の表を関連付けすることができる

• 関連付けするために

主キー:行データを一意に決める背番号的なキー列

外部キー:マスター表のキー列を参照するキー列

社員表(ディテール)

部門表

主キー

主キー

外部キー リレーション

(マスター)

Page 10: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 10

RDB(リレーショナル・データベース)の特徴③

• データを簡単に取り出したり、加工したりできる

• SQL(Structured Query Language)というが用意されている

SQLは米国規格協会(ANSI)、国際標準化機構(ISO)によりRDB用標準言語として認定されている

SQL

結果

Page 11: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 11

データベース・マネジメント・システムとは

• 特にコンピュータ上で効率的にデータを管理する仕組みをデータベース・マネジメント・システム(DBMS)と呼ぶ

• RDBMS:管理対象が「リレーショナル・データベース」

• 一般に「データベース」と呼ぶときに、管理対象のデータの総体だけではなく、DBMSをさしていることもある

• Oracle Database も RDBMSのひとつ

Page 12: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 12

データを管理する上でできるべきこと

• トランザクション処理の実現 • トランザクション特性(ACID)を極力満たすこと

• A: Atomicity (原子性)

• C: Consistency (一貫性)

• I : Isolation (分離性)

• D: Durability (永続性)

• 問合せ処理

• データ利用者は格納されている「物理的」なデータ構造を意識することなく利用可能であること

• SQLを利用することで、RDBMSは適切にデータを処理

• メタデータ管理 • 多数のユーザが利用する為の名前空間(=スキーマ)を管理

• DBMS自身およびユーザにメタデータとして管理している情報を提供

DBMSの3大機能 指定の口座に

お金を振り込みたい

Aさん

処理1.Aさんの口座から減額

処理2.指定の口座へ増額

Page 13: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 13

トランザクションの実現

• RDBはデータアクセスの最小単位を構成するトランザクションを実現

• トランザクションを利用することで整合性をも確保

• ACID :トランザクションが兼ね備えるべき基本的な性質

• A: Atomicity (原子性)

トランザクションを構成する一連の処理は、全部なされるか、いっさいなされないか、のどちらかの状態を取ること

• C: Consistency (一貫性)

多数のトランザクションが並列に実行されてもシステム全体のデータの一貫性が失われないこと

• I: Isolation (分離性)

並行して実行される他のトランザクションの影響を受けないこと

データをロックする機能を持つこと

• D: Durability (永続性)

処理内容をいったん確定(commit)させた後、確定した内容は失われないこと

Page 14: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 14

Oracle Databaseにおけるトランザクション

• Oracle DatabaseではDML文やDDL文が最初に実行された時からトランザクションが開始される(宣言は不要)

• 実行中の処理が利用しているトランザクションとは別のトランザクションを利用することもできる • 自律型トランザクション:PL/SQLブロックを利用

• 実行中の処理でエラーが発生した場合に、実行中の処理はロールバックしたいが、エラー情報をエラーテーブルに書き込む場合、等

•Atomicity (原子性) •トランザクションを構成する一連の処理は、全部なされるか、いっさいなされな いか、のどちらかの状態を取ること

機能の実現 (原子性)

Page 15: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 15

Oracle Databaseにおけるトランザクション

• Oracle Databaseはマルチユーザ環境下でデータの同時実行性と整合性を確保します • 行レベルロック

• 行=一番細かいデータの単位

• 読取一貫性の提供

• 他ユーザが更新中のデータも更新前の確定データを参照

•Consistency (一貫性) •多数のトランザクションが並列に実行されてもシステム全体のデータの一貫性が 失われないこと

•Isolation (分離性) •並行して実行される他のトランザクションの影響を受けないこと

•データをロックする機能を持つこと

機能の実現 (一貫性・分離性)

Page 16: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 16

Oracle Databaseにおけるトランザクション

• データをディスク装置に記録することで、コンピュータシステムが停止してもデータが失われないようにする

•Durability (永続性) •処理内容をいったん確定(commit)させた後、確定した内容は失われないこと

• Oracle DatabaseではREDOログを利用することで「永続性」を実現 • 突然の電源断でもデータや確立したトランザクションの喪失を防止

• トランザクションの処理性能向上を両立

• ログへの書き込み完了を確認してから、データベース本体を収めるディスクへの書き込みをおこなう

機能の実現 (永続性)

Page 17: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 17

Oracle Databaseにおける問合せ処理

• Oracle Databaseでは、コスト・ベース・オプティマイザ(CBO)による最適な問合せ処理がなされる

• 収集した統計情報を使用

表の件数(レコード数)

表のカラムのカーディナリティ(値のバリエーション)

索引の有無

• 表を結合する時の、処理順序および結合アルゴリズムを適切に選択

•RDBでは問合せ言語(SQL)を利用し、非手続き的に問合せを実施する

•ユーザは「何が(WHAT)欲しいのか」だけを記述するだけで良い。

•「どのように(HOW)データを取得する」は気にしなくても良い

Page 18: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 18

Oracle Databaseにおけるメタデータ管理

• Oracle Databaseでは「データ・ディクショナリ」として メタデータを管理し、提供する • スキーマ(Oracle Databaseではユーザと等しい)、表、索引、制

約、オブジェクトの所有者、アクセス権限、収集した統計情報など

• Oracle Database自身がSQL文を解析する際にも利用する

• Oracle Databaseでは基本的にビューの形式で提供される為、SELECT文で情報を取得する • 静的ディクショナリ・ビュー

• 動的パフォーマンス・ビュー • Oracle Databaseの稼動中の内部ディスク構造およびメモリー構造などを表示

•DBMSでは表や表のカラム属性などのメタデータ(データの データ)の管理をおこない、ユーザやDBMS自身に提供する

Page 19: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 19

<Insert Picture Here>

Agenda

1. RDBMSとは

2. Oracleの基本動作

3. Oracleのファイル群

4. Oracleのプロセス群とメモリ領域

5. データベース内部動作

6. Oracleの運用管理

Page 20: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

Oracle データベースとは

20

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

プログラム

Oracle Databaseは高性能な商用RDBMS

Database エンジン

SQL文

Select * from emp;

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

Page 21: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

データベースアクセスの概要

21

クライアント

データベース サーバー

サーバ・ プロセス

サーバ・ プロセス

サーバ・ プロセス

ユーザ・ プロセス

ユーザ・ プロセス

SQL文

アプリケーション サーバー

ユーザ・ プロセス

Page 22: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 22

Oracle専用の

メモリ領域

データベースアクセスの概要

ユーザ・ プロセス

サーバ・ プロセス

データベース サーバー

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

Page 23: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 23

Oracle専用の

メモリ領域

ディスク上のデータを

読み込む

データベース サーバー

データベースアクセスの概要

ユーザ・ プロセス

サーバ・ プロセス

Oracle専用の

メモリ領域

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

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

常駐プロセス

Page 24: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

【参考】専用サーバーモードと共有サーバーモード

• 専用サーバーモード

• 一つのクライアント・プロセスに対して、一つのサーバー・プロセスを割り当てるモード

• 共有サーバーモード

• 複数のクライアント・プロセスに対して、一つのサーバープロセスを割り当てるモード

• ディスパッチャというプロセスが

生成される

• 現在ではほとんど使われない

24

ユーザ・ プロセス

サーバ・ プロセス

ユーザ・ プロセス

サーバ・ プロセス

ユーザ・ プロセス

ユーザ・ プロセス

ディス パッチャ

現在の主流

Page 25: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 25

<Insert Picture Here>

Agenda

1. RDBMSとは

2. Oracleの基本動作

3. Oracleのファイル群

4. Oracleのプロセス群とメモリ領域

5. データベース内部動作

6. Oracleの運用管理

Page 26: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

Oracleのファイル群

• Oracle Databaseは様々なファイルにより構成される

• 表データを格納するファイル以外にも、Oracle Database

自身が使用するデータを格納するファイルが存在する

26

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

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

データファイル

Page 27: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

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

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

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

27

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

emp表 dept表

表領域

・・・・・・

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

emp表 sales表

表領域

・・・・・・

データファイル3 人事系 会計系

Page 28: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

Oracle Databaseの論理構造

• 表領域

• セグメントを格納する単位

• セグメント

• エクステントの集合体

• 表、索引などが該当

• エクステント

• 複数データブロックの集合体

• セグメントにはエクステント単位で割り当て

が行われる

• データ・ブロック

• Oracle Databaseの最小構成単位

28

表領域

セグメント

エクステント

データ・ブロック

Page 29: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

表領域の種類

• ユーザ・データ用表領域

• 各ユーザ用の表や索引を格納

• SYSTEM表領域

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

• SYSAUX表領域 (Oracle Database 10g~)

• 特定の機能やオプション(OLAPなど)のスキーマ・オブジェクトを格納

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

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

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

• トランザクション管理(Commit/Rollback)や読み取り一貫性に必要なUNDO(元に戻す)情報を格納

29

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

Page 30: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

トランザクション管理

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

自分の口座の金額確認

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

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

データ更新確定

(コミット)

30

一つのトランザクション

障害発生

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

Page 31: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 31

UNDO情報

②変更前情報を生成

UNDO (ロールバック) セグメント

~UNDO情報格納用のオブジェクト~

③新しいデータで 表を更新

表(テーブル)

①トランザクションの更新

用途)

トランザクションのロールバック

読み取り一貫性

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

Page 32: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

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

• 通常UNDOセグメントの数、大きさをOracleが自動管理

32

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

UNDO表領域

データファイル

・・・・・・

・・・・・・

UNDOセグメント

Page 33: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 33

読み取り一貫性

15:00時点での売上表に対して読込みを開始。 読込みには10分かかる

日付 製品 個数 売上金

...

11/30 製品A 23 230,000

11/30 製品B 57 885,000

11/30 製品C 41 820,000

11/30 製品D 49 1,470,000

12/01 製品A 59 590,000

12/01 製品B 46 690,000

12/01 製品C 36 720,000

12/01 製品D 53 1,590,000

...

①15:00の情報 を検索

従業員1

売上表

Page 34: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 34

読み取り一貫性

日付 製品 個数 売上金

...

11/30 製品A 23 230,000

11/30 製品B 57 885,000

11/30 製品C 41 820,000

11/30 製品D 49 1,470,000

12/01 製品A 59 590,000

12/01 製品B 46 690,000

12/01 製品C 36 720,000

12/01 製品D 53 1,590,000

...

12/01 製品C 36 720,000

①15:00の情報 を検索

従業員1

15:00時点での売上表に対して読込みを開始。 読込みには10分かかる

売上表

従業員2(15:05) 売上表を更新 15:09データを確定

12/01 製品C 39 780,000

Page 35: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 35

読み取り一貫性

従業員2による変更作業は、従業員1の①の検索作業へは影響を与えない。

日付 製品 個数 売上金

...

11/30 製品A 23 230,000

11/30 製品B 57 885,000

11/30 製品C 41 820,000

11/30 製品D 49 1,470,000

12/01 製品A 59 590,000

12/01 製品B 46 690,000

12/01 製品C 36 720,000

12/01 製品D 53 1,590,000

... 15:10

12/01 製品C 36 720,000 従業員2(15:05) 売上表を更新 15:09データを確定

12/01 製品C 39 780,000

15:00時点での売上表に対して読込みを開始。 読込みには10分かかる

売上表 ①15:00の情報 を検索

従業員1

Page 36: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 36

読み取り一貫性

日付 製品 個数 売上金

...

11/30 製品A 23 230,000

11/30 製品B 57 885,000

11/30 製品C 41 820,000

11/30 製品D 49 1,470,000

12/01 製品A 59 590,000

12/01 製品B 46 690,000

12/01 製品C 36 720,000

12/01 製品D 53 1,590,000

...

売上表

15:10

12/01 製品C 36 720,000 12/01 製品C 39 780,000

②15:10の情報 を検索

従業員3

15:00時点での売上表に対して読込みを開始。 読込みには10分かかる

従業員2による変更作業は、従業員1の①の検索作業へは影響を与えない。

①15:00の情報 を検索

従業員1

従業員2(15:05) 売上表を更新 15:09データを確定

12/01 製品C 39 780,000

Page 37: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

読み取り一貫性がなぜ必要か

• 更新中にデータを読み取ることができなければ、同時実行性が欠如

してしまう

• 更新中(未確定)のデータを読み込んでしまうことをダーティーリード

と呼ぶ

• もしダーティーリードが発生してしまうと…

37

1.update

1. User1がデータを更新(未コミット) 10万円→110万円

2. User2がデータを検索 110万円

3. User1がトランザクションを ロールバック 110万円→10万円

4. User2がデータ更新 110万円→60万円

データの一貫性の欠如

2.select

3.rollback ×

4.update ×

データの一貫性の確保

User1

User2

Page 38: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 38

Oracle Databaseの排他制御

Bさんの口座

- 3万円

Aさん

Bさん

ロック解除

+ 5万円

10万円

15万円

15万円

12万円

ロック

Bさんは

変更できない

ロック

ロック解除

Aさんは

変更できない

※ロックを検知した際に、「待つ」か「エラーを受け取る」かは選択可能

Bさん

Aさん

Page 39: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 39

行レベル・ロックとは

• あるユーザーが更新中のデータに対して、別のユーザーの更新を防ぐための排他制御が「ロック」です。

• 一般的なロックのレベル(単位)

• 表

• ページ

• 行

• ロックの単位が大きくなると、他のデータにも不要なロックがかかってしまい、ロック解除待ちが多発するため、処理効率が大幅に低下します。

• 同時実行性との密接な結び付き

データを変更するときにデータを占有するために鍵をかけるようなもの

Page 40: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

Oracle Database 完全な行レベル・ロック

• Oracleデータベースは常に行レベル・ロック

をしている

• Oracleの行レベル・ロッキングは、ロックの行数に

制限がなくロックエスカレーションが発生しない

• きめ細かい行レベル・ロッキングにより、

ロックの競合が大幅に軽減される

40

Locked

Locked

Locked

Locked

Page 41: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 41

ご参考)その他のRDBMSのロック機構

• ロックする行数がある一定の値を越えると、ロック・エスカレーションが発生し、ページ・レベル、表・レベルへ移行する

• アプリケーションの同時実行性の低下

• Oracle Databaseでは発生しない

ページへ

Locked

○ Locked

Locked

表へ

Locked

Page 42: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 42

Oracle Databaseのファイル群

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

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

データファイル

Page 43: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 43

REDOログ・ファイル

REDOログ・ファイル

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

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

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

Commit

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

変更履歴:insert / update / delete

• 障害時の復旧に使用

• COMMIT発生時に書き込み

• アーカイブREDOログ・ファイルは、REDOログファイルのバックアップ(後述)

Page 44: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

制御ファイル

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

非常に重要なファイルの為、データベース作成時に自動でミラー化される(デフォルトでは3つ)

44

制御ファイル

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

データ・ファイル情報: データ・ファイル名、現在の状態…

REDOログ・ファイル情報: 最新のREDOログ・ファイルの情報

Page 45: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

パラメータ・ファイル

• 各種パラメータが書かれた設定ファイル。データベースの

起動時に読み込まれる

• 制御ファイルの名前

• Oracle専用のメモリ領域サイズ etc…

• 2種類のパラメータ・ファイル

• テキスト形式の初期化パラメータ・ファイル(Pfile)

• バイナリ形式のサーバー・パラメータファイル(SPfile)

45

コマンドやWebブラウザ から変更を加える

再起動時には再変更しなければならない Pfile

再起動時には変更した値で起動する SPfile

PfileとSpfileの違い

Page 46: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

Oracle Databaseのファイル群 ~まとめ

• データファイル

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

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

• 障害時の復旧に使用する変更履歴が格納されています

• アーカイブREDOログファイルはREDOログファイルの

バックアップです

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

• Oracle Databaseが稼働するための情報

が格納されています

46

Page 47: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 47

<Insert Picture Here>

Agenda

1. RDBMSとは

2. Oracleの基本動作

3. Oracleのファイル群

4. Oracleのプロセス群とメモリ領域

5. データベース内部動作

6. Oracleの運用管理

Page 48: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 48

クライアント

データベース サーバ

アプリケーション・ サーバ

データベースアクセスの概要

ユーザ・ プロセス

ユーザ・ プロセス

ユーザ・ プロセス

SQL文

サーバ・ プロセス

サーバ・ プロセス

サーバ・ プロセス

Oracle専用の

メモリ領域

Page 49: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 49

Oracle専用の

メモリ領域

ディスク上のデータを

読み込む

データベースアクセスの概要

ユーザ・ プロセス

サーバ・ プロセス

Oracle専用の

メモリ領域

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

常駐プロセス

データファイル

REDOログファイル

制御ファイル

アーカイブ

REDOログファイル

パラメータファイル

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

Page 50: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 50

ディスク上のデータを

読み込む

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

データベースアクセスの概要

ユーザ・ プロセス

サーバ・ プロセス

インスタンス

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

Oracle専用の

メモリ領域 SGA

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

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

REDOログファイルREDOログファイル

制御ファイル制御ファイル

アーカイブ

REDOログファイル

アーカイブ

REDOログファイル

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

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

REDOログファイルREDOログファイル

制御ファイル制御ファイル

アーカイブ

REDOログファイル

アーカイブ

REDOログファイル

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

Page 51: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

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

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

51

REDOログ・ バッファ

共有プール データベース・ バッファ・キャッシュ

• 表データ

• 索引データ

• UNDO情報 などを一時的に格納する

• 更新履歴情報 を一時的に格納する

• SQL文の情報

• DBの管理情報

• 結果キャッシュ などを格納する

11g New!

Page 52: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 52

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

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

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

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

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

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

SGA

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

制御ファイル

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

PMON SMON

DBWR

CKPT

LGWR

ARCH

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

リスナー

ユーザ・ プロセス

サーバ・ プロセス

Page 53: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 53

SGA

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

制御ファイル

PMON SMON

DBWR

CKPT

LGWR

ARCH

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

リスナー

ユーザ・ プロセス

サーバ・ プロセス

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

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

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

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

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

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

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

Page 54: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 54

SGA

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

制御ファイル

PMON SMON

DBWR

CKPT

LGWR

ARCH

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

リスナー

ユーザ・ プロセス

サーバ・ プロセス

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

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

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

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

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

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

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

Page 55: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 55

SGA

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

制御ファイル

PMON SMON

DBWR

CKPT

LGWR

ARCH

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

リスナー

ユーザ・ プロセス

サーバ・ プロセス

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

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

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

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

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

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

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

Page 56: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

インスタンス

• Oracle Databaseの処理の中心部分

• メモリ領域とバックグラウンド・プロセスから構成される

56

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

インスタンス

PMON SMON

DBWR CKPT LGWR ARCH

Page 57: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

データベース・サーバ上のメモリ領域

57

Oracle専用の

メモリ領域

ユーザ・ プロセス

プロセス毎のメモリ領域

(Program Global Area)

サーバ・ プロセス

Oracle 専用の メモリ領域

セッション メモリー

プライベートSQL領域

・バインド変数値 ・問合せ実行状況 ・問合せ実行作業領域 テーブルスキャンの進行状況 メモリー内ソートの作業域 ハッシュ結合時の作業域 ビットマップ演算の作業域

・セッション (ログイン) 情報

データベース サーバ

プログラム・グローバル領域(PGA)

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

REDOログファイルREDOログファイル

制御ファイル制御ファイル

アーカイブ

REDOログファイル

アーカイブ

REDOログファイル

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

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

REDOログファイルREDOログファイル

制御ファイル制御ファイル

アーカイブ

REDOログファイル

アーカイブ

REDOログファイル

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

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

Page 58: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

データベース・サーバ上のメモリ領域

58

Oracle専用の

メモリ領域

ユーザ・ プロセス

プロセス毎のメモリ領域

(Program Global Area)

サーバ・ プロセス

Oracle 専用の メモリ領域

データベース サーバ

ユーザ・ プロセス

プロセス毎のメモリ領域

(Program Global Area)

サーバ・ プロセス

同時接続数(n)分

Oracleが必要とするメモリ総量 = (PGA × n ) + SGA

Oracleが利用可能なメモリ量上限を指定 11g New!

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

REDOログファイルREDOログファイル

制御ファイル制御ファイル

アーカイブ

REDOログファイル

アーカイブ

REDOログファイル

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

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

REDOログファイルREDOログファイル

制御ファイル制御ファイル

アーカイブ

REDOログファイル

アーカイブ

REDOログファイル

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

プログラム・グローバル領域(PGA)

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

Page 59: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 59

OS Memory

SGA

PGA

OS Memory

SGA

PGA

SGA

PGA

自動チューニング ALTER SYSTEM SET MEMORY_TARGET=...

MEMORY_TARGET

MEMORY_MAX_TARGET

OSメモリー

自動メモリー管理 (Oracle Database 11g)

OS Memory

Page 60: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

【参考】インスタンスとデータベースの関係

• 基本は1インスタンス=1データベース

• Oracle Databaseの最小単位

• データベース(インスタンス)は

互いに独立

• 複数インスタンス=1データベース

という構成も可能

• Oracle Real Application Clusters

(RAC)という技術を使用

• 高い拡張性と可用性を実現

60

インスタンス

ファイル群

インスタンス

ファイル群

データベース1 データベース2

インスタンス

ファイル群

インスタンス

データベース1

Page 61: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 61

<Insert Picture Here>

Agenda

1. RDBMSとは

2. Oracleの基本動作

3. Oracleのファイル群

4. Oracleのプロセス群とメモリ領域

5. データベース内部動作

6. Oracleの運用管理

Page 62: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 62

Oracle専用の

メモリ領域

バックグラウンド・プロセス ディスク上のデータを

読み込む

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

データベースアクセス

ユーザ・ プロセス

サーバ・ プロセス

SGA

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

インスタンス

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

REDOログファイルREDOログファイル

制御ファイル制御ファイル

アーカイブ

REDOログファイル

アーカイブ

REDOログファイル

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

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

REDOログファイルREDOログファイル

制御ファイル制御ファイル

アーカイブ

REDOログファイル

アーカイブ

REDOログファイル

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

Page 63: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 63

REDOログ・ バッファ

データベース・ バッファ・キャッシュ 共有プール

SGA

データ検索時の動作 (SQL文解析)

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

①検索要求

② SQL文を解析して実行計画をメモリ上に保持

4

検索

Select * from ~;

ユーザ・ プロセス

サーバ・ プロセス

4

Page 64: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

SQL文の解析とは

SELECT d.dname,e.empno,e.ename,e.job

from emp e,dept d

where e.deptno=d.deptno;

1. SQL文をチェック

2. 実行計画を作成

3. 共有SQL領域に格納

発行されたSQL文

• 同じSQLが今までにあったか

• 指定されている表や列が本当にあるのか(妥当性)

• アクセス権限は正しいか

・・・などをチェック!

SQL文のチェック 1

共有SQL領域に格納 3

実行計画の作成 2

作成された実行計画

0 SELECT STATEMENT Optimizer=CHOOSE (Cost=5 Card=14 Bytes=392)

1 0 HASH JOIN (Cost=5 Card=14 Bytes=392)

2 1 TABLE ACCESS (FULL) OF 'DEPT' (Cost=2 Card=4 Bytes=44)

3 1 TABLE ACCESS (FULL) OF 'EMP' (Cost=2 Card=14 Bytes=238)

↓ データをどのように持ってくるのか

64

Page 65: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 65

実行計画の格納

SELECT

name

FROM emp

SELECT

name

FROM dept

SELECT

name

FROM emp

各ユーザが同一のSQLを実行した場合、同じ共有SQL領域を利用

共有プール

データベース・ バッファ・ キャッシュ

REDOログ・ バッファ

データ・ディクショナリ・ キャッシュ

ライブラリ・キャッシュ

結果 キャッシュ

11g New!

SELECT

name

FROM EMP

Page 66: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 66

データ検索時の動作 (SQL文解析)

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

①検索要求

② SQL文を解析して実行計画をメモリ上に保持

4

検索

Select * from ~;

ユーザ・ プロセス

サーバ・ プロセス

REDOログ・ バッファ

共有プール

SGA

4

データベース・ バッファ・キャッシュ

Page 67: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 67

データ検索時の動作 (メモリ検索)

③ キャッシュ上でデータ検索

4

検索

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

ユーザ・ プロセス

サーバ・ プロセス

REDOログ・ バッファ

共有プール

SGA

4

データベース・ バッファ・キャッシュ

Page 68: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 68

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

④ データをキャッシュに展開

4

検索

データ検索時の動作 (ディスク読込み)

ユーザ・ プロセス

サーバ・ プロセス 4

4

REDOログ・ バッファ

共有プール

SGA

データベース・ バッファ・キャッシュ

Page 69: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 69

⑤ 検索結果を返す

4

検索

データ検索時の動作 (結果を返す)

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

ユーザ・ プロセス

サーバ・ プロセス 4

REDOログ・ バッファ

共有プール

SGA

データベース・ バッファ・キャッシュ

Page 70: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 70

データ検索時の動作 (結果キャッシュ利用)

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

①検索要求

SQL文は解析済み。既に同様の問合せ結果も キャッシュ上に存在する

4

検索

Select * from ~;

11g New! EE機能

ユーザ・ プロセス

サーバ・ プロセス

4

REDOログ・ バッファ

共有プール

SGA

データベース・ バッファ・キャッシュ

Page 71: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 71

データ検索時の動作 (結果キャッシュ利用)

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

② 結果キャッシュの内容をそのまま返す

4

検索

検索結果を返す

ユーザ・ プロセス

サーバ・ プロセス

4

REDOログ・ バッファ

共有プール

SGA

11g New! EE機能

データベース・ バッファ・キャッシュ

Page 72: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

Serverside Results Cache

• データ・ブロックではなく、検索結果をキャッシュ • キャッシュするデータ量を大幅に削除

• キャッシュはデータベース内で共有

• ヒント文で設定可能 : /*+ result_cache +*/

• データの一貫性を確保

72

Orders

Inventory

Back Orders

Line Items

Pick Lists

検索結果のみキャッシュ

Server Results Cache

従来のキャッシュ

Orders

Inventory

Back Orders

Line Items

Pick Lists

読み込みブロック 全体をキャッシュ

結果のみをキャッシュしてメモリ効率を最適化

Page 73: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 73

データ更新時の動作 (SQL文解析)

② SQL文を解析して実行計画をメモリ上に保持

4 8

更新

①更新要求

Update ~;

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

ユーザ・ プロセス

サーバ・ プロセス

REDOログ・ バッファ

共有プール

SGA

4

データベース・ バッファ・キャッシュ

Page 74: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 74

データ更新時の動作 (メモリ検索)

③ キャッシュ上でデータ検索

4 8

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

更新

ユーザ・ プロセス

サーバ・ プロセス

REDOログ・ バッファ

共有プール

SGA

4

データベース・ バッファ・キャッシュ

Page 75: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 75

4 8

データ更新時の動作 (ディスク読込み)

更新

ユーザ・ プロセス

サーバ・ プロセス

REDOログ・ バッファ

共有プール

SGA

④ データをキャッシュに展開

4

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

4

データベース・ バッファ・キャッシュ

Page 76: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 76

4 8

データ更新時の動作 (更新ログ生成)

更新

ユーザ・ プロセス

サーバ・ プロセス

⑤ 更新履歴を記録

4 8

REDOログ・ バッファ

共有プール

SGA

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

4

4

データベース・ バッファ・キャッシュ

Page 77: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 77

⑥ 更新前イメージをUNDO領域に格納し、 行データを更新

4 8

データ更新時の動作 (UNDO生成)

更新

ユーザ・ プロセス

サーバ・ プロセス 4 8

REDOログ・ バッファ

共有プール

SGA

UNDO

4 4 8

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

4

データベース・ バッファ・キャッシュ

Page 78: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

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

4

78

⑦ コミット要求

⑨ コミット完了通知

DISK上のデータ・ファイル には、まだ更新データが 反映されていない

データ更新時の動作 (ログ書き込み)

ユーザ・ プロセス

サーバ・ プロセス 4 8

4 8

⑧ REDOログ・ファイル への書き込み

LGWR

REDOログ・ バッファ

共有プール

SGA

8 UNDO

4

データベース・ バッファ・キャッシュ

Page 79: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 79

データ・ファイルへの書き込み

データ更新時の動作 (データ書込み)

コミットとは 非同期!

ユーザ・ プロセス

サーバ・ プロセス 4 8

REDOログ・ バッファ

共有プール

SGA

8 UNDO

4

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

4

DBWR

8

データベース・ バッファ・キャッシュ

Page 80: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

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

4

80

⑦ コミット要求

⑨ コミット完了通知

DISK上のデータ・ファイル には更新データが反映 されていない

更新中のインスタンス障害

ユーザ・ プロセス

サーバ・ プロセス

4 4 8 UNDO 8

LGWR メモリ内の更新データが無くなる

インスタンス障害

REDOログ・ バッファ

共有プール

SGA

4 8

データベース・ バッファ・キャッシュ

~データ更新時の動作 ~

Page 81: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 81

インスタンス再起動時に 自動的にリカバリを実行 →インスタンス・リカバリ

更新中のインスタンス障害

ユーザ・ プロセス

サーバ・ プロセス

REDOログ・ バッファ

共有プール

SGA

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

4 4 8

SMON

8

データベース・ バッファ・キャッシュ

~データ更新時の動作 ~

Page 82: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 82

REDOログ・ファイル REDOログ・ファイル

データ更新時の動作 (ログ書き込み)

REDOログ・ファイル

1つのREDOログ・ファイルがいっぱいになると次のREDOログ・ファイルに切り替わる

→ ログ・スイッチ

ユーザ・ プロセス

サーバ・ プロセス

REDOログ・ バッファ

共有プール

SGA

LGWR

データベース・ バッファ・キャッシュ

Page 83: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 83

<Insert Picture Here>

Agenda

1. RDBMSとは

2. Oracleの基本動作

3. Oracleのファイル群

4. Oracleのプロセス群とメモリ領域

5. データベース内部動作

6. Oracleの運用管理

Page 84: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

データベースの運用管理とは?

• データベースの運用管理には様々な作業が存在

• 管理作業は日々の業務なので、管理工数を削減することはシステム全体のコスト削減に直結する

作成とコンフィグレーション

12 %

データローディング 6%

通常業務中のシステム管理

55%

ソフトウェアメンテナンス

6%

インストール 6%

84

Page 85: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

通常のデータベース管理作業

• データベースの管理と言っても、さまざまな作業がある

• これらの作業を全てこなすには深い知識、経験が必要

85

Top 5 Timed Events

~~~~~~~~~~~~~~~~~~ % Total

Event Waits Time (s) Ela Time

---------------------------------- ------------ ----------- --------

db file sequential read 51,925 8,172 91.49

log file sync 29,367 386 4.32

db file parallel write 614 172 1.93

CPU time 141 1.58

log file parallel write 20,158 53 .59

パフォーマンス診断

OSの情報、V$表の検索、AWRリポート、実行計画

ストレージ管理

Volume manager

領域管理

データファイル追加

チューニング

パラメータ設定、SQL書き換え

バックアップ&リカバリ

OSコマンド、バッチの作成

定期メンテナンス

バッチスクリプトの作成

リソース管理

サーバ負荷確認、メモリサイズ調整

Page 86: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 86

①リストア: バックアップファイルを

定位置に戻す

バックアップ/リカバリとは

障害時にDatabaseを復旧する

Restore/Recovery

時間

9/1

9/2

バックアップリカバリとは、障害時の復旧(リカバリ)作業と、 復旧に必要なファイルを普段から保存(バックアップ)しておく作業

Database

②リカバリ: バックアップ時点から後に

行われた変更を反映

Backup

Databaseを構成するファイルのコピーを保存しておく

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

データファイル

制御ファイル

Page 87: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

データベース運用モード

• Oracle Databaseの運用方法は大きく2つ

• NOARCHIVELOGモード

• ARCHIVELOGモード

• REDOログを上書きする際の動作が異なる

87

52

53

51

循環してREDOログを使用し、上書き前にアーカイブする

52

53

循環してREDOログを使用

ARCHIVELOGモード NOARCHIVELOGモード

54 54

55

Page 88: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 88

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

循環書込みを行うため、 更新履歴情報が上書きされる

51 51

52

53

54

ログ順序番号

52

53

更新履歴を残しておくために、

REDOログ・ファイルのコピーをとっておく

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

REDOログ・ファイル

ARCH

Page 89: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

NOARCHIVELOGモード運用時の制限

• 全ての変更履歴情報がないため、障害発生時まで復旧できない

→バックアップ取得時までしか復旧できない

89

DataFile1

REDOログ・ファイル

[時間]

データ・ファイルの バックアップ

① 障害発生 リストア ②

③REDOログの 適用

DataFile1

1週間前 現在

DataFile2

上書きされてしまったREDOログファイル

×

DataFile2

Page 90: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

ARCHIVELOGモード運用時

• 全ての変更履歴情報があるので、障害発生直前まで復旧可能

90

DataFile1

REDOログ・ファイル

[時間]

データ・ファイルの バックアップ

① 障害発生 リストア ②

④REDOログの 適用

DataFile1

1週間前 現在

DataFile2

上書きされてしまったREDOログファイル

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

③アーカイブREDOログの 適用

Page 91: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

バックアップ・ファイルの管理

• Bのバックアップを取得したタイミングで過去のデータ・ファイル及びARCH1からARCH3まで削除可能

• 全てのアーカイブREDOログファイルを保持する必要はない

91

データ・ファイルの

バックアップ

Data File

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

[時間]

データ・ファイルの

バックアップ

Data File

ARCH2 ARCH1 ARCH3

A B

データ・ファイル

データ・ファイルの

バックアップ

Data File

ARCH5 ARCH4 ARCH6 ARCH7

C

Page 92: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

バックアップの取得方法

• Oracle Databaseのバックアップ取得方法

• 物理バックアップ

• Recovery Manager(RMAN)

• OSコマンド+SQL

データベースのバックアップと言えば、通常はこちら

• 論理バックアップ

• Datapumpによるエクスポート

全ての物理バックアップが破損した場合にはこちらから復旧

データベースの移行にも使用可能

92

Page 93: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

Recovery Manager(RMAN)とは

• Oracle Databaseのバックアップ、リストアおよびリカバリを行うためのユーティリティツール

• 実行方法は2種類

• OSプロンプトからRMANを起動し、コマンドラインで実行

• Oracle Enterprise Manager(EM)のGUIを使用して実行

93

% rman target /

RMAN> bacbakup database;

RMAN> restore database;

RMAN> recover database;

コマンドライン Enterprise Manager(EM)

Page 94: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

Enterprise Manager(EMとは)

• Oracle Database環境を一元的に管理・監視するGUI ツール

• 従来コマンドラインで行っていた管理作業を、EMから指示/ 実行できます

94

パフォーマンス診断 チューニングアドバイス

自動ストレージ管理 領域管理

リソース管理

自動チューニング

バックアップ&リカバリ

ジョブスケジューリング

Page 95: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 95

Enterprise Manager を利用したバックアップ

Page 96: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 96

バックアップ操作概要 (1)

Page 97: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

バックアップ操作概要 (2)

97

Page 98: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

バックアップ操作概要 (3)

98

Page 99: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

バックアップ操作概要 (4)

99

Page 100: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

Oracle Database が出力するログ

• 万が一、障害が発生した場合には、何が起きたのかを把握する必要がある

• Oracle Databaseは様々なコンポーネントから構成

されている

• コンポーネント毎にログが出力される場所が異なる

• 必要な情報を得るまでに時間を要す可能性がある

• 結果、障害復旧及び原因究明に時間がかかってしまう

100

レスポンスタイムの低下

いつまでたっても 処理が終わらない!!

Page 101: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

ADRによるログの一元管理

• Oracle Database 11g R1から障害対応に必要な情報を、一か所に集約し、障害解析の迅速化を図るリポジトリと

ツールが導入

• Automatic Diagnostic Repository(ADR)

• コマンドラインツール / EM

からの管理が可能

101

tnslsnr client rdbms

Automatic Diagnostic Repository

(ADR)

11g New!

Page 102: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 102

サポート・ワークベンチ

Page 103: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 103

障害解析の自動化

障害発生時

ADR(Automatic Diagnostic Repository)

障害管理番号

Alert Log Traces, Dumps

稼動中の情報の取得

ヘルス・チェック

①障害時のアラート、トレースファイルに障害管理番号を紐付てADR(Automatic Diagnostic Repository)に格納

②エラー番号に応じてヘルスチェックが自動的に起動し、メモリ、データの稼動中の状態を調査しADRに格納

③システム管理者に通知され、Enterprise Managerの サポートワークベンチ 画面で確認

EM Support Workbench

⑤IPS(Incident Packaging Service)が、障害管理番号に関連する情報をADR等から取得しzip形式に圧縮

④SQL テストケース・ビルダーが、障害の原因となるSQL文、表作成DDL、統計情報からテストケース作成

サポートセンター連絡時

テストケース

SQL テスト・ケース・ビルダー

IPS(Incident Packaging Service)

Zipファイル

障害復旧作業

⑥SQL 修復アドバイザ、データ・リカバリ・アドバイザが、障害を解析し、障害復旧方法をアドバイス

テストケース、 診断情報の送付

SQL 修復アドバイザ

データ・リカバリ・アドバイザ

SQL文,データ破損の 復旧方法をアドバイス

障害解析に必要な情報を自動取得

必要な情報を全てパッケージ化

障害の自己修復による早期復旧

Page 104: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 104

Oracle専用の

メモリ領域

バックグラウンド・プロセス ディスク上のデータを

読み込む

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

まとめ

ユーザ・ プロセス

サーバ・ プロセス

SGA

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

データベース サーバ

RMANによる バックアップ/リストア

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

REDOログファイルREDOログファイル

制御ファイル制御ファイル

アーカイブ

REDOログファイル

アーカイブ

REDOログファイル

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

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

REDOログファイルREDOログファイル

制御ファイル制御ファイル

アーカイブ

REDOログファイル

アーカイブ

REDOログファイル

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

Page 105: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

付録

105

Page 106: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

Oracle Databaseライセンス体系

• Oracle Databaseは大きく3つのエディションがあります

• システムの規模感、使用したい機能などによってエディションをご選択いただきます

• Enterprise Edition (EE)

• Standard Edition (SE)

• Standard Edition One (SE One)

106

ライセンス価格

システム規模

エディションの違い

Page 107: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 107

Oracle Databaseライセンス体系

• 各エディションごとに標準で利用可能な機能が異なりますので、

詳細は下記をご参照ください

http://www.oracle.com/lang/jp/database/product_editions.html

エディション Enterprise Edition (EE)

Standard Edition (SE)

Standard Edition One (SE One)

CPU最大ソケット 無制限 4 2

概要 システム構成に制限がなく、Oracle Databaseの全

機能を利用できるエディション。また、様々な追加オプションにより、可用性・性能・信頼性など多様なシステム要件を満たす。

Enterprise Editionの一

部の機能と、可用性を高めるためのReal Application Clustersオ

プションを使用可能です。

多くのオプションは使用できませんが、SQLの実行エンジン自体はEnterprise EditionやStandard Editionと変わりません。安価にOracle Database環境をご利用いただけるエディションです。

エディションの違い

Page 108: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

製品名 Processor 特長

Oracle Real Application

Clusters

2,500,000 24時間365日の可用性、オンデマンドのスケーラビリティ

サーバ統合によるコスト削減、パフォーマンス向上

Oracle Active Data Guard 1,087,000 災害対策サイトのリソースの有効活用

Oracle Partitioning 1,250,000 情報ライフサイクル管理(ILM)の基盤、パフォーマンス向上

Oracle Real Application Testing 1,250,000 実際流れているワークロードをリプレイし、システム変更に伴うリスクを回避しながら、最新テクノロジーを迅速に導入するためのテストツール

Oracle Advanced Compression 1,250,000 構造化データのみでなく、非構造化データも含めあらゆるデータを圧縮、ストレージコスト削減とパフォーマンス向上を実現

Oracle Advanced Security 1,250,000 アプリケーションの変更をすることなく、ネットワークの暗号化、データベースの暗号化、その他の認証などを組み合わせ、コンプライアンス要件に容易に対応

注: 単位は円(税別)

• Enterprise Editionで利用可能なオプション製品(抜粋)

• データベース製品系オプション

• その他のオプション製品や詳細は下記をご参照ください http://www.oracle.com/lang/jp/database/database-options.html

108

Oracle Databaseライセンス体系

各オプションについて

Page 109: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

• Enterprise Editionで利用可能なオプション製品(抜粋)

• Oracle Enterprise Manager製品系オプション

• その他のオプション製品や詳細は下記をご参照ください

http://www.oracle.com/lang/jp/database/db_manageability.html

製品名 Processor 機能概要

Oracle Diagnostics Pack 543,500 包括的な一連の自動パフォーマンス診断、及び監視機能を提供

Oracle Tuning Pack 543,500 複雑かつ時間のかかるアプリケーションのチューニング作業を自動化する包括的なソリューションを提供

Oracle Change Management Pack 380,400 包括的なデータベースの変更管理及び追跡機能の提供

Oracle Configuration

Management Pack for Oracle Database

543,500 包括的なレポート作成機能と強力な分析機能によるベスト・プラクティス構成の評価

Oracle Provisioning Pack and Patch Automation

for Oracle Database

380,400 Oracle製品およびオペレーティングシステムに対する自動バッチ処理などの提供

Oracle Data Masking Pack 1,250,000 開発環境、テスト環境、及びステージング環境で機密情報をマスキング

注: 単位は円(税別)

Oracle Databaseライセンス体系

109

各オプションについて

Page 110: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

イベント・セミナー紹介

• Oracle Direct Seminar

• Oracle Directが主催するITプロジェクト全般に渡り役立つ知識やノウハウをご提供するためのインターネット・ライブ・セミナー

• Evening Seminar / Weekend Seminar

• 会社帰りや週末に入門者から上級者まで様々な内容の技術紹介をセミナー形式でご紹介

• Oracle Open World

• 全世界から数万人のIT関係者が参加する大イベント

毎年、オラクルの重要な製品や今後の戦略の発表を実施

110

Page 111: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

Oracle Universityにおける研修フロー

Oracle University の Database 11g 向けカリキ

ュラムは、特定の領域でお勧めのコースに進んだり、Database 11g の複数の領域から上級トピックを選択することができます

111

Page 112: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

無償でダウンロード、自由に学習、評価

• http://www.oracle.com/technology/global/jp/software/index.html

112

<注意>

•US –OTN のアカウントが必要になります

•ライセンス契約に同意の上ご使用ください

Page 113: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

• 以下に Oracle におけるデータベースのバージョン表記について記載します

① メジャー・リリース番号

-主な新規バージョンを識別、重要な新機能が含まれる

② メンテナンス・リリース番号

-メンテナンス・リリースのレベル、いくつかの新機能を含む場合がある

③ アプリケーション・サーバーのリリース番号

-Oracle Application Server (Oracle AS) のリリース・レベル

④ コンポーネント固有のリリース番号

-パッチ・セットや暫定リリースなどに応じてコンポーネントごとに設定

⑤ プラットフォーム固有のリリース番号

-プラットフォーム固有のリリース(通常はパッチ・セット)を識別

113

Oracle におけるバージョン表記

(表記例) 11.2.0.1.0 ① ② ③ ④ ⑤

Page 114: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

技術情報サイト

• Oracle Technology Network (OTN Japan)

• 要会員登録、無料

• http://www.oracle.com/technology/global/jp/index.html

• Oracle Technology Network (US)

• 要会員登録、無料

• http://www.oracle.com/technetwork/index.html

• Oracle Database 11g R2 マニュアル

• http://www.oracle.com/technology/global/jp/documentation/da

tabase.html

• Oracle on Windows関連情報 (@IT)

• http://www.atmarkit.co.jp/fdb/rensai/10_orawin/01/orawin01.ht

ml

114

Page 115: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

• ORACLE MASTER は日本オラクル社により1997年から提供されている Oracle 製品の知識や技術に関する認定資格

• 2003年には全世界共通の認定資格 「Oracle Certification

Program」 に準拠し、世界レベルで認定

• 資格取得者数はのべ 20万人を突破( 2009年7月1日 時点)

• Database 以外にも Middlewareや Application など各製品群に対応した資格も提供

• 詳細は ORACLE MASTER ポータルをご参照ください http://www.oracle.com/global/jp/education/certification/portal/index.html

115

ORACLE MASTER

Page 116: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

Oracleの実績 Oracleのサポート

年間売上 約80億円(国内トップクラス) お取引き企業数 8,000社以上(国内トップクラス) サポート契約継続率 90%以上 過去3年のサポート切替実績 1,200件以上

【Oracle販売実績】

Oracle Award受賞

[DODAI] Platform Solution Award

【過去受賞歴】 パートナー別販売実績第1位 Excellent Partner受賞(9年連続 9回) Best Partner賞 Support of The Year賞 Show case of the Year賞 Oracle Real Application Clusters部門 Best Area Performance of the Year賞 Oracle Database 11g Award賞 KUDOS for Oracle Support Partners賞 【ACSP認定】高レベルサポート認定企業

【Oracle受賞歴】

1987年、アシストグループとして株式会社オラクルを設立し、国内で 最初にOracleのライセンス販売、サポートの提供をはじめました。 誠実にお客様の声に耳を傾け、真心を持ってお答えするという姿勢と、 万全のサポート体制でお客様の期待に答え続け、多くのお客様より厚く ご支持を頂けております。

【歴史】

○ マルチベンダー対応 アシストではすべてのOSで実機を用意し、構築スキルを蓄え、 検証環境を整えております。

24時間365日、約200名のOracle専属技術者に よる全国サポート体制 (国内最大級)

過去3年(年間平均)の対応状況 サポート件数 約10,000件/年 フィールド対応件数 約400件/年 顧客満足度 約90%

○ 信頼のフィールドサポート サポートセンターで解決できない問題は、Oracle専任技術 者が直接お客様のもとをお伺いし、解決にあたります。

アシストのOracleビジネスのご紹介

116

Page 117: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved.

豊富な支援実績

西日本支社のみで約25名のOracle専門部隊がお客さまの課題

解決にあたり、年間100件を超える技術支援を実施しております。

さまざまな課題やご要望に対して、柔軟かつ高品質なサービスを

ご提供することが可能です。

A社(卸売業)  RHEL/10g R2基幹系システム

再構築

Real Application Clusters、

バックアップ/リカバリ、データ移行

B社(陸運業) Win/10g R2業務系システム

再構築

Oracle Fail Safe、データ移行、

バックアップ/リカバリ

C社(電気・ガス業) AIX/10g R2基幹系システム

再構築HA、バックアップ/リカバリ、教育

D社(電気機器)  Win/11g R1情報系システム

構築Single、DB設計、チューニング

E社(証券業) RHEL/9i R2 災対サイト構築 Data Guard、バックアップ/リカバリ

F社(情報・通信) HP-UX/10g R2情報系システム

再構築

Real Application Clusters、

バックアップ/リカバリ、

パーティション設計

G社(電気機器)  AIX/10g R2基幹系システム

再構築

パーティション設計、

バックアップ/リカバリ

技術支援サービスメニュー

技術支援の一例

導入作業

バージョンアップ作業

データベース移行

Oracle データベース設計/実装

バックアップ/リカバリ運用設計

バックアップ/リカバリ検証

データベース診断

監視設計

SQL チューニング

パーティショニング設計

Real Application Clusters(RAC )環境構築

Data Guard 環境構築

その他技術支援(オンサイト技術支援)

各種オンサイト教育

アシストのOracleビジネスのご紹介

117

Page 118: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 118

以上の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。

Oracle、PeopleSoft、JD Edwards、及びSiebelは、米国オラクル・コーポレーション及びその子会社、関連会社の登録商標です。その他の名称はそれぞれの会社の商標の可能性があります。

Page 119: ここからはじめる、Oracle データベース入門・アーキテクチャー編 ·  第5回 「夜もよか~!! オラクル勉強会 presented

Copyright© 2010, Oracle. All rights reserved. Copyright© 2013, Oracle & K.K.Ashisuto All rights reserved. 119

ご清聴ありがとうございました。

株式会社アシスト 西日本支社