RMAN Recipes 中对Flash Recovery Area的总结

来源:互联网 发布:is语音淘宝放单频道 编辑:程序博客网 时间:2024/06/07 14:26
最近在看《RMAN Recipes for Oracle Database 11g》,老外讲得啰里吧嗦,我把其中有一些比较重要的操作记下,以便以后查阅,如果顺利,以后看完每章都做一次总结,希望对初学Oracle备份与恢复的朋友有所帮助。笔记中若有不正确的地方欢迎大家留言拍砖。

其中,第一章《Backup and Recovery》针对备份和恢复的基本概念作了详细阐述,包括数据库故障的类型、Oracle中备份与恢复的几个概念、备份类型、恢复类型、RMAN体系结构、备份与恢复的几个最佳实践。第二章《Jump-Starting RMAN》是针对初识RMAN的朋友准备的,作者用最简单的例子让初学者几下子就能作一个备份和恢复,这一章包括连接数据库、打开和关闭数据库、使用归档模式、连接RMAN、备份数据库、Restoring and Recovering 数据库。这两章主要是从概念上讲备份与恢复,也举了几个例子,大家一看就懂,我也不一一罗列了,下面进入正题。

第三章《Using the Flash Recovery Area》是对闪回恢复区作了些论述,我用例子来说明一些概念。3-1.Creating the Flash Recovery Area(创建闪回恢复区)这个闪回恢复区我们可以自定义创建,在创建前我们思考两个问题,第一:这个闪回恢复区我创建在哪儿?第二:我要创建多大的闪回恢复区?如果大家已经确定了答案,我们就可以创建了。3.1.1确保log_archive_destlog_archive_duplex_dest为空大家可以show parameter log_archive_dest看一下这两个初始化参数是否为空,若不为空,则:Alter system set log_archive_duplex_dest = ‘ ’;Alter system set log_archive_dest = ‘ ‘;如果大家想要把归档文件放入自定义的路径,则可以使用log_archive_dest_1Alter system set log_archive_dest_1=’location=/dbarch’;并保证log_archive_dest为空,具体参数说明见Oracle联机文档《Reference》。3.1.2sysdba角色登录数据库Sqlplus / as sysdba 或者Sqlplus sys/<PasswordOfUserSys> as sysdba3.1.3创建闪回恢复区并指定相应大小Alter system set db_recovery_file_dest_size=4G;(原作有误,少了file_dest)Alter system set db_recovery_file_dest=’/home/oracle/flasharea’;

好了,这样就指定了一个闪回恢复区,记住,这个/home/oracle/flasharea必须存在,若操作系统层面没有这个目录,必须创建一个目录。这个闪回恢复区将来是用来存放备份文件的,所以大家最好不要把闪回恢复区和数据库文件放在同一块磁盘上,万一磁盘块了,那闪回恢复区也一起悲剧。3-2Writing Regular RMAN Backups to the FRA(在闪回恢复区有规律地备份)3.2.1启动RMAN$rmanRecovery Manager:......RMAN>3.2.2连接到目标数据库RMAN>connect target /Connected to target database:PRODB2(DBID=524826567)3.2.3开始不指定路径地备份数据库RMAN>backup database;......从屏幕产生的信息我们发现,数据库分配了一个channel,把数据文件备份到闪回恢复区,同时控制文件和spfile也一起备份。3-3Free FRA Space in an Emergency(紧急情况下释放闪回恢复区)我们有时在备份时会出现FRA空间不够,那怎么办呢?有三种办法。3.3.1增大闪回恢复区空间Alter system set db_recovery_file_size_size=10G;3.3.2删除没用的Restore PointsSelect name,storage_size from v$restore_point;找到没用的Restore Points,然后Drop restore point rp0;3.3.3禁用闪回恢复区我索性不用闪回恢复区,将它DisableShutdown immediateStartup mountAlter database flashback off;现在我可以用rman安心删除东西了,把archivelog删除:Rman>delete noprompt archivelog all;然后打开数据库,Alter database open;注意,这次的数据库是没有闪回恢复区的。

3-4.Checking Space Usage in the FRA(检查FRA使用空间)有几个动态性能视图对这一问题有很好的帮助,下面看下怎么查询。SQL>select * from v$flash_recovery_area_useage;通过列名我们可以清晰地得到各种文件占用了多少空间,注意是百分比。那我们怎么看具体用了多少空间?大家可以查看v$recovery_file_dest这个动态性能视图,我们还能通过FILE_TYPE将这两个视图连接查询自己想要的信息。

3-5.Expanding or Shrinking the FRA(扩大或收缩FRA其实这块前面在创建时就提过了,SQL>alter system set db_recovery_file_dest_size=2G;这个值看实际情况调整。3-6.Configureing Archived Redo Logs to Go to FRA(给FRA配置归档日志)我们原来可以把归档日志放其它的路径下,这节阐述了怎么向FRA里配置。书上有几步前面我们已经做过,下面我会把那些操作略去。3.6.1FRA做为归档路径Alter system set log_archive_dest_1=’LOCATION=USE_DB_RECOVERY_FILE_DEST’;3.6.2确保上面的路径可用SQL>show parameter log_archive_dest_state_1那个值必须是ENABLE,不然没法用这个路径,如果不是ENABLE,则Alter system set log_archive_dest_state_1=enable;3.6.3检查你的设置SQL>archive log list3.6.4切换日志看是不是真的归档到新目录Alter system switch logfile;以上就是基本操作,设置完了后大家可以查询v$archive_log看下归档路径。3-7.Using the Same FRA for Two Database with the Same Name(略,以后用到再写)3-8.Placing a Control File in the FRA(将控制文件放入FRA控制文件一般是怎么产生的?首先,在创建数据库时,会产生;还可以用SQL脚本在恢复时产生;也可以从备份文件中找到。在pfile里我们一般会看到一个参数是指定控制文件的路径的。讲到这想必大家知道怎么设置了吧,改一下pfile里的路径就行了。3-9.Placing Online Redo Log Files in FRA(在FRA中设置联机重做日志)(待续。。。)


原创粉丝点击