`
xinguangduan
  • 浏览: 16656 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle常用数据操作命令示例

 
阅读更多

1. 获取帮助

 imp help=y

2. 导入一个完整数据库

 imp system/manager file=bible_db log=dible_db full=y ignore=y

3. 导入一个或一组指定用户所属的全部表、索引和其他对象

 imp system/manager file=seapark log=seapark fromuser=seapark imp 
 system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)

4. 将一个用户所属的数据导入另一个用户

 imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copy
 imp system/manager file=tank log=tank fromuser=(seapark,amy)
 touser=(seapark1, amy1)

5. 导入一个表

 imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)

6. 从多个文件导入

 imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4) 
log=paycheck, filesize=1G full=y

7. 使用参数文件

 imp system/manager parfile=bible_tables.par

bible_tables.par参数文件:

 #Import the sample tables used for the Oracle8i Database Administrator's 
Bible. fromuser=seapark touser=seapark_copy file=seapark log=seapark_import

8. 增量导入

 imp system./manager inctype= RECTORE FULL=Y FILE=A
Oracle imp/exp

C:Documents and Settingsadministrator>exp help=y

Export: Release 9.2.0.1.0 - Production on 星期三 7月 28 17:04:43 2004

Copyright (c) 1982, 2002, Oracle Corporation.   All rights reserved.

通过输入 EXP 命令和用户名/口令,您可以 后接用户名/口令的命令:

例程: EXP SCOTT/TIGER

或者,您也可以通过输入跟有各种参数的 EXP 命令来控制“导出” 按照不同参数。要指定参数,您可以使用关键字:

格式: EXP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN) 例程: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR) 或 TABLES=(T1: P1,T1: P2),如果 T1 是分区表

USERID 必须是命令行中的第一个参数。

关键字   说明(默认)         关键字       说明(默认) -------------------------------------------------------------------------- USERID    用户名/口令            FULL          导出整个文件 (N) BUFFER    数据缓冲区大小          OWNER      所有者用户名列表 FILE        输出文件 (EXPDAT.DMP)   TABLES        表名称列表 COMPRESS    导入到一个区 (Y) RECORDLENGTH IO 记录的长度 GRANTS   导出权限 (Y)            INCTYPE       增量导出类型 INDEXES     导出索引 (Y)          RECORD        跟踪增量导出 (Y) DIRECT      直接路径 (N)             TRIGGERS      导出触发器 (Y) LOG         屏幕输出的日志文件   STATISTICS    分析对象 (ESTIMATE) ROWS     导出数据行 (Y)         PARFILE       参数文件名 CONSISTENT 交叉表的一致性 (N) CONSTRAINTS   导出的约束条件 (Y)

OBJECT_CONSISTENT     只在对象导出期间设置为读的事务处理 (N) FEEDBACK              每 x 行的显示进度 (0) FILESIZE              每个转储文件的最大大小 FLASHBACK_SCN         用于将会话快照设置回以前状态的 SCN FLASHBACK_TIME        用于获取最接近指定时间的 SCN 的时间 QUERY                 用于导出表的子集的 select 子句 RESUMABLE             遇到与空格相关的错误时挂起 (N) RESUMABLE_NAME        用于标识可恢复语句的文本字符串 RESUMABLE_TIMEOUT     RESUMABLE 的等待时间 TTS_FULL_CHECK        对 TTS 执行完整的或部分相关性检查 TABLESPACES           要导出的表空间列表 TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N) TEMPLATE              调用 iAS 模式导出的模板名

在没有警告的情况下成功终止导出。 ==================================================

C:Documents and Settingsadministrator>imp help=y

Import: Release 9.2.0.1.0 - Production on 星期三 7月 28 17:06:54 2004

Copyright (c) 1982, 2002, Oracle Corporation.   All rights reserved.

可以通过输入 IMP 命令和您的用户名/口令 后接用户名/口令的命令:

例程: IMP SCOTT/TIGER

或者, 可以通过输入 IMP 命令和各种参数来控制“导入” 按照不同参数。要指定参数,您可以使用关键字:

格式: IMP KEYWORD=value 或 KEYWORD=(value1,value2,...,vlaueN) 例程: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N 或 TABLES=(T1: P1,T1: P2),如果 T1 是分区表

USERID 必须是命令行中的第一个参数。

关键字   说明(默认)         关键字       说明(默认) -------------------------------------------------------------------------- USERID    用户名/口令            FULL          导入整个文件 (N) BUFFER    数据缓冲区大小          FROMUSER      所有人用户名列表 FILE      输入文件 (EXPDAT.DMP)     TOUSER        用户名列表 SHOW      只列出文件内容 (N) TABLES       表名列表 IGNORE    忽略创建错误 (N)     RECORDLENGTH   IO 记录的长度 GRANTS   导入权限 (Y)            INCTYPE       增量导入类型 INDEXES 导入索引 (Y)           COMMIT        提交数组插入 (N) ROWS     导入数据行 (Y)         PARFILE       参数文件名 LOG       屏幕输出的日志文件    CONSTRAINTS   导入限制 (Y) DESTROY                 覆盖表空间数据文件 (N) INDEXFILE               将表/索引信息写入指定的文件 SKIP_UNUSABLE_INDEXES   跳过不可用索引的维护 (N) FEEDBACK                每 x 行显示进度 (0) TOID_NOVALIDATE         跳过指定类型 ID 的验证 FILESIZE                每个转储文件的最大大小 STATISTICS              始终导入预计算的统计信息 RESUMABLE             在遇到有关空间的错误时挂起 (N) RESUMABLE_NAME          用来标识可恢复语句的文本字符串 RESUMABLE_TIMEOUT       RESUMABLE 的等待时间 COMPILE                 编译过程, 程序包和函数 (Y) STREAMS_CONFIGURATION   导入 Streams 的一般元数据 (Y) STREAMS_INSTANITATION   导入 Streams 的实例化元数据 (N)

下列关键字仅用于可传输的表空间 TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N) TABLESPACES 将要传输到数据库的表空间 DATAFILES 将要传输到数据库的数据文件 TTS_OWNERS 拥有可传输表空间集中数据的用户

成功终止导入,但出现警告。

 

 

 

oracle的imp和exp的一些用法- -

                                       

 

Oracle8i/9i EXP/IMP使用经验   一、8i EXP常用选项

1、FULL,这个用于导出整个数据库,在ROWS=N一起使用时,可以导出整个数据库的结构。例如:

exp sys file=./db_str.dmp log=./db_str.log full=y rows=n compress=y direct=y

2、BUFFER和FEEDBACK,在导出比较多的数据时,我会考虑设置这两个参数。例如:

exp new file=yw97_2003.dmp log=yw97_2003_3.log feedback=10000 buffer=100000000 tables=WO4,OK_YT

3、FILL和LOG,这两个参数分别指定备份的DMP名称和LOG名称,包括文件名和目录,例子见上面。

需要说明的是,EXP可以直接备份到磁带中,即使用FILE=/dev/rmt0(磁带设备名),但是一般我们都不这么做,原因有二:一、这样做的速度会慢很多,二、现在一般都是使用磁带库的,不建议直接对磁带进行操作。至于没有使用磁带库的朋友可以考虑和UNIX的TAR结合使用。

如果你真想使用EXP直接到磁带,你可以参考Metalink文章“EXPORTING TO TAPE ON UNIX SYSTEMS”(文档号:30428.1),该文中有详细解释。

4、COMPRESS参数将在导出的同时合并碎块,尽量把数据压缩到initial的EXTENT里,默认是N,一般建议使用。DIRECT参数将告诉EXP直接读取数据,而不像传统的EXP那样,使用SELECT来读取表中的数据,这样就减少了SQL语句处理过程。一般也建议使用。不过有些情况下DIRECT参数是无法使用的。

5、如何使用SYSDBA执行EXP/IMP?

这是一个很现实的问题,有时候我们需要使用SYSDBA来执行EXP/IMP,如进行传输表空间的EXP/IMP,以及在9i下用SYS用户来执行EXP/IMP时,都需要使用SYSDBA才可。我们可以使用下面方式连入EXP/IMP:

exp "'sys/sys as sysdba'" file=1.dmp tables=gototop.t rows=n

6、QUERY参数后面跟的是where条件,值得注意的是,整个where子句需要使用""括起来,where子句的写法和SELECT中相同,如果是UNIX平台所有"和'都需要使用u26469屏蔽它们的特殊含义:

exp gototop/gototop file=1.dmp log=1.log tables=cyx.t query="where c1=20 and c2=gototop"

如果是windows平台,则使用下面的格式:

exp c/c@ncn file=c.dmp log=c.log tables=t query="""where id=1 and name='gototop'"""

二、8i IMP常用选项

1、FROMUSER和TOUSER,使用它们实现将数据从一个SCHEMA中导入到另外一个SCHEMA中。

2、IGNORE、GRANTS和INDEXES,其中IGNORE参数将忽略表的存在,继续导入,这个对于需要调整表的存储参数时很有用,我们可以先根据实际情况用合理的存储参数建好表,然后直接导入数据。而GRANTS和INDEXES则表示是否导入授权和索引,如果想使用新的存储参数重建索引,或者为了加快到入速度,我们可以考虑将INDEXES设为N,而GRANTS一般都是Y。

另外一个EXP/IMP都有的参数是PARFILE,它是用来定义EXP/IMP的参数文件,也就是说,上面的参数都可以写在一个参数文件中,但我们一般很少使用。

三、Oracle9i EXP功能描述

Oracle9i EXP在原有的基础上新增了部分新的参数,按功能主要分为以下几个部分:

1、OBJECT_CONSISTENT - 用于设置EXP对象为只读以保持对象的一致性。默认是N。

2、FLASHBACK_SCN和FLASHBACK_TIME - 用于支持FLASHBACK功能而新增。

3、RESUMABLE、RESUMABLE_NAME和RESUMABLE_TIMEOUT - 用于支持RESUMABLE空间分配而新增。

4、TTS_FULL_CHECK - 用于在传输表空间时使用依赖性检查。

5、TEMPLATE - 用于支持iAS。

6、TABLESPACES - 设置表空间导出模式。个人觉得对于一般用户而言,这个才是新增参数中最实用的一个,可以让用户在原来的FULL、OWNER、TABLES的基础上多了一种选择,使得EXP更加灵活。

四、不同版本的EXP/IMP问题?

一般来说,从低版本导入到高版本问题不大,麻烦的是将高版本的数据导入到低版本中,在Oracle9i之前,不同版本Oracle之间的EXP/IMP可以通过下面的方法来解决:

1、在高版本数据库上运行底版本的catexp.sql;

2、使用低版本的EXP来导出高版本的数据;

3、使用低版本的IMP将数据库导入到底版本数据库中;

4、在高版本数据库上重新运行高版本的catexp.sql脚本。

但在9i中,上面的方法并不能解决问题。如果直接使用底版本EXP/IMP会出现如下错误:

EXP-00008: ORACLE error %lu encountered

ORA-00904: invalid column name

这已经是一个公布的BUG,需要等到Oracle10.0才能解决,BUG号为2261,你可以到METALINK上去查看有关此BUG的详细信息。

BUG归BUG,我们的工作还是要做,在没有Oracle的支持之前,我们就自己解决。在Oracle9i中执行下面的SQL重建exu81rls视图即可。

CREATE OR REPLACE view exu81rls  

(objown,objnam,policy,polown,polsch,polfun,stmts,chkopt,enabled,spolicy)  

AS select u.name, o.name, r.pname, r.pfschma, r.ppname, r.pfname,  

decode(bitand(r.stmt_type,1), 0,'', 'SELECT,')  

|| decode(bitand(r.stmt_type,2), 0,'', 'INSERT,')  

|| decode(bitand(r.stmt_type,4), 0,'', 'UPDATE,')  

|| decode(bitand(r.stmt_type,8), 0,'', 'DELETE,'),  

r.check_opt, r.enable_flag,  

DECODE(BITAND(r.stmt_type, 16), 0, 0, 1)  

from user$ u, obj$ o, rls$ r  

where u.user# = o.owner#  

and r.obj# = o.obj#  

and (uid = 0 or  

uid = o.owner# or  

exists ( select * from session_roles where role='SELECT_CATALOG_ROLE')  

)  

/  

grant select on sys.exu81rls to public;  

/  

五、其他问题

本文只讨论了Oracle8i和9i中的EXP/IMP的一些情况,对于之前的版本,在8.0.X中,除了QUERY参数不能用外,其它差别不大。针对没有QUERY的情况,我们可以先在数据库中使用查询条件建立临时中间表,然后使用EXP导出这个中间表即可。至于Oracle7因为目前使用的人较少,gototop不打算在此做详细解释了,如果读者朋友有需求,你可以参考Metalink文档:“Overview of Export and Import in Oracle7”(文档号:61949.1)。关于EXP/IMP的详细参数信息你可以通过EXP/IMP HELP=Y来获得。

另外关于传输表空间的更多信息可以参考下面的Metelink文档,本文不再详述。

[NOTE:77523.1] Transportable Tablespaces -- An Example to setup and use.  

[NOTE:100698.1] Perform tablespace point-in-time recovery using Transportable Tablespace.  

在进行并行EXP/IMP的时候,如果IMP过程建索引的话不建议同时运行5个以上的IMP,如果你想加快速度

分享到:
评论

相关推荐

    ORACLE数据库操作总结大全

    集成了完整的数据库操作...内容从登录操作、表空间与段、常用工具、SQL Plus常用命令、常用数据类型、SQL分类、数据操作(DML)、标量函数的使用、对象管理(DDL)、约束、用户管理、权限管理、角色管理、表空间与段

    Oracle11g从入门到精通2

    3.6 Oracle常用函数 3.6.1 字符类函数 3.6.2 数字类函数 3.6.3 日期类函数 3.6.4 转换类函数 3.6.5 聚集类函数 第4章 Oracle PL/SQL语言及编程 4.1 PL/SQL简介 4.1.1 PL/SQL的基本结构 4.1.2 ...

    ORACLE11G宝典.rar 是光盘里面的内容,书太厚咧没法影印啊

     《Oracle11g宝典》以Oracle提供的示例数据库为背景,从基本原理、理论提高、实际操作、经验策略、应用开发等方面,结合命令行方式、开发工具的使用、管理工具的使用、Oracle与Windows之间的关系等知识点,按照学习...

    数据库帮助文档

    Oracle知识库.chm 介绍Oracle相关常用命令介绍及DBA需知 SQL语法范例大全SQL和Oracle通解.chm 介绍两种数据库间的差异及相关示例 2.SQL帮助文档 SQL Server精华 (CHM).chm 介绍SQLServer相关语法,数据备份等 ...

    Oracle 11g数据库最佳入门教程 - 萧文龙 & 李逸婕 & 张雅茜

    萧文龙、李逸婕、张雅茜编著的《Oracle11g数 据库*佳入门教程》从基础知识入手,结合示例讲解 ,全书共分17章,在讲述数据库原理的同时,详细介 绍了数据库的管理、表空间的管理、表的管理、数据 的操作与管理、用户...

    Oracle11g从入门到精通

    3.6 Oracle常用函数 3.6.1 字符类函数 3.6.2 数字类函数 3.6.3 日期类函数 3.6.4 转换类函数 3.6.5 聚集类函数 第4章 Oracle PL/SQL语言及编程 4.1 PL/SQL简介 4.1.1 PL/SQL的基本结构 4.1.2 PUSQL注释 ...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    9.2.1 示例数据 226 9.2.2 剖析Model子句 227 9.2.3 规则 228 9.3 位置和符号引用 229 9.3.1 位置标记 229 9.3.2 符号标记 230 9.3.3 FOR循环 231 9.4 返回更新后的行 232 9.5 求解顺序 233 9.5.1 行求解...

    oracle实验报告

    (2) 练习标准SQL的数据操作,查询命令及其查询优化。 (3) 学会使用高级SQL命令,排序、分组、自连接查询等。 (4) 学会使用SQL*PLUS命令显示报表,存储到文件等。 【实验内容】 一、 准备使用SQL*PLUS 1. 进入SQL*...

    Oracle8i_9i数据库基础

    §1.6 常用数据字典简介 37 §1.7 ORACLE数据类型 38 §1.8 SQL 语句基础 44 §1.8.1 SQL语句所用符号 44 §1.8.2 简单select 查询 45 §1.9 伪列及伪表 46 §1.10 使用SQL Worksheet工作 46 第二章 查询基础 50 §...

    Oracle基本知识学习

    基本概念、常用命令、常用表、数据类型、表操作基础、约束、运算符、基础查询、高级查询、视图、程序块、流程控制等,不仅全面而且详细,每步都有示例,初学者必备。 常用的查询文档,值得收藏。

    oracle安装及备份

    Oracle数据导入导出imp/exp命令 --如何在oracle中导入dmp数据库文件? 2006/2/16 zhanghua first create Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地...

    C#的常用数据库连接

    1 连接SQL Server数据库示例, 2 // 连接到 ACCESS 的连接字符串 3 // 连接到 Oracle 数据库示例,4 SqlCommand 执行SQL命令示例,5 SqlDataReader 读取数据示例, 6 使用DataAdapter填充数据到DataSet,7 使用...

    数据库基础

    §1.6 常用数据字典简介 37 §1.7 ORACLE数据类型 38 §1.8 SQL 语句基础 44 §1.8.1 SQL语句所用符号 44 §1.8.2 简单select 查询 45 §1.9 伪列及伪表 46 §1.10 使用SQL Worksheet工作 46 第二章 查询基础 50 §...

    PL/SQL 基础.doc

    2) Oracle客户端工具访问Oracle服务器的操作语言; 3) Oracle对SQL的扩充; 4. PL/SQL的优缺点 优点:1) 结构化模块化编程,不是面向对象; 2) 良好的可移植性(不管Oracle运行在何种操作系统); 3) 良好的可...

    报表源码V2.0DotNet(C#,VB)

    用户只需提供一个DataTable对象,因此报表支持目前流行的各种数据库格式,比如SQL Server、Oracle、Access等常用数据库格式。 另外,用户也通过赋值报表的SelectSQL属性(设置针对SQL作为 Gscr.Report 数据源运行的...

    报表源码Gscr ReportV3.0(C#,VB)

    用户只需提供一个DataTable对象,因此报表支持目前流行的各种数据库格式,比如SQL Server、Oracle、Access等常用数据库格式。 另外,用户也通过赋值报表的SelectSQL属性(设置针对SQL作为 Gscr.Report 数据源运行的...

    asp.net知识库

    ADO.NET 2.0 大批量数据操作和多个动态的结果集 ADO.NET 2.0 异步处理 在ASP.NET中使用WINDOWS验证方式连接SQL SERVER数据库 改进ADO.Net数据库访问方式 ASP.NET 2.0 绑定高级技巧 简单实用的DataSet更新数据库的类+...

    RMAN测试演练即讲解

    (1) 自动备份控制文件如前面示例show all后修改的参数 CONFIGURE CONTROLFILE AUTOBACKUP ON; 那么每次备份会自动备份控制文件。 (2) 手动备份控制文件 backup current controlfile; (3) 列出备份过的...

    亮剑.NET深入体验与实战精要2

    5.5.1 Oracle和SQL Server的常用函数对比 240 5.5.2 Oracle和SQL Server的语句区别 244 5.5.3 ASP.NET连接Oracle失败的解决方法 245 本章常见技术面试题 246 常见面试技巧之经典问题巧回答 246 本章小结 247 第6章 ...

Global site tag (gtag.js) - Google Analytics