データベース -> ORACLE -> バックアップ

以降作成中....


■RMANインストール
--------------------------------------------------------------------------------------------------
リカバリカタログ用表領域の作成
SQL> create tablespace rman_ts datafile /data/oracle/repos/rman.dbf’size 20M;

リカバリカタログ所有者の作成
SQL> create user rman identified by rman
  2> default tablespace rman_ts
  3> temporary tablespace temp
  4> quota unlimited on rman_ts;

SQL> grant recovery_catalog_owner to rman;

リカバリカタログの作成とターゲットデータベースの登録
$ rman catalog rman/rman@oemrep msglog=crcatalog.log
RMAN> create catalog tablespace rman;

リカバリカタログにターゲットデータベースの登録
$ rman catalog rman/rman@oemrep target sys/passwd@dba
RMAN> register database;


■RMAN初期設定
--------------------------------------------------------------------------------------------------
自動チャネル割当
RMAN> configure channel device type disk format ‘/data/%U’;


BACKUPコマンド、COPYコマンドの実行時に制御ファイルを同時に取得する設定。
サーバパラメタファイル(spfile)も取得

--自動バックアップ
RMAN> configure controlfile autobackup on;


--制御ファイルバックアップの出力先の指定
RMAN> configure controlfile autobackup format for device type disk to ‘/backup/oracle/dba_%F’;
RMAN> configure channel device type disk format ‘/backup/oracle/full_%s_%p_%t_%d.bak’;↑

バックアップのパラレル処理
CPUが複数ある場合、複数のチャネルを使用することにより高速バックアップをおこなうことが可能
(nは多重度を示し、CPU数が最大値)
RMAN> configure device type disk parallelism n;


バックアップの保存方針の設定
バックアップを保存するポリシーを決定します。
保存世代数、保存期間を設定できます。
n日間保持を行うと、n日前の状態に戻すことが可能となります。
設定したポリシーに反するバックアップファイルはコマンドにて削除される

n世代のバックアップを保持する
RMAN> configure retention policy to redundancy n;

n日間バックアップを保持する
RMAN> configure retention poricy to recovery window of ndays;

設定の確認
RMAN> show all;


■バックアップ
------------------------------------------------------------------------------------------------
バックアップ
RMANバックアップは、バックアップセットと、イメージコピーの2種類がある。

○バックアップセット(バックアップセットには以下の特徴がある)

1つ以上のデータファイルをまとめて1つのバックアップセットを作成
未使用のブロックを圧縮する 
バックアップ先の対象はディスク・テープ媒体が可能 
1つ以上のバックアップピースから構成され、複数のテープに分割してバックアップを取得できる


制御ファイルのバックアップ
CONFIGUREコマンドにて制御ファイルの自動バックアップを有効にしている場合には
バックアップコマンドの実行により制御ファイルの自動作成が行われる。

RMAN> backup current controlfile;
RMAN> backup バックアップコマンド  include current controlfile; 



データファイルのバックアップ
データファイルのバックアップを取得するには表領域単位とデータファイル単位の2種類の方法がある。

表領域単位
RMAN> backup tablespace users;

データファイル単位
RMAN> backup datafile ‘/data/oracle/dba/user01.dbf,
   2> ‘/data/oracle/dba/user02.dbf;↑

アーカイブログファイルのバックアップ
RMAN> backup バックアップコマンド Plus archivelog;
RMAN> backup archivelog all;

データベース全体のバックアップ
データファイル、アーカイブログファイル、制御ファイルのバックアップを取得する方法。
CONFIGUREコマンドにて制御ファイルの自動保存が設定されていなくても保存される。

RMAN> backup full database plus archivelog;

サーバパラメタファイル(SPFILE)のバックアップ
RMAN> backup spfile;


○イメージコピー(イメージコピーには以下の特徴があります)


取得ファイルはOSコマンドによるファイル取得と同様 
未使用ブロックの圧縮は行われない 
バックアップ対象はディスクのみ 
リストアに必要な時間が短い 
OSコマンドで取得したファイルをリカバリカタログに登録することで、RMANでイメージコピーを取得したのと同様になる

制御ファイルのイメージコピー
 現行の制御ファイルをバックアップします。
 CONFIGUREコマンドで制御ファイルの自動バックアップを設定しているときは、copyコマンドを実行した時点で制御ファイルのバックアップファイルが作成される。

