当前位置:文档之家› EAS账套备份恢复指导手册.docx

EAS账套备份恢复指导手册.docx

从原库中备份出来数据集使用数据泵把数据备份出来,下图的是创建成一个sh 文件导出。

备份脚本:#!/bin/sh#用于备份#用于备份的用户用户名BACKUP_USER="username"#用于备份的用户名密码BACKUP_PASSWORD="pwd"#用于备份和恢复的目录WORKDIR="exp2_dir"expdp $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 ,如我下图红框一所示:Export DISPLAY=ip:0( ip是你本机使用xmanager连上的ip )然后执行DBCA建立数据库,打开如下界面,点next 下一步:选择创建数据库create database注意:这里字符集选择UTF8,这里选择错误会很麻烦,后续修改麻烦,金蝶默认就是使用符的数据库。

图片选择错误了。

UTF8 字开始创建数据库详细参考:需要注意这里3G, 40%就是1G 多。

如果你只是用来内存大小:典型,是按照比例来分配的。

我现在的物理内存是练习,大概给 500MB 就足够了。

还有指定快速回复区新手最好不要修改路径------------------------------------------------------------------------------------2、创建表空间(和原库一样)1.创建表空间需要知道原库的表空间情况。

--------#获取表空间的使用率和剩余空间,可算数据库的大小;Select ,Space "Sum_space(M)",Blocks sum_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 (Select tablespace_name,round(Sum(bytes)/(1024*1024),2) Space,Sum(blocks) Blocks From dba_data_files Group By tablespace_name) d,(Select tablespace_name,round(Sum(bytes)/(1024*1024),2) free_space From dba_free_space Group Bytablespace_name) fWhere = (+)---如果采用了完全本地管理的临时表空间,就加入如下部分Union All --if have tempfileSelect ,Space "Sum_space(M)",blocks sum_blocks,used_space "Used_space(M)",round(nvl(used_space,0)/Space*100,2) "Used_rate(%)",nvl(free_space,0) "Free_space(M)"From (Select tablespace_name,round(Sum(bytes)/(1024*1024),2) Space,Sum(blocks) blocks Fromdba_temp_files Group By tablespace_name) d,(Select tablespace_name,round(Sum(bytes_used)/(1024*1024),2) used_space,round(Sum(bytes_free)/(1024*1024),2) free_spaceFrom v$temp_space_header Group By tablespace_name) fWhere =(+)order by 5 desc;和现有的表空间对比;发现缺少表空间缺少的表空间ROCKCHECK_T (temp表空间 ) 和ROCKCHECK (207GB )注意:针对不同的客户环境名字不一样,请认真核对。

创建下面缺少的表空间ROCKCHECK_T (temp表空间 ) 和ROCKCHECK ( 207GB )create temporary tablespace ROCKCHECK_T tempfile '/backup/easdb/easdb/' SIZE 11100M;由于这个表空间有207GB 才够存放, oracle 数据库中, 8KB 的数据块的数据文件最大为8K * 4194304 = 32G,最大的数据文件为32gb。

207*3约等于7CREATE TABLESPACE ROCKCHECK DATAFILE'/backup/easdb/easdb/' SIZE 30720M,'/backup/easdb/easdb/' SIZE 30720M,'/backup/easdb/easdb/' SIZE 30720M,'/backup/easdb/easdb/' SIZE 30720M,'/backup/easdb/easdb/' SIZE 30720M,'/backup/easdb/easdb/' SIZE 30720M,'/backup/easdb/easdb/' SIZE 30720M;创建账套用户username需要知道原库的这个用户默认表空间和临时表空间知道了原库的用户表空间情况,那么就安装下面的语句在新库上面创建用户rockcheck:CREATE USER username--创建一个用户,IDENTIFIED BY pwd-- 密码为pwdDEFAULT TABLESPACE ROCKCHECK"" --默认表空间是ROCKCHECK TEMPORARY TABLESPACE ROCKCHECK"_"T -- 临时表空间是ROCKCHECK_T ACCOUNT UNLOCK;帐号正常未锁定分配权限给这个用户:Grant dba to username;3、准备导入数据。

(1)确认第一步备份出来的备份集存放的路径和备份集名字。

路径: /backup/xxx备份集名字:注意:这里只需确认存放备份集的路径及其文件名(2)在新库创建 directorycreate directory exp2_dir as '/backup/';grant read,write on directory exp2_dir to username;(3)导入语句#!/bin/sh#用于恢复#用于恢复的用户用户名BACKUP_USER="username"#用于恢复的用户名密码BACKUP_PASSWORD="pwd"#用于备份和恢复的目录WORKDIR="exp2_dir"#指定好恢复的数据库的sidExport ORACLE_SID=EASDB指---定恢复的数据库sidImpdp $BACKUP_USER/$BACKUP_PASSWORD@easdb dumpfile= directory=$WORKDIR logfile=parallel=4 schemas= username ;4、按照账套用户(schema)恢复$chmod +x执行导入脚本$sh监控导入进度Select ,Space Sum_space(M),Blocks sum_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 (Select tablespace_name,round(Sum(bytes)/(1024*1024),2) Space,Sum(blocks) Blocks From dba_data_files Group By tablespace_name) d,(Select tablespace_name,round(Sum(bytes)/(1024*1024),2) free_spaceFrom dba_free_space Group By tablespace_name) fWhere = (+)---如果采用了完全本地管理的临时表空间,就加入如下部分Union All --if have tempfileSelect ,Space Sum_space(M),blocks sum_blocks,used_space Used_space(M),round(nvl(used_space,0)/Space*100,2) Used_rate(%),nvl(free_space,0)Free_space(M)From (Select tablespace_name,round(Sum(bytes)/(1024*1024),2) Space,Sum(blocks) blocks From dba_temp_files Group By tablespace_name) d,(Select tablespace_name,round(Sum(bytes_used)/(1024*1024),2)used_space,round(Sum(bytes_free)/(1024*1024),2) free_spaceFrom v$temp_space_header Group By tablespace_name) fWhere =(+)order by 5 desc;错误一:字符集选错,注册eas 数据中心报错,需要修正字符集(尽量建库的时候选对UTF8,改起来很麻烦)尽量别犯这个错。

相关主题