【oracle】oracle数据库导入导出命令!

oracle数据导出exp导入imp Oracle的exp/imp命令用于实现对数据库的导出/导入操作; exp命令用于把数据从远程数据库服务器导出至本地,生成dmp文件; imp命令用于把本地的数据库dmp文件从本地导入到远程的Oracle数据库。 阅读详情

IMP 和EXP命令

Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。

执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于在oracle 8i中安装目录\ora81\BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出,也可以在PL/SQL Developer中执行。

oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。

下面介绍的是导入导出的实例。(dos或sqlplus中)

数据导出:

1 将数据库zxcc完全导出,用户名kf 密码zx 导出到D:\zxcc.dmp中

exp kf/zx@zxcc file=d:\zxcc.dmp full=y (一般full=n,否则会全库的所有对象导出)

(exp user/password@192.168.0.46/orcl10g file=F:/fileSys.dmplog=F:/fileSys.log

statistics=nonetables=file_attach,file_tree,file_permission)

full=y 表示全库导出。full总共有2个可选项yes(y)/no(n),缺省情况下full=no,这时只会将该用户下的对象导出。

2 将数据库zxcc中kf用户与cc用户的表导出

exp kf/zx@zxcc file=d:\zxcc_ur.dmp owner=(kf,cc)

full方式可以备份所有用户的数据库对象,包括表空间、用户信息等,owner=XX只能备份指定用户的对象,其他用户下的就不备份了,EXP中full=y和owner=XX是不能同时使用的。

3 将数据库zxcc中的表kf_operator、kf_role导出

exp kf/zx@zxcc file= d:\zxcc_tb.dmp tables=(kf_operator,kf_role)

tables=xx 表示备份相关表,不能同时和owner、full使用。

4 将数据库中的表kf_operator中的字段oper_id以”00”打头的数据导出

exp kf/zx@zxcc file=d:\zxcc_t.dmp tables=(kf_operator) query=\”where oper_id like ‘00%’\”

query主要是导出合适条件的数据。使用该参数时,需要注意对所有操作系统保留字符都要使用转义符号。若有括号()也需要转义:

query=\”where dt=to_date(\’2007-09-22\’,\’yyyy-mm-dd\’)\”。

如果遇到条件比较繁琐的语句,频繁的转义操作不仅费时,还很容易出错。我们可以使用exp或expdp的PARFILE参数避免query内容的繁琐转义问题。

例:

oracle DBALNP01 > cat > zxcc.par

tables=kf_operator

file=zxcc.dmp

query=”where dt_time=to_date(‘2010-06-25’,’yyyy-mm-dd’)”

这时就可以尽情的再双引号中写条件语句了。

上面是常用的导出,对于压缩,可用winzip把dmp文件可以很好的压缩。

也可以在上面命令后面 加上 compress=y 来实现。

数据的导入

1 将D:\zxcc.dmp 中的数据导入 zxcc数据库中。

imp kf/zx@zxcc file=d:\zxcc.dmp

导数据得时候,有可能报错。为什么?有以下主要的原因:

  • A. 导入的对象(表,视图,方法等)原本不属于当前连接的用户的

  • B. 导入的对象在该数据库的指定用户下已经存在

  • C. 导入的对象的原本用户不再这个数据库里

对于这三个问题的处理方法如下:

a/c、所有对象全部导入到指定的账户下:

imp kf_new/zx@zxcc_new file=d:\zxcc.dmp fromuser=kf touser=kf_new

其中fromuser=kf为.dmp文件里的对象的原先的owner, touser=kf_new 为作为导入的对象的新的Owner.

b、忽略/插入数据:

  Impsystem/123456@ATSTestDB file=c:\export.dmp ignore=y

其中ignore=y告诉imp.exe把数据直接插入到相应对象(并且如果导入的对象里面有其他的对象,如约束,索引等,会在数据插入后被创建)。

2 将d:\zxcc_tb.dmp中的表tb_operator 导入

imp kf/zx@zxcc file=d:\zxcc_tb.dmp tables=(tb_operator)