RMAN> copy current controlfile to ‘/tmp/oracle/dba/control01.bak’;



データファイルのイメージコピー(複数のデータファイルのバックアップを取得する例を示します)
RMAN> copy 
   2> datafile ‘/data/oracle/dba/user01.dbf’
   3> to ‘/tmp/backup/dba/user01.dbf’,
   4> datafile ‘/data/oracle/dba/user02.dbf’
   5> to ‘/tmp/backup/dba/user02.dbf’;


アーカイブログファイルのイメージコピー
RMAN> copy 
   2> archivelog ‘/data/oracle/dba/arch_1_123.arc’
   3> to ‘/tmp/backup/dba/arch_1_123.arc’;↑


OS管理のバックアップファイルをRMANレポジトリに登録
CATALOGコマンドを使用してOSコマンドで取得したバックアップをリポジトリに登録してイメージコピーと同等に扱うことが可能。
カタログから削除する場合にはコマンドの最後に UNCATALOG コマンドをつけます。

--データファイルを登録
RMAN> catalog datafilecopy ‘/data/backup/dba/user02_bk.dbf’;

--アーカイブログを登録
RMAN> catalog archivelog ‘/data/oracle/dba_arch_1_111.arc’;

--制御ファイルを登録
RMAN> catalog controlfilecopy ‘/backup/ctl/dba/control01.ctl’;




■リカバリ
----------------------------------------------------------------------------------------------

RMAN-DBの起動

$ sqlplus /nolog                 
SQL> connect / as sysdba         
SQL> startup                     
SQL> select INSTANCE_NAME,STATUS from v$instance;  


Oracle-DBの停止
$ sqlplus /nolog
SQL> connect / as sysdba
SQL> shutdown immediate

Oracle-DBのマウント
SQL> startup mount;
SQL> select INSTANCE_NAME,STATUS from v$instance;
SQL> select GROUP#,THREAD#,SEQUENCE#,MEMBERS,ARCHIVED,STATUS from v$log;


$ rman catalog rman/***@XXX target sys/****@XXX
RMAN> run {
2> allocate channel t1 type 'sbt'
3> restore database;
4> recover database;
5> release channel t1;
6> }
RMAN> exit

SQL> select GROUP#,THREAD#,SEQUENCE#,MEMBERS,ARCHIVED,STATUS from v$log;
SQL> alter database open;
SQL> select INSTANCE_NAME,STATUS from v$instance;
SQL> exit

$ sqlplus /nolog
SQL> connect / as sysdba
SQL> shutdown immediate

----------------------------------------------------------------------------------------------


      Document-Folder          一覧
HP-UX
HULFT
JAVA
JP1
JavaScript
Linux
MAC
PHP
Perl
Python
Ruby
SOA
Solaris
Unix全般
Windows
XML
エクセル
スタイルシート
セキュリティー
データベース
ネットワーク
パソコン
ブラウザ
プログラム構文
仮想化
          RSS-Folder
ニュース
   アットマーク・アイティ(@IT)
   シンクイット(ThinkIT)
   インターネットコム
   インターネットウォッチ
   日経IT-Pro
   日経パソコン
   CNET Japan
   ZD-NetJapan
   MYCOM
   RBB-Today
ベンダー
   日本IBM
   日本HP
   サンマイクロシステムズ
   NEC
   富士通
   日立
ソフトウェア
   マイクロソフト
   トレンドマイクロ
   オラクル
   サイボウズ
   Mozilla
   野村総合研究所
   (その他ソフトウェア企業)
更新履歴 一覧
 07/08 PERF
プログラム構文
 07/07 PERF
プログラム構文
 06/25 オブジェクトプログラミング2
Perl>サンプル
 07/12 クローン作成
仮想化>vCenter
 07/12 vyatta設定
ネットワーク>vyatta
 07/12 vyattaインストール
ネットワーク>vyatta
 07/12 リポジトリサーバ
Linux>サーバ構築
 07/05 VMwareのインストール
仮想化>VMware
 07/05 PXEブート
仮想化>KVM
 07/01 DHCPでのPXEブート
仮想化>KVM
 06/27 qcow2仮想DISK作成
仮想化>KVM
 06/13 NWの設定
仮想化>VMwareEsxi
 06/13 IPアドレスの変更
仮想化>VMwareEsxi
 06/12 自動ssh
Unix全般>シェル>Bash
 06/12 diffプログラミング
Python
Google