探索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: Release10.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 recoverycatalog
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 inappend mode
debug optional-args activate debugging
msgno none show RMAN-nnnn prefix for allmessages
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 syntaxerrors
3、 RMAN的启动:
连接到目标数据库
rman\>connect target user/pwd@db_name
注意: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 commandcomplete
RMAN> run{host "ls";}
Desktop sqlnet.log
host commandcomplete
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 * fromuser_tablespaces';
sql statement: select * fromuser_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 {executescript bak.sql}
6、 配置和查看RMAN的环境信息
6.1查看rman的所有配置信息。
RMAN> show all;
using target database control file instead of recoverycatalog
RMAN configuration parameters are:
CONFIGURE RETENTION POLICY TO REDUNDANCY
1; # default
注释:配置redundancy配置需要保留几份备份文件,默认是1。也可以改变为其它非零的正整数值。
CONFIGURE
BACKUP OPTIMIZATION OFF; # default
注释:设备备份优化打开,如果表空间是只读状态,那么在做备份的时候只是第一次会备份,以后不备份。有两个选项off关闭和on打开
CONFIGURE DEFAULT DEVICE TYPE
TO DISK; # default
注释:配置默认备份设备可以是sbt(磁带),DISK(硬盘);默认是硬盘
CONFIGURE CONTROLFILE AUTOBACKUP OFF;# default
注释:配置在备份的时候是否将控制文件一并备份,两个选项,默认是off不备份,也可以是on备份、。
CONFIGURE CONTROLFILE AUTOBACKUPFORMAT FOR DEVICE TYPE DISK TO '%F'; # default
注释:配置control file自动备份的路径和文件格式
CONFIGURE DEVICE TYPE DISK PARALLELISM1 BACKUP TYPE TO BACKUPSET; # default
注释:配置磁盘备份的类型,默认是备份集方式(backupset)或镜像拷贝也叫文件拷贝(copy)。
镜像拷贝值适用于磁盘备份,磁带只支持备份集。一般用备份集更多,其效率会更高
CONFIGURE DATAFILE BACKUPCOPIES FOR DEVICE TYPE DISK TO
1; # default
注释:配置生成备份集的个数,默认是1;备份集内会包括(数据文件,控制文件,参数文件)
CONFIGURE ARCHIVELOG BACKUPCOPIES FOR DEVICE TYPE DISK TO
1; # default
注释:配置归档日志默认的备份路径
CONFIGURE MAXSETSIZE TO
UNLIMITED; # default
注释:配置单个备份集大小,缺省是不限制,我们可以配置成1G/100M/1024K or other
CONFIGURE ENCRYPTION FOR DATABASE
OFF; # default
注释:配置备份数据加密,是10Gr2推出来的新功能,设置为on后。
可以set encryption on identifyed by youpassword only;加密备份,还原的时候需要提供密码。
CONFIGUREENCRYPTION
ALGORITHM 'AES128'; # default
注释:指定备份数据加密的类型。
CONFIGURE ARCHIVELOGDELETION POLICY TO NONE;
# 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
注意:在查看当参数信息的时候执行输入showall出来的参数后的参数名称即可,不可同时输入TO或FORMAT以及for后面值。
6.3修改RMAN的配置信息
通过执行configure命令来进行修改,后面接上参数名称和值如下操作:
Egg1:
RMAN> showcontrolfile autobackup; -----查看当前参数的值,是off。
RMAN configuration parameters are:
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
RMAN>configure 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> CONFIGURECHANNEL 1 DEVICE TYPE DISK FORMAT '/DBBak/bak_%d_%M_%D_%U';
new RMANconfiguration parameters:
CONFIGURE CHANNEL 1DEVICE TYPE DISK FORMAT '/DBBak/bak_%d_%M_%D_%U';
new RMANconfiguration parameters are successfully stored
注释:配置数据文件的备份路径.
RMAN> CONFIGURECONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F';
old RMANconfiguration parameters:
CONFIGURE CONTROLFILEAUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/DBBak/ctorl_%d_%M_%D_%U_%F';
new RMANconfiguration parameters:
CONFIGURE CONTROLFILEAUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F';
new RMANconfiguration parameters are successfully stored
RMAN>注释:配置控制文件的备份路径
RMAN> show all; ------查看所有信息,看到已经更改了默认备份路径
RMAN configurationparameters are:
CONFIGURE RETENTIONPOLICY TO REDUNDANCY 1;
CONFIGURE BACKUPOPTIMIZATION OFF; # default
CONFIGURE DEFAULTDEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILEAUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FORDEVICE TYPE DISK TO '/DBBak/ctorl_%d_%M_%D_%U_%F';
CONFIGURE DEVICE TYPEDISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILEBACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOGBACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE CHANNEL 1 DEVICE TYPE DISKFORMAT '/DBBak/bak_%d_%M_%D_%U';
CONFIGURE MAXSETSIZETO UNLIMITED; # default
CONFIGURE ENCRYPTIONFOR DATABASE OFF; # default
CONFIGURE ENCRYPTIONALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOGDELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOTCONTROLFILE 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> startupmount; ----启动数据库到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> archivelog list; ---查看归档状态
Database logmode Archive Mode ---归档已经打开
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online logsequence 8
Next log sequence toarchive 10
Current log sequence 10
SQL>
2、 执行rman的全库备份
[oracle@wwldbDBBak]$ rman target / ---登录到rman
Recovery Manager: Release10.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> backupdatabase; -----执行备份数据库的命令
Starting backup at 18-5ÔÂ -12 ----启动备份的时间
using target database controlfile instead of recovery catalog -----描述数据的备份模式
allocated channel: ORA_DISK_1 ----分配通道
channel ORA_DISK_1: sid=159devtype=DISK ----告诉备份的设备类型是硬盘
channel ORA_DISK_1: startingfull datafile backupset ----备份方式类型是全备
channel ORA_DISK_1:specifying datafile(s) in backupset ----根据以上条件检索出需备份的数据文件
input datafile fno=00001name=/DBData/WWL/system01.dbf ----文件信息
input datafile fno=00003name=/DBData/WWL/sysaux01.dbf
input datafile fno=00002name=/DBData/WWL/undotbs01.dbf
input datafile fno=00004name=/DBData/WWL/users01.dbf
channel ORA_DISK_1: startingpiece 1 at 18-5ÔÂ -12 ----告诉通道启动的时间
channel ORA_DISK_1: finishedpiece 1 at 18-5ÔÂ -12 ----告诉通道结束时间
piecehandle=/DBBak/bak_WWL_05_18_04nbaffs_1_1 tag=TAG20120518T185700 comment=NONE
channel ORA_DISK_1: backupset complete, elapsed time: 00:01:05 -----生成备份文件,在/DBBak目录中,文件名称是我们之前在环境配置里面定义好的。
Finished backup at 18-5ÔÂ -12
Starting Control File andSPFILE Autobackup at 18-5ÔÂ -12 ---启动备份控制文件
piecehandle=/DBSoft/product/10.2.0/db_1/dbs/c-5520179-20120518-01 comment=NONE
Finished Control File andSPFILE Autobackup at 18-5ÔÂ -12 ------生成控制文件的备份,我没有指定controlfile的备份路径,所以是备份在默认路径,文件名是用的%F参数生成。
RMAN>
3、 查看备份集信息
RMAN> listbackupset; ---执行list backupst命令查看备份集信息
List of BackupSets
===================
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@wwldbDBBak]$ pwd
/DBBak
[oracle@wwldbDBBak]$ ls
bak_WWL_05_18_04nbaffs_1_1 lost+found ----文件名是应征了CONFIGURECHANNEL
1 DEVICE TYPE DISK FORMAT '/DBBak/bak_%d_%M_%D_%U';这参数的设置
[oracle@wwldbDBBak]$ ll
×ܼÆ535164
-rw-r----- 1oracle oinstall 547987456 05-18 18:57 bak_WWL_05_18_04nbaffs_1_1
drwxrwxr-x 2oracle oinstall 16384 05-18 17:35lost+found
[oracle@wwldb DBBak]$
RMAN> showchannel;
RMANconfiguration parameters are:
CONFIGURECHANNEL 1 DEVICE TYPE DISK FORMAT '/DBBak/bak_%d_%M_%D_%U';