您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > EAS账套备份恢复指导手册
④内部公开请勿外传1/16一.从原库中备份出来数据集使用数据泵把数据备份出来,下图的是创建成一个sh文件导出。备份脚本:#!/bin/sh#用于备份#用于备份的用户用户名BACKUP_USER=username#用于备份的用户名密码BACKUP_PASSWORD=pwd#用于备份和恢复的目录WORKDIR=exp2_direxpdp$BACKUP_USER/$BACKUP_PASSWORDdumpfile=$BACKUP_USER+`date+%m.%d.%y`.dmpdirectory=$WORKDIRlogfile=$BACKUP_USER+`date+%m.%d.%y`.logparallel=8job_name='exp_'+$BACKUP_USER+`date+%h%m%s`由于金蝶的VT临时表不需要导出,在导出的时候,可以使用下面的参数来排除VT临时表:--EXCLUDE该选项用于指定执行操作时释放要排除对象类型或相关对象,EXCLUDE=STATISTICS(排除统计信息)EXCLUDE=table:like“‘VT%’”(排除eas的VT临时表)EXCLUDE=STATISTICS,table:like“‘VT%’”(VT临时表和统计信息一起排除)④内部公开请勿外传2/16二.新建数据库进行同用户名恢复1、DBCA新建数据库DBCA之前,要看看系统有没有配置好了display,这样才能打开图形界面,可以使用xclock命令验证,如果出现下图的钟图,说明就可以打开了。如果不能打开,需要设置display,如我下图红框一所示:ExportDISPLAY=ip:0(ip是你本机使用xmanager连上的ip)然后执行DBCA建立数据库,打开如下界面,点next下一步:④内部公开请勿外传3/16选择创建数据库createdatabase④内部公开请勿外传4/16④内部公开请勿外传5/16④内部公开请勿外传6/16注意:这里字符集选择UTF8,这里选择错误会很麻烦,后续修改麻烦,金蝶默认就是使用UTF8字符的数据库。图片选择错误了。④内部公开请勿外传7/16④内部公开请勿外传8/16开始创建数据库④内部公开请勿外传9/16详细参考:需要注意这里内存大小:典型,是按照比例来分配的。我现在的物理内存是3G,40%就是1G多。如果你只是用来练习,大概给500MB就足够了。还有指定快速回复区新手最好不要修改路径------------------------------------------------------------------------------------2、创建表空间(和原库一样)1.创建表空间需要知道原库的表空间情况。--------#获取表空间的使用率和剩余空间,可算数据库的大小;④内部公开请勿外传10/16Selectd.tablespace_name,SpaceSum_space(M),Blockssum_blocks,Space-nvl(free_space,0)Used_space(M),round((1-nvl(free_space,0)/Space)*100,2)Used_rate(%),free_spaceFree_space(M)From(Selecttablespace_name,round(Sum(bytes)/(1024*1024),2)Space,Sum(blocks)BlocksFromdba_data_filesGroupBytablespace_name)d,(Selecttablespace_name,round(Sum(bytes)/(1024*1024),2)free_spaceFromdba_free_spaceGroupBytablespace_name)fWhered.tablespace_name=f.tablespace_name(+)---如果采用了完全本地管理的临时表空间,就加入如下部分UnionAll--ifhavetempfileSelectd.tablespace_name,SpaceSum_space(M),blockssum_blocks,used_spaceUsed_space(M),round(nvl(used_space,0)/Space*100,2)Used_rate(%),nvl(free_space,0)Free_space(M)From(Selecttablespace_name,round(Sum(bytes)/(1024*1024),2)Space,Sum(blocks)blocksFromdba_temp_filesGroupBytablespace_name)d,(Selecttablespace_name,round(Sum(bytes_used)/(1024*1024),2)used_space,round(Sum(bytes_free)/(1024*1024),2)free_spaceFromv$temp_space_headerGroupBytablespace_name)fWhered.tablespace_name=f.tablespace_name(+)orderby5desc;和现有的表空间对比;发现缺少表空间缺少的表空间ROCKCHECK_T(temp表空间)和ROCKCHECK(207GB)注意:针对不同的客户环境名字不一样,请认真核对。④内部公开请勿外传11/16创建下面缺少的表空间ROCKCHECK_T(temp表空间)和ROCKCHECK(207GB)createtemporarytablespaceROCKCHECK_Ttempfile'/backup/easdb/easdb/ROCKCHECK_T.dbf'SIZE11100M;由于这个表空间有207GB才够存放,oracle数据库中,8KB的数据块的数据文件最大为8K*4194304=32G,最大的数据文件为32gb。207*3约等于7CREATETABLESPACEROCKCHECKDATAFILE'/backup/easdb/easdb/ROCKCHECK1.dbf'SIZE30720M,'/backup/easdb/easdb/ROCKCHECK2.dbf'SIZE30720M,'/backup/easdb/easdb/ROCKCHECK3.dbf'SIZE30720M,'/backup/easdb/easdb/ROCKCHECK4.dbf'SIZE30720M,'/backup/easdb/easdb/ROCKCHECK5.dbf'SIZE30720M,'/backup/easdb/easdb/ROCKCHECK6.dbf'SIZE30720M,'/backup/easdb/easdb/ROCKCHECK7.dbf'SIZE30720M;创建账套用户username(1)需要知道原库的这个用户默认表空间和临时表空间④内部公开请勿外传12/16知道了原库的用户表空间情况,那么就安装下面的语句在新库上面创建用户rockcheck:CREATEUSERusername--创建一个用户,IDENTIFIEDBYpwd--密码为pwdDEFAULTTABLESPACEROCKCHECK--默认表空间是ROCKCHECKTEMPORARYTABLESPACEROCKCHECK_T--临时表空间是ROCKCHECK_TACCOUNTUNLOCK;帐号正常未锁定分配权限给这个用户:Grantdbatousername;3、准备导入数据。(1)确认第一步备份出来的备份集存放的路径和备份集名字。路径:/backup/xxx备份集名字:xxxx.dmp注意:这里只需确认存放备份集的路径及其文件名(2)在新库创建directorycreatedirectoryexp2_diras'/backup/';grantread,writeondirectoryexp2_dirtousername;(3)导入语句#!/bin/sh④内部公开请勿外传13/16#用于恢复#用于恢复的用户用户名BACKUP_USER=username#用于恢复的用户名密码BACKUP_PASSWORD=pwd#用于备份和恢复的目录WORKDIR=exp2_dir#指定好恢复的数据库的sidExportORACLE_SID=EASDB---指定恢复的数据库sidImpdp$BACKUP_USER/$BACKUP_PASSWORD@easdbdumpfile=xx.dmpdirectory=$WORKDIRlogfile=IMP20160223.logparallel=4schemas=username;4、按照账套用户(schema)恢复$chmod+ximpdp.sh执行导入脚本$shimpdp.sh监控导入进度Selectd.tablespace_name,SpaceSum_space(M),Blockssum_blocks,Space-nvl(free_space,0)Used_space(M),round((1-nvl(free_space,0)/Space)*100,2)Used_rate(%),free_spaceFree_space(M)From(Selecttablespace_name,round(Sum(bytes)/(1024*1024),2)Space,Sum(blocks)BlocksFromdba_data_filesGroupBytablespace_name)d,(Selecttablespace_name,round(Sum(bytes)/(1024*1024),2)free_spaceFromdba_free_spaceGroupBytablespace_name)fWhered.tablespace_name=f.tablespace_name(+)---如果采用了完全本地管理的临时表空间,就加入如下部分UnionAll--ifhavetempfile④内部公开请勿外传14/16Selectd.tablespace_name,SpaceSum_space(M),blockssum_blocks,used_spaceUsed_space(M),round(nvl(used_space,0)/Space*100,2)Used_rate(%),nvl(free_space,0)Free_space(M)From(Selecttablespace_name,round(Sum(bytes)/(1024*1024),2)Space,Sum(blocks)blocksFromdba_temp_filesGroupBytablespace_name)d,(Selecttablespace_name,round(Sum(bytes_used)/(1024*1024),2)used_space,round(Sum(bytes_free)/(1024*1024),2)free_spaceFromv$temp_space_headerGroupBytablespace_name)fWhered.tablespace_name=f.tablespace_name(+)orderby5desc;错误一:字符集选错,注册eas数据中心报错,需要修正字符集(尽量建库的时候选对UTF8,改起来很麻烦)尽量别犯这个错。服务端修改字符集有点麻烦,要使客户端字符集与之一致,还有以前的dmp文件可能作废,最好是修改client端的会话的字符集环境。SQLSHUTDOWNIMMEDIATE;SQLSTARTUPMOUNTEXCLUSIVE;SQLALTERSYSTEMENABLERESTRICTEDSESSION;SQLALTERSYSTEMS
本文标题:EAS账套备份恢复指导手册
链接地址:https://www.777doc.com/doc-6217612 .html