株式会社コーソル

コーソルDatabaseエンジニアのブログ

技術ブログ

REDO欠落時のブロック破損時のスタンバイDB再作成を回避する / Dbvisitの同期機能

Oracle ACEの渡部です。Dbvisitは、拠点災害対策のため、基本スタンバイ技術を用いてOracle Databaseの待機系データベース(スタンバイデータベース)を作成し、管理できるソフトウェアです。

基本スタンバイ技術はREDOデータの転送と適用を基礎としています。このため、REDOデータが失われたり、 REDOデータにデータベースの更新が記録されない状況(NOLOGGING操作)が発生すると、プライマリデータベースとスタンバイデータベースが適切に同期されなくなります。

通常、このような状況が発生すると、スタンバイデータベースを再作成するほかないのですが、Dbvisitは RMAN増分バックアップを使用し、プライマリデータベースとスタンバイデータベースを再同期することが可能です。 スタンバイデータベースの再作成は不要です。

この動作を確認してみます。

プライマリDBでNOLOGGING操作を実行

プライマリデータベースでNOLOGGING操作を実行します。なお、データベースのFORCE LOGGING設定はあらかじめ無効にしてあります。

SQL> connect test/test
Connected.
SQL> create table TBL02 nologging as select mod(rownum, 1000) a from all_objects where rownum  SELECT * FROM  TBL02;
SELECT * FROM  TBL02
       *
