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

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

咱们这次切换共分:ERP、LOS、WMS三个系统。数据库

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

这次切换思路:oracle

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

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

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

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

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

结果:失败; 缘由:同一表空间下多个用户,以表空间的形式导入,部分用户未创建的缘由(这个缘由纯属我的猜想,有机会再验证一下)table

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

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

结果:成功!

错误提示:

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

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

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

 

迁移流程

 

一、创建实例

 

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

 

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

 

三、在新服务器创建源服务器相同表单空间(注意表单空间大小,表单空间数据文件可多个,一个最大数据为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文件最大值)

四、创建用户

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

 

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

 

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

五、导出

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

ser.dmp directory=backup logfile=wmsuser.log

六、导入

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

相关文章
相关标签/搜索