研发内部快速备份、恢复方案.doc_第1页
研发内部快速备份、恢复方案.doc_第2页
研发内部快速备份、恢复方案.doc_第3页
研发内部快速备份、恢复方案.doc_第4页
研发内部快速备份、恢复方案.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

研发内部EAS帐套快速备份、恢复方案目前研发内部备份、恢复帐套主要是采用逻辑方式。Oracle采用exp/imp,DB2采用export、load,该方式下帐套备份文件能跨操作系统平台及数据库版本传输,因此严格来说只是一种数据传输方式,适用于远程传帐套,如果只是在研发内部高效、快捷备份、恢复帐套,则应该以物理方式为主,辅助使用逻辑方式。1. Oracle快速备份、恢复1.1. 表空间备份、恢复方式无论是测试库还是开发库,最终都需要统一规范命名,也就是对不同用户帐套使用的表空间区分开来,对应使用唯一表空间命名,即 EAS_D_用户名英文缩写_STANDARD。如:万科帐套,对应表空间命名为EAS_D_WANKE_STANDARD,只有这样,开发库、测试库同步帐套才会清晰、明了,表空间方式备份、恢复方式的性能优势才能最大程度发挥出来。表空间传输是一种快速在数据库间移动数据的办法,是把一个数据库上的数据文件复制到另外一个数据库中,只导出表空间的定义信息到DMP文件,而不是把整个数据文件导出成Dmp文件,因此表空间方式移动数据就象复制文件一样快。一旦研发内部将用户帐套表空间命名统一规范后,帐套从测试库恢复到开发库将变的非常方便。如果同一个数据库下恢复到之前表空间方式备份的帐套,则需要先删除该帐套对应的表空间,才能恢复。这种类型的恢复在性能测试中会经常用到。1.1.1. 传输表空间相关规则Oracle9i版本源数据库和目标数据库要求运行在相同的硬件平台上。Oracle10g 版本 可跨平台,但不同字节顺序的平台数据文件需要转换。源数据库与目标数据库必须使用相同的字符集(UTF8)。源数据库与目标数据库一定要有相同大小的数据块(默认为8K)目标数据库不能有与迁移表空间同名的表空间,因此如果同一个数据库下恢复之前表空间方式备份的帐套,需要先删除该帐套对应的表空间。必须传输自包含的对象集:可以用以下的方法来检测一个表空间或一套表空间是否符合传输标准:SQLexec sys.dbms_tts.transport_set_check(EAS_D_NM_STANDARD,true);SQLselect * from sys.transport_set_violations;如果没有行选择,表示该表空间只包含表数据,并且是自包含的。对于有些非自包含的表空间,如需要将关联的表空间一起传输。注:目前EAS只需要关注BLOB、CLOB类型字段是否与其它字段存在同一表空间,一般情况下是在同一表空间。1.1.2. 表空间备份、恢复帐套详细步骤1、 设置源数据库需要传输的帐套对应的表空间为只读alter tablespace EAS_D_NM_STANDARD read only;2、 导出表空间定义信息ORACLE9i 版本Windows下: exp userid=”/ as sysdba” file=easnm.dmp log=easnm.log transport_tablespace=y tablespaces=(EAS_D_EASNM_STANDARD)Linux、Unix下:export ORACLE_SID=EASNM (环境变量设置为需要导出的数据库实例名)Exp userid=”sysorcl as sysdba” file=easnm.dmp log=easnm.log transport_tablespace=y tablespaces=(EAS_D_EASNM_STANDARD)以上需要注意的是为了在SQL中执行EXP,USERID必须用三个引号,在UNIX中也必须注意避免“/”的使用必须使用sysdba才能操作这个命令在SQL中必须放置在一行ORACLE10G 以上版本expdp system/oracle dumpfile=eas_d_NM_standard.dmp directory=eas_expdp_dir transport_tablespaces=EAS_D_EASNM_STANDARD注:导出用户不能使用导出帐套所在的用户名,这里使用的是system,目录名,导出的表空间名根据具体环境情况修改。如导出的表空间需跨平台,需考虑数据文件是否需要转换查询Oracle10g支持的平台转换,相同字节顺序的平台之间传输表空间时,不需要任何转换SQL select * from v$transportable_platform order by platform_id;如果字节顺序不同,需要使用rman转换文件格式:$ rman target /RMAN convert tablespace EAS_D_EASNM_STANDARD2 to platform Microsoft Windows IA (32-bit)3 Format f:oracle_data%N_%f;例:将源数据文件转换为windows 32位平台数据文件注:目前研发内部使用的数据库服务器操作系统以windows,linux(Intel x86)为主,不需要做任何数据文件转换。3、 复制源数据库导出的表空间包含的数据文件到目标数据库通过cp(unix)或copy(windows)或通过ftp传输源数据库数据文件(一定要在bin方式)到目标数据库所在服务器。如跨不同字节顺序平台传输,之前通过RMAN转换的数据文件要在目标数据库上还原出来:$ rman target /RMAN CONVERT DATAFILE F:ORACLE_DATAEAS_D_EASNM_STANDARD_82 DB_FILE_NAME_CONVERT3 f:oracle_dataEAS_D_EASNM_STANDARD01.dbf;4、 把源数据库表空间改回读写状态alter tablespace EAS_D_EASNM_STANDARD read write;5、 表空间方式导入目标数据库如目标数据库与原数据库为同一数据库,由于存在同名表空间,因此需要删除该表空间及数据文件后才能导入。Alter database datafile f:oracle_dataEAS_D_EASNM_STANDARD01.dbf offline drop; /将该表空间所在的数据文件离线删除drop tablespace EAS_D_EASNM_STANDARD including contents; /删除表空间注:通过以上步骤删除表空间速度最快,如直接删除表空间数据库会对其中包含的对象一个个删除,需消耗很长时间。如目标数据库与原数据库为不同数据库,且目标数据库不存在与需导入表空间同名的表空间,则直接导入即可。ORACLE 9i:Windows下:imp file=easnm.dmp userid=”/ as sysdba” transport_tablespace=y datafiles=(f:oracle_dataEAS_D_EASNM_STANDARD01.dbf,f:oracle_dataEAS_D_EASNM_STANDARD02.dbf)Linux、Unix下:、export ORACLE_SID=ora9i (环境变量设置为需要导入的测试数据库实例名)imp file=easnm.dmp userid=”sys/sys as sysdba” transport_tablespace=y datafiles=(f:oracle_dataEAS_D_EASNM_STANDARD01.dbf,f:oracle_dataEAS_D_EASNM_STANDARD02.dbf)ORACLE 10G:impdp system/oracle dumpfile=eas_d_NM_standard.dmp directory=eas_expdp_dir transport_datafiles=f:oracle_dataEAS_D_EASNM_STANDARD01.dbf /目录名,数据文件名根据具体环境情况修改。6、 设置目标数据库表空间为正常可读写状态alter tablespace EAS_D_EASNM_STANDARD read write;1.2. Oracle 10g 数据泵expdp、impdp逻辑方式备份恢复Oracle 10g的数据泵方式采用了专用的API接口,替代了Oracle 9i版本前传统的基于SQL方式执行的exp、imp方式,因此性能更好,且提供了实时监控进度、断点续导等手段,便于控制。该方式实现步骤及自动脚本如下:导出涉及脚本:expdp_schema.bat(expdp_schema.sh)expdp_call.sqlexp_cretablespace.sql导入涉及脚本:impdp_schema.bat(impdp_schema.sh)impdp_call.sqlcretablespace.sql1.2.1. Oracle10g expdp、impdp逻辑备份恢复详细步骤1、导出用户备份:直接执行expdp_schema.bat(linux/unix使用expdp_schema.sh),按提示信息依次输入两个参数:导出用户名、口令,执行完成后缺省将在Oracle安装盘admin实例名dpdump路径下生成导出的dmp文件,在当前路径下生成创建表空间脚本cretablespace.sql。2、导入用户备份:将上述导出的dmp文件放在目标数据库服务器Oracle安装盘admin实例名dpdump路径下。cretablespace.sql放在当前路径下,根据实际情况修改cretablespace.sql脚本中数据文件存放路径及大小。直接执行impdp_schema.bat(impdp_schema.sh),按提示信息依次输入三个参数:system用户口令、dmp文件中源用户名、目标用户名。(注:如目标用户不存在则自动创建表空间及用户)3、关于备份、恢复脚本中DIRECTORY、REMAP_TABLESPACE参数说明自动备份脚本中使用的目录为Oracle 10g缺省的DATA_PUMP_DIR参数所指定的路径,缺省为Oracle安装盘admin实例名dpdump,如该路径空间不足以存放DUMP文件,则需手工在源、目标数据库创建目录,并修改备份脚本expdp_call.sql,impdp_call.sql,增加选项DIRECTORY等于该目录,备份的DMP文件就会生成到该目录下。Oracle用户登录操作系统,执行:sqlplus /as sysdbaSQLcreate directory eas_expdp_dir as /home/oracle/10gautoexpdp;SQLgrant read,write on directory eas_expdp_dir to eas用户名;注:目录/home/oracle/10gautoexpdp根据实际环境修改。缺省情况下,恢复的目标数据库中的表空间与源数据库表空间同名、如表空间需使用不同命名,则修改自动脚本expdp_call.sql,impdp_call.sql,增加选项REMAP_TABLESPACE等于源表空间:目标表空间名。注:expdp、impdp工具详细使用运行expdp(impdp) help查看;也可以通过Oracle10g OEM配置expdp、impdp方式自动备份、恢复任务。1.3. Oracle快速备份、恢复方式总结研发内部Oracle测试、开发环境帐套备份、恢复目前由于表空间命名还未规范,存在同一表空间包含多个不同用户帐套的问题,因此以expdp、impdp方式为主,后续逐步规范表空间命名后,以表空间备份、恢复方式为主,表空间备份方式是当前EAS帐套备份、恢复时间最短的方式。2. DB2 快速备份、恢复方案2.1. DB2 BACKUP、RESTORE备份恢复方式DB2一个实例可以包含多个数据库,分别对应多个帐套,因此备份、恢复EAS帐套即备份、恢复相应的数据库,研发内部数据库主要是windows、linux操作系统,因此备份、恢复帐套使用DB2本身的BACKUP、RESTORE方式效率最高。 DB2 BACKUP、RESTORE备份恢复单个数据库详细步骤:1、全库备份db2 backup db eas to /bkdb注:备份开始后,该数据库将置为备份暂挂状态,2、显示需恢复库当前所有备份信息Db2 list history backup all for eas如:Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID - - - - - - - - R D 20080726030002001 F S0000000.LOG S0000000.LOG 20080102171206 - Contains 5 tablespace(s): 00001 SYSCATSPACE 00002 SYSTOOLSPACE 00003 EASTS16K 00004 EASTS32K 00005 EASTS8K -Comment: RESTORE YH NO RF Start Time: 20080726030002 End Time: 20080726030112注:从中可以获取备份的时间戳序列号构成的标志及备份开始、结束的时间点信息,恢复时需要用到。3、从其中一个备份中恢复(获取对应时间戳,去除后三位序列号)4、创建恢复脚本(DB2V9以上版本)db2 restore db eas from /bkdb taken at 20080726030002 redirect generate script restoreeas.clp5、恢复到原库db2 tvf restoreeas.clp 或者db2 restore db eas from /bkdb taken at 200807260300026、恢复到新库EAS有几个表空间需重定向路径,如使用脚本restoreeas.clp恢复,需要对脚本中以下表空间进行重定向修改,如命令行手工方式恢复,则运行如下语句:db2 restore db eas from /bkdb taken at 20080726030002 on /bkdb/hseasnew dbpath on /bkdb/hseasnew into hseasnew newlogpath /bkdb/hseasnew/log redirectdb2 set tablespace containers for 4 USING (path /bkdb/hseasnew/eas_EAS_16K)db2 set tablespace containers for 5 USING (path /bkdb/hseasnew/eas_EAS_16K_temp)db2 set tablespace containers for 6 USING (path /bkdb/hseasnew/eas_EAS_32K)db2 set tablespace containers for 7 USING (path /bkdb/hseasnew/eas_EAS_32K_temp)db2 set tablespace containers for 8 USING (path /bkdb/hseasnew/eas_EAS_8K)db2 set tablespace containers for 9 USING (path /bkdb/hseasnew/eas_EAS_8K_temp)db2 set tablespace containers for 2 USING (path /bkdb/hseasnew/SYSTOOLST

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论