




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
使用RMAN备份DB一、建置环境与情境本文件说明使用RMAN由来源DB复制DB到另一台主机上。测试的环境描述如下:1. 来源和复制主机为相同平台和OS系统,OS:HP-UX,平台:Intel Itanium2. 来源DB和复制DB的版本相同,皆为Oracle 版3. 来源DB和复制DB的SID和服务名称相同,SID:HPDEV2,服务名称:HPDEV2.VLIFE.COM.TW4. 来源DB和复制DB都是使用ASM做为储存媒介,ASM内储存结构也相同,储存目录root都为+DATADG 5. RMAN使用control纪录备份回、复信息如要参考此步骤进行复制,请先确认以上环境的差异,参考Backup and Recovery Advanced Users Guide.pdf中13章部分和Backup and Recovery Reference.pdf手册进行修改。在RMAN复制DB操作上,来源DB是以target DB连接,而复制DB则以auxiliary DB连接。操作时请注意来源、复制DB和target DB、auxiliary DB间的关系,避免混淆。二、复制DB步骤1. 检查来源DB archive log mode使用RMAN复制DB必须先用RMAN备份来源DB,备份时请注意DB的archive log mode,如果为noarchive log模式,RMAN只能在DB为mount模式下备份,在备份时DB无法提供服务。故如果DB无法容忍长时间停机,应先将RMAN切换为archive log mode,如此可以在DB open的状况下进行备份。检查archive log可以用sqlplus以sys登入下以下指令查询:如需要修改可以下以下指令:shutdown immediate;startup mount;alter database archivelog; -或noarchivelogalter database open;设定完后可以重新以:archive log list;查询设定是否成功。在本例子中,无法长期停止DB服务,故以archive模式进行备份。2. 检查来源DB储存媒介是否有block损坏进行RMAN备份前,如DB没有进行过备份,或与次备份相隔很久。请先使用RMAN进行储存媒体检查,看是否有逻辑或实体的block损坏。RMAN备份、回复过程会检查block是否损坏,预设状况下RMAN会中断工作,如果DB很庞大,将会浪费很多时间。RMAN检查包含检逻辑与实体储存媒体检查,script:chk_backup.sql,执行的shell script请见:chk_backup.sh。执行请先以oracle账号telnet登入来源DB主机,并review script档案内容,执行请在shell下呼叫:chk_backup.sh。开始执行后,检查进度可以用以下SQL查询执行状况:-查询validate进度SELECT opname, sid, serial#, CONTEXT, sofar, totalwork, round(sofar / totalwork * 100, 2) %_complete FROM v$session_longops WHERE opname LIKE RMAN% AND opname NOT LIKE %aggregate% AND totalwork != 0 AND sofar totalwork ORDER BY sid;查询结果如下:传回笔数视RMAN设定的平行数目决定,每笔代表一个RMAN执行的process或thread。另外,也可以查看V$RMAN_BACKUP_JOB_DETAILS内容:select * from V$RMAN_BACKUP_JOB_DETAILS order by start_time desc;此view会回报执行状况,执行完会显示完成或失败,并显示最后处理数据量。而详细的执行内容,可以观看chk_backup.log檔。检查完成,损坏block信息会写到DB v$database_block_corruption view,可用以下SQL查出哪个对象发生问题:-查询发生错误的block对象和档案SELECT t3.owner, t3.object_type, t2.segment_name object_name, (SELECT NAME FROM v$datafile t4 WHERE t1.file# = t4.file#) filename, t1.corruption_type, t1.file#, t1.block# FROM v$database_block_corruption t1 LEFT OUTER JOIN dba_extents t2 ON t2.file_id = t1.file# AND block# BETWEEN t2.block_id AND t2.block_id + t2.blocks - 1 LEFT OUTER JOIN dba_objects t3 ON t2.segment_name = t3.object_name AND t2.owner = t3.owner;如有block损坏,必须进行修复。修复可以使用:u Flashback:产生undo SQL或Flashback Table回复错误区块数据u DBMS_REPAIR package:仅标示损坏的block,无法进行实际修复u Block media recovery(BMR):使用RMAN BLOCKRECOVER回复,需有已存在的备份另外,如果损坏对象为index、MV之类的由资料推导出的DB对象,可以重新建立或rebuild修复。3. 备份源数据库本例中的RMAN备份设定:u 备份、回复的平行度设定为4u 使用backup set方式备份,每个backup set包含一个backup piece,backup set最多存放5个数据文件u 备份包含:datafile、archive log、spfile、control fileu CONTROLFILE AUTOBACKUP设定为OFFu 备份过程删除已备份的archive log檔以oracle账号telnet登入来源DB主机,执行备份,备份将放在/orabackup/dev2_backup目录下。RMAN备份script请见:full_backup.sql,执行的shell script请见:full_backup.sh。备份执行后,可以查询backup_log.log看执行是否发生问题。执行过程可以查询V$RMAN_BACKUP_JOB_DETAILS内容(如同前面步骤:检查来源DB储存媒介是否有block损坏 所述),如果有验证block损坏,则可以由总处理量与每秒处理数据量预估处理时间。4. 处理pfile复制DB将会使用来源DB的pfile设定,所以需要将来原数据库的spfile转存成pfile,并复制到复制DB主机上。转存spfile成pfile请用sys登入来源DB,执行:create pfile= from spfile;5. 将备份文件上传或挂到复制DB主机上复制DB必须有来源DB的备份档才能进行复制,且备份文件放置的位置必须要同原备份档。例如:来源DB的备份放在/orabackup/dev2_backup,则在复制DB也需放在/orabackup/dev2_backup目录下。由于备份档可能很大,故可以使用NFS或磁盘挂载方式共享备份档,避免FTP的时间并节省储存空间使用。注:备份DB中备份档如与原备份放置位置不同,必须重新对备份文件以catalog指令修改RMAN纪录,故在此建议存放在相同位置6. 建立备份DB 本案例使用ASM当作储存媒介,故在进行复制前请确认备份DB主机ASM instance已经启动。在备份主机上建立备份DB,此DB只是一个空壳供RMAN备份使用,其中的设定复制后都会以来原DB覆盖。7. 修改复制DB设定u tnsnames.ora:在tnsnames.ora新增对来源DB的联机信息,本例中复制DB的tnsnames为:91_HPDEV2,来源DB的tnsnames为:92_HPDEV2u listener.ora:设定备份DB的静态注册,确保listener可以找到备份DB的instance。u 修改来源DB复制过来的pfile,pfile的类似:HPDEV2._db_cache_size=32195477504HPDEV2._java_pool_size=117440512HPDEV2._large_pool_size=50331648HPDEV2._shared_pool_size=1962934272HPDEV2._streams_pool_size=16777216*._db_block_numa=1*._enable_numa_optimization=false*._kks_use_mutex_pin=false*.audit_file_dest=/oracle/app/product/10.2.0/OraHome_1/admin/HPDEV2/adump*.background_dump_dest=/oracle/app/product/10.2.0/OraHome_1/admin/HPDEV2/bdump*.compatible=.0*.control_files=+DATADG/hpdev2/controlfile/current.261.684415341,+DATADG/hpdev2/controlfile/current.260.684415341*.core_dump_dest=/oracle/app/product/10.2.0/OraHome_1/admin/HPDEV2/cdump*.db_block_size=8192*.db_create_file_dest=+DATADG*.db_domain=SKL.COM.TW*.db_file_multiblock_read_count=128*.db_files=8000*.db_name=HPDEV2*.db_recovery_file_dest=+DATADG*.db_recovery_file_dest_size=21474836480*.dispatchers=(PROTOCOL=TCP) (SERVICE=HPDEV2XDB)*.job_queue_processes=20*.log_archive_format=%t_%s_%r.arc*.nls_language=AMERICAN*.nls_length_semantics=CHAR*.nls_territory=AMERICA*.open_cursors=900*.parallel_execution_message_size=65535*.pga_aggregate_target=10737418240*.plsql_debug=TRUE*.processes=1000*.remote_login_passwordfile=EXCLUSIVE*.sessions=1105*.sga_target=34359738368*.undo_management=AUTO*.undo_tablespace=UNDOTBS1*.user_dump_dest=/oracle/app/product/10.2.0/OraHome_1/admin/HPDEV2/udump请依照实际状况调整各参数,在本例子中,由于DB SID和服务名称都相同,储存空间目录结构也不变,故仅需调整内存相关参数设定,避免超过复制DB主机资源。本例子的pfile请参考:HPDEV2_PFILE.ora8. 复制DB可以在来源或复制端DB执行RMAN,本例中是在复制DB端执行RMAN进行复制。进行RMAN复制DB,来源DB必须是mount或open状态,复制DB必须为nomount。复制DB使用shell script为:duplicate_database_unix.sh,此shell script在执行前请review其ORACLE_SID、pfile_path等参数设定是否正确,执行过程中会自动产生rman script档案:duplicate_db.sql,以及sqlplus执行的script档案:md_spfile_nomount.sql,并依序执行md_spfile_nomount.sql和duplicate_db.sql,将复制DB shutdown后,使用来源的pfile开启在nomount模式,再登入RMAN执行DB复制。当复制开始进行,可以在来源DB以sys登入查询v$rman_status View:select * from v$rman_status order by start_time desc;此时可以注意查询字段operation有RESTORE的资料,如正在执行则STATUS字段会显示RUNNING:执行成功通常显示COMPLETED,失败则为FAILED。另外,也可以查看log:duplicate_db_log.log文件得知目前处理的进度和结果。9. 检查复制DB结果u 查看log文件最后观看结果,成功会显示如:u 联机到复制DB中,下SQL查询DB对象数目是否与来源相同:select count(1) from dba_objects;u 查询Table资料是否可以查询且笔数与来源一致:select count(1) from uvalblb;注意,如果使用在线备份并复制,因来源DB仍在使用,对象数目或数据有可能与来源DB有些许出入10. 建立复制DB的directories对象对应的目录开发要调整以下directory目录位置:u PLSQL_OUTPUTu PLSQL_JAVA_OUTPUTu V3_FILE_BACKUPu V3_FILE_UPLOADu V3_FILE_DOWNLOADu DATAPUMPu CV_TEST_PLSQL_JAVA_OUTPUTu CV_TEST_PLSQL_OUTPUTu VLIFE_FILE_DOWNLOADu VLIFE_FILE_UPLOADu VLIFE_SMS_EXCHANGEu VLIFE_MAIL_EXCHANGE而非开发需调整以下目录:u DATAPUMP u VLIFE_SMS_EXCHANGE u VLIFE_MAIL_EXCHANGE u VLIFE_FILE_DOWNLOAD u VLIFE_FILE_UPLOADu V3_FILE_DOWNLOADu V3_FILE_UPLOADu V3_FILE_BACKUP u PLSQL_JAVA_OUTPUT u PLSQL_OUTPUT三、注意事项1. Duplicate DB搭配的备份文件注意事项Duplicate时control file拿的是来源DB的control,即使备份有control file,在duplicate过程中也不会用到。如在DB最后备份完成后,有对DB档案结构进行调整,例如:增、减档案tablespace等,请重新执行备份,确保备份与control记录的结构一致,避免回复失败。2. RMAN使用NFS的注意事项:RMAN使用NFS当作备份磁盘必须遵照各平台Oracle安装文件(Ex:Installation Guide 10g Release 2 (10.2) for hp-ux Itanium、Installation Guide
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 项目考试题库及答案解析
- 西游记考试题目及答案
- 汽修对口考试题库及答案
- 模考试题及答案
- 美国考试题及答案
- 街道社工考试题及答案
- 剑桥2级考试题型及答案
- 支教心理测试题目及答案
- 证券市场面试题库及答案
- 2025年远程医疗平台搭建项目可行性分析报告
- 修理工安全试题及答案
- 地面地砖检修方案(3篇)
- 公司工会内控管理制度
- 水发能源考试题及答案
- 2025年一年级语文1-8单元期末考试复习基础知识点默写清单(有答案)
- 食堂燃气培训试题及答案
- 【北京市人社局】2025年北京市人力资源市场薪酬数据报告(一季度)
- 07-20电子病历详细设计
- (完整word版)浙江监理全套表格
- 车库电动卷帘门PLC控制设计实用教案
- 系统是成功的秘密
评论
0/150
提交评论