`
softchi
  • 浏览: 27513 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

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=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能否连上。



数据导出:
exp hkb/hkb@boss_14 full=y file=c:\orabackup\hkbfull.dmp log=c:\orabackup\hkbfull.log;

导出注意事项:导出的是当前用户的的数据,当前用户如果有DBA的权限,则导出所有数据!

同名用户之间的数据导入:
imp hkb/hkb@xe  file=c:\orabackup\hkbfull.dmp log=c:\orabackup\hkbimp.log full=y

不同名之间的数据导入:
imp system/test@xe fromuser=hkb touser=hkb_new file=c:\orabackup\hkbfull.dmp

log=c:\orabackup\hkbimp.log;


11GR2中有个新特性,当表无数据时,不分配segment,以节省空间,可是在用EXPORT导出时,空表也不能导出,这就导致迁移时候丢失了一些表,存储过程也失效了。本以为EXP能有相应的控制开关,可以切换是否导出空表,看了下帮助,没有太大的改变。有些奇怪,难道11GR2不更新EXP的功能了,还看有的帖子说11GR1作为客户端去卸载11GR2的,都会出现ora-1455d的错误,得换成11GR2的exp才没事了,心中感慨阿,怎么版本间的兼容这么脆弱了!

  解决方法:

一、     insert一行,再rollback就产生segment了。

  该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。

二、     设置deferred_segment_creation参数

该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。修改SQL语句:

alter system set deferred_segment_creation=false scope=both;

  需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。如需导出之前的空表,只能用第一种方法。

三、     用以下这句查找空表并分配空间

  select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;

  把SQL查询的结果导出,然后执行导出的语句,强行为表分配空间修改segment值,然后再导出即可导出空表了。
分享到:
评论

相关推荐

    Oracle导入导出命令bat执行命.rar

    这个"Oracle导入导出命令bat执行命.rar"文件显然包含了一系列用于自动化这些过程的批处理(BAT)脚本。 首先,让我们来理解一下Oracle的导入导出命令。`expdp`和`impdp`是Oracle Data Pump的命令行工具,用于导出和...

    Oracle导入导出.ppt

    Oracle数据库的导入导出工具是数据库管理中至关重要的部分,主要涉及两个命令:EXP和IMP。这些工具在Oracle 9i之前是主要的逻辑备份和恢复手段,尽管随着技术的发展,Oracle引入了更先进的数据泵(Data Pump)技术,...

    Oracle 导入导出工具

    为了方便数据的迁移、备份或恢复,Oracle提供了多种导入导出工具,这些工具使得数据操作变得更为高效和便捷。本文将详细介绍Oracle的导入导出工具及其使用方法。 1. **Data Pump (expdp/impdp)** Oracle Data Pump...

    Oracle导入导出工具

    Oracle导入导出工具是数据库管理员和开发人员在处理Oracle数据库时不可或缺的实用程序,它可以显著提高工作效率并简化数据管理任务。Oracle数据库系统以其强大的功能和稳定性而闻名,但随着数据量的增长,对数据进行...

    ORACLE导入导出详解

    ORACLE导入导出详解\ ORACLE导入导出详解 ORACLE导入导出详解

    oracle导入导出代码

    ### Oracle导入导出概述 #### 1. Oracle导入导出工具 Oracle提供了多种工具来实现数据的导入导出功能,主要包括`EXPDP`(Export Data Pump)和`IMPDP`(Import Data Pump)。这些工具相较于早期版本中的`EXP`和`IMP...

    oracle导入导出DMP数据库

    Oracle 导入导出 DMP 数据库 Oracle 导入导出 DMP 数据库是指使用 Oracle 数据库管理系统提供的导入导出工具,实现数据库的导入和导出。这里我们将详细介绍两种方法:使用客户端 Enterprise Manager Console 和使用...

    oracle导入导出文档及视频.zip

    本资源“oracle导入导出文档及视频.zip”包含了Windows环境下通过命令行操作Oracle数据库进行导出(exp)和导入(imp)的详细教程和实例演示。以下是关于这个主题的深入讲解。 一、Oracle导入导出概述 Oracle...

    Oracle导入导出笔记

    ### Oracle导入导出知识点 #### 一、Oracle 导入导出工具简介 在Oracle数据库管理中,数据的备份与恢复是一项重要的工作。Oracle提供了多种工具来实现这一目标,其中最为常用的便是`exp`(Export)和`imp`(Import...

    Oracle数据库导入导出工具

    本工具是一款基于Java编写的桌面应用程序,专为Oracle数据库的导入导出提供便利。 1. **Oracle数据库导入导出的重要性** - 数据迁移:当需要将数据从一个Oracle实例迁移到另一个实例时,导入导出工具是关键。 - ...

    oracle 导入导出命令详解

    oracle数据库导入导出命令imp exp impdp expdp的使用详解,很有用!

    oracle导入导出dmp

    Oracle 导入导出 DMP 文件详解 Oracle 是一种广泛使用的关系型数据库管理系统,导入导出 DMP 文件是 Oracle 数据库管理员和开发者经常遇到的一个重要任务。下面将详细介绍 Oracle 导入导出 DMP 文件的步骤和相关...

    oracle导入导出数据

    Oracle 数据库的导入导出是数据库管理中的重要环节,它涉及到数据的安全性、恢复性和效率。Oracle 提供了多种工具来实现数据的备份与恢复,其中最常用的是 EXPDP(Export Data Pump)和 IMPDP(Import Data Pump)...

    oracle导入导出(imp,exp本机或异机恢复)-详细笔记文档总结

    Oracle 导入导出(imp,exp 本机或异机恢复) Oracle 的数据库导入导出(imp/exp)是数据库管理员经常使用的两个命令,它们分别用于数据库的导出和导入。本文档总结了 Oracle 数据库的完全导入导出、imp 和 exp 命令...

    oracle 导入导出部分数据

    ### Oracle导入导出部分数据:基础知识与应用场景 #### 基础知识 Oracle提供了两种主要的数据导入导出工具:`expdp` 和 `impdp`(用于数据泵导入导出),以及 `exp` 和 `imp`(较旧的命令行工具)。其中,`expdp` ...

    Oracle 导入导出命令集.chm

    Oracle 导入导出命令集.chm Oracle 导入导出命令集.chm

    oracle导入导出建表空间.txt

    oracle导入导出建表空间语句:建用户;建表空间;用户授权dba;导入导出;

    oracle导入导出命令

    ### Oracle导入导出命令详解 Oracle数据库作为一款广泛使用的数据库管理系统,在数据迁移、备份与恢复等方面具有非常重要的作用。在日常运维工作中,我们经常会用到Oracle的导入(Import)和导出(Export)命令来...

Global site tag (gtag.js) - Google Analytics