方法一:利用PL/SQL Developer工具导出:
菜单栏---->Tools---->Export Tables,如下图,设置相关参数即可:
方法二:利用cmd的操作命令导出,详情如下:
首先需要连接sqlplus ,使用CMD远程连接需要导出的数据库。
1:D:\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN目录下有个tnsname.ora文件,你要在%ORACLE_HOME%\network\admin\tnsnames.ora中配置一个连接串,增加一个连接串。
内容如下:
示例:192.168.1.88 =
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = 192.168.1.88)
(PORT = 1521)
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
保存文件。
2:测试连接,进入CMD (本人测试成功)
c:\>sqlplus scott/tiger@192.168.1.88 // scott(要连接的数据库User)/tiger(数据库password)
============================================================================
情况一:通过远程在sql plus 中进行远程导出,命令如下:
$exp username/password@servername owner=username rows=y file=D:\sample.dmp log=D:\sample.log;
实例:$exp portal/123456@125.76.225.169 owner=username rows=y file=D:\sample.dmp log=D:\sample.log;
或者
$exp username/password@servername owner=username rows=y file=D:\sample.dmp
log=D:\sample.log statistics=none;
$imp username/password@servername fromuser=fromUserName touser=toUserName
file=D:\sample.dmp rows=y log=D:\sample.log;
其中,rows=n 不带数据;rows=y 带数据
实现“imp一个.dmp文件中的部分表,并且,只导入数据不导入表结构(表结构已经存在)”的命令:
$imp username/password@ORASVR fromuser=username1 touser=username file=e:\file.dmp IGNORE=Y TABLES=(table1,table2, ……)
情况二:在CMD中运行以下命令导出,具体实现可远程登录然后在CMD中导出。(导出文件在数据库服务器上)
3:导入与导出,如下:
数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
exp system/manager@TEST file=d:\daochu.dmp full=y
2将数据库中system用户与sys用户的表导出
expsystem/manager@TESTfile=d:\daochu.dmpowner=(system,sys)
3将数据库中的表table1、table2导出
expsystem/manager@TESTfile=d:\daochu.dmptables=(table1,table2)
4将数据库中的表table1中的字段filed1以"00"打头的数据导出
expsystem/manager@TESTfile=d:\daochu.dmptables=(table1)query=\"wherefiled1like'00%'\"
上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。
不过在上面命令后面加上compress=y就可以了
数据的导入
1将D:\daochu.dmp中的数据导入TEST数据库中。
impsystem/manager@TESTfile=d:\daochu.dmp
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上ignore=y就可以了。
2将d:\daochu.dmp中的表table1导入
impsystem/manager@TESTfile=d:\daochu.dmptables=(table1)
注意事项:导出dmp数据时需要有导出表的权限的用户,否则不能导出。
PL/SQL Developer是Oracle数据库中用于导入或导出数据库的主要工具,本文主要介绍了利用PL/SQL Developer导入和导出数据库的过程,并对导入或导出时的一些注意事项进行了说明,接下来我们就一一介绍。
导出步骤:
1 tools ->export user object 选择选项,导出.sql文件。
2 tools ->export tables-> Oracle Export 选择选项导出.dmp文件。
导入步骤:
注:导入之前最好把以前的表删除,当然导入另外数据库除外。
1 tools->import tables->SQL Inserts 导入.sql文件。
2 tools->import talbes->Oracle Import然后再导入dmp文件。
一些说明:
Tools->Export User Objects导出的是建表语句(包括存储结构)。
Tools->Export Tables里面包含三种导出方式,三种方式都能导出表结构以及数据,如下:
Oracle Export
Sql Insert
pl/sql developer
第一种是导出为.dmp的文件格式,.dmp文件是二进制的,可以跨平台,还能包含权限,效率也很不错,用得最广 。
第二种是导出为.sql文件的,可用文本编辑器查看,通用性比较好,但效率不如第一种,适合小数据量导入导出。尤其注意的是表中不能有大字段(blob,clob,long),如果有,会提示不能导出(提示如下: table contains one or more LONG columns cannot export in sql format,user Pl/sql developer format instead)。
第三种是导出为.pde格式的,.pde为Pl/sql developer自有的文件格式,只能用Pl/sql developer自己导入导出,不能用编辑器查看。
=====================================================================
进行数据库导入导出工作的先决条件:
1. 本地安装Oraclek客户端或是服务器端。
2. 通过oracle提供的NetConfiguration Assistant连接到目标数据库。
第一步毋庸多言,第二步稍微要说一下,打开Net Configuration Assistant,选择第三项,下一个页面输入远程数据库的服务名,如AHMCCCMS,接下来的页面输入远程数据库的IP地址和端口(一般默认1521),再接下来测试一下,此时测试因为连接数据库的用户名和密码不对不会成功,再输入正确的用户名和密码后就能看到测试成功的信息了。再接下来指定本地的服务名,它相当于远程数据库的映射。然后点击完成。这一步成功以后下面就好办了。
现假设我们配置了两个服务:
导出源--工作机 用户名CMS密码password123服务名WORKDB
导入目的地--测试机 用户名CMS_TEST密码password123服务名TESTDB
下面是如何进行导出的语句(在 cmd 中执行):
1.将数据库WORKDB完全导出,用户名CMS密码password123导出到D:\daochu.dmp中
exp cms/password123@WORKDB file=d:\1.dmp full=y
2.将数据库中cms用户的表导出
exp cms/password123@WORKDB file=d:\2.dmp owner=(cms)
3.将数据库中的表tb_contract 、tb_sys_user导出
exp cms/password123@WORKDBfile=d:\3.dmp tables=( tb_contract, tb_sys_user)
下面是如何进行导入的语句
1.将D:\2.dmp 中的数据导入 TESTDB数据库中。
imp CMS_TEST/ password123@TESTDB file=d:\2.dmp ignore=y
2 . 将d:\3.dmp中的表tb_contract 导入
imp CMS_TEST/ password123@TESTDB file=d:\3.dmp tables=( tb_contract)
下面是详细命令格式,与上面对应+++++++++
1)单表导出:exp 用户名/密码@服务器别名 tables=表名 file=d:\名称.dmp
exp jm110/jm110@120_2 tables=ajb file=d:\ajb.dmp
多张表:
exp jm110/jm110@120_2 tables=(ajb,jjdwb) file=d:\ajb2.dmp
2)完全导出:也就是数据库中的所有表都导出
格式:exp 用户名/密码@服务器别名 file=d:\名称.dmp
exp jm110/jm110@120_2 file=d:\jm110.dmp
导入命令 :
因为导入的内容都是dmp文件,所以未涉及到单表导入的情况,统一命令格式
格式:imp 新用户名/密码@新服务器别名 file=d:\名称.dmp buffer=102400000 feedback=10000 log=d:\名称.txt full=y
参数:buffer:设置缓存大小,越大越好,它决定导入的速度
full:完全导入,导出表结构及存储过程等等
imp jm110/jm110@120_1 file=d:\jm110.dmp buffer=102400000 feedback=10000 log=d:\jm110.txt full=y
==================================================================================
oracle 11g 数据泵导入导出方法
运行以下命令:1> cmd 运行sqlplus system/密码
create directory expnc_dir as 'E:\ncdatabak';
3> 为oracle用户授予访问数据目录的权限,命令如下:
Grant read,write on directory expnc_dir to dxzyjt;
执行数据泵出命令,注意一定要在Cmd下执行,不能登录sqlplus后执行。
4 > expdp dxzyjt/dxzyjt@ncdata_192.168.1.224 directory=expnc_dir dumpfile=ncdatabak.dmp schemas=dxzyjt logfile=ncdatabak.log;
>>>>>>>>>>开始备份到expnc_dir 文件夹
以上内容转自别处,为个人学习所整理,多谢作者 部分有自己总结改进,且已经测试成功