探索ORACLE之RMAN_02基本使用
探索ORACLE之RMAN_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
注意:1、connect不能簡寫為conn
2、連線USER必須具備SYSDBA許可權
3、連線的db_name必須在tnsnames.ora中有配置,且有效(即透過SQLPLUS可以連線)
4、target database 必須為archivelog 模式
5、如果是本地可以採用OS認證,如果是遠端需要使用密碼檔案認證。
6、RMAN工具版本與目標資料庫必須是同一版本。
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出來的引數後的引數名稱即可,不可同時輸入TO或FORMAT以及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是該資料庫的DBID,YYYYMMDD為日期,QQ是1-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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle SQL 基本操作之 使用者OracleSQL
- iOS探索:Runtime之基本資料結構iOS資料結構
- Oracle 基本操作之 tableOracle
- 探索ORACLE之ASM02_安裝OracleASM
- 探索ORACLE之ASM04_維護OracleASM
- 探索ORACLE之RMAN_05備份策略Oracle
- 探索Scala(5)-- 基本型別型別
- Oracle SQL 基本操作之 表空間OracleSQL
- Oracle優化之sql基本功Oracle優化SQL
- 探索ORACLE之11g DataGuard_01概念Oracle
- 探索ORACLE_之表空間02_管理Oracle
- Oracle RAC系列之:ASM基本操作維護OracleASM
- Oracle12c新特性之基本操作Oracle
- Oracle 基本操作之 建立自增欄位方法-ORACLE SEQUENCEOracle
- 探索Oracle SCNOracle
- iOS開發之使用Git的基本使用(二)iOSGit
- iOS開發之使用Git的基本使用(一)iOSGit
- python之pandas的基本使用(1)Python
- 探索oracle dual表Oracle
- 常用輪子之EventBus基本使用及原理
- 常用輪子之Retrofit基本使用及原理
- 常用輪子之Okhttp基本使用及原理HTTP
- 重學Java之泛型的基本使用Java泛型
- 安卓開發之Volley的基本使用安卓
- jQuery使用手冊之基本介紹(1)jQuery
- 小米便籤AS部署之Git的基本使用Git
- Oracle RAC系列之:ASM基本操作維護(經典)OracleASM
- 探索ORACLE之RMAN_07 控制檔案丟失恢復Oracle
- 探索ORACLE之RMAN_03一致性備份Oracle
- Oracle的安裝與基本使用(章節摘要)Oracle
- oracle基本操作Oracle
- Docker掃盲之容器與映象的基本使用Docker
- Spring之定時任務基本使用篇Spring
- 探索Oracle之資料庫升級九 12.1.0.1 Update 12.1.0.2Oracle資料庫
- 探索Oracle之 EXP/IMP過程中的字符集問題Oracle
- 探索ORACLE之RMAN_04非一致性備份Oracle
- Oracle之Hint使用總結Oracle
- Oracle基礎之function使用OracleFunction