oracle导入【导出】BMP
使用命令在Oracle中导出和导入数据

()在Oracle中导出和导入数据:准备:1.运行命令行cmd;2.Sqlplus看看能否连接到数据库;3.提示输入用户名和密码,能够连接到数据库;4.连接到数据库则可以退出Sqlplus(用Ext就可以退出);导出数据:5.同样运行命令行cmd;6.将数据库TEST完全导出,用户名system 密码manager 导出到D:\db.dmp中exp system(用户名)/manager(密码)@TEST(数据库名称) file=d:\db.dmp full=y7.将数据库中system用户与sys用户的表导出exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)8.将数据库中的表inner_notify、notify_staff_relat导出Exp aichannel/aichannel@TESTDB2 file=d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat)9.将数据库中的表table1中的字段filed1以"00"打头的数据导出exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"导入数据:10.将D:\db.dmp 中的数据导入TEST数据库中。
imp system/manager@TEST file=d:\db.dmpimp aichannel/aichannel@HUST full=y file=file= d:\data\newsmgnt.dmp ignore=y上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上ignore=y 就可以了。
Oracle数据的导入导出(按照表)

1.在一个有emp表的数据库中进行操作
---------------------------------------------------------------------------------
导入完成
在scott用户下查看表是否存在
desc emp或select table_name from user_tables;
完成!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
C:\Documents and Settings\Administrator>exp scott/oraclቤተ መጻሕፍቲ ባይዱ
Export: Release 10.2.0.1.0 - Production on 星期日 1月 31 13:19:16 20
Copyright (c) 1982, 2005, Oracle. All rights reserved.
压缩区 (yes/no): yes >
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
服务器使用 AL32UTF8 字符集 (可能的字符集转换)
即将导出指定的表通过常规路径...
要导出的表 (T) 或分区 (T: P): (按 RETURN 退出) > emp
. . 正在导出表 EMP导出了 14 行
要导出的表 (T) 或分区 (T: P): (按 RETURN 退出) > dept
oracle导入导出

若要导出其他用户的表,则:
exp userid=system/admin@orcl tables=(scott.emp) file=e:\Oracle资料\LearnOracleByMyself\emp.dmp 回车
------------------------------------------
若要导入表到其他用户,则:
imp userid=system/admin@orcl tables=(emp) file=e:\Oracle资料\LearnOracleByMyself\emp.dmp touser=scott
若只是要导入表的结构而不导入数据,则:
imp userid=scott/tigger@orcl tables=(emp) file=e:\Oracle资料\LearnOracleByMyself\emp.dmp rows=n
运行cmd进入控制台
E: 回车
cd E:\oracle\product\10.2.0\db_1\BIN回车
------------------------------------------
第二步:
------------------------------------------
imp userid=system/admin@orcl file=e:\Oracle资料\LearnOracleByMyself\emp.dmp touser=scott
------------------------------------------
导入数据库
------------------------------------------
在默认情况下,当导入数据库时,会导入所有对象结构和数据,案例如下:
Oracle数据库导入导出方法汇总

Oracle数据库导入导出方法:1.使用命令行:数据导出:1.将数据库TEST完全导出,用户名system密码manager导出到D:\daochu.dmp中exp system/manager@TEST file=d:\daochu.dmp full=y2.将数据库中system用户与sys用户的表导出exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)3.将数据库中的表inner_notify、notify_staff_relat导出exp aichannel/aichannel@TESTDB2 file= d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat)4.将数据库中的表table1中的字段filed1以"00"打头的数据导出exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
也可以在上面命令后面加上compress=y来实现。
数据的导入:1.将D:\daochu.dmp 中的数据导入TEST数据库中。
imp system/manager@TEST file=d:\daochu.dmpimp aichannel/aichannel@HUST full=y file= d:\data\newsmgnt.dmp ignore=y上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上ignore=y 就可以了。
2.将d:\daochu.dmp中的表table1导入imp system/manager@TEST file=d:\daochu.dmp tables=(table1)3.不同名用户之间的数据导入:imp system/test@xe fromuser=hkb touser=hkb_new file=c:\orabackup\hkbfull.dmplog=c:\orabackup\hkbimp.log;2.plsql:数据导出:TOOLS-Export user objects(用户对象)TOOLS-Export tables(表)数据的导入:TOOLS-Import tablesOracle Import(表) SQL Inserts(用户对象)也可以将用户对象的语句拷贝出来,粘贴到Command Window这样的好处是可以看到执行的过程。
oracle的数据库的导入导出

