Oracle数据库dump导入和导出

Oracle数据库dump导入和导出

2022 May 16 oracle Oracle数据库dump导入和导出 1. 导入命令介绍 Oracle dump数据导入导出有两种方式:imp/exp、impdp/expdp。两者区别:

1、exp/imp客户端程序,受网络,磁盘的影响;impdp/expdp服务器端程序,只受磁盘的影响。

2、exp常规方式是使用SELECT的方式查询数据库中的数据,是需要通过buffer cache并通过sql的语句处理层再转移至exp的导出文件。这个过程的数据流向是:(1)数据通过select的方式,将数据由文件系统加载至buffer cache(数据库缓存)(2)由pga(用户进程,每一个连接都会对应一个pga)将缓存的数据通过网络传输到客户端生成文件。Exp直接路径模式,则是直接从磁盘上将数据转移至exp的导出文件,所以速度更快。而expdp是exp的升级版,对文件进行了压缩和并行处理,所以速度最快。

2. 查询默认dump路径 查询默认dump路径(也可以自己创建一个dump目录,笔者使用默认的dump目录导出导入),导入导出需要指定此目录名’DATAPUMPDIR’,执行导出导入命令时会在此目录查找dumpfile。

sql select * from dba*directories where directory*name='DATA*PUMP*DIR';

3. Oracle导出dump文件 首先导入时登陆的用户需要有dump目录的读写权限,如果没有请使用dba用户使用以下命令授权用户读写

sql GRANT READ,WRITE ON DIRECTORY dump*dir TO username;

按用户导出(最常用)(此处使用的DIRECTORY为上面查出的默认dump目录’DATAPUMPDIR’,下同)

sql expdp username/password@XE schemas=username dumpfile=dump*file*name.dmp DIRECTORY=DATA*PUMP*DIR content=DATA*ONLY; 按表名导出

sql expdp username/password@XE TABLES=table*name*01,table*name*02,table*name*03 dumpfile=dump*file*name.dmp DIRECTORY=DATA*PUMP*DIR;

按查询条件导出

sql expdp username/password@XE TABLES=table*name*01 query='WHERE id=1' dumpfile=dump*file*name.dmp DIRECTORY=DATA*PUMP*DIR;

按表空间导出

sql expdp system/oracle@XE TABLESPACES=tablespace*name*01,tablespace*name*02 dumpfile=dump*file*name.dmp DIRECTORY=DATA*PUMP*DIR;

按数据库导出

sql expdp system/oracle@XE FULL=y dumpfile=dump*file*name.dmp DIRECTORY=DATA*PUMP*DIR;

导出附加参数

` 可选参数PARALLEL参数说明: PARALLEL=1 指定执行导出操作的并行进程个数,默认值为1

可选参数content参数说明: CONTENT用于指定要导入/出的内容.默认值为ALL CONTENT={ALL | DATAONLY | METADATAONLY} 1) 当设置CONTENT为ALL 时,将导出对象定义及其所有数据. 2) 为DATAONLY时,只导出对象数据, 3) 为METADATAONLY时,只导出对象定义 content=ALL `

4. Oracle导入dump文件(在目标Oracle上执行) 首先导入时登陆的用户需要有dump目录的读写权限,如果没有请使用dba用户使用以下命令授权用户读写

sql GRANT READ,WRITE ON DIRECTORY dump*dir TO username;

按用户导入(最常用)(此处使用的DIRECTORY为上面查出的默认dump目录’DATAPUMPDIR’,下同)

sql impdp username/password@XE schemas=username dumpfile=dump*file*name.dmp DIRECTORY=DATA*PUMP*DIR REMAP*SCHEMA=u1:u2 table*exists*action=truncate;

按表空间导入

sql impdp system/oracle@XE TABLESPACES=tablespace*name dumpfile=dump*file*name.dmp DIRECTORY=DATA*PUMP*DIR;

按数据库导入

sql impdb system/oracle@XE FULL=y dumpfile=dump*file*name.dmp DIRECTORY=DATA*PUMP*DIR;

导入附加参数说明

` 可选参数REMAPSCHEMA参数说明: REMAPSCHEMA 可以指定源数据库导出的用户u1改为导入目标数据库的u2 REMAP*SCHEMA=u1:u2

可选参数tableexistsaction参数说明: 使用imp进行数据导入时,若表已经存在,要先drop掉表,再进行导入。 而使用impdp完成数据库导入时,若表已经存在,有四种的处理方式: 1) skip:默认操作 2) replace:先drop表,然后创建表,最后插入数据 3) append:在原来数据的基础上增加数据 4) truncate:先truncate,然后再插入数据 tableexistsaction=truncate `

Refer Oracle使用数据泵方式导入/导出dump文件(impdp/expdp)

相关推荐

帮助中心
365bet体育注册开户

帮助中心

10-21 👁️ 8461
Adobe官方教程:Photoshop 中修改画布大小
365bet体育注册开户

Adobe官方教程:Photoshop 中修改画布大小

08-25 👁️ 7618
更新 Mac 上的 macOS
必发365手机app

更新 Mac 上的 macOS

09-26 👁️ 8354
奥特曼系列16部4K修复收藏版免费百度/夸克网盘资源分享(含迪迦、盖亚、艾斯、欧布、泽塔等)
胎儿死在腹中的原因
必发365手机app

胎儿死在腹中的原因

01-07 👁️ 3587
维基百科:社群首页/认识社群
beat365下载唯一官方网

维基百科:社群首页/认识社群

07-15 👁️ 681