ERROR at line 1:
ORA-01578: ORACLE data block corrupted (file # 7, block # 131)
ORA-01110: data file 7: '/u01/app/oracle/oradata/dvt8c2b1/users01.dbf'
ORA-26040: Data block was loaded using the NOLOGGING option

SQL> SELECT FILE#, BLOCK#,BLOCKS FROM V$NONLOGGED_BLOCK;

     FILE#     BLOCK#     BLOCKS
---------- ---------- ----------
         7        131          2

ブロック破損を示すエラー ORA-01578 が発生しました。また、V$NONLOGGED_BLOCKビューに破損したブロックが表示されています。

NOLOGGING操作を行ったため、これは想定された動作です。

同期操作を行ってから同じテーブルにアクセスしてみる

スタンバイデータベースの同期は管理コンソールから簡単に実行できます。

同期処理の完了後、さきほどと同じテーブルにアクセスしてみます。

[oracle@ldvt8c2bs ~]$ sqlplus test/test

SQL*Plus: Release 12.2.0.1.0 Production on Tue May 28 20:23:34 2019

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

Last Successful login time: Tue May 28 2019 20:11:49 +09:00

Connected to:
Oracle Database 12c Standard Edition Release 12.2.0.1.0 - 64bit Production

SQL> SELECT * FROM  TBL02;

         A
----------
         1
         2
         : 
       998
       999

999 rows selected.

SQL> SELECT FILE#, BLOCK#,BLOCKS FROM V$NONLOGGED_BLOCK;

no rows selected

正常にアクセスできました。また、V$NONLOGGED_BLOCKに破損ブロックの表示はありません。

スタンバイDBのアラートログをチェック

スタンバイDBのアラートログをチェックすると、 RMAN増分バックアップをリストアしてプライマリデータベースとスタンバイデータベースを再同期していることがわかります。

2019-05-28T20:22:08.736731+09:00
Incremental restore complete of datafile 4 /u01/app/oracle/oradata/dvt8c2b1/undotbs01.dbf
  checkpoint is 1426117
  last deallocation scn is 3
Incremental restore complete of datafile 3 /u01/app/oracle/oradata/dvt8c2b1/sysaux01.dbf
  checkpoint is 1426117
  last deallocation scn is 1408498
Incremental restore complete of datafile 1 /u01/app/oracle/oradata/dvt8c2b1/system01.dbf
  checkpoint is 1426117
  last deallocation scn is 1406223
Incremental restore complete of datafile 7 /u01/app/oracle/oradata/dvt8c2b1/users01.dbf
  checkpoint is 1426160
  last deallocation scn is 3

RMAN増分バックアップは、変更点のみを含むバックアップでファイルサイズは小さいため、ファイル転送負荷およびファイルI/O負荷は一般に小さいです。

Dbvisit同期機能("Synchronize Standby Database")の有用性について

NOLOGGING操作は、REDOデータの出力を抑えることができるため、処理の高速化および REDOデータの転送および適用処理の遅延の回避に有用です。ただ、その結果としてスタンバイデータベースでブロック破損が発生してしまうため、FORCE LOGGING設定を有効にしてNOLOGGING操作自体を無効化するのが一般的でした。

Dbvisit同期機能を使用すると、スタンバイデータベースで発生したブロック破損を修復可能なため、 NOLOGGING操作の利点とスタンバイデータベースの保護を両立できます。

また、何らかの原因でアーカイブログファイルが欠落した場合(いわゆる「アーカイブ・ギャップ」)にも、スタンバイデータベースを再作成することなく、 スタンバイデータベースを復元できます。

Dbvisit Standbyの概要

Dbvisit Standby は歴史が長く、全世界および日本での導入実績も多数ある製品です。 安心してご利用いただけます。

2021年5月時点で、国内での最新バージョンは 9.0.20 ですが、近日中に新バージョン 10のリリースが予定されています。

バージョン10の主な新機能は以下の通りです。

  • 有償 Snapshot Optionが標準機能に(追加費用不要)
  • 運用中のPDBの追加・削除に対応(PDB数3まで)
  • ネットワーク処理の改善

なぜコーソルからDbvisit Standbyを購入すべきなのか

コーソルのDbvisitサービス

コーソルはDbvisit Standbyの一次代理店で、Dbvisit Standbyの製品販売を行います。 加えて、Dbvisitの導入およびサポートを行います。

コーソルのDbvisit Standby販売など

コーソルでは、Dbvisitを用いたOracle Standard Edition向け災害対策環境構築サービスを提供しています。

SIer様、販社様がDbvisit Standbyを販売することも可能です。

Oracle DatabaseおよびDbvisit Standbyの技術力は日本随一

コーソルからDbvisit Standbyを購入いただけると、認定資格Dbvisit Standby Certified Associate取得者数12名、ORACLE MASTER Platinum 単年取得者数7年連続No.1(2014年度~2020年度)という指標に裏付けされた高い技術力により責任もって製品を導入いたします。また、導入後も品質の高い製品サポートをご提供いたします。

Dbvisit Standby技術力の証明

総勢12名のエンジニアが認定資格Dbvisit Standby Certified Associateを取得

Dbvisitに関わる総勢12名のエンジニアが認定資格Dbvisit Standby Certified Associateを取得しました!

Dbvisitに関する技術的な知見をセミナーおよび技術ブログで発信

Oracle AWS移行セミナー Dbvisit on EC2セッション骨子(2020年7月22日実施)
3/11開催SIOS社共催Oracle SEHA+Dbvisitセミナーのお知らせ
3/3(水) お昼のDbvisit + Insight Qubeウェビナーのお知らせ
11/10-12 db tech showcase コーソル担当セッションのご紹介 #dbts2020

Dbvisit関連ブログ記事を多数公開

Dbvisit Standby Snapshot Option – Dbvisit 9新機能
Dbvisitとカスタムスクリプトによる基本スタンバイ管理・運用の比較
Dbvisit : スイッチオーバーとフェイルオーバーの比較
スタンバイDBを再作成せずにStandby ExpressからDbvisit Standbyへ変更する方法
Oracle ASM RACからシングル構成のスタンバイDBを作成する – Dbvisit
REDO欠落時のブロック破損時のスタンバイDB再作成を回避する / Dbvisitの同期機能
Dbvisit Standbyのアーキクチャと管理コンソール操作
Oracle Database基本スタンバイの各種手順(スタンバイDB構築、ログ転送→適用、スイッチオーバー、フェイルオーバー)
Oracle Database Standard Editionの拠点災害対策ソリューションとは (基本スタンバイとDbvisit)

Oracle Database技術力の証明

  • 単年度ORACLE MASTER Platinum取得者数7年連続No.1

7年連続ORACLE MASTER Platinum取得者数No.1! Oracle Certification Award 2020

Oracle DatabaseのDBAサービスを提供可能

Dbvisit Standbyと併せて使用される、Oracle Databaseについても製品販売、製品サポート、製品の導入を行います。また、リモート回線経由でスポット的なDBA実務を行うリモートDBAサービス、コンサルティングやベンダコントロールを含めたOracle Databaseプロフェッショナルサービスを時間制で提供する時間制DBAサービスも提供しています。

非常駐型データベース運用サービス

プロフィール

On7tWW6m1Ul4

渡部 亮太

・Oracle ACE
・AWS Certified Solutions Architect - Associate
・ORACLE MASTER Platinum Oracle Database 11g, 12c 他多数

カテゴリー

アーカイブ