oracle的数据库的导入导出从一个用户expdp导出再impdp导入到另一个用户(示例:讲scott用户里面的表全部迁移到新建的test用户里面)如果想导入的用户已经存在:1.导出之前需要做的一些操作,进入数据库,默认为sys用户SQL> create directory dumpdir as '/home/oracle/test_bk ';(该备份路径是需要手动创建的)SQL> grant read,write on directory dumpdir to scott(scott为源用户);导出用户expdp user1/pass1 directory=dumpdir dumpfile=user1.dmp 示例:expdp scott/tiger directory=dumpdir dumpfile=scott.dmp2.导入之前需要做一些操作,进入数据库,默认为sys用户SQL> create directory dumpdir as '/home/oracle/test_bk ';(该备份路径是需要手动创建的)SQL> grant read,write on directory dumpdir to test(test为目标用户);导入用户impdp test/test directory=dumpdir dumpfile=scott.dmp REMAP_SCHEMA=scott:test full=y;如果想导入的用户不存在:1. 导出用户expdp user1/pass1 directory=dumpdirdumpfile=user1.dmp2. 导入用户impdp system/passsystem directory=dumpdirdumpfile=user1.dmp REMAP_SCHEMA=user1:user2 full=y;3. user2会自动建立,其权限和使用的表空间与user1相同,但此时用user2无法登录,必须修改user2的密码impdp遇到的错误C:\Documents and Settings\Administrator>impdp aaa/ccc directory=data_dump dumpfile=fromaaa.dmp logfile=IMP_DATA_20100618.LOG连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsORA-39001: 参数值无效ORA-39000: 转储文件说明错误ORA-39143: 转储文件"F:\ora10G_expdp\ic_price_fromlufang.dmp" 可能是原始的导出转储文件可恶的提示让我一直以为是版本的的问题,因为是同事给的dmp文件,用的又都是10.2.0版本,自然以为用的是expdp,所以一直用impdp导入,其他的权限都没问题,所以最后怀疑同事用的是exp,所以试了下imp导入,成功执行了。
Oracle数据库导入导出命令总结

Oracle数据库导入导出命令总结Oracle数据库导入导出命令总结执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于在oracle中,安装目录\\ora9i\\BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。
oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件是被包装后的类文件。
SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。
下面介绍的是导入导出的实例。
数据导出:1将数据库zxcc完全导出,用户名kf密码zx导出到D:\\zxcc.dmp中expkf/zx@zxccfile=d:\\zxcc.dmpfull=yfull=y表示全库导出。
full总共有2个可选项yes(y)/no(n),缺省情况下full=no,这时只会将该用户下的对象导出。
2将数据库zxcc中kf用户与cc用户的表导出expkf/zx@zxccfile=d:\\zxcc_ur.dmpowner=(kf,cc)full方式可以备份所有用户的数据库对象,包括表空间、用户信息等,owner=XX只能备份指定用户的对象,其他用户下的就不备份了,EXP中full=y和owner=XX是不能同时使用的。
3将数据库zxcc中的表kf_operator、kf_role导出expkf/zx@zxccfile=d:\\zxcc_tb.dmptables=(kf_operator,kf_role)tables=xx表示备份相关表,不能同时和owner、full使用。
4将数据库中的表kf_operator中的字段oper_id以"00"打头的数据导出expkf/zx@zxccfile=d:\\zxcc_t.dmptables=(kf_operator)query=\\"whereop er_idlike"00%"\\"query主要是导出合适条件的数据。
oracle数据库导入导出命令

Oracle数据导入导出imp/exp功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。
大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。
Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了连接(通过Net Configuration Assistant添加正确的服务命名,其实你可以想成是客户端与服务器端修了条路,然后数据就可以被拉过来了)这样你可以把数据导出到本地,虽然可能服务器离你很远。
你同样可以把dmp文件从本地导入到远处的数据库服务器中。
利用这个功能你可以构建俩个相同的数据库,一个用来测试,一个用来正式使用。
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于在oracle 8i 中安装目录\$ora10g\BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。
oracle用java编写,我想SQLPLUS.EXE、EXP.EXE、IMP.EXE这俩个文件是被包装后的类文件。
SQLPLUS.EXE调用EXP.EXE、IMP.EXE他们所包裹的类,完成导入导出功能。
下面介绍的是导入导出的实例,向导入导出看实例基本上就可以完成,因为导入导出很简单。
数据导出:1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp 中exp system/manager@TEST file=d:\daochu.dmp full=y2 将数据库中system用户与sys用户的表导出exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)3 将数据库中的表table1 、table2导出exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2) 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。
oracle数据的导入导出(两种方法三种方式)

