探索ORACLE之RMAN02基本使用.docx
《探索ORACLE之RMAN02基本使用.docx》由会员分享,可在线阅读,更多相关《探索ORACLE之RMAN02基本使用.docx(13页珍藏版)》请在冰豆网上搜索。
探索ORACLE之RMAN02基本使用
探索ORACLE之RMAN_02基本使用
RMAN工具是Oracle8i为了更好的实现数据库备份恢复而推出来的一实用工具,可以实现数据库的在线的备份和恢复从而不影响业务的正常运行。
并且在Oracle软件安装上的那一时刻就已经存在了,不必另外安装或买介质,从今天开始就开始谈谈RMAN的使用和维护:
1、 登录和访问RMAN
A、 在Windows下进入RMAN,很简单,只需要在命令行输入rman即可。
如下:
C:
\>rman
RecoveryManager:
Release10.2.0.4.0-ProductiononFriMay1810:
45:
582012
Copyright(c)1982,2007,Oracle. Allrightsreserved.
RMAN>
B、 在Linux下进入RMAN同样也是在命令行输入rman即可,但是有一点需要注意,必须修改oracle用户环境变量为如下,在Linux系统中还有一个RMAN命令不是Oracle的。
PATH=$ORACLE_HOME/bin:
/sbin:
$PATH
执行RMAN
[oracle@wwldb~]$rman
RecoveryManager:
Release10.2.0.1.0-ProductiononFriMay1810:
53:
152012
Copyright(c)1982,2005,Oracle. Allrightsreserved.
RMAN>
注意:
就上面的进入RMAN运行的是在NOCATALOGmoshi,既不使用恢复目录。
输入RMAN后即可进入RMAN命令行界面。
2、 获得RMAN帮助
[oracle@wwldb~]$rmanhelp
Argument Value Description
-----------------------------------------------------------------------------
target quoted-string connect-stringfortargetdatabase
catalog quoted-string connect-stringforrecoverycatalog
nocatalog none ifspecified,thennorecoverycatalog
cmdfile quoted-string nameofinputcommandfile
log quoted-string nameofoutputmessagelogfile
trace quoted-string nameofoutputdebuggingmessagelogfile
append none ifspecified,logisopenedinappendmode
debug optional-args activatedebugging
msgno none showRMAN-nnnnprefixforallmessages
send quoted-string sendacommandtothemediamanager
pipe string buildingblockforpipenames
timeout integer numberofsecondstowaitforpipeinput
checksyntax none checkthecommandfileforsyntaxerrors
3、 RMAN的启动:
连接到目标数据库
rman\>connecttarget user/pwd@db_name
注意:
1、connect不能简写为conn
2、连接USER必须具备SYSDBA权限
3、连接的db_name必须在tnsnames.ora中有配置,且有效(即通过SQLPLUS可以连接)
4、targetdatabase必须为archivelog模式
5、如果是本地可以采用OS认证,如果是远程需要使用密码文件认证。
6、RMAN工具版本与目标数据库必须是同一版本。
4、 在RMAN中执行操作系统命令
Egg:
RMAN>run{host"ls-artl";}
RMAN>run{host"ifconfig";}
RMAN>run{host"pwd";}
/home/oracle
hostcommandcomplete
RMAN>run{host"ls";}
Desktop sqlnet.log
hostcommandcomplete
RMAN>exit
5、 在RMAN中执行SQL命令对数据库进行操作
5.1启动关闭数据库
RMAN>shutdownimmediate
databaseclosed
databasedismounted
Oracleinstanceshutdown
RMAN>startup
connectedtotargetdatabase(notstarted)
Oracleinstancestarted
databasemounted
databaseopened
TotalSystemGlobalArea 285212672bytes
FixedSize 1218968bytes
VariableSize 79693416bytes
DatabaseBuffers 197132288bytes
RedoBuffers 7168000bytes
RMAN>
5.2在RMAN中执行SQL语句
RMAN>sql'select*fromuser_tablespaces';
sqlstatement:
select*fromuser_tablespaces
RMAN>sql'altersystemcheckpoint';
sqlstatement:
altersystemcheckpoint
RMAN>
为了解释这个问题请参看红色注释
注意:
rmanisnotsqlplus,rmanshowresultof"sql"command,butnotshowresultof'select....'
5.3在RMAN中执行bak.sql脚本
RMAN>run{executescriptbak.sql}
6、 配置和查看RMAN的环境信息
6.1查看rman的所有配置信息。
RMAN>showall;
usingtargetdatabasecontrolfileinsteadofrecoverycatalog
RMANconfigurationparametersare:
CONFIGURERETENTIONPOLICYTOREDUNDANCY1;#default
注释:
配置redundancy配置需要保留几份备份文件,默认是1。
也可以改变为其它非零的正整数值。
CONFIGUREBACKUPOPTIMIZATIONOFF;#default
注释:
设备备份优化打开,如果表空间是只读状态,那么在做备份的时候只是第一次会备份,以后不备份。
有两个选项off关闭和on打开
CONFIGUREDEFAULTDEVICETYPETODISK;#default
注释:
配置默认备份设备可以是sbt(磁带),DISK(硬盘);默认是硬盘
CONFIGURECONTROLFILEAUTOBACKUPOFF;#default
注释:
配置在备份的时候是否将控制文件一并备份,两个选项,默认是off不备份,也可以是on备份、。
CONFIGURECONTROLFILEAUTOBACKUPFORMATFORDEVICETYPEDISKTO'%F';#default
注释:
配置controlfile自动备份的路径和文件格式
CONFIGUREDEVICETYPEDISKPARALLELISM1BACKUPTYPETOBACKUPSET;#default
注释:
配置磁盘备份的类型,默认是备份集方式(backupset)或镜像拷贝也叫文件拷贝(copy)。
镜像拷贝值适用于磁盘备份,磁带只支持备份集。
一般用备份集更多,其效率会更高
CONFIGUREDATAFILEBACKUPCOPIESFORDEVICETYPEDISKTO1;#default
注释:
配置生成备份集的个数,默认是1;备份集内会包括(数据文件,控制文件,参数文件)
CONFIGUREARCHIVELOGBACKUPCOPIESFORDEVICETYPEDISKTO1;#default
注释:
配置归档日志默认的备份路径
CONFIGUREMAXSETSIZETOUNLIMITED;#default
注释:
配置单个备份集大小,缺省是不限制,我们可以配置成1G/100M/1024Korother
CONFIGUREENCRYPTIONFORDATABASEOFF;#default
注释:
配置备份数据加密,是10Gr2推出来的新功能,设置为on后。
可以setencryptiononidentifyedbyyoupasswordonly;加密备份,还原的时候需要提供密码。
CONFIGUREENCRYPTIONALGORITHM'AES128';#default
注释:
指定备份数据加密的类型。
CONFIGUREARCHIVELOGDELETIONPOLICYTONONE;#default
注释:
配置归档日志在备份后自动删除
CONFIGURESNAPSHOTCONTROLFILENAMETO'/DBSoft/product/10.2.0/db_1/dbs/snapcf_WWL.f';#default
注释:
配置控制文件快照,可以有效的提高控制文件的恢复性。
RMAN>
6.2查看单个参数的配置信息:
RMAN>showRETENTIONPOLICY;
RMANconfigurationparametersare:
CONFIGURERETENTIONPOLICYTOREDUNDANCY1;#default
RMAN>showBACKUPOPTIMIZATION;
RMANconfigurationparametersare:
CONFIGUREBACKUPOPTIMIZATIONOFF;#default
RMAN>showDEFAULTDEVICETYPE;
RMANconfigurationparametersare:
CONFIGUREDEFAULTDEVICETYPETODISK;#default
注意:
在查看当参数信息的时候执行输入showall出来的参数后的参数名称即可,不可同时输入TO或FORMAT以及for后面值。
6.3修改RMAN的配置信息
通过执行configure命令来进行修改,后面接上参数名称和值如下操作:
Egg1:
RMAN>showcontrolfileautobackup; -----查看当前参数的值,是off。
RMANconfigurationparametersare:
CONFIGURECONTROLFILEAUTOBACKUPOFF;#default
RMAN>configurecontrolfileautobackupon; --修改为on,自动备份控制文件
newRMANconfigurationparameters:
CONFIGURECONTROLFILEAUTOBACKUPON;
newRMANconfigurationparametersaresuccessfullystored
RMAN>showcontrolfileautobackup; ---查看修改后的,已经修改成功。
RMANconfigurationparametersare:
CONFIGURECONTROLFILEAUTOBACKUPON;
RMAN>
Egg2:
RMAN>CONFIGURECHANNEL1DEVICETYPEDISKFORMAT'/DBBak/bak_%d_%M_%D_%U';
newRMANconfigurationparameters:
CONFIGURECHANNEL1DEVICETYPEDISKFORMAT '/DBBak/bak_%d_%M_%D_%U';
newRMANconfigurationparametersaresuccessfullystored
注释:
配置数据文件的备份路径.
RMAN>CONFIGURECONTROLFILEAUTOBACKUPFORMATFORDEVICETYPEDISKTO'%F';
oldRMANconfigurationparameters:
CONFIGURECONTROLFILEAUTOBACKUPFORMATFORDEVICETYPEDISKTO'/DBBak/ctorl_%d_%M_%D_%U_%F';
newRMANconfigurationparameters:
CONFIGURECONTROLFILEAUTOBACKUPFORMATFORDEVICETYPEDISKTO'%F';
newRMANconfigurationparametersaresuccessfullystored
RMAN>注释:
配置控制文件的备份路径
RMAN>showall; ------查看所有信息,看到已经更改了默认备份路径
RMANconfigurationparametersare:
CONFIGURERETENTIONPOLICYTOREDUNDANCY1;
CONFIGUREBACKUPOPTIMIZATIONOFF;#default
CONFIGUREDEFAULTDEVICETYPETODISK;#default
CONFIGURECONTROLFILEAUTOBACKUPON;
CONFIGURECONTROLFILEAUTOBACKUPFORMATFORDEVICETYPEDISKTO'/DBBak/ctorl_%d_%M_%D_%U_%F';
CONFIGUREDEVICETYPEDISKPARALLELISM1BACKUPTYPETOBACKUPSET;#default
CONFIGUREDATAFILEBACKUPCOPIESFORDEVICETYPEDISKTO1;#default
CONFIGUREARCHIVELOGBACKUPCOPIESFORDEVICETYPEDISKTO1;#default
CONFIGURECHANNEL1DEVICETYPEDISKFORMAT '/DBBak/bak_%d_%M_%D_%U';
CONFIGUREMAXSETSIZETOUNLIMITED;#default
CONFIGUREENCRYPTIONFORDATABASEOFF;#default
CONFIGUREENCRYPTIONALGORITHM'AES128';#default
CONFIGUREARCHIVELOGDELETIONPOLICYTONONE;#default
CONFIGURESNAPSHOTCONTROLFILENAMETO'/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>shutdownimmediate ---关闭数据库
Databaseclosed.
Databasedismounted.
ORACLEinstanceshutdown.
SQL>startupmount; ----启动数据库到mount状态
ORACLEinstancestarted.
TotalSystemGlobalArea 285212672bytes
FixedSize 1218968bytes
VariableSize 79693416bytes
DatabaseBuffers 197132288bytes
RedoBuffers 7168000bytes
Databasemounted.
SQL>alterdatabasearchivelog; ---开启归档功能
Databasealtered.
SQL>archiveloglist; ---查看归档状态
Databaselogmode ArchiveMode ---归档已经打开
Automaticarchival Enabled
Archivedestination USE_DB_RECOVERY_FILE_DEST
Oldestonlinelogsequence 8
Nextlogsequencetoarchive 10
Currentlogsequence 10
SQL>
2、 执行rman的全库备份
[oracle@wwldbDBBak]$rmantarget/ ---登录到rman
RecoveryManager:
Release10.2.0.1.0-ProductiononÐÇÆÚÎå5ÔÂ1818:
56:
472012
Copyright(c)1982,2005,Oracle. Allrightsreserved.
connectedtotargetdatabase:
WWL(DBID=5520179,notopen) ---当前数据的DBID和实例名及状态
RMAN>backupdatabase; -----执行备份数据库的命令
Startingbackupat18-5ÔÂ-12 ----启动备份的时间
usingtargetdatabasecontrolfileinsteadofrecoverycatalog -----描述数据的备份模式
allocatedchannel:
ORA_DISK_1 ----分配通道
channelORA_DISK_1:
sid=159devtype=DISK ----告诉备份的设备类型是硬盘
channelORA_DISK_1:
startingfulldatafilebackupset ----备份方式类型是全备
channelORA_DISK_1:
specifyingdatafile(s)inbackupset ----根据以上条件检索出需备份的数据文件
inputdatafilefno=00001name=/DBData/WWL/system01.dbf ----文件信息
inputdatafilefno=00003name=/DBData/WWL/sysaux01.dbf
inputdatafilefno=00002name=/DBData/WWL/undotbs01.dbf
inputdatafilefno=00004name=/DBData/WWL/users01.dbf
channelORA_DISK_1:
startingpiece1at18-5ÔÂ-12 ----告诉通道启动的时间
channelORA_DISK_1:
finishedpiece1at18-5ÔÂ-12 ----告诉通道结束时间
piecehandle=/DBBak/bak_WWL_05_18_04nbaffs_1_1tag=TAG20120518T185700comment=NONE
channelORA_DISK_1:
backupsetcomplete,elapsedtime:
00: