EAS账套备份恢复指导手册Word下载.docx
《EAS账套备份恢复指导手册Word下载.docx》由会员分享,可在线阅读,更多相关《EAS账套备份恢复指导手册Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
$BACKUP_USER/$BACKUP_PASSWORD
dumpfile=$BACKUP_USER+`date
+%m.%d.%y`.dmp
directory=$WORKDIR
logfile=$BACKUP_USER+`date
+%m.%d.%y`.log
parallel=8
job_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临时表和统计信息一起排除)
二.新建数据库进行同用户名恢复
1、DBCA新建数据库
DBCA之前,要看看系统有没有配置好了display,这样才能打开图形界面,可以使用xclock命令验证,如果出现下图的钟图,说明就可以打开了。
如果不能打开,需要设置display,如我下图红框一所示:
ExportDISPLAY=ip:
0(ip是你本机使用xmanager连上的ip)
然后执行DBCA建立数据库,打开如下界面,点next下一步:
选择创建数据库createdatabase
注意:
这里字符集选择UTF8,这里选择错误会很麻烦,后续修改麻烦,金蝶默认就是使用UTF8字符的数据库。
图片选择错误了。
开始创建数据库
详细参考:
需要注意这里
内存大小:
典型,是按照比例来分配的。
我现在的物理内存是3G,40%就是1G多。
如果你只是用来练习,大概给500MB就足够了。
还有指定快速回复区
新手最好不要修改路径
------------------------------------------------------------------------------------
2、创建表空间(和原库一样)
1.创建表空间需要知道原库的表空间情况。
--------#获取表空间的使用率和剩余空间,可算数据库的大小;
Select,Space"
Sum_space(M)"
Blockssum_blocks,Space-nvl(free_space,0)"
Used_space(M)"
round((1-nvl(free_space,0)/Space)*100,2)"
Used_rate(%)"
free_space"
Free_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)f
Where=(+)
---如果采用了完全本地管理的临时表空间,就加入如下部分
UnionAll--ifhavetempfile
blockssum_blocks,used_space"
round(nvl(used_space,0)/Space*100,2)"
nvl(free_space,0)"
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_space
Fromv$temp_space_headerGroupBytablespace_name)f
Where=(+)
orderby5desc;
和现有的表空间对比;
发现缺少表空间缺少的表空间ROCKCHECK_T(temp表空间)和ROCKCHECK(207GB)
针对不同的客户环境名字不一样,请认真核对。
创建下面缺少的表空间ROCKCHECK_T(temp表空间)和ROCKCHECK(207GB)
createtemporarytablespaceROCKCHECK_Ttempfile'
/backup/easdb/easdb/'
SIZE11100M;
由于这个表空间有207GB才够存放,oracle数据库中,8KB的数据块的数据文件最大为8K*4194304=32G,最大的数据文件为32gb。
207*3约等于7
CREATETABLESPACEROCKCHECKDATAFILE
'
SIZE30720M,
SIZE30720M;
创建账套用户username
需要知道原库的这个用户默认表空间和临时表空间
知道了原库的用户表空间情况,那么就安装下面的语句在新库上面创建用户rockcheck:
CREATEUSERusername--创建一个用户,
IDENTIFIEDBYpwd--密码为pwd
DEFAULTTABLESPACE"
ROCKCHECK"
--默认表空间是ROCKCHECK
TEMPORARYTABLESPACE"
ROCKCHECK_T"
--临时表空间是ROCKCHECK_T
ACCOUNTUNLOCK;
帐号正常未锁定
分配权限给这个用户:
Grantdbatousername;
3、准备导入数据。
(1)确认第一步备份出来的备份集存放的路径和备份集名字。
路径:
/backup/xxx
备份集名字:
这里只需确认存放备份集的路径及其文件名
(2)在新库创建directory
createdirectoryexp2_diras'
/backup/'
;
grantread,writeondirectoryexp2_dirtousername;
(3)导入语句
#用于恢复
#用于恢复的用户用户名
#用于恢复的用户名密码
#指定好恢复的数据库的sid
ExportORACLE_SID=EASDB---指定恢复的数据库sid
Impdp$BACKUP_USER/$BACKUP_PASSWORD@easdbdumpfile=directory=$WORKDIRlogfile=parallel=4schemas=username;
4、按照账套用户(schema)恢复
$chmod+x
执行导入脚本
$sh
监控导入进度
Select,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)
Select,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)
错误一:
字符集选错,注册eas数据中心报错,需要修正字符集(尽量建库的时候选对UTF8,改起来很麻烦)尽量别犯这个错。
服务端修改字符集有点麻烦,要使客户端字符集与之一致,还有以前的dmp文件可能作废,
最好是修改client端的会话的字符集环境。
SQL>
SHUTDOWNIMMEDIATE;
STARTUPMOUNTEXCLUSIVE;
ALTERSYSTEMENABLERESTRICTEDSESSION;
ALTERSYSTEMSETJOB_QUEUE_PROCESSES=0;
ALTERSYSTEMSETAQ_TM_PROCESSES=0;
ALTERDATABASEOPEN;
ALTERDATABASENATIONALCHARACTERSETINTERNAL_USEUTF8;
SHUTDOWNimmediate;
startup;
三、同一个数据库,不同用户名恢复
1、创建新表空间
注意:
表空间大小要和之前这个用户所占用的表空间大小一致,要能够存放新恢复的账套。
2、新建需要恢复的新用户名,并指定表空间
CREATEUSERnew_username--创建一个用户,
DEFAULTTABLESPACEnew_data_tbs--默认表空间是新建的
new_data_tbs_T"
--临时表空间是新建的_T
Grantdbatonew_username;
3、导入使用参数remap
需要另一个数据库的用户表导入到当前库中,但用户名不相同,以前exp/imp时,可以指定fromuser和touser来解决,在expdp中也提供了类似的解决方法
示例:
impdpsystem/zlsoftdumpfile=expdp:
nologfile=yremap_schema=zlhis:
scottremap_tablespace=ZL9BASEITEM:
users,
zl9indexhis:
users,zl9indexmtl:
userstable_exists_action=truncateexclude=object_grant
几个重要参数的说明一下:
1、remap_user重新映射用户,格式:
source_user1:
target_user1,source_user2:
target_user2
2、remap_tablespace重新映射表空间
remap_tablespace=old_tablespace:
new_tablespace,old_tablespace:
new_tablespace
3、table_exists_action表已经存在的动作有效关键字:
(SKIP),APPEND,REPLACE和TRUNCATE。
4、exclude=object_grant跳过对象授权
导入脚本: