th0x4c 備忘録

[Oracle] RMAN の構成

目的

RMAN の構成を変更して、以下ができるようにする。

  • 制御ファイルと SPFILE の自動バックアップ取得
  • バックアップの最適化(保存方針によって同一ファイルの不要なバックアップをしない)
  • ブロック・チェンジ・トラッキングを有効化(DB で変更されたブロックを記録しておくことで、増分バックアップ時のパフォーマンスが向上する。)

環境

  • OS: Oracle Enterprise Linux 5.8
  • DB: Oracle Database 11g Release 2 (11.2.0.3)

マニュアル

RMAN 構成の確認

現在の RMAN 構成は show all にて確認できる。

$ rman target / catalog rman/rman@EMREP
RMAN> show all;

RMAN configuration parameters for database with db_unique_name PROD1 are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/snapcf_PROD1.f'; # default

制御ファイル, SPFILE の自動バックアップ

BACKUP コマンドが実行されるときに、制御ファイルと SPFILE も自動的にバックアップするように設定する。

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored
starting full resync of recovery catalog
full resync complete

バックアップの最適化

バックアップの最適化を有効にすると、保存方針によって同一ファイルの不要なバックアップをしなくなる。例えば、保存方針が REDUNDANCY 1 として USERS 表領域を READ ONLY にして、BACKUP DATABASE を実行すると USERS 表領域のバックアップは 2 つ(REDUNDANCY + 1)あればよいので、3 回目以降の BACKUP DATABASE では USERS 表領域のバックアップが取得されなくなる。

RMAN> CONFIGURE BACKUP OPTIMIZATION ON;

new RMAN configuration parameters:
CONFIGURE BACKUP OPTIMIZATION ON;
new RMAN configuration parameters are successfully stored
starting full resync of recovery catalog
full resync complete

ブロック・チェンジ・トラッキングを有効化

DB で変更されたブロックをブロック・チェンジ・トラッキング・ファイル上に記録するようにする。このことで、増分バックアップ時に変更があったブロックだけを読むだけでよくなり、データファイルのすべてのブロックの読み込みが不要になり、パフォーマンスが向上する。

マニュアルでは DB_CREATE_FILE_DEST の設定の記載があるが、ブロック・チェンジ・トラッキング・ファイルのパスをフルパスで指定する場合は DB_CREATE_FILE_DEST の設定は不要。

SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING
     USING FILE '/u01/app/oracle/oradata/PROD1/rman_change_track.f' REUSE;

Database altered.

SQL> SELECT STATUS, FILENAME
     FROM V$BLOCK_CHANGE_TRACKING;

STATUS   FILENAME
-------- ------------------------------------------------------------
ENABLED  /u01/app/oracle/oradata/PROD1/rman_change_track.f

[Oracle] リカバリ・カタログのセットアップ

目的

Recovery Manager(RMAN) のリカバリ・カタログをセットアップする。

環境

  • OS: Oracle Enterprise Linux 5.8
  • DB: Oracle Database 11g Release 2 (11.2.0.3)

マニュアル

リカバリ・カタログとは

リカバリ・カタログには、RMAN で使用するメタデータ情報(バックアップ・ファイルの情報など)が格納されている。RMAN が使用するメタデータは通常は制御ファイルに格納されているが、リカバリ・カタログとして(リカバリのターゲットとなる DB とは別の) DB に格納することができる。リカバリ・カタログを使用するメリットは次のようなものがある。

  • 制御ファイルに格納されているメタデータと同様の情報が格納されているので、冗長性が確保される。制御ファイルが消失した場合も、リカバリ・カタログを使用すればいい。制御ファイルとの同期はバックアップ実行時などに自動で実行される。

  • 複数の DB の RMAN メタデータを集中管理できる。

  • リカバリ・カタログには、制御ファイルより長期のメタデータ履歴を格納できる。よって、制御ファイルの履歴より前の時点にリカバリすることができる。

  • 一部の RMAN 機能は、リカバリ・カタログが必須。例えば、リカバリ・カタログには Recovery Manager スクリプトを格納することができる。

  • Data Guard 環境で RMAN を使用する場合は、リカバリ・カタログが必要。

リカバリ・カタログの作成

リカバリ・カタログを作成する DB にリカバリ・カタログを所有するスキーマを作成して、必要な権限を与え、リカバリ・カタログを作成する。

  • リカバリ・カタログを所有するスキーマを作成

リカバリ・カタログを格納する DB に接続してスキーマを作成。