oracle数据的导⼊导出(两种⽅法三种⽅式)⼤概了解数据库中数据的导⼊导出。
在oracle中,导⼊导出数据的⽅法有两种,⼀种是使⽤cmd命令⾏的形式导⼊导出数据,另⼀种是使⽤PL/SQL⼯具导⼊导出数据。
1,使⽤cmd命令⾏导⼊导出数据 1.1整库导出 整库导出:exp 管理员账号/密码 full=y;//参数full表⽰整库导出。
导出后会在当前⽬录下⽣成⼀个EXPDAT.DMP的⽂件,此⽂件为备份⽂件。
如果想导出数据到指定位置,并且取个名字,需要添加file参数。
例如:exp system/123456 file= C:\person.dmp full=y。
1.2整库导⼊ 整库导⼊:imp 管理员账号/密码 full=y file=C:\person.dmp。
1.3使⽤cmd命令按⽤户导出导⼊ 1.3.1 按⽤户导出:exp 管理员账号/密码 owner=⽤户名 file=C:\person.dmp。
1.3.2 按⽤户导⼊:imp 管理员账号/密码 file=C:\person.dmp fromuser=⽤户名。
1.4使⽤cmd命令按表导出导⼊ 1.4.1按表导出:exp 管理员账号/密码 file=person.dmp tables=t_person,t_student。
1.4.2按表导⼊:imp 管理员账号/密码 file =person.dmp tables=t_person,t_student。
2.)使⽤PL/SQL 开发⼯具导出导⼊数据 pl/sql⼯具包含三种⽅式导出oracle表结构和表数据,分别为:oracle export,SQL inserts,pl/sql developer。
它们的含义如下: 第⼀种oracle export:导出的是.dmp格式的⽂件,.dmp⽂件是⼆进制⽂件,可以跨平台,包含权限等。
第⼆种SQL inserts :导出的是.sql格式的⽂件,可以⽤⽂本编辑器查看,通⽤性⽐较好,效率不如第⼀种,适合⼩数据量的导⼊导出。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
导入ORACLE数据库
1.使用Net Configuration Assistant配置服务名
团队开发只需要安装一个ORACLE数据库服务器即可,每一个人只需要配置客户端,方式有两种:一种是Net Configuration Assistant,另一种是Net Manager,Net Configuration Assistant基于向导,方便。
步骤:oracle配置与移除工具——>Net Configuration Assistant——> 本地Net服务名配置——》添加——>服务名——>TPC——>主机名
见下图:
选择“本地Net服务名配置”点击下一步
选择“添加”
“服务名”是数据库实例名(SID)
选择“TCP”
键入主机名,选择默认端口或者其他端口号
不进行测试
“网络服务名”在保证客户端不重复的情况下可以和服务器实例名同名,点击下一步,直到完成配置。
建好的服务名在Net Manager显示如下,此处服务命名存在和服务实例名不一致情况。
服务命名或者通过查看配置文件tnsnames.ora:
参考网址:/fengyedqg/article/details/6200223
/s/blog_4d711da701000kap.html
2.创建用户和表空间,配置权限
可以选择sqldeveloper或者PL SQL Developer来实现新建用户和表空间,也可以通过图形界面工具或者SQL语句来实现,此处我们已PL SQL Developer做为讲解。
步骤:Pl sql developer用具有DBA权限的“sys/密码”登陆,其他用户下创建用户,表空间可以用已建好表空间,临时表空间可以用temp,勾选角色权限,但是特定库要对应
导出空间
见下图
具有DBA权限的用户sys/密码登陆,点击确定
在Users建立新的拥有此数据库的用户,右键点击新建,如下图:
“名称”为用户名,“口令”为用户密码,“默认表空间”请选择已建好的表空间,要与导入文件表空间名一致(建表空间见下),点击“应用”按钮保存。
Tablespaces下不能通过“右键”建立表空间,建表空间SQL语句如下,一般只需要修改表空间名称tablespace和存放路径datafile:
create tablespace khpt1
logging
datafile 'F:\ORACLE\PRODUCT\10.2.0\ORADATA\NX\khpt1.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
备注:1) DATAFILE: 表空间数据文件存放路径,此为数据库服务器存放地址
2) SIZE: 起初设置为200M
3) UNIFORM: 指定区尺寸为128k,如不指定,区尺寸默认为64k
4) 空间名称MOF_TEMP与数据文件名称MOF_TEMP.dbf 不要求相同,可随意命名.
5) AUTOEXTEND ON/OFF 表示启动/停止自动扩展表空间
6) alter database datafile ' D:\oracle\product\10.2.0\oradata\orcl\MOF_TEMP.dbf ' resize 500m; //手动修改数据文件大小为500M
配置角色权限,一般需要如上
备注:connect权限如下图,
参见网址:/zhangjian_sundun/blog/static/77097301200806113124695/
配置系统权限如上
3.导入BMP文件SQL语句
DOS中cmd
1)imp javaoa/javaoa@ORCL_172 file=C:\javaoa_2014_05_026.dmp full=y
备注: imp 登录名/密码@数据库实例名file=文件地址full(全部表)
2)i g n o r e=y
备注:忽略已存在表
3)t a b l e s=(t a b l e1)
备注:只导入某一张表
4) fromuser=javaoa touser=nx_test3
备注:如果bmp文件导入导出“用户”不同时加此句
5)
4.报错
1.1.
@orcl写错
1.2 版本不同问题
11G导入10G请用工具AlxcTools修改BMP版本,如下图
选择“修改DMP版本”选项卡,输入要转换版本号,点击“修改版本”按钮,执行转换,用SQL语句导入此文件.
网址参见:/loadrunn/article/details/6589753
1.3 项目启动缺少某个字段请查看用户权限
导出exp
导出语句:exp gongzhchx/gongzhchx@orcl file=e:\gongzhchx.dmp log=e:\gongzhchx_exp.log feedback=10000 buffer=524288000
备注:其中gongzhchx是用户名,gongzhchx是密码,orcl是数据库名称,file=后面是导出为哪个文件
1.报错信息:在客户端配置TNS测试报错ORA-12170:TNS:连接超时
在Red Hat Enterprise Linux Server Releae 5.5 成功安装ORACLE 10g 后,在客户端配置TNS后,测试是否可以连接到数据块服务器,结果报错: ORA-12170:TNS:连接超时 1:首先检查网络是否能ping通,如下所示,网络是畅通的 2:检查TNS配置(TNS配置也没有问题)fancy =
(DESCRIPTION = (ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.3)(PORT = 1521)) )
(CONNECT_DATA =
(SERVER=DEDICATED) (SERVICE_NAME = fancy) ) )
3:查看服务器监听服务是否启动
首先进入oracle用户下:通过如下命令查看oracle监听是否启动
[oracle@localhost ~]$ lsnrctl status
注:如果oracle监听没有启动的话:执行如下语句启动oracle监听程序
[oracle@localhost ~]$ lsnrctl start
4:使用tnsping命令检查
通过在本机CMD中执行tnsping命令,报TNS-12535: TNS: 操作超时,这时我们可以肯定是防火墙的问题了执行tnsping命令如下:
C:\users\fancy\tnsping 192.168.3.3
TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 14-12月-2012 15:47:15 Copyright (c) 1997, 2010, Oracle. All rights reserved. 已使用的参数文件:
E:\app\kerry\product\11.2.0\dbhome_1\network\admin\sqlnet.ora 已使用 EZCONNECT 适配器来解析别名尝试连接 (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=172.2 0.32.79)(PORT=1521))) TNS-12535: TNS: 操作超时
对于防火墙问题,我们可以有两种解决方案:
1):关闭防火墙(这种方案不怎么好,关闭防火墙,会带来许多安全隐患)
[oracle@localhost ~]$ service iptables stop;
2):修改iptables,开放1521端口,允许1521端口被连接通过如下命令,打开1521端口iptables -I INPUT -p tcp --dport 1521 -j ACCEPT iptables -A INPUT -p tcp --dport 1521 -j ACCEPT
通过如下命令,保存刚才的端口设置,以免关机失效
[root@localhost ~]# service iptables save
通过如下命令重新启动防火墙设置服务
[root@localhost ~]# service iptables start
通过如下命令查看1521端口是否开放,允许连接
[root@localhost ~]# iptables -L -n
5:检查oracle客户端是否连接成功
C:\users\fancy\tnsping 192.168.3.3
到此为止,从oracle客户端连接,通过PL/SQL Developer连接数据库问题,解决。