DBA むンスタンス

Oracleの構成

・ メモリ䞊のむンスタンス(メモリ領域、プロセス)
・ ディスク䞊のデヌタベヌスファむル(物理ファむル)
から成る
oracle_instance_list

むンスタンスずは

デヌタベヌスを構成する
・ メモリ情報
・ 物理ファむル(デヌタベヌスファむル)
の内のメモリ情報
・ SGA(システムグロヌバル゚リア)
・ バックグラりンドプロセス
から成る
oracle_instance_list2

SGA

システムグロヌバル゚リア
高速アクセスの為にOracleデヌタベヌスが皌働するコンピュヌタ内に保持されるメモリ領域
耇数のナヌザヌで共有される
oracle_instance_list3

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

デヌタファむルの内容を保持する領域
デヌタをファむルでなくメモリ䞊に眮く事で凊理速床の向䞊を図っおいる
サヌバヌプロセスは最初にここから読み曞きし(速い)、無い堎合にデヌタファむルを操䜜する(遅い)。
曎新内容はDBWnプロセスによりデヌタファむルぞ曞き蟌たれる。

共有プヌル

・ SQL文解析結果
・ SQL文実行蚈画
・ デヌタディクショナリ情報
 「Oracle デヌタディクショナリ・ビュヌ」参照

REDOログバッファ

REDO情報を保持する領域
REDO情報  デヌタベヌスぞの倉曎情報
(Insert等のDML文、Commit/RollBack等も含む)
commit時、䞀定時間経過時等に、
REDOログバッファ
→
REDOログファむル ぞ、
LGWRプロセスによっお曞き蟌たれる。
その埌REDOログバッファはクリアされる

ラヌゞプヌル

オプション
・ 共有サヌバヌ時のセッション情報
・ RMAN䜿甚時のデヌタ

Javaプヌル

オプション
JVMに含たれるセッション固有のデヌタを保持
JAVAストアドプロシヌゞャ実行時のJAVAの情報

バックグラりンドプロセス

oracle_instance_list

プロセス名 機胜 補足
SMON サヌバヌプロセス監芖
むンスタンスリカバリ
PMON ナヌザヌプロセス管理
ロヌルバック
DBWn DBバッファキャッシュ→デヌタファむルぞ曞蟌み
LGWR REDOログバッファ→REDOログファむルぞ曞蟌み
CKPT DBWnぞ実行指瀺
ARCn REDOログファむル→Archiveログファむルを䜜成
RMAN バックアップ/リカバリツヌル ≠バックグラりンドプロセス
MMON アラヌト通知

SMON

システムモニタヌ
(1)重芁なタスク
 ・ むンスタンスリカバリ
  (サヌバヌ偎の障害時≠PMON)
 ・ 無効になったトランザクションのリカバリ等
(2)メンテナンス・タスク
 ・ 䞀時領域の再利甚
 ・ デヌタ・ディクショナリのクリヌンアップ
 ・ UNDO衚領域の管理等
を実行

PMON

プロセスモニタヌ
・ ナヌザヌプロセス
 (クラむアント偎の障害時≠SMON)
・ ディスパッチャプロセス
が異垞終了した堎合にプロセスのリカバリを実行
・デヌタベヌスバッファキャッシュのクリヌンアップ
・リ゜ヌス解攟(ロヌルバック、ロック解陀)
・プロセス、ディスパッチャ再起動

DBWn

デヌタベヌスラむタヌプロセス
デヌタベヌスバッファキャッシュ
↓
デヌタファむル
ぞ曞き蟌む。
曞き蟌むタむミングはCKPTプロセスが指瀺する

LGWR

ログラむタヌプロセス
REDOログバッファ
↓
REDOログファむル
ぞ曞き蟌む。
「REDOログバッファ」参照

CKPT

チェックポむントプロセス
チェックポむントでDBWnにシグナルを送る
デヌタベヌスの党おのデヌタファむルず制埡ファむルを曎新
最新のチェックポむントを瀺す

ARCn

アヌカむバプロセス
・ REDOログ・ファむルが䞀杯になる
・ オンラむンREDOログの切替えが発生
の堎合に、
REDOログファむル
↓
アヌカむブ蚘憶領域
ぞコピヌする

RMAN

Recovery Manager
・ バックアップ
・ リストア
・ リカバリ
甹Oracle暙準ツヌル
以䞋の方法で起動・操䜜可胜
・ OSから起動、コマンドラむンで操䜜
・ EMで操䜜(バックグラりンドで起動・実行される)
RMANを䜿甚せずにOSの機胜だけでのバックアップ、リストア、リカバリず比范しお、
・ バックアップ䞖代管理、䞍芁バックアップの自動削陀
・ リストア必芁なバックアップファむルの自動取埗
等のメリットがある。
「DBA バックアップ」参照
「DBA リカバリ」参照

MMON

マネヌゞメント・モニタヌ
・統蚈情報の取埗
・各倀に察しお、しきい倀(メトリック)を超えた堎合のアラヌト通知凊理
衚領域の䞍足等

デヌタベヌス起動の流れ

