Oracle数据导入导出imp/exp

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

 

 

功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。
大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。

Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了连接
(通过net8 assistant中本地-->服务命名 添加正确的服务命名
其实你可以想成是客户端与服务器端修了条路,然后数据就可以被拉过来了)
这样你可以把数据导出到本地,虽然可能服务器离你很远。
你同样可以把dmp文件从本地导入到远处的数据库服务器中。
利用这个功能你可以构建俩个相同的数据库,一个用来测试,一个用来正式使用。

执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,
DOS中可以执行时由于 在oracle 8i 中  安装目录/ora81/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=y
2 将数据库中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文件可以很好的压缩。
                     不过在上面命令后面 加上 compress=y  就可以了
数据的导入
1 将D:/daochu.dmp 中的数据导入 TEST数据库中。
   imp system/manager@TEST  file=d:/daochu.dmp
   上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
   在后面加上 ignore=y 就可以了。
2 将d:/daochu.dmp中的表table1 导入
imp system/manager@TEST  file=d:/daochu.dmp  tables=(table1)

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

注意:
你要有足够的权限,权限不够它会提示你。
数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。

1. 它是操作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin

   exp导出工具将数据库中数据备份压缩成一个二进制系统文件.可以在不同OS间迁移
  
   它有三种模式:
       a.  用户模式: 导出用户所有对象以及对象中的数据;
       b.  表模式: 导出用户所有表或者指定的表;
       c.  整个数据库: 导出数据库中所有对象。

2. 导出工具exp交互式命令行方式的使用的例子

$exp test/test123@appdb
Enter array fetch buffer size: 4096 > 回车
Export file: expdat.dmp > m.dmp  生成导出的文件名
(1)E(ntire database), (2)U(sers), or (3)T(ables): (2)U > 3
Export table data (yes/no): yes > 回车
Compress extents (yes/no): yes > 回车
Export done in ZHS16GBK character set and ZHS16GBK NCHAR character set
About to export specified tables via Conventional Path ...
Table(T) or Partition(T:P) to be exported: (RETURN to quit) > cmamenu  要导出的表名
. . exporting table                        CMAMENU       4336 rows exported
Table(T) or Partition(T:P) to be exported: (RETURN to quit) >要导出的表名n
Table(T) or Partition(T:P) to be exported: (RETURN to quit) > 回车
Export terminated successfully without warnings.

3. 导出工具exp非交互式命令行方式的例子

$exp scott/tiger tables=(emp,dept) file=/directory/scott.dmp grants=y

说明:把scott用户里两个表emp,dept导出到文件/directory/scott.dmp

$exp scott/tiger tables=emp query=/"where job=/'salesman/' and sal/<1600/" file=/directory/scott2.dmp

说明:在exp里面加上导出emp的查询条件job='salesman' and sal<1600
   
    (但我个人很少这样用,还是把满足条件的记录生成临时表后,再exp会方便一些)

$exp parfile=username.par file=/directory1/username_1.dmp,/directory1/username_2.dmp filesize=2000M log=/directory2/username_exp.log

参数文件username.par内容
userid=username/userpassword
buffer=8192000
compress=n
grants=y

说明:username.par为导出工具exp用的参数文件,里面具体参数可以根据需要去修改

     filesize指定生成的二进制备份文件的最大字节数
    
     (可用来解决某些OS下2G物理文件的限制及加快压缩速度和方便刻历史数据光盘等)

二.导入工具 imp

1. 它是操作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin

imp导入工具将EXP形成的二进制系统文件导入到数据库中.

   它有三种模式:
       a.  用户模式: 导出用户所有对象以及对象中的数据;
       b.  表模式: 导出用户所有表或者指定的表;
       c.  整个数据库: 导出数据库中所有对象。
      
   只有拥有IMP_FULL_DATABASE和DBA权限的用户才能做整个数据库导入
  
   imp步骤:
   (1) create table  (2) insert data  (3) create index (4) create triggers,constraints

