概要
- 最近OracleDBやる機会があったので、基礎知識から整理。
- 内容は大したことないです。自分のメモ用です。
- 書いてないところも気が向いたら更新するかも。
基礎知識
-
SGA:System Grobal Area -> プロセス間で共有するメモリ領域。バッファやらキャッシュやら。
- データベースバッファキャッシュ:同じブロックの読み取りを効率化(キャッシュ)、メモリ・ディスクの処理性能差を埋める(バッファ)
-
SID:インスタンスに紐づく固有の識別子
-
マルチテナント
- 複数のDB(PDB:プラガブルDB)を1つのCDB(コンテナDB)に統合し、1つのインスタンスで管理する
-
リスナー
- 接続要求を受けたらプロセスを生成する
- セッション自体はサーバプロセスとクライアント間で確立される
- ローカルの場合はリスナーを使用せずにDBプロセスに直接接続できる
-
Oracle12cからマルチスレッド実行モデル
- 一度に実行するプロセス数が減る
-
バックグラウンドプロセス
- SMON:インスタンスの状態監視
- PMON:プロセス状態監視
- CKPT:チェックポイントを各ファイルに書き込む
-
Sharding
- 複数のサーバを単一の論理DBに
- https://www.ashisuto.co.jp/corporate/column/technical-column/detail/1201492_2274.html
- Oracle は GDS(Global Data Services)を使う
- どのShardにデータがあるかなど・・・
- Sharding KeyがどのShardにデータを入れるかきめる
高可用性
TAF
http://otndnld.oracle.co.jp/tech/oci/pdf/taf_10.2.pdf
ASM
Oracle Enterprise Manager
Oracle Real Application Cluster
- Cache Fusion:複数ノードのデータの一貫性を自動的に保持
- キャッシュミスの場合、リモートノードのメモリ上からデータブロックを転送
Oracle Advanced Security
https://www.oracle.com/assets/advanced-security-wp-12c-1896139-ja.pdf
DB暗号化
- TDE
- Disk IOで暗号化/複合化
- Oracle Wallet(11gまで)/Oracle Keystoreにマスタ暗号鍵が格納
- マスタは列暗号鍵、表領域暗号鍵を暗号化
- RMANも暗号化
Oracle Vault
特権ユーザのアクセスコントロール
IPアドレスや時間帯によって制御
Oracle Goldengate
バージョンの異なるOS/DB間でのレプリケーションを実現
- REDOログから更新情報を抽出
- Trailファイルに格納
- Trailファイルから転送
- 転送した先でTrailファイルに格納
- Trailファイルから更新分についてSQLに変換し、DBを更新
Oracle Active Dataguard
Oracle Database Replay
Oracle Real Application Testing
PDB
参考URL
http://www.oracle.com/technetwork/jp/ondemand/db-technique/b-3-rac-1484714-ja.pdf
http://www.oracle.com/technetwork/jp/ondemand/db-technique/d-4-rac11gr2-1448379-ja.pdf