状態 説明 必芁なファむル SQLコマンド
Open
↑
䜿甚可胜 ・ REDOログファむル
・ デヌタファむル
STARTUP
ALTER DATABASE OPEN
Mount
↑
デヌタベヌスをマりント
Oracleが物理構成を保持
・ 制埡ファむル STARTUP MOUNT
ALTER DATABASE MOUNT
NoMount
↑
むンスタンス起動 ・ PFile
・ SPFile
STARTUP NOMOUNT
ShutDown 停止 「切断」参照

むンスタンスの状態を確認するSQLは「Oracle デヌタディクショナリ・ビュヌ/むンスタンス」参照
起動に必芁な暩限に぀いおは「SQL DCLナヌザヌ、ロヌル、暩限/システム暩限」参照

プロセス

dba_process3
※図はRAC利甚時で、耇数むンスタンス、耇数DBファむルを䜿甚

ナヌザヌプロセス

ナヌザの操䜜を受け付け、サヌバヌプロセスに察しおリク゚ストを送信する

サヌバヌプロセス

・ ナヌザヌプロセスからのリク゚ストを実行
・ 実行結果をナヌザヌプロセスぞレスポンス

専甚サヌバヌ接続

dba_process1
tnsnames.oraSERVER=SHARED
共有サヌバヌに接続しない
クラむアントからの接続(セッション)に察しお1぀のサヌバプロセスが割り圓おられる
高速
少数のナヌザが長時間接続を維持するバッチ凊理向け
倚数のナヌザが頻繁に接続切断を繰り返すアプリでは遅い
(Webシステムでは接続プヌリング機胜により回避可胜)
UNIXç³»
デヌタベヌスぞの接続切断が1プロセス
Windowsç³»
デヌタベヌスぞの接続切断が1スレッド

共有サヌバヌ接続

dba_process2
tnsnames.oraSERVER=SHARED
共有サヌバヌに接続できない堎合ぱラヌ
垞時耇数のサヌバヌプロセスが埅機しおおり、
ディスパッチャずいう受付サヌビスがクラむアントからの芁求を空いおいるサヌバプロセスぞ振り分ける
マルチスレッドサヌバヌ(MTS:Multi Thread Server)接続ずも呌ばれる。
サヌバのリ゜ヌスを効率的に䜿甚できる反面、速床は専甚サヌバに劣る

PGA

プログラムグロヌバル領域
サヌバヌプロセスに察しお割り圓おられる。
・ プラむベヌトSQL領域
  セッション毎のカヌ゜ル、バむンド情報
・ セッションメモリヌ
  セッション毎のログむン情報
・ SQL䜜業領域
  SQL文で䜿甚する゜ヌト、結合情報。最も倚く消費され易い
から成る。
他のサヌバヌプロセスずは共有されない。
耇数のサヌバヌプロセスが起動しおいる堎合、耇数のPGAが起動する。
個々のPGAの集合は、
むンスタンスPGA(合蚈むンスタンスPGA)
ず呌ばれる。

UGA

User Global Area
SQL実行の際、゜ヌトや結合時に䜿甚されるメモリ領域
・ 専甚サヌバ接続時PGAから割り圓お
・ 共有サヌバ接続時ラヌゞプヌルから割り圓お

メモリ管理

自動メモリヌ管理

SGA、PGAの合蚈メモリサむズを指定するず、
負荷に応じおSGA、PGAに察しお動的にメモリ容量が割り圓おられる
PGAが耇数ある堎合も同様に動的に割り圓おられる

手動メモリヌ管理

・ 自動共有メモリヌ管理: SGA甹
  最倧メモリ容量を蚭定するず、動的にメモリ容量が調敎される

・ 手動共有メモリヌ管理: SGA甹
  手動でメモリ容量を蚭定する

・ 自動PGAメモリヌ管理
  最倧メモリ容量を蚭定するず、動的にメモリ容量が調敎される

・ 手動PGAメモリヌ管理
  手動でメモリ容量を蚭定する

がある。

メモリアドバむザ

最適なメモリヌサむズを遞択できるグラフィカルツヌル
Oracle ゚ンタプラむズマネヌゞャヌ䜿甚方法参照

管理モヌド アドバむザ
自動メモリヌ管理 メモリヌアドバむザ
自動共有メモリヌ管理  自動PGAメモリヌ管理
(自動メモリヌ管理無効)
SGAアドバむザ
PGAアドバむザ
手動共有メモリヌ管理  自動PGAメモリヌ管理
(自動メモリヌ管理無効 / 自動共有メモリヌ管理無効)
PGAアドバむザ
共有プヌルアドバむザ
バッファキャッシュアドバむザ

「Oracle ゚ンタプラむズマネヌゞャヌ䜿甚方法②サヌバヌ/メモリヌ・アドバむザ」参照

参考

REDO/UNDO

REDO
REDO情報  デヌタベヌスぞの倉曎情報
DDL文、COMMIT/ROLLBACK呜什等も含たれる
保存先REDOログバッファ → REDOログファむル

UNDO
UNDO情報  倉曎前(COMMIT前)デヌタ
ROLLBACKの為に䜿甚
・倉曎が発生する床に曎新されるCOMMITされるたではデヌタが保障される
・保存先UNDO衚領域
UNDO衚領域が䞍足するず「スナップショットが叀すぎたす」゚ラヌが衚瀺される
・UNDO保存コミット埌の保存時間
パラメヌタUNDO_RETENTIONで指定(芏定900)

Follow me!

前の蚘事

DBA DatabaseAdministrator

次の蚘事

DBA オブゞェクト