现阶段只记录到1个方法:(SVN和CVS都适用)

脚下只记录到二个措施:(SVN和CVS都适用)

Oracle使用EXPDP和IMPDP数据泵实行导出导入的办法(常用方法)

小说版权由小编李晓晖和天涯论坛共有,若转发请于鲜明处标明出处:。

方法一:导出法

复制项目不分包svn或CVS目录。方法一:导出法

使用expdp和impdp时应当正视的事项:

1.前言

在10g事先,守旧的导出和导入分别使用EXP工具和IMP工具,从10g上马,不仅保留了本来面指标EXP和IMP工具,还提供了数码泵导出导入工具EXPDP和IMPDP。所以在11G的倒库和入库格局中,大家也有三种办法得以选取:守旧格局和数据泵格局。

守旧方式又分为:常规导入导出和直接导入导出。

下边以导出数据为例,分别介绍各自导出原理。

一 、右击必要cp的目录,点击export,General/File System

一 、右击供给cp的目录,点击export,General/File System

壹 、exp和imp是客户端工具程序,它们既能够在客户端接纳,也足以在服务端使用。
② 、expdp和impdp是服务端的工具程序,他们不得不在oracle服务端使用,无法在客户端应用。
3、imp只适用于exp导出的文书,不适用于expdp导出文件;impdp只适用于expdp导出的文本,而不适用于exp导出文件。
肆 、对于10g以上的服务器,使用exp经常不能够导出0行数据的空表,而此刻必须使用expdp导出。

1.1简述各导入导出艺术的法则

2、next

2、next

壹 、成立逻辑目录,该命令不会在操作系统成立真正的目录(请先创立真正的目录),最好以system等管理员创制逻辑目录。
SQL>conn system/manger@orcl as sysdba
SQL>create directory dump_dir as ‘d:\test\dump’;

1.1.1常规导出原理

观念路线方式应用SQL SELECT语句抽取表数据。数据从磁盘读入到buffer
cache缓冲区中,行被撤换成评估缓冲区。在此之后依据SQL表达式,将记录重返给导出客户端,然后写入到dump文件。

健康导出的例证:exp zhejiang/zhejiang file=/data1/zj_regular.dmp
buffer=20480000

三 、确认你采用的目录,并勾选:Create only selected directories

三 、确认你挑选的目录,并勾选:Create only selected directories

贰 、查看管理员目录(同时查看操作系统是还是不是留存,因为oracle并不关怀该目录是还是不是留存,假诺不存在,则失误)
SQL>select * from dba_directories;

1.1.2直接导出

直白导出形式,数据直接从磁盘中读取到导出session的PGA中,行被直接转移到导出session的民用缓冲区,从而跳过SQL命令处理层。
防止了不须要的数量转换。最终记录重返给导出客户端,写到dump文件。

一向导出的例子:exp zhejiang/zhejiang file=/data1/zj_direct.dmp
buffer=20480000 recordlength=65535 direct=y。

肆 、接纳导出到至极目录:To directory

④ 、选拔导出到尤其目录:To directory

叁 、给scott用户赋予在钦点目录的操作权限,最好以system等管理员赋予。
SQL>grant read,write on directory dump_dir to scott;

1.1.3数据泵导出

数据泵情势是EXP情势的压实版,其规律类似,但是它的导出要以史为鉴服务器端的数据库目录。

 

 

肆 、用expdp导出多少

1.2古板形式和数据泵情势的相比较

主意二:(没注解过)

艺术二:(没表达过)

1)导出用户
expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp
directory=dump_dir;

1.2.1古板方式的长处

EXP和IMP是客户段工具程序,它们既能够在客户端选用,也能够在服务器段使用。

而EXPDP和IMPDP是服务端的工具程序,它们只可以在ORACLE服务端使用,不可能在客户端应用。

澳门金沙国际 1

澳门金沙国际 2

2)导出表
expdp scott/tiger@orcl tables=emp,dept dumpfile=expdp.dmp
directory=dump_dir;

1.2.2数据泵格局的长处

数量泵导出多少的命宫更短,而且导出的数据文件大小更小。

    以下表格为自己将网络朋友的贰个测试实行的总结:

类型

例子(导出40G左右的数据)

传统模式(直接导出)

18分钟

数据泵模式

14分钟,且导出的文件比传统模式小1.5G

3)按查询条件导
expdp scott/tiger@orcl directory=dump_dir dumpfile=expdp.dmp
tables=empquery=’where deptno=20′;

1.3 注意

IMP只适用于EXP导出文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出文件,而不适用于EXP导出文件。

4)按表空间导
expdp system/manager@orcl directory=dump_dir
dumpfile=tablespace.dmptablespaces=temp,example;

1.4 小结

由地方对比可知,在实操中,大家在劳务器端采纳数据泵格局导入数据会更快一些。下边作者根本介绍数据泵格局的导入和导出。

5)导整个数据库
expdp system/manager@orcl directory=dump_dir dumpfile=full.dmp full=y;

2.数额泵导出多少的流程

6)多表导出

2.1创制逻辑目录并授权

创设逻辑目录“EXPDP_DI奥迪Q5”并将其映射到大体路径“D:\DBbak”下,在PL/SQL上边执行语句:Create
or replace directory expdp_dir as ‘D:\DBbak’;

