2016.8.17服务器端数据库用户导入导出方法 expdp和impdp

EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。

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

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

EXPDP导出命令:

C:\Users\Administrator>expdp ndp_admin/[email protected] schemas=ndp2016_04 dumpfile=snndp.dmp directory=data_pump_dir

将用户ndp2016_04导出到服务器上的D:\app\Administrator\admin\orcl\dpdump目录下。

不用事先创建目录,可直接用系统目录data_pump_dir

IMPDP导入命令:事先不用创建接收用户!直接在导入时指定新用户名,连密码都自动设为与导出用户一样,非常方便!

注意用户转换时要用remap_schema=ndp2016_04:myuser 导出用户:导入用户

impdp ndp_admin/[email protected]  directory=data_pump_dir dumpfile=snndp.dmp

remap_schema=ndp2016_04:myuser table_exists_action=replace

table_exists_action=replace其实无用,因为用户的空的,如果不是,还有序列、视图、函数等不好操作。

更进一步,不用导出dmp文件,直接将用户同步到本实例或其它实例上的新建用户上!!!

1、先创建数据库连接,需先登录sqlplus

sql> create public database link ndpself connect to system identified by orcl using ‘orcl‘

注意:ndpself是新建的database link名称,可以随便起。后面connect to system identified by orcl是登录名和密码,using ‘orcl‘是数据库在服务器上的真正实例名,而不是客户端上的连接名

2、退出sqlplus,直接运行impdp命令,直接新建用户并导入数据

impdp ndp_admin/[email protected] network_link=ndpself schemas=ndp_admin remap_schema=ndp_admin:newndpadmin

注意ndp_admin/[email protected]是执行这行命令的客户机上的连接名,schemas=ndp_admin指明导出库中的导出用户

再进一步,将不同服务器、不同实例间的用户进行直接同步

在C客户机上运行脚本,将111,A服务器上的的实例 中的NAIP2019_09用户,同步到B服务器上的实例(B服务器上添加连接A的连接名为transnaip,C连B的上的连接名ndp)下的new09用户下。

1、创建dblink

先在C客户端上连接B服务器,在上面建立数据库连接

sqlplus ndp_admin/[email protected] //ndp C连B的连接名

create public database link tans_1 connect to system identified by orcl using ‘transnaip‘  //transnaip:B连A的连接名

退出sqlplus

2、导入用户

impdp ndp_admin/[email protected] network_link= trans_1 schemas=naip2016_09 remap_schema=naip2016_09:my09 transform=oid:n

补充:

0、db_link最好用system用户连接,否则可能连接不成功,原因未知

1、可以多个用户用一条语句导入,用户间用,隔开

impdp flt_admin/[email protected] network_link= fltself sche

mas=nvduser_flt,nvduser_fmap2 remap_schema=nvduser_flt:nn1,nvduser_fmap2:nn2 transform=oid:n

2、必须加上transform=oid:n ,否则类型无法创建,因为oralce将同一个实例下的类型不允许有同样的id

3、新创建的用户密码是不可用的,必须事后更改新用户的密码ALTER USER nn1 IDENTIFIED BY nvduser_flt

4、可以通过databse link 实现访问不同服务器上的不同实例下的用户对象如:

select * from [email protected] trans_1来访问其它服务器上的表

5、查看所有dblink连接

select * from dba_db_links;

6、删除dblink连接

drop public database link dblinkname;

时间: 2024-08-09 07:30:57

2016.8.17服务器端数据库用户导入导出方法 expdp和impdp的相关文章

Oracle数据库导入导出exp(expdp) imp(impdp)

Oracle数据库的导入导出 首先,又尴尬了一次. 其实oracle导入和导出命令是有两种的 即: exp(expdp) imp(impdp) 先给自己普及一下常识: 在平常备库和数据库迁移的时候,当遇到大的数据库的时候在用exp的时候往往是需要好几个小时,耗费大量时间.oracle10g以后可以用expdp来导出数据库花费的时间要远小于exp花费的时间,而且文件也要小很多. 1.使用expdp要先在数据库中创建directory,并给相应的用户read,write权限. SQL>create

数据库的导入导出

一.导出: 打开CMD,输入命令: exp Username: test@orcl Password: Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – 64bit Production With the Partitioning, Real Application Clusters and Data Mining options Enter array fetch buffer size: 409

数据库bcp导入导出批处理工具

应公司策划要求,需要一个数据库按表导入导出的工具配合svn来进行差异匹配,方便策划每天对数据库修改的记录工具,我使用bcp命令实现如下批处理工具,中间踩了不少坑,现保存在这边希望可以帮到需要此工具的同学. ::数据库地址 set ip=127.0.0.1 ::数据库帐号 set login=sa ::数据库密码 set passward=Passward ::数据库名称 set dataBase=MyDBName ::保存txt文件的路径 set filePath=d:\data::导入到数据库

Linux数据库的导入导出

Linux数据库的导入导出 1.导入数据库 mysql -u username -p test < /home/data/test.sql 说明:username是数据库用户名,test为目标数据库 2.1.导出整个数据库 mysqldump -u username -p test > /home/data/test.sql 说明:username是数据库用户名,test源数据库 2.2.导出数据库中某张表 mysqldump -u username -p test documents >

使用Transact-SQL进行数据导入导出方法详解

刚接触这种数据搬移的方式会有很多问题     我只用过  第一种方式有的朋友会出现   SQL Server 阻止了对组件 /'Ad Hoc Distributed Queries/' 的访问 解决方案    请参考http://blog.csdn.net/the_pain/article/details/4103518 启用Ad Hoc Distributed Queries: exec sp_configure 'show advanced options',1reconfigureexec

自用Postgres 数据库的导入导出脚本

工作中时常给开发和测试导入导出一些测试的数据库,于是写了一个脚本方便操作. 公司目前使用的是postgres9.3数据库. #!/bin/bash #定义一些变量和操作命令 DBS="db1 db2 db3 db4" EXPDB_CMD=/usr/pgsql-9.3/bin/pg_dump DBCMD=/usr/pgsql-9.3/bin/psql DBUSER=postgres DBSVR=mydbhost1 #导出数据库 function exportdb() {   read -

oracle数据库导入导出方法

Oracle Database 10g以后引入了最新的数据泵(Data Dump)技术,使DBA或开发人员可以将数据库元数据(对象定义)和数据快速移动到另一个oracle数据库中. 数据泵导出导入(EXPDP和IMPDP)的作用  1.实现逻辑备份和逻辑恢复.  2.在数据库用户之间移动对象.  3.在数据库之间移动对象  4.实现表空间搬移. 数据泵导出导入与传统导出导入的区别: 在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还

数据库的导入 导出

Oracle  学习笔记 一.创建 oracle 数据库 利用 已经创建完了数据库 car1 , 二.利用 语句创建一个新的用户,赋予用户新的权限. (创建一个用户,对应的给这个用户创建一个方案,里面存储着这个用户的东西) 创建用户  create   user  ,一般是具有dba权限的用户才可以进行创建 Create user  admin  identified by  wqhadmin; (密码要以字母开头,用数字开头是不允许的) 但是创建完后,用户没有任何权限 Grant  conne

数据库文件导入导出

用pl/sql developer导出表的数据时有三种方式: Oracle Export,Sql Insert,pl/sql developer 导出步骤: 1 tools ->export tables-> Oracle Export 选择选项导出.dmp文件 2 tools ->export user object 选择选项,导出.sql文件 导入步骤: 1 tools->import talbes->Oracle Import然后再导入dmp文件 2 tools->