oracle import/export 命令[通俗易懂]

oracle import/export 命令[通俗易懂]exp/imp实例   exphelp=y查看帮助exp1、expusr/pwd@sid file=c:\tb.dump tables=tb1  如果是导出多个表,tables=(tb1、tb2)2、expusr/pwd@sid file=c:\tb.dump –全部导出3、expusr/pwd@sid file=c:\tb.dump owne

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

 

exp/imp 实例
    exp help=y 查看帮助
exp
1、exp

usr/pwd@sid
  file=c:\tb.dump  tables=tb1
   如果是导出多个表,tables=(tb1、tb2)
2、exp

usr/pwd@sid
  file=c:\tb.dump  –全部导出
3、exp

usr/pwd@sid
  file=c:\tb.dump  owner=(system,sys) 
   将用户system和sys用户下的表都导出
4、exp

usr/pwd@sid
  file=c:\tb.dump  tables=tb1 query=\”where name=’ha’\”
   注意分号的位置
通过以下命令可以查看说明。
c:\>imp help=y
c:\>exp help=y
oracle Export and Import 简介
1、Export/Import的用处
Oracle Export/Import工具用于在数据库之间传递数据。 
Export从数据库中导出数据到dump文件中 
Import从dump文件中到入数据导数据库中 
下面是一般使用他们的情况 
(1)、两个数据库之间传送数据 
       同一个版本的oracle Server之间 
       不同版本的oracle Server之间 
       同种OS之间 
       不同种OS之间 
(2)、用于数据库的备份和恢复 
(3)、从一个SCHEMA传送到另一个SCHEMA 
(4)、从一个TABLESPACE传送到另一个TABLESPACE 

2、DUMP文件 
EXPORT到出的是二进制格式的文件,不可以手工编辑,否则会损坏数据。 
该文件在ORACLE支持的任何平台上都是一样的格式,可以在各平台上通用。 

DUMP文件在IMPORT时采用向上兼容方式,就是说ORALCE7的DUMP文件可以导入 
到ORACLE8中,但是版本相差很大的版本之间可能有问题。 

3、EXPORT/IMPORT过程 
EXPORT导出的DUMP文件包含两种基本类型的数据 
    – DDL 
    – Data 
DUMP文件包含所有重新创建Data Dictionary的DDL语句,基本上是可以读的格式。
但是应该注意的是,千万不要用文本编辑器编辑之,oracle说不支持这样做的。

4、IMPORT时的对象倒入顺序 
在倒入数据时,ORACLE有一个特定的顺序,可能随数据库版本不同而有所变化。           
                           
按这个顺序主要是解决对象之间依赖关系可能产生的问题。TRIGGER最后导入,所以在INSERT 
数据到数据库时不会激发TRIGGER。在导入后可能会有一些状态是INVALID的PROCEDURE,主要 
是IMPORT时会影响一些数据库对象,而IMPORT并不重新编译PROCEDURE,从而造成这种情况, 
可以重新编译之,就能解决这个问题。 

5、兼容性问题 
IMPORT工具可以处理EXPORT 5.1.22之后的版本导出的DUMP文件,所以你用ORACL E7的IMPORT 
处理ORACLE6的DUMP文件,依次类推,但是ORACLE如果版本相差很大有可能不能处理。具体的 
问题可以参照相应的文档,比如有关参数设置等(COMPATIBLE参数) 

6、EXPORT需要的VIEW 
EXPORT需要的VIEW是由CATEXP.SQL创建,这些内部VIEW用于EXPORT组织DUMP文件中数据格式。 
大部分VIEW用于收集创建DDL语句的,其他的主要供ORACLE开发人员用。 

这些VIEW在不同ORACLE版本之间有可能不同,每个版本可能都有新的特性加入。
所以在新的版本里面执行旧的dump文件会有错误,一般可以执行CATEXP.SQL解决这些问题,
解决向后兼容问题的一般步骤如下: 
   
  导出数据库的版本比目标数据库老的情况: 
  – 在需要导入的目标数据库中执行旧的CATEXP.SQL 
  – 使用旧的EXPORT导出DUMP文件  
  – 使用旧的IMPORT导入到数据库中 
  – 在数据库中执行新的CATEXP.SQL,以恢复该版本的EXPORT VIEW 

  导出数据库的版本比目标数据库新的情况: 
  – 在需要导入的目标数据库中执行新的CATEXP.SQL 
  – 使用新的EXPORT导出DUMP文件  
  – 使用新的IMPORT导入到数据库中 
  – 在数据库中执行旧的CATEXP.SQL,以恢复该版本的EXPORT VIEW 

7、碎片整理 
EXPORT/IMPORT一个很重要的应用方面就是整理碎片。因为如果时初次IMPPORT,就会重新CREATE TABLE 再导入数据,所以整张表都是连续存放的。另外缺省情况下下EXPORT会在生成DUMP文件是“压缩(COMPRESS)”TABLE,但是这种压缩在很多情况下被误解。事实上,COMPRESS是改变STORAGE参数INITIAL的值。比如: 

  CREATE TABLE …. STORAGE( INITIAL 10K NEXT 10K..) 
  现在数据已经扩展到100个EXTENT,如果采用COMPRESS=Y来EXPORT数据, 
  则产生的语句时 STORAGE( INITIAL 1000K NEXT 10K) 

  我们可以看到NEXT值并没有改变,而INITIAL是所有EXTENT的总和。所以会出现