2.导入工具imp交互式命令行方式的例子
$ imp
Import: Release 8.1.6.0.0 - Production on 星期五 12月 7 17:01:08 2001
(c) Copyright 1999 Oracle Corporation.  All rights reserved.
用户名:  test
口令:****
连接到: Oracle8i Enterprise Edition Release 8.1.6.0.0 - 64bit Production
With the Partitioning option
JServer Release 8.1.6.0.0 - Production
导入文件: expdat.dmp> /tmp/m.dmp
输入插入缓冲区大小(最小为 8192 ) 30720>
经由常规路径导出由EXPORT:V08.01.06创建的文件
警告: 此对象由 TEST 导出, 而不是当前用户
已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入
只列出导入文件的内容(yes/no):no>
由于对象已存在, 忽略创建错误(yes/no):no> yes
导入权限(yes/no):yes>
导入表数据(yes/no):yes>
导入整个导出文件(yes/no):no> yes
. 正在将TEST的对象导入到 SCOTT
. . 正在导入表                       "CMAMENU"       4336行被导入
成功终止导入,但出现警告。


3.导入工具imp非交互式命令行方式的例子

$ imp system/manager fromuser=jones tables=(accts)
$ imp system/manager fromuser=scott tables=(emp,dept)
$ imp system/manager fromuser=scott touser=joe tables=emp
$ imp scott/tiger file = expdat.dmp full=y
$ imp scott/tiger file = /mnt1/t1.dmp show=n buffer=2048000 ignore=n commit=y grants=y full=y log=/oracle_backup/log/imp_scott.log
$ imp system/manager parfile=params.dat
params.dat 内容
file=dba.dmp show=n ignore=n grants=y fromuser=scott tables=(dept,emp)

4.导入工具imp可能出现的问题

(1) 数据库对象已经存在
一般情况, 导入数据前应该彻底删除目标数据下的表, 序列, 函数/过程,触发器等; 
数据库对象已经存在, 按缺省的imp参数, 则会导入失败
如果用了参数ignore=y, 会把exp文件内的数据内容导入
如果表有唯一关键字的约束条件, 不合条件将不被导入
如果表没有唯一关键字的约束条件, 将引起记录重复

(2) 数据库对象有主外键约束
      不符合主外键约束时, 数据会导入失败
      解决办法: 先导入主表, 再导入依存表
disable目标导入对象的主外键约束, 导入数据后, 再enable它们
(3)  权限不够
如果要把A用户的数据导入B用户下, A用户需要有imp_full_database权限

(4)  导入大表( 大于80M ) 时, 存储分配失败
      默认的EXP时, compress = Y, 也就是把所有的数据压缩在一个数据块上.
      导入时, 如果不存在连续一个大数据块, 则会导入失败.
      导出80M以上的大表时, 记得compress= N, 则不会引起这种错误.

(5) imp和exp使用的字符集不同
      如果字符集不同, 导入会失败, 可以改变unix环境变量或者NT注册表里NLS_LANG相关信息.
      导入完成后再改回来.

(6) imp和exp版本不能往上兼容
imp可以成功导入低版本exp生成的文件, 不能导入高版本exp生成的文件
根据情况我们可以用
$ imp username/password@connect_string
说明: connect_string 是在/ORACLE_HOME/network/admin/tnsnames.ora
   定义的本地或者远端数据库的名称
注意事项:
UNIX: /etc/hosts           要定义本地或者远端数据库服务器的主机名
win98:    windows/hosts             和IP地址的对应关系 

win2000:  winnt/system32/drivers/etc/hosts
 

 

Codex 的 AGENTS.md 到底怎么写?前端、后端两套实战模板,照抄就能用 文件名是大写AGENTS.md,放在项目根目录构建、测试、类型检查命令都是可直接复制执行的只写了 Agent 从代码里推断不出来的约定红线规则用了明确的否定句式(禁止/不要/Never)标注了自动生成目录和禁止修改的模块写清了交付要求(改动清单 + 验证命令 + 风险说明)没有任何密钥、密码、连接串整体一页能看完,核心要点 10 条以内每一条都能通过"删掉会不会更容易犯错"的测试一份短小精准的 AGENTS.md,比一份充斥模糊规则的长文件有用得多。 阅读详情

相关推荐

手把手教你绕过Incapsula reese84防护:从JS反混淆到动态Token生成全流程

