探索ORACLE之RMAN_02基本使用

wuweilong發表於2012-05-18

探索ORACLERMAN_02基本使用

作者:吳偉龍

 

RMAN工具是Oracle8i為了更好的實現資料庫備份恢復而推出來的一實用工具,可以實現資料庫的線上的備份和恢復從而不影響業務的正常執行。並且在Oracle軟體安裝上的那一時刻就已經存在了,不必另外安裝或買介質,從今天開始就開始談談RMAN的使用和維護:

 

1、       登入和訪問RMAN

A、  Windows下進入RMAN,很簡單,只需要在命令列輸入rman即可。

如下:

C:\>rman

Recovery Manager: Release 10.2.0.4.0 - Production on Fri May 18 10:45:58 2012

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

RMAN>

B、  Linux下進入RMAN同樣也是在命令列輸入rman即可,但是有一點需要注意,必須修改oracle使用者環境變數為如下,在Linux系統中還有一個RMAN命令不是Oracle的。

PATH=$ORACLE_HOME/bin:/sbin:$PATH

執行RMAN

[oracle@wwldb ~]$ rman

Recovery Manager: Release 10.2.0.1.0 - Production on Fri May 18 10:53:15 2012

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

RMAN>

注意:就上面的進入RMAN執行的是在NOCATALOGmoshi ,既不使用恢復目錄。輸入RMAN後即可進入RMAN命令列介面。

 

2、       獲得RMAN幫助

[oracle@wwldb ~]$ rman help

 

Argument     Value          Description

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

target       quoted-string  connect-string for target database

catalog      quoted-string  connect-string for recovery catalog

nocatalog    none           if specified, then no recovery catalog

cmdfile      quoted-string  name of input command file

log          quoted-string  name of output message log file

trace        quoted-string  name of output debugging message log file

append       none           if specified, log is opened in append mode

debug        optional-args  activate debugging

msgno        none           show RMAN-nnnn prefix for all messages

send         quoted-string  send a command to the media manager

pipe         string         building block for pipe names

timeout      integer        number of seconds to wait for pipe input

checksyntax  none           check the command file for syntax errors

 

3、       RMAN的啟動:

連線到目標資料庫

rman\>connect target 

注意:1connect不能簡寫為conn

  2、連線USER必須具備SYSDBA許可權

  3、連線的db_name必須在tnsnames.ora中有配置,且有效(即透過SQLPLUS可以連線)

  4target database 必須為archivelog 模式

  5、如果是本地可以採用OS認證,如果是遠端需要使用密碼檔案認證。

  6RMAN工具版本與目標資料庫必須是同一版本。

 

4、       RMAN中執行作業系統命令

Egg:

RMAN> run {host "ls -artl";}

 

RMAN> run {host "ifconfig";}

 

RMAN> run {host "pwd";}     

/home/oracle

host command complete

 

RMAN> run {host "ls";}

 

Desktop  sqlnet.log

host command complete

 

RMAN> exit

 

5、       RMAN中執行SQL命令對資料庫進行操作

5.1 啟動關閉資料庫

RMAN> shutdown immediate

database closed

database dismounted

Oracle instance shut down

 

RMAN> startup

connected to target database (not started)

Oracle instance started

database mounted

database opened

Total System Global Area     285212672 bytes

Fixed Size                     1218968 bytes

Variable Size                 79693416 bytes

Database Buffers             197132288 bytes

Redo Buffers                   7168000 bytes

 

RMAN>

 

5.2 RMAN中執行SQL語句

RMAN> sql 'select * from user_tablespaces';  

sql statement: select * from user_tablespaces

 

RMAN> sql 'alter system checkpoint';

sql statement: alter system checkpoint

RMAN>

為了解釋這個問題請參看紅色註釋

 

注意:

rman is not sqlplus, rman show result of "sql" command, but not show result of 'select ....'

 

5.3 RMAN中執行bak.sql指令碼