$ sqlplus sys/oracle@EMREP as sysdba
SQL> CREATE USER rman IDENTIFIED BY rman
     TEMPORARY TABLESPACE temp
     DEFAULT TABLESPACE users
     QUOTA UNLIMITED ON users;

User created.
  • 必要な権限の付与

リカバリ・カタログの管理に必要なすべての権限を含む RECOVERY_CATALOG_OWNER ロールを付与する。

SQL> GRANT RECOVERY_CATALOG_OWNER TO rman;

Grant succeeded.
  • リカバリ・カタログの作成

RMAN を使用して先ほど作成したリカバリ・カタログを所有するスキーマで接続して、リカバリ・カタログを作成。

$ rman catalog rman/rman@EMREP
RMAN> CREATE CATALOG;

recovery catalog created

リカバリ・カタログへの DB の登録

リカバリ・カタログにターゲットとなる DB を登録する。

  • ターゲット DB がマウントしていない場合は、マウントまたはオープンする。

  • RMAN からターゲット DB, リカバリ・カタログに接続する。

RMAN から以下のようにして接続

$ export ORACLE_SID=PROD1
$ rman target / catalog rman/rman@EMREP

Recovery Manager: Release 11.2.0.3.0 - Production on Sun Sep 9 00:37:33 2012

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: PROD1 (DBID=2014160803)
connected to recovery catalog database
  • リカバリ・カタログにターゲット DB を登録

REGISTER DATABASE によりターゲット DB を登録する。

RMAN> REGISTER DATABASE;

database registered in recovery catalog
starting full resync of recovery catalog
full resync complete
  • 正常に登録されていることを確認

REPORT SCHEMA により正常に登録されていることを確認する。

RMAN> REPORT SCHEMA;

Report of database schema for database with db_unique_name PROD1

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    720      SYSTEM               YES     /u01/app/oracle/oradata/PROD1/system01.dbf
2    550      SYSAUX               NO      /u01/app/oracle/oradata/PROD1/sysaux01.dbf
3    95       UNDOTBS1             YES     /u01/app/oracle/oradata/PROD1/undotbs01.dbf
4    5        USERS                NO      /u01/app/oracle/oradata/PROD1/users01.dbf
5    345      EXAMPLE              NO      /u01/app/oracle/oradata/PROD1/example01.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    29       TEMP                 32767       /u01/app/oracle/oradata/PROD1/temp01.dbf

[Oracle] EM エージェントのインストール

目的

EM エージェントをインストールする。

環境

  • OS: Oracle Enterprise Linux 5.8
  • DB: Oracle Database 11g Release 2 (11.2.0.3)
  • EM: Oracle Enterprise Manager Grid Control 11g (11.1)

EM エージェントのインストール

EM からインストールする。 事前に EM エージェントをインストールするサーバに ssh 接続できることを確認しておくこと。

  • “デプロイ” タブから “エージェントのインストール” をクリック

  • “フレッシュ・インストール” をクリック

  • 以下のように設定
    • “ホスト・リストの指定” : DB サーバのホスト名
    • “OS 資格証明” : DB サーバの OS ユーザ
    • “root.sh の実行” のチェックははずす(sudo が使えるようになっていないといけないため。)
    • “インストールのベース・ディレクトリ” : /u01/app/oracle/Middleware
    • “管理サーバの登録パスワード” : oracle11g (EM Grid Control インストール時に指定した SYSMAN パスワードと同じにした)

  • “セキュリティ・アップデートをMy Oracle Support経由で受け取ります。” のチェックははずす。

  • “はい”

  • インストール中

  • インストール完了。”完了” をクリック。

  • DB サーバ上で root.sh を実行する。

DB サーバ上で実行。

$ cd /u01/app/oracle/Middleware/agent11g
$ su
# ./root.sh

DB インスタンスを EM に登録する

EM エージェントをインストールしただけでは DB インスタンスのステータスが保留状態なので構成する必要がある。

  • DB インスタンスを選択して “構成” をクリック

  • dbsnmp のパスワードを変更

dbsnmp のパスワード(デフォルト:dbsnmp)を入力して “接続テスト” をクリックすると、失敗するので dbsnmp のパスワード変更を行う。

dbsnmp のパスワードを変更したらもう一度 “接続テスト” を行い成功することを確認して “次へ” をクリック

  • 確認して “発行”

  • 構成中

  • “OK”

  • 他の DB がある場合は同様に構成して、ステータスが正常になることを確認