本文深入解析了以Incapsula reese84为代表的现代Web客户端挑战防护机制,详细介绍了从JS反混淆、算法逆向到动态Token生成的全流程实战方法。文章系统阐述了如何通过模拟浏览器指纹、移植关键算法或嵌入JS引擎来构建自动化应对策略,并提供了稳健的令牌管理与系统架构设计思路,帮助开发者在合规前提下提升自动化工具的适应性。

jenkins8butler的博客 518

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.

2540

ubuntu18.04安装gtsam过程及报错error: invalid initialization of reference of type ‘const std::vector<bool>&’

这里建议从这个链接下,不要从官网下,可能会有版本冲突 2.安装依赖 3.编译 报错: 1. error: invalid initialization of reference of type ‘const std::vector&’ from expression of type ‘const std::vector’ 124 | const std::vector& mask() const { retur...

qq_35102059的博客 2912

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

Oracle exp/imp

weixin_43758312的博客 1598

解决Windows 10更新失败错误代码0x80070643

在Windows 10操作系统的更新过程中,用户时常会遇到各类错误代码,这些代码通常成为顺利完成更新的绊脚石。其中,错误代码0x80070643是一个较为常见的更新失败提示,它可能导致系统更新停滞不前。面对这一挑战,本文将详细介绍如何有效解决这一错误,帮助用户顺利完成Windows 10的更新。

nntxthml的博客 1828

【STM32F042】使用NTC热敏电阻实现温度测量

1.NTC介绍 NTC是负温度系数的简写,全称是Negative temperature coefficient.意思是随着温度的升高,电阻值呈现下降趋势。常用作温度传感器。这里有一个式子表示负温度系数的电阻值: RT=R0*exp(B (1/T-1/T0)) RT为周围温度为T (K) 时的电阻值,R0是周围温度为T0(K) 时的电阻值,注意这里的温度是开...

BadBoyHolly的博客 3万+

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

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

Crazy_young_man的博客 1万+

RTA_OS基础功能讲解 2.6-资源锁和自旋锁

访问需要在任务和 ISR 之间共享的硬件或数据可能不可靠、不安全。这是因为当优先级较低的任务或 ISR 正在更新共享数据时,可能会发生任务或 ISR 抢占。这种情况被称为竞争条件,极难测试。访问共享数据的语句序列称为关键部分。要安全访问关键部分中引用的代码和数据,就需要执行互斥。换句话说,必须确保系统中没有其他任务或第 2 类 ISR 能够在关键部分期间抢占正在执行的任务。你可以将任务声明为非抢占式任务,这样就可以避免互斥问题。

本博客专注于嵌入式软件领域技术分享。 291

Oracle exp/imp方式数据库导入导出以及命令参数详解

通过数据泵导远程入数据的时候需要我们把,导入的数据文件上传到远程服务器具有读写权限的路径的慕夏,然后在通过数据泵impdb 导入文件。这种方式需要我们能够登录到远程服务器,但是有时候我们没有这种登录权限,只能通过普通的方式 exp/imp 导入导入了。exp/imp方式导入导出缺点:导入导出的效率低,时间长;

tian830937的专栏 1万+

从零开始讲DDR(8)——AXI 接口MIG 使用(1)

我们简单拆解了MIG AXI接口中测试文件的整体框架,首先在sim_tb_top.sv文件中例化了DDR模型和example_top。在example_top中,又例化了MIG IP和一个流量产生器ddr4_v2_2_8_axi_tg_top。在ddr4_v2_2_8_axi_tg_top中的主要功能是分别例化了boot_mode_gen,prbs_mode_gen,custom_mode_gen和axi_opcode_gen。

apple_53311083的博客 1592

Flink Web UI 如何使用和调试保姆级教程(持续更新)

Running Jobs(运行中的作业):显示正在运行的所有 Flink 作业的列表。每个作业都有一个独特的 Job ID,可以点击进入查看作业的详细信息。Completed Jobs(已完成的作业):显示已经完成或取消的作业列表。:显示当前集群中所有 TaskManager 的健康状态,包括 CPU 使用率、内存使用情况、Slot 数量等。Job Manager Configuration(JobManager 配置):显示 JobManager 的一些配置参数,帮助调试和优化 Flink 集群。

大模型大数据攻城狮的专栏 3992

oracle exp/imp数据导入导出

buffer默认为4k,并非buffer的值越大越好,buffer定义了每一次读取导出文件的数据量,设的越大,就越减少export进程读取数据的次数,从而提高导入效率。●direct:直接路径(n),即常规导出,常规导出不能使用recordlength参数。如果在传输表空间同事传输约束,则对于用完整性约束,约束指向的表在外部表空间集,则违反自包含约束,如果不传输约束,则与约束指向无关。索引在内部表空间集,而表在外部表空间集(相反的,如果表在内部表空间集,而索引在外部表空间集,则不违反自包含原则)

weixin_49599800的博客 4413

如何通过 GitHub Actions 使用 SSH 自动化部署到阿里云 ECS 实例

通过 GitHub Actions 和 SSH 自动化部署,可以显著提高你的开发效率和部署的可靠性。本文介绍了如何生成 SSH 密钥、将公钥添加到阿里云 ECS 实例、将私钥添加到 GitHub Secrets,以及编写 GitHub Actions 工作流来实现自动化部署。希望这篇文章对你有所帮助!

吃面不喝汤的博客 1511

impdp 不兼容_Oracle exp/expdp imp/impdp导入导出数据

一、exp/imp与expdp/impdp的区别EXPDP/IMPDP是10G以后的一种新的数据导入导出方式,也称为数据泵。相比于传统的EXP/IMP的方式有了很大的不同.1、EXP/IMP产生的文件格式和EXPDP/IMPDP并不兼容,虽然文件名字都是DMP扩展文件。不能用EXP导出的的文件用IMPDP导入,反之则一样.2、 EXP/IMP的是客户机的工作模式,由EXP/IMP指定连接串,连接到...

weixin_34668850的博客 1384

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Oracle数据导入导出imp/exp命令

 --如何在oracle中导入dmp数据库文件?     Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命 令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。    执行环境:可以在SQLPLUS.EXE或者DOS(命令行

fengfs的专栏 1048

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

oracle导入命令详解,oracle数据导入导出imp/exp命令 详解

--如何在oracle中导入dmp数据库文件?oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。 执行环境:可以在sqlplus.exe或者dos(命令行)中执行, dos中可以执行...

weixin_36419499的博客 1864

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Oracle数据库数据导入导出工具(exp/imp)

转行做程序员不久,作为开发人员数据迁移及导入导出的一些经常使用的工具记录,之前使用过sql格式,由于数据量比较大,采用这种方式不考虑,后面选择dmp格式文件导出: 1-exp/imp工具 2-Oracle数据库数据泵导入导出(expdp、impdp) 3.其它第三方软件工具 常用的三种模式:完全模式、用户模式、表模式(我比较使用用户模式和表模式) a. 用户模式: 导出/导入用户所有对象以及...

weixin_44064656的博客 1795

Oracle中用exp/imp命令快速导入导出数据

Oracle中用exp/imp命令快速导入导出数据 打开支付宝首页搜索“520218643”,即可领红包,帮忙领个红包还可以抵扣哦 【用 exp 数 据 导 出】: 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中 exp system/manager@TEST file=d:\daochu.dmp full=y 2 将数据库中...

王春雨 11万+

Oracle数据导入导出imp/exp命令总结

racle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。 执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, DOS中可以执行时由于 在orac...

dazigeng4522的博客 216

oracle用exp导入数据,Oracle数据库使用exp/imp导入导出

Oracle数据库使用exp/imp导入导出使用 exp/imp 导入导出开始exp/imp之前, 有以下几点需要注意:1)此部分以 oracle 10g为例。2)exp, imp 是操作系统下一个可执行的文件,存放在/ORACLE_HOME/bin目录下。所以之间cmd 命令模式下执行就行了。(不需要先连接进sqlplus)3)exp , imp 命令行后不要加 ";"号, 否则会报类似以下的错...

weixin_33946174的博客 517

Oracle数据导入导出imp/exp命令和grant命令

一、数据导入导出命令    Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。 执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, DOS中可以执行时由于 在orac...

iteye_17600的博客 456

Oracle数据导入导出imp/exp命令 :转

[url]http://hi.baidu.com/zaaaaaa/blog/item/d08cdc102caec8f9c3ce79ad.html[/url] Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命 令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库...

w110713121的专栏 293
上一篇: Oracle简单示例讲解
下一篇: c#.net常用函数
CS_D_N
博客等级 码龄21年 1粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值