RMAN> run {execute script. bak.sql}

 

6、       配置和檢視RMAN的環境資訊

 

6.1 檢視rman的所有配置資訊。

RMAN> show all;

using target database control file instead of recovery catalog

RMAN configuration parameters are:

1; # default

註釋:配置redundancy配置需要保留幾份備份檔案,預設是1。也可以改變為其它非零的正整數值。

OFF; # default

註釋:裝置備份最佳化開啟,如果表空間是隻讀狀態,那麼在做備份的時候只是第一次會備份,以後不備份。有兩個選項off關閉和on開啟

TO DISK; # default

註釋:配置預設備份裝置可以是sbt(磁帶),DISK(硬碟);預設是硬碟

CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default

註釋:配置在備份的時候是否將控制檔案一併備份,兩個選項,預設是off不備份,也可以是on備份、。

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default

註釋:配置control file自動備份的路徑和檔案格式

CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default

註釋:配置磁碟備份的型別,預設是備份集方式(backupset)或映象複製也叫檔案複製(copy)

映象複製值適用於磁碟備份,磁帶只支援備份集。一般用備份集更多,其效率會更高

1; # default

註釋:配置生成備份集的個數,預設是1;備份集內會包括(資料檔案,控制檔案,引數檔案)

1; # default

註釋:配置歸檔日誌預設的備份路徑

UNLIMITED; # default

註釋:配置單個備份集大小,預設是不限制,我們可以配置成1G/100M/1024K or other

OFF; # default

註釋:配置備份資料加密,是10Gr2推出來的新功能,設定為on後。

可以set encryption on identifyed by youpassword only;加密備份,還原的時候需要提供密碼。

'AES128'; # default

註釋:指定備份資料加密的型別。

; # default

註釋:配置歸檔日誌在備份後自動刪除

CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/DBSoft/product/10.2.0/db_1/dbs/snapcf_WWL.f'; # default

註釋:配置控制檔案快照,可以有效的提高控制檔案的恢復性。

RMAN>

 

6.2 檢視單個引數的配置資訊:

RMAN> show RETENTION POLICY;

RMAN configuration parameters are:

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

 

RMAN> show BACKUP OPTIMIZATION;

RMAN configuration parameters are:

CONFIGURE BACKUP OPTIMIZATION OFF; # default

 

RMAN> show DEFAULT DEVICE TYPE;

RMAN configuration parameters are:

CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

注意:在檢視當引數資訊的時候執行輸入show all出來的引數後的引數名稱即可,不可同時輸入TOFORMAT以及for後面值。

 

6.3 修改RMAN的配置資訊

透過執行configure 命令來進行修改,後面接上引數名稱和值如下操作:

Egg1:

RMAN> show controlfile autobackup;      -----檢視當前引數的值,是off

RMAN configuration parameters are:

CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default

 

RMAN> controlfile autobackup on;  --修改為on,自動備份控制檔案

new RMAN configuration parameters:

CONFIGURE CONTROLFILE AUTOBACKUP ON;

new RMAN configuration parameters are successfully stored

 

RMAN> show controlfile autobackup;           ---檢視修改後的,已經修改成功。

RMAN configuration parameters are:

CONFIGURE CONTROLFILE AUTOBACKUP ON;

 

RMAN>

 

Egg2:

RMAN> CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT '/DBBak/bak_%d_%M_%D_%U';

new RMAN configuration parameters:

CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT   '/DBBak/bak_%d_%M_%D_%U';

new RMAN configuration parameters are successfully stored

註釋:配置資料檔案的備份路徑.

 

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F';

old RMAN configuration parameters:

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/DBBak/ctorl_%d_%M_%D_%U_%F';

new RMAN configuration parameters:

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F';

new RMAN configuration parameters are successfully stored

 

RMAN>註釋:配置控制檔案的備份路徑

 

