Oracle 数据库备份还原(Expdp/impdp)记录

最近公司将原数据库服务器切换。之前没整过这块,也是一堆的度娘。经过不停的摸索,终于成功了。现在将这份艰辛记录下来,方便自己以后查阅的同时,方便有类似需求的同学参考。

我们此次切换共分:ERP、LOS、WMS三个系统。

因前期搭建,这三个系统均在同一实例。以不同的表空间、用户区分。

此次切换思路:

1)以实例的方式备份、还原。命令 Exp/imp (命令不再叙述)

优点:省事、可整体导出还原、内网之间切换,可远程备份(如:将 192.168.1.1 备份至 192.168.1.2);

结果:失败;提示表空间、用户、实例、索引已存在,无法继续还原;

2)以表空间的方式备份、还原。命令 Exp/Imp

较前一种方式,将同一实例拆解成三个表空间的形式备份、还原

结果:失败; 原因:同一表空间下多个用户,以表空间的形式导入,部分用户未建立的原因(这个原因纯属个人猜测,有机会再验证一下)

3)按用户的方式备份、还原。命令 Expdp/Impdp(Oracle 10G以后版本支持)

优点:该方式备份速度快。(与第一种方式相比,该方式为本地备份,再将备份文件拷贝至新服务器还原。我们这次是内网间切换,这种方式是比较适合的)

结果:成功!

错误提示:

a)空表索引创建失败(忽略)

b)带dbLink 的视图创建失败(还原方式:先还原存储过程->索引->视图->DbLink) 。在创建视图时,Dblink还未创建,所以失败。因涉及到DbLink 的视图较少,按照还原日志,从老库将其还原

思路如上,具体流程如下:

 

迁移流程

 

1、建立实例

 

2、设置备份文件夹:create directory backup as '文件夹地址';

 

查看设置的文件夹select * from dba_directories;

 

3、在新服务器建立源服务器相同表单空间(注意表单空间大小,表单空间数据文件可多个,一个最大数据为32G)

 

   查看实例里面表单空间:select tablespace_name from dba_tablespaces;

 

  建立表单空间两种方式:

第一种在EM里面建立

第二种在sqlplus里面用DBA权限建立 

 

命令建立表空间文件

create tablespace erpsys (erpsys为你要建立表单名称)

logging

datafile 'd:\oracle data\erp\erpsys.dbf' (数据库文件存放地址)

size 32m (32M为你表单文件初始大小)

autoextend on

next 32m maxsize 30000m (32M数据文件满后自动扩展大小 30000M文件最大值)

extent management local

 

增加表空间的数据文件

ALTER TABLESPACE erpsys ADD DATAFILE(erpsys为你要增加文件的表单)
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF'(数据库文件存放地址)

 SIZE 32M(32M为你表单文件初始大小)
AUTOEXTEND ON

 NEXT 32M MAXSIZE 30000M; (32M数据文件满后自动扩展大小 30000M文件最大值)

4、建立用户

1)创建用户: create user losuser identified by sys2012;

 

2)分配空间:alter user losuser default tablespace los;

 

3)授予dba权限:grant connect,resource,dba to losuser;

5、导出

C:\Users\Administrator>Expdp fxwmsuser/sys2016@wms schemas=wmsuser dumpfile=wmsu

ser.dmp directory=backup logfile=wmsuser.log

6、导入

impdp system/sys2017@erp DIRECTORY=backup DUMPFILE=wmsuser.dmp SCHEMAS=wmsuser logfile=wmsuser.log

 

posted @ 2017-12-15 13:55  山里来的  阅读(2345)  评论(0编辑  收藏  举报