AWSでOracleデータベースをバックアップする方法:Oracle Secure Backupクラウドモジュールの概要と導入手順
Amazon Web Services(AWS)上のOracle®データベースは、Oracle Database 9i Release 2以降のバージョンからバックアップが可能です。バックアップにはOracle Secure Backup(OSB)クラウドモジュールを使用します。ただし、OSBではオペレーティングシステム(OS)ファイルのバックアップはできない点に注意してください。
はじめに
Oracle Database 9i Release 2以降では、Recovery Manager(RMAN)を使用して、Amazon S3上にOSB経由でバックアップを取得できます。ただし、このモジュールではOSファイルのバックアップは取得できません。
Amazon S3はディスクベースのストレージであり、テープメディアよりも本質的に高い信頼性を持ちます。インターネットストレージサービスプロバイダーは、可用性とスケーラビリティを確保するために、データの冗長コピーを複数保持しています。その結果、組織はより信頼性の高いデータ保護を実現できます。
画像ソース: https://www.oracle.com/technetwork/database/features/availability/twp-oracledbcloudbackup-130129.pdf
前提条件
この記事の手順に従う前に、以下の要件を満たしていることを確認してください。
S3へのログイン用アクセスキー・シークレットアクセスキー、またはIAMロール
AWSアカウントと、AWS S3へのフルアクセス権限を持つIdentity and Access Management(IAM)ユーザーが必要です。
セットアッププロセスでは、IAMロール、またはIAMユーザーのアクセスキーとシークレットアクセスキーを使用します。
AWS用OSBモジュール
AWS用OSBモジュールを以下のURLからダウンロードしてください。
https://www.oracle.com/database/technologies/secure-backup-s3.html
Oracle Technology Network(OTN)アカウント
インストール時にOTNのユーザー名とパスワードの入力が必要です。
Java 1.7以上
作業を進める前に、サーバーにJava® 1.7以降をインストールしておく必要があります。
以下のコマンドでJavaのバージョンを確認できます。
$java -version
対応プラットフォーム
対応プラットフォームは以下の通りです。
- Linux® x86-64
- Microsoft® Windows®(64ビット)
- Oracle Solaris on SPARC(64ビット)
- Oracle Solaris X64
- ZLinux-64
- AIX(PPC64)
- HP-UX® IA64
注意: HP-UX PA-RISC 64ビットはサポートされていません。
Oracle 12cR2のインストール手順
以下の手順でOracle 12cR2用のOSBクラウドモジュールをインストールします。
AWSのアクセスキー・シークレットアクセスキーまたはIAMロールを保存するためのwalletディレクトリを作成します。
「前提条件」セクションのリンクからダウンロードしたosbws_installer.zipファイルを解凍します。
以下のコマンドを実行して、Amazon S3用のOSBクラウドモジュールをORACLE_HOMEディレクトリにインストールします。環境に合わせて適切な値に置き換えてください。
Microsoft Windowsの場合:
set ORACLE_HOME=C:\oracle\product\12.2.0\Oracle12cR2
set ORACLE_SID=TEST
Linuxの場合:
export ORACLE_HOME=C:\oracle\product\12.2.0\Oracle12cR2
export ORACLE_SID=TEST
$ java -jar osbws_install.jar -AWSID XxXxX -AWSKey XxXxX -walletDir
$ORACLE_HOME/osbws_wallet -libDir $ORACLE_HOME/lib -location eu-west-2
-awsEndPoint s3-eu-west-2.amazonaws.com -otnUser mmahajan@test.com -otnPass xxxxx
または、IAMロールを使用する場合は以下のように実行します。
$ java -jar osbws_install.jar -IAMRole xxxxx -walletDir "$ORACLE_HOME\osbws_wallet"
-libDir "$ORACLE_HOME\lib" -otnUser mmahajan@test.com -otnPass xxxx
RMANを使用したOSBのインストールと構成確認
インストールプロセスでは、RMANのチャネル割り当てコマンド用のファイルが$ORACLE_HOME/dbs配下に作成されます。通常、ファイル名はosb<SID>.oraという形式です。このファイルを参照する際は、フルパスを使用してください。
この記事の例ではサンプルのSIDを使用しています。
以下はOSBTEST.oraのパラメータ例です。
++++++++++++++++++++++++++++++++++++++++++++++
OSB_WS_HOST=https://s3.amazonaws.com
OSB_WS_IAM_ROLE=iops-test-dev-ec2-role-policy
OSB_WS_BUCKET=test-ec2-backups
OSB_WS_WALLET='location=file:E:\oracle\product\12.2.0\Oracle12cR2\osbws_wallet CREDENTIAL_ALIAS=aws-itco_aws'
+++++++++++++++++++++++++++++++++++++++++++++++
または:
++++++++++++++++++++++++++++++++++++++++++++++
OSB_WS_HOST=https://s3-eu-west-1.amazonaws.com
OSB_WS_LOCATION=eu-west-1
OSB_WS_BUCKET=test-ec2-backups
OSB_WS_WALLET='location=file:E:\oracle\product\12.2.0\Oracle12cR2\osbws_wallet CREDENTIAL_ALIAS=aws-itco_aws'
+++++++++++++++++++++++++++++++++++++++++++++++
以下の例では、SBT_TAPE用のチャネルを割り当てた後、コントロールファイルとデータファイル1のバックアップを取得しています。
allocate channel c1 device type sbt parms='SBT_LIBRARY=E:\oracle\product\12.2.0\Oracle12cR2\lib\oraosbws.dll,SBT_PARMS=(OSB_WS_PFILE=E:\oracle\product\12.2.0\Oracle12cR2\database\osbwsSDMS.ora)';
D:\OSB>rman target /
Recovery Manager: Release 12.2.0.1.0 - Production on Thu Dec 17 13:38:07 2019
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
connected to target database: TEST (DBID=2717091126)
RMAN> run
2> {
3> allocate channel c1 device type sbt parms='SBT_LIBRARY=E:\oracle\product\12.2.0\Oracle12cR2\lib\oraosbws.dll,SBT_PARMS=(OSB_WS_PFILE=E:\oracle\product\12.2.0\Oracle12cR2\database\osbwsSDMS.ora)';
4> backup current controlfile;
5> }
allocated channel: c1
channel c1: SID=50 device type=SBT_TAPE
channel c1: Oracle Secure Backup Web Services Library VER=3.17.4.21
Starting backup at 17-DEC-19
channel c1: starting full datafile backup set
channel c1: specifying datafile(s) in backup set
including current control file in backup set
channel c1: starting piece 1 at 17-DEC-19
channel c1: finished piece 1 at 17-DEC-19
piece handle=3iujli8o_1_1 tag=TAG20191217T144544 comment=API Version 2.0,MMS Version 3.17.4.21
channel c1: backup set complete, elapsed time: 00:00:07
Finished backup at 17-DEC-19
Starting Control File and SPFILE Autobackup on 17-DEC-19
piece handle=c-2467059049-20191217-00 comment=API Version 2.0,MMS Version 3.17.4.21
Finished Control File and SPFILE Autobackup on 17-DEC-19
released channel: c1
RMAN> run
2> {
3> allocate channel c1 device type sbt parms='SBT_LIBRARY=E:\oracle\product\12.2.0\Oracle12cR2\lib\oraosbws.dll,SBT_PARMS=(OSB_WS_PFILE=E:\oracle\product\12.2.0\Oracle12cR2\database\osbwsSDMS.ora)';
4> backup datafile 1;
5> }
allocated channel: c1
channel c1: SID=50 device type=SBT_TAPE
channel c1: Oracle Secure Backup Web Services Library VER=3.17.4.21
Starting backup on 17-DEC-19
channel c1: starting full datafile backup set
channel c1: specifying datafile(s) in backup set
input datafile file number=00001 name=F:\ORADATA\SDMS\SYSTEM01.DBF
channel c1: starting piece 1 on 17-DEC-19
channel c1: finished piece 1 at 17-DEC-19
piece handle=3kujlia1_1_1 tag=TAG20191217T144625 comment=API Version 2.0,MMS Version 3.17.4.21
channel c1: backup set complete, elapsed time: 00:03:15
Finished backup on 17-DEC-19
Starting Control File and SPFILE Autobackup on 17-DEC-19
piece handle=c-2467059049-20191217-01 comment=API Version 2.0,MMS Version 3.17.4.21
Finished Control File and SPFILE Autobackup on 17-DEC-19
released channel: c1
バックアップセットの一覧表示
以下のコマンドを実行すると、コントロールファイルおよびデータファイル1のバックアップセット一覧を取得できます。
RMAN> list backup of controlfile;
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
113 Full 18.75M SBT_TAPE 00:00:01 17-DEC-19
BP Key: 113 Status: AVAILABLE Compressed: NO Tag: TAG20191217T144940
Handle: c-2467059049-20191217-01 Media: s3.amazonaws.com/sdms-ec2-backups
Control File Included: Ckp SCN: 64476065 Ckp time: 17-DEC-19
RMAN> list backup of datafile 1;
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
112 Full 733.25M SBT_TAPE 00:02:46 17-DEC-19
BP Key: 112 Status: AVAILABLE Compressed: NO Tag: TAG20191217T144625
Handle: 3kujlia1_1_1 Media: s3.amazonaws.com/sdms-ec2-backups
バックアップセット112に含まれるデータファイルの一覧:
File LV Type Ckp SCN Ckp Time Abs Fuz SCN Sparse Name
---- -- ---- ---------- --------- ----------- ------ ----
1 Full 64474680 17-DEC-19 NO F:\ORADATA\SDMS\SYSTEM01.DBF
インストール時によくあるエラー
バックアップ実行中にORA-03113エラーが発生することがあります。この問題の解決には、My Oracle Supportのノート2396267.1が役立ちます。
PSDRPC returns significant error 3113.
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of allocate command on c1 channel at 12/16/2019 15:49:58
ORA-03113: end-of-file on communication channel
アラートログには以下のようなエラーが出力されます。
ORA-07445: exception encountered: core dump [PC:0x7FEDDB54FBC] [ACCESS_VIOLATION] [ADDR:0x0] [PC:0x7FEDDB54FBC] [UNABLE_TO_READ] []
Incident details in: <path>\incident\incdir_249332\<oracle_sid>_ora_30776_i249332.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Fri Apr 13 10:01:59 2018
Dumping diagnostic data in directory=[cdmp_20180413100159], requested by (instance=1, osid=30776), summary=[incident=249332].
エラーの原因
このインストールエラーは、稼働中のデータベースサービスがシリアルバックアップテープ(SBT)ライブラリをロックしていることが原因で発生します。
解決するには、以下の手順を実行します。
- データベースをシャットダウンします。
- 前述の手順に従って、Oracle Cloud Backupモジュールを再インストールします。
まとめ
この記事では、Amazon S3上でRMANによるデータベースバックアップを取得する手順を紹介しました。OSBクラウドモジュールを使ってAmazon S3ストレージに保存されたバックアップは、常にアクセス可能です。クラウドストレージサービスの可用性とアクセスモデルにより、組織はリカバリ運用を効率化できます。例えば、リストア操作を行う前にテープを出荷したりロードしたりする必要はありません。
コメントやご質問がある場合は、フィードバックタブをご利用ください。チャットですぐに会話を始めることもできます。
-
Redis Sentinel入門:自動フェイルオーバーで高可用性(HA)を実現する方法
Redis Sentinelは、Redisにシンプルかつ自動的な高可用性(HA)ソリューションを提供するコンポーネントです。MongoDBのレプリカセットにおける選挙(election)の仕組みに馴染みがある方なら、その概念はそれほど難しくありません。基本構成としては、1台のマスターが複数台(N台)のスレーブへレプリケーションを行い、そこにSentinelデーモンを配置します。Sentinelはアプリケーションサーバー上、またはRedisが稼働しているサーバー上で起動でき、常時マスターの健全性を監視します。あるSentinelがマスターの無応答を検出すると、他のSentinelへ向けてSDOW
-
Windows 10の「ファイル履歴」を使って安全なバックアップを作成する方法
Windows 10には「ファイル履歴(File History)」という便利な機能があり、誤ってファイルを削除してしまった場合などに備えて、ファイルやフォルダーのコピーを安全な場所へバックアップできます。デフォルトでは、ミュージック、ピクチャ、ドキュメント、ダウンロード、ビデオの各フォルダー内のファイルがバックアップ対象になりますが、既定のフォルダーを解除したり、独自のフォルダーを自由に追加したりすることも可能です。 最も安全な運用を実現するために、マイクロソフトはUSBメモリなどの外付けドライブ、またはネットワークドライブを使ったバックアップを推奨しています。他にもバックアップの保存先はあ