RMAN> show all;                ------檢視所有資訊,看到已經更改了預設備份路徑

 

RMAN configuration parameters are:

CONFIGURE RETENTION POLICY TO REDUNDANCY 1;

CONFIGURE BACKUP OPTIMIZATION OFF; # default

CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

CONFIGURE CONTROLFILE AUTOBACKUP ON;

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/DBBak/ctorl_%d_%M_%D_%U_%F';

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 CHANNEL 1 DEVICE TYPE DISK FORMAT   '/DBBak/bak_%d_%M_%D_%U';

CONFIGURE MAXSETSIZE TO UNLIMITED; # default

CONFIGURE ENCRYPTION FOR DATABASE OFF; # default

CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default

CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/DBSoft/product/10.2.0/db_1/dbs/snapcf_WWL.f'; # default

 

RMAN>

 

7、       學習並記憶備份檔案的格式:

備份檔案可定義的格式符號如下

%c  備份片的複製數

%d  資料庫的名稱

%D  時間日期(DD

%M  時間月份(MM

%F   基於DBID的唯一名稱

%n   資料庫名稱,向右填補到最多8個字元

%u   一個8個字元的名稱代表備份集魚建立時間

%p   該備份集中的備份片號,從1開始到建立的檔案數

%U   一個唯一的檔名,代表%u_%p_%c

%S   備份集的編號

%t   備份集的時間戳

%T   年月日格式(YYYYMMDD

注意: %F 是基於DBID的唯一名稱,這個格式的形式為c-IIIIIIIIII-YYYYMMDD-QQ 其中IIIIIIIII是該資料庫的DBIDYYYYMMDD為日期,QQ1-256的序列號。

 

8、       基於上面的配置,執行一備份案例:

1、   執行rman備份必須開啟資料的歸檔功能:

SQL> shutdown immediate    ---關閉資料庫

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount;          ----啟動資料庫到mount狀態

ORACLE instance started.

 

Total System Global Area  285212672 bytes

Fixed Size                  1218968 bytes

Variable Size              79693416 bytes

Database Buffers          197132288 bytes

Redo Buffers                7168000 bytes

Database mounted.

 

SQL> alter database archivelog;           ---開啟歸檔功能

Database altered.

 

SQL> archive log list;                    ---檢視歸檔狀態

Database log mode              Archive Mode   ---歸檔已經開啟

Automatic archival             Enabled

Archive destination            USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence     8

Next log sequence to archive   10

Current log sequence           10

SQL>

2、   執行rman的全庫備份

[oracle@wwldb DBBak]$ rman target /             ---登入到rman

 

Recovery Manager: Release 10.2.0.1.0 - Production on ÐÇÆÚÎå 5ÔÂ 18 18:56:47 2012

 

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

connected to target database: WWL (DBID=5520179, not open)   ---當前資料的DBID和例項名及狀態

 

RMAN> backup database;                                 -----執行備份資料庫的命令

Starting backup at 18-5ÔÂ -12                              ----啟動備份的時間

using target database control file instead of recovery catalog     -----描述資料的備份模式

allocated channel: ORA_DISK_1                             ----分配通道

channel ORA_DISK_1: sid=159 devtype=DISK                  ----告訴備份的裝置型別是硬碟

channel ORA_DISK_1: starting full datafile backupset           ----備份方式型別是全備

channel ORA_DISK_1: specifying datafile(s) in backupset     ----根據以上條件檢索出需備份的資料檔案

input datafile fno=00001 name=/DBData/WWL/system01.dbf   ----檔案資訊

input datafile fno=00003 name=/DBData/WWL/sysaux01.dbf

input datafile fno=00002 name=/DBData/WWL/undotbs01.dbf

input datafile fno=00004 name=/DBData/WWL/users01.dbf

channel ORA_DISK_1: starting piece 1 at 18-5ÔÂ -12                   ----告訴通道啟動的時間

channel ORA_DISK_1: finished piece 1 at 18-5ÔÂ -12                  ----告訴通道結束時間

piece handle=/DBBak/bak_WWL_05_18_04nbaffs_1_1 tag=TAG20120518T185700 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:01:05       -----生成備份檔案,在/DBBak目錄中,檔名稱是我們之前在環境配置裡面定義好的。

Finished backup at 18-5ÔÂ -12

 

Starting Control File and SPFILE Autobackup at 18-5ÔÂ -12             ---啟動備份控制檔案

piece handle=/DBSoft/product/10.2.0/db_1/dbs/c-5520179-20120518-01 comment=NONE

Finished Control File and SPFILE Autobackup at 18-5ÔÂ -12             ------生成控制檔案的備份,我沒有指定controlfile的備份路徑,所以是備份在預設路徑,檔名是用的%F引數生成。

 

RMAN>

 

3、   檢視備份集資訊

RMAN> list backupset;       ---執行list backupst命令檢視備份集資訊

 

List of Backup Sets

===================

BS Key  Type LV Size       Device Type Elapsed Time Completion Time

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

2       Full    522.59M    DISK        00:00:59     18-5ÔÂ -12    

        BP Key: 2   Status: AVAILABLE  Compressed: NO  Tag: TAG20120518T185700

        Piece Name: /DBBak/bak_WWL_05_18_04nbaffs_1_1      --備份後的檔名稱及路徑

  List of Datafiles in backup set 2    ---備份及編號

註釋:BS: 是備份集編號

      Key:

      Type: 備份的型別,是全備還是增備或差備

      LV Size: 備份後備份檔案大小

      Device Type: 存放備份檔案的介質型別

      Elapsed Time: 備份執行的耗時長

      Completion Time: 備份完成的時間

  File LV Type Ckp SCN    Ckp Time   Name

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

  1       Full 618100     18-5ÔÂ -12 /DBData/WWL/system01.dbf

  2       Full 618100     18-5ÔÂ -12 /DBData/WWL/undotbs01.dbf

  3       Full 618100     18-5ÔÂ -12 /DBData/WWL/sysaux01.dbf

  4       Full 618100     18-5ÔÂ -12 /DBData/WWL/users01.dbf

註釋:File 資料檔案編號

      Type 備份的型別

      Ckp SCN:備份時的檢查點編號

      Ckp Time 發生檢查點的時間

      Name   備份的資料檔名稱及路徑

 

BS Key  Type LV Size       Device Type Elapsed Time Completion Time

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

3       Full    6.80M      DISK        00:00:02     18-5ÔÂ -12    

        BP Key: 3   Status: AVAILABLE  Compressed: NO  Tag: TAG20120518T185806

        Piece Name: /DBSoft/product/10.2.0/db_1/dbs/c-5520179-20120518-01

  Control File Included: Ckp SCN: 618100       Ckp time: 18-5ÔÂ -12

  SPFILE Included: Modification time: 18-5ÔÂ -12

 

RMAN>

 

4、   檢視備份後出來的檔案

[oracle@wwldb DBBak]$ pwd

/DBBak

[oracle@wwldb DBBak]$ ls

bak_WWL_05_18_04nbaffs_1_1  lost+found    ----檔名是應徵了CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT  '/DBBak/bak_%d_%M_%D_%U';這引數的設定

[oracle@wwldb DBBak]$ ll

×Ü¼Æ 535164

-rw-r----- 1 oracle oinstall 547987456 05-18 18:57 bak_WWL_05_18_04nbaffs_1_1

drwxrwxr-x 2 oracle oinstall     16384 05-18 17:35 lost+found

[oracle@wwldb DBBak]$

 

RMAN> show channel;

RMAN configuration parameters are:

CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT   '/DBBak/bak_%d_%M_%D_%U';

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20674423/viewspace-730182/,如需轉載,請註明出處,否則將追究法律責任。

相關文章