施行完后,要在相应的硬盘目录下创办该公文夹。

澳门金沙国际,能够经过SQL查询是不是中标创造逻辑目录,Select * from
dba_directories,能够看来如下结果:

 澳门金沙国际 3                      

末段,再给创设的目录赋予权力:

Grant read,write on directory EXPDP_DIR to Public;

超前成立三个tables文件,内容如下:

2.2实践导出操作

建立expdp.bat文件,文件内容为:Expdp sccot/tiger@testDB
directory=expdp_dir dumpfile =STDCG _201501.dmp logfile= STDCG
_201501.log;执行该bat;

因为是导出全部数据,所以没有安装tables| schemas| tablespaces。

导出成功后,导出的数据会自动放在此前设置的Expdp_Dir文件夹下。

#vim tables

3.数据泵导入数据的流程

tables=(
table01
,table02
,table03

3.1 创立数据库实例等基本操作

a.创设数据库stdcg,包罗SYS和SYSTEM多少个用户

b.用SYS登陆PL/SQL->File->Open->SQL
script执行创立表空间sql脚本。需求专注的正是修改脚本中的路径:

DATAFILE
‘F:\app\DELL\oradata\stdcg\DLGIS.DBF’(深青白部分是当地数据库的路子)

c.执行创制用户脚本:包罗dlsys、dlmis、dlinit、dlgis、sde、mms、umstat、ulog用户。

3.2创制逻辑目录并授权

如2.第22中学所描述的,那里一向给出语句:

Create or replace directory expdp_dir as ‘d:\DBbak’;

Grant read,write on directory expdp_dir to public;

但是多出了那般三个步骤:在D盘建立文件夹DBbak
后,需求将数据库的导出文件:STDCG _201501.DMP和STDCG _二零一四01.log
一起拷贝到D:\DBbak目录下。

然后导出

3.3推行导入操作

确立impdp.bat文件,文件中的内容为: impdp dlsys/dlsys@stdcg dumpfile=
STDCG _201501.dmp  logfile= STDCG _201501_EXP.log。运行该bat文件。

同等,因为是全库导入,所以并未接纳tables| schemas|
tablespaces来进展导入内容设置。

expdp system/oracle@orcl   directory=dump_dir dumpfile=expdp2017.dmp
logfile=expdp2017.log parfile=tables

4.11g多少导入10g的库中

五 、用impdp导入数据

4.1 降版本导出然后导入

率先要做与一般数量泵导出时一致的操作,即开立逻辑目录: Create or replace
directory expdp_dir as ‘D:\DBbak’;

然后再导出数据时,sql命令上要丰富叁个version控制即可:

expdp sccot/tiger@testDB
 dumpfile=stdcg10g.dmp  directory= expdp_dir  version=10.0.2。

导出后,再将导出的dmp文件导入到10g的库中即可。

导入时,用户可先drop掉,再次创下造空用户,进行导入;假使是表,可先drop掉表才能导入。

4.2便于出现的标题

当前在江北类型和徐州项目中均做了之类操作:shp数据首先通过SDE导入到了11g的数据库中,由于现场数据库突然需求降级,然后将11g的数额又再一次导入导出到10g中。但是,八个现场都不分别现身了不一样的难点。

江北实地的题材是,在catalog里能够直连到10g上Oracle,也能看到各空间数据。不过,在arcmap中添加该数据库中的空间数据,图层渲染时会出现SDE内部错误,导致图层非常的小概显示。

澳门金沙国际 4 

而兰州实地,则直接出现了直连数据库不定时失效难题:

测试能够连接:

 澳门金沙国际 5

点OK后又不能一连:

 澳门金沙国际 6

1)导入用户(从用户scott导入到用户scott)
impdp scott/tiger@orcl directory=dump_dir dumpfile=expdp.dmp
schemas=scott;

4.3缓解方法及分析

REMAP_SCHEMA=scott:scott01 REMAP_TABLESPACE=USELacrosseS:USE昂科拉S01      
 //即便导出的用户是scott,表空间是users.  
要导入到其余的用户和表空间下scott01,表空间users01.刚须求把那五个参数加上。

4.3.1解决方法

将空间数据所在的DLGIS和SDE用户删除,重新通过SQL生成那三个用户以及先关表结构后。手动通过catalog直连到数据库上,然后手动导入图层,化解上述难题。

2)导入表(从scott用户中把表dept和emp导入到system用户中)
impdp system/manager@orcl directory=dump_dir dumpfile=expdp.dmp
tables=scott.dept,scott.emp remap_schema=scott:system;    

4.3.2 难题分析

嫌疑为11g数据转成10g数据时或者有个别空间消息表被更改或然破坏,不再适合arcgis10.0的总是规范等。造成了sde不稳定或然sde内部错误。

3)导入表空间
impdp system/manager@orcl directory=dump_dir dumpfile=tablespace.dmp
tablespaces=example;

4)导入数据库
impdb system/manager@orcl directory=dump_dir dumpfile=full.dmp full=y;

5)追加数据
impdp system/manager@orcl directory=dump_dir dumpfile=expdp.dmp
schemas=systemtable_exists_action

6)多表导入

impdp   scott/123456@orcl directory=dump_dir dumpfile=expdp2017.dmp
 remap_schema=scott:scott01

 

相关文章