OCI Database-VMでData Guard構成を作ってみた
この記事は「Oracle Cloud その2 Advent Calendar 2018 - Adventar」の12月23日の記事として書かれています。 記事の内容は執筆時(2018/12/23)のものであり、現在とは異なる可能性がありますので適宜最新状況をご確認ください。
ついに来ました!OCI Database - Virtual Machines(VM)の自動Data Guard構成対応!
Release Notes : Data Guard for virtual machine DB systems (2018/12/14)
Oracle Cloud Infrastructure Database (OCI Database) の自動Data Guard構成
そもそもData Guardって?
Oracle Databaseの機能で、主にデータ保護を目的としたデータベースの自動同期(レプリケーション)機能です。何かあった場合にきちんと切り替えられるように、データの変更情報を元に同期を行うので、ブロックそのものをレプリケーションして破損ブロックまでそのまま伝搬しないような仕組みや、レプリケーション元(プライマリ)・先(スタンバイ)に対して正常なブロックかをチェックしながらレプリケーションを行うことが可能です。Active Data Guardを使うと、スタンバイ側を参照専用で利活用することができます。
どんな構成がとれるの?
OCI Database VMでData Guardを自動構成する場合には、
プライマリ・データベースに紐づけられるスタンバイ・データベースは1つ(1対1)。もっと多くのスタンバイ・データベースを紐づけたい場合には、手動でスタンバイ・データベースを作成することで構成可能です。
プライマリ・データベースのDBシステムと同一のアベイラビリティ・ドメイン内でも異なるアベイラビリティ・ドメインでも配置可能
ということで、早速作ってみましょう
Data Guard 構成を作ってみる
0. 前提条件
事前にプライマリ・データベースの環境を用意
- エディションはEnterprise Edition以上
- Active Data Guardを使いたい場合はEnterprise Edition - Extreme Performance
- エディションはEnterprise Edition以上
スタンバイ・データベース環境の条件
2つのDB Systemが通信可能な状態
スタンバイ・データベースを作る
1.プライマリ・データベースのDBシステム詳細ページを表示
まずプライマリ・データベースの DB System Detail のページのDatabaseの情報を表示します
2.Data Guard構成を有効化
右側にある・・・
をクリックして、Enable Data Guardをクリック
3.スタンバイ・データベース環境の情報を入力
入力する内容は5項目だけ。
- DISPLAY NAME - 任意の名前を入力
- AVAILABILITY DOMAIN - 任意のアベイラビリティ・ドメインを選択(今回はプライマリと別のアベイラビリティ・ドメイン(AD2)を指定しています)
- CLIENT SUBNET - 任意のクライアント・サブネットを選択
- HOSTNAME PREFIX - 任意のホスト名を入力
- DATABASE ADMIN PASSWORD - データベースの管理者パスワードを入力
その他の項目は、選択・入力ではなく情報として表示されます。
はい、終わりです。めちゃくちゃ簡単ですね。
出来上がった環境の状態を確認してみる
出来上がった環境の状態を、コマンドで確認してみます。
さきに結論まとめておくと、こんな構成
- フィジカル・スタンバイ
- 同期が開始している状態
- 保護モードは最大パフォーマンスモード
- Oracle Data Guard Brokerが有効
- (Extream Performanceで作成した場合) Active Data Guard機能が使えるためRead-Only mode でのopen状態=参照可能な状態
・・・要は、全て設定済で、デフォルト構成でよければそのまま使える状態。
自動構成された環境は、Oracle Data Guard Brokerという、Data Guardの管理フレームワーク機能が有効な状態になります。これによって、簡単にData Guard構成の管理や転送・適用状況の情報が確認できます。
- DGMGRL(Data Guard Brokerのコマンド・ユーティリティ)を使って、Data Guard構成を確認
[oracle@dgp ~]$ dgmgrl / DGMGRL for Linux: Release 18.0.0.0.0 - Production on Sat Dec 22 12:13:54 2018 Version 18.2.0.0.0 Copyright (c) 1982, 2018, Oracle and/or its affiliates. All rights reserved. Welcome to DGMGRL, type "help" for information. Connected to "dgp_iad1k2" Connected as SYSDG. DGMGRL> SHOW CONFIGURATION; Configuration - dgp_iad1k2_dgp_iad26x Protection Mode: MaxPerformance Members: dgp_iad1k2 - Primary database dgp_iad26x - Physical standby database Fast-Start Failover: DISABLED Configuration Status: SUCCESS (status updated 42 seconds ago)
- スタンバイ・データベースの情報(REDO転送・適用情報など)を確認
DGMGRL> show database dgp_iad26x Database - dgp_iad26x Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: 0 seconds (computed 4 seconds ago) Apply Lag: 0 seconds (computed 4 seconds ago) Average Apply Rate: 8.00 KByte/s Real Time Query: ON Instance(s): dgp Database Status: SUCCESS
ここまで自動で構成・設定するのは、手動だと慣れていない人はけっこう大変だと思います。大体REDO転送の設定で皆さんはまりがち。
手動(コマンド)でのData Guard構成作成の速さだけは自信があるので手動構築も好きですが、ここまで設定された状態で使い始められるのは本当に楽だと思います。