忽略加载约束

  有时候导数据进来的时候,我们不需要把它的约束,比如一些外键约束等都导进来,可以加上参数constraints=N

  不加载索引(比如唯一性的索引),可以加上参数indexs=N

只加载结构,不加载数据,如果只要表的结构等定义(约束,触发器),那么不要里面的数据,可以加上参数rows=N

  对于上述操作登陆操作的对象system是管理员,如果不是管理员,而是普通用户,那么这个用户必须有创建删除对象的权利,对象可能包括表,视图,方法,存储过程等等常见的对象。为什么“可能”包括?因为这个视导入导出的时候是否涉及相关类型的对象而定。

Imp kf/zx@zxcc_new file=d:\zxcc.dmp fromuser=kf touser=kf_new ignore=y

基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。

注意:

操作者要有足够的权限,权限不够它会提示。

数据库链接正常,可以用tnsping zxcc 来获得数据库zxcc能否连上。

导入/导出数据库时注意字符集。可能会出现导出/导入时数据库字符集不一致而报错。

oracle数据库其他常用命令:

1、给用户增加导入数据权限的操作

第一,启动sql*puls

第二,以管理员(DBA)用户登陆

第三,create user 用户名 IDENTIFIED BY 密码 (如果已经创建过用户,这步可以省略)

第四,GRANT CREATE USER,DROP USER,ALTERUSER ,CREATE ANY VIEW ,DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,DBA,CONNECT,RESOURCE,CREATESESSION TO 用户名字

第五, 运行-cmd-进入dmp文件所在的目录,

imp userid=管理员用户名/密码 full=yfile=*.dmp

或者 imp userid=管理员用户名/密码 full=y file=filename.dmp

2、Oracle 不允许直接改变表的拥有者, 利用Export/Import可以达到这一目的.

先建立import9.par文件,

然后,使用时命令如下:impparfile=/filepath/import9.par

例 import9.par 内容如下:

FROMUSER=user

TOUSER=user_new (注:把表的拥有者由FROMUSER改为TOUSER,FROMUSER和TOUSER的用户可以不同)

ROWS=Y

INDEXES=Y

GRANTS=Y

CONSTRAINTS=Y

BUFFER=409600

file==/filepath/xxxx.dmp

log==/filepath/import_log.log

学会使用oracle相关命令方法会给我们的工作带来便利,遇到问题可以迅速的解决,而不用再baidu出来的海量信息中区找解决方法。

希望本文能够对大家有所帮助。

Oracle中的导入导出表及数据

Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。利用这个功能可以构建两个相同的数据库。

1.用plsql实现

1.1使用plsql连接oracle,点击工具——导出表
1.2选择要导出的表
1.3可执行文件在C:\oracle\product\10.2.0\db_1\bin 目录下

导出是exp 导入是imp

导出的为dmp文件

1.4导入文件:

点击工具——导入表

在导入文件中选择要导入的表 确认后点击导入

3.将数据导出到excel表中及将excel表数据导入数据库

3.1选中表中的数据右键——复制到excel

3.2在plsql中点击 工具——文本导入器

进入到文本导入器的页面后,先点击“来自文本文件的数据”选项卡,然后点击打开按钮,选择数据录入.txt文件

Sentinel2 哨兵2数据下载方法(USGS)-史上最全讲解 本文讲述了从USGS官网下载Sentinel2的方法。主要包括USGS官网的注册和下载流程,以及选定研究区中所出现的问题、解决办法。 阅读详情

相关推荐

CCC数字钥匙Release 3实战:如何用BLE/UWB实现无钥匙进入(附避坑指南)

本文深入解析CCC数字钥匙Release 3标准下BLE/UWB无钥匙进入系统的开发实践,涵盖硬件选型、安全测距协议、时序同步等关键环节,并提供实战调试技巧与安全攻防案例。特别针对BLE芯片配置、UWB模块选型等常见陷阱给出解决方案,帮助开发者高效实现厘米级精度的数字钥匙系统。

weixin_29326909的博客 254