如下情况,表A有4个100M的EXTENT,执行DELETE FROM A,然后再用COMPRESS=Y 导
出数据,产生的CREATE TABLE语句将有400M的INITIAL EXTENT。即使这是TABLE中
已经没有数据!!这是的DUMP文件即使很小,但是在IMPORT时就会产生一个巨大的TABLE. 

  另外,也可能会超过DATAFILE的大小。比如,有4个50M的数据文件,其中表A有
15个10M的EXTENT,如果采用COMPRESS=Y的方式导出数据,将会有INITIAL=150M,
那么在重新导入时,不能分配一个150M的EXTENT,因为单个EXTENT不能跨多个文件。 

8、在USER和TABLESPACE之间传送数据 
一般情况下EXPORT的数据要恢复到它原来的地方去。如果SCOTT用户的表以TABLE 或USER方式EXPORT数据,在IMPORT时,如果SCOTT用户不存在,则会报错! 以FULL方式导出的数据带有CREATE USER的信息,所以会自己创建USER来存放数据。 

当然可以在IMPORT时使用FROMUSER和TOUSER参数来确定要导入的USER,但是要保证 
TOUSER一定已经存在啦。

9、EXPORT/IMPORT对SQUENCE的影响 
在两种情况下,EXPORT/IMPORT会对SEQUENCE。 
(1)如果在EXPORT时,用户正在取SEQUENCE的值,可能造成SEQUENCE的不一致。
(2)另外如果SEQUENCE使用CACHE,在EXPORT时,那些在CACHE中的值就会被忽略的, 
     只是从数据字典里面取当前值EXPORT。 

如果在进行FULL方式的EXPORT/IMPORT时,恰好在用sequence更新表中某列数据,而且不是上面两种情况,则导出的是更新前的数据。 

如果采用常规路径方式,每一行数据都是用INSERT语句,一致性检查和INSERT T  RIGGER 
如果采用DIRECT方式,某些约束和trigger可能不触发,如果在trigger中使用sequence.nextval,将会对sequence有影响。

再保存个东西:
查看当前用户每个表占用空间的大小:
    Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name

查看每个表空间占用空间的大小:
    Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name

 
本文转自:
 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/197203.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • PHP性能提升之opcache「建议收藏」

    PHP性能提升之opcache「建议收藏」     php的不同版本的迭代,都有优化(这是废话),php7,已经出来这么久了,可以说说是相当成熟了,php7的性能提升相对于php5.6等版本的状况,不只是一点儿,而是极大的提升了php的性能。    php自带的缓存有apc,O+。在PHP5.5开始,已经随着PHP的源代码一起发布,并且改名为:Opcache.OPcache 为什么可以优化?   …

  • SPSS步骤|卡方检验详细操作和结果分析「建议收藏」

    SPSS步骤|卡方检验详细操作和结果分析「建议收藏」​卡方检验是很常用的一种分析方法,什么情况下使用卡方检验?如果你手上的数据是一种定类数据,比如性别(男、女)是否患病(是、否)。你还想要分析定类数据和定类数据之间的差异关系。例如想要分析性别和是否抽烟之间的关系。这一句话里面包含两个词语,分别是:性别,是否抽烟。性别为X,是否抽烟为Y。性别为定类数据,是否抽烟也是定类数据,此时就可以使用卡方检验。这篇文章分享分别使用两种常见统计分析工具SPSS和SPSSAU完成卡方检验。SPSS是目前常用的统计软件,SPSSAU是更简单的在线数据科学分析工具

  • servlet的基本原理_简述arp的工作原理

    servlet的基本原理_简述arp的工作原理Web技术成为当今主流的互联网Web应用技术之一,而Servlet是JavaWeb技术的核心基础。因而掌握Servlet的工作原理是成为一名合格的JavaWeb技术开发人员的基本要求。本文将带你认识JavaWeb技术是如何基于Servlet工作,以Tomcat为例了解Servlet容器是如何工作的?一个Web工程在Servlet容器中是如何启动的?

  • 多图详解缓冲区溢出问题

    多图详解缓冲区溢出问题蠕虫病毒是一种常见的利用Unix系统中的缺点来进行攻击的病毒。缓冲区溢出一个常见的后果是:黑客利用函数调用过程中程序的返回地址,将存放这块地址的指针精准指向计算机中存放攻击代码的位置,造成程序异常中止。为了防止发生严重的后果,计算机会采用栈随机化,利用金丝雀值检查破坏栈,限制代码可执行区域等方法来尽量避免被攻击。虽然,现代计算机已经可以“智能”查错了,但是我们还是要养成良好的编程习惯,尽量避免写出有漏洞的代码,以节省宝贵的时间!

  • cover letter 和response letter的写法

    cover letter 和response letter的写法http://emuch.net/bbs/viewthread.php?tid=988184&fpage=1投稿感受和体会bydingdang15fromemuch投稿感受和体会bydingdang15fromemuch几个月前认识了小木虫网站,从此就喜欢上了这里.每天有空都上这里,看一下虫友发表论文的经验,体会,怎么投稿,怎么回复审稿人的意见等,还有热心虫友提供的英文

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号