データベースの運用要件として、次の点を確認しておく必要があります。
ARCHIVELOGモード、NOARCHIVELOGモードの設定はOracleデータベースに固有の設定です。
通常のデータベースでは、ARCHIVELOGモードで運用しますが、次のような条件が揃っている場合には、NOARCHIVELOGモードで運用することもあります。
この運用では、1日の処理中にデータベースの物理障害が起きた場合、前日に取得したバックアップをリストアし、その日に取得されたREDOログを適用できるという条件が揃っている必要があります。 そのため、1日のREDOログ書き込みサイズを常に監視し、REDOログのグループ数を、更新処理の増大に伴って追加していく必要があります。
計画的なシャットダウンが許容されているかどうかによって、バックアップ取得の種類が異なります。 代表的なパターンを考えてみます。
シャットダウンできる環境では、仝データベースのバックアップを取得することができます。 最悪の場合でも、全データベースのバックアップを戻せばその時点のデータベースの状態に戻すことができるという意味で、貴重なバックアップです。
24時間365日稼働が原則の運用条件では、オンラインバックアップしか取得できません。 どの物理ディスクが障害を起こした場合でも回復できるように、周期を決めてデータファイルのバックアップ計画を立てていきます。 ただし、バックアップ取得の頻度は異なっていてもよく、頻繁に更新されるデータファイルは頻繁にバックアップを取得しておき、回復処理の時間を短縮できるようにします (そもそも読み書きの頻度が高いファイルは壊れやすいということもあります)。
また、オンラインバックアップ取得計画を立てる際、新規に追加されたデータファイルのバックアップ取得を計画に入れ忘れることが多いので、注意してください。 回復処理時間の短縮を図るのであれば、増分バックアップを考慮に入れ、Oracle製品であれば、リカバリマネージャを使ったバックアップ取得、リカバリ手順を考慮してもよいと思います。
バックアップをとるデータファイルの数が多い、オンラインによるバックアップ取得を行う必要がある、増分バックアップを考えている、確保しておくべき世代を管理する必要がある、など複雑な手順が増えてくるに従って、手作業ですべてを管理するのは困難になってきます。 大規模で、クリティカルな条件の基でデータベースを運用する場合、上手に管理ツールを使用することをお勧めします。
費用との関連で検討すべきですが、次のようなソリューションも視野に入れてバックアップ/リカバリ運用を検討する必要があります。
●SANとNAS
それまでローカルに管理されていたストレージは、他のサーバの空き領域が大きくても利用できない、サーバ障害時には、そのサーバに接続しているストレージにはアクセスできないというデメリットがありました。
SANは、ファイバーチャネルを使って、ストレージ専用のネットワークを構築し、ディスクやテープといった装置を接続します。 インターネットの普及によって、急増するデータを統合的に管理し、かつシステムパフォーマンスを向上させるためには、SANの技術は欠かせないものになっています。
SANをバックアップ処理のための手段として考えたとき、バックアップ用のデータがLAN上に流れないため、処理を高速に行うことができます。 また、バックアップ処理を行うためのCPUに負荷をかけないようにするため、サーバレスバックアップに対応する製品化も進んでいます。 高信頼性、高速性が求められるバックアップ環境に通したソリューションといえます。
NASは、ワークステーションやサーバから、TCP/IPネットワーク経由でNFS(Network File System)などを使ってファイルヘアクセスしているので、ファイル共有が簡単にできます。 また、ネットワーク経由でUNIXやWindows間でのデータ共有も可能なため、多くのユーザーがデータを共有できる点がメリットです。 ただし、TCP/IPプロトコルを使ってデータ転送を行うため、ファイバチャネルプロトコルに比べると、送受信時にソフトウェアの処理が多くなります。このため、大きなデータを送受信する場合、サーバのCPU負荷が大きくなります。この点で、データベースにはNASの機能は向かないといわれています。
費用の面だけで見るといろいろな機能を取り入れるのに制約がかかってしまいますが、データが適切な速度でアクセスでき、信頼性の高いシステムがあって始めてシステムとして利用できるわけですから、必要な投資は惜しまない方がよいでしょう。
中村才千代
エディフィストラーニング インストラクター。データベース設計、システム構築の上流工程〜下流工程全般のコースを担当。「実践で使える」講義を行うことを心掛けている。
現在は、複数のSIerの人材育成を担当している。SE時代の経験を生かし、「業務を知っているエンジニアこそデータベース設計に関わるべきだ」ということ、「データベース設計に携わるエンジニアは、逆に業務を知っている人に知恵を貸してもらう必要がある」ということを伝えていきたい。
Copyright © ITmedia, Inc. All Rights Reserved.