oracle数据库的导出exp与导入imp

EXP导出:三种方式(全部、用户、表) 1.全部:exp test/test@orcl file=d:\dmp.dmp full=y (需要足够大的权限) 2.用户:exp test/test@orcl file=d:\dmp.dmp owner = test 3.表: exp test/test@orcl file=d:\dmp.dmp tables=user,product 4.

2538

MDK开发篇:基于立创逻辑派FPGA-G1与Cortex-M1软核的按键控制LED实战

本文详细介绍了基于立创逻辑派FPGA-G1开发板与高云Cortex-M1软核的完整开发流程。通过Gowin云源软件配置软核系统与GPIO外设,并在Keil MDK环境中编写按键控制LED的C程序,最终实现程序固化与上电自启动。教程涵盖硬件配置、软件开发、在线调试与固化部署全步骤,帮助STM32开发者快速上手FPGA软核开发。

weixin_42103128的博客 147

Oracle使用exp/imp导出导入数据

Oracle exp/imp

weixin_43758312的博客 1598

【Educoder作业】※ 数字图像——绿幕抠像

这次作业比上一篇博客基本得多,大多都是基础函数的运用。没啥说的,就整个sizesizesize即可。 T2 获取一个像素 T3 图像反色 T4 修改透明度 ′RGBA′'RGBA'′RGBA′也是一种图像格式 T5 抠图 T6 添加场景 这个主要是pastepastepaste函数里面的maskmaskmask参量没整明白,转载一篇博客供参考。...

JZYshuraK的博客 7570

切比雪夫插值

切比雪夫插值是一种基于切比雪夫节点的多项式插值方法,其优势是减少插值误差(特别是龙格现象:表现为高维插值时在边缘处插值误差骤增)。本文对其基本操作进行说明。

平和少年的博客 1646

oracle数据库导入导出

oracle数据库导入导出

m0_37642477的博客 1万+

Python多进程实战:用BaoStock高效下载股票历史数据的5个优化技巧

本文详细介绍了使用Python多进程技术通过BaoStock高效下载股票历史数据的5个优化技巧。从理解BaoStock的数据获取机制到进程池配置、智能任务分片、异常处理及性能监控,帮助开发者显著提升数据下载效率,特别适合量化交易领域的数据采集需求。

weixin_30369041的博客 455

Oracle数据库的导出(exp/expdp)和导入(imp/impdp)方法总结

默认表空间用“USERS”;临时表空间用“TEMP”;成员选择“DBA”服务器权限选择“UNLIMITED TABLESPACE”

Crazy_young_man的博客 1万+

Easy3D&CGAL文章目录汇总

Easy3D&CGAL文章目录汇总

dayuhaitang1的博客 2863

Python爬虫实战:微信小程序内容采集的全面指南

在移动互联网时代,微信小程序已成为企业和个人提供服务的重要渠道。小程序中包含了大量有价值的信息,但微信官方并未提供便捷的数据获取接口。本文将详细介绍如何使用Python爬虫技术采集微信小程序内容,包括最新技术方案、完整代码实现以及应对各种反爬机制的策略。小程序运行在微信封闭环境中,无法直接访问数据通信主要通过HTTPS加密传输内容动态加载,依赖JavaScript渲染微信有严格的反爬机制。

2201_76125261的博客 3115

oracle数据库导入导出命令!

Oracle数据导入导出imp/exp  功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。   大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。  Oracle有个好处,虽然你的电脑不是服务器,但是你装了

简约不简单 513

RK3568平台开发系列讲解(安卓篇)LED呼吸灯系统流程

1.app层封装后使用NotificationManager发出:NotificationManager.notify() 2.Android 系统架构中:一个manager类对应一个aidl接口,一个manager对应一个底层的服务,notification也是这个架构

内核笔记 3646
上一篇: 【Hbase】初识Hbase,单节点安装
下一篇: 【CDH】centos6 下离线安装CM5.16和CDH5.16完全教程
帅胖子
博客等级 码龄11年 308粉丝 68原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅胖子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值