`

oracle中imp命令01

 
阅读更多

imp hanfei/hanfei@orcl file=D:\2014115_2_zskdms.dmp fromuser=hanfei touser='hanfei' full=y buffer=5400000

 

imp使用的基本格式:imp[username[/password[@service]]]

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

--------------------------------------------------------------------------

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 模式导出的模板名

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

--------------------------------------------------------------------------

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.


六.对于有跨schema的index,imp时可能会报
“Segmentation fault”错误。

例如schema A中建有基于schema B表的索引,在导入A时会报上述错误,此时通过
indexes=n来屏蔽导入索引以防止错误,事后可以用以下语句查出这样的索引,最好将
索引放在和基表在同一个schema。

SQL>select index_name,owner,table_name,table_owner

from dba_indexes

 where owner!=table_owner;

七.导入到不同于原表空间的表空

原来的数据在USERS表空间里面,我想把它IMP进APP表空间,我已经修改了目的
用户的默认表空间,为什么结果还是IMP到USERS表空间中了呢?

Solution:Oracle并没有提供什么参数来指定要导入哪个表空间,数据默认将导入到原
本导出时数据所在的表空间中,但是我们可以通过以下的方法来实现导入到不同的表空
间。

1.在IMP时候使用INDEXFILE参数

 当给此参数指定了某一文件名,IMP的时候所有的index将不会直接导入到表空间中,
而是在指定的文件中生成创建index的脚本。

 然后用文本编辑器打开此文件,直接编辑脚本中的storage参数,修改为想要导入的表
空间名称。

 然后重新执行IMP,使用INDEXS=n参数将除Index之外的Objects导入。

 最后进入SQL*PLUS,直接运行刚才编辑的脚本,生成索引。

 该方法适用于将index以及constraints导入指定的表空间。

2.改变目的用户的默认表空间

 这就是上面说的经常有人提问的方法。但是上述的问题之所以没有成功,是因为缺少了
下面的几步。

 首先,收回目的用户的"UNLIMITED TABLESPACE"权限:

 revoke unlimited tablespace from username;

 其次,取消目的用户在原数据导出表空间中的配额,这样才能迫使IMP把数据导入到
用户的默认表空间中去。

 然后,将希望导入的表空间设为目的用户的默认表空间,并添加配额。

 最后,执行IMP。

3.使用TOAD

 TOAD是强大的Oracle数据库管理软件,是Quest出品的第三方软件,我们可以使用其
中的Rebuild Multi Objects工具来实现将多个Object转移到指定的表空间。

 于是我们可以不管三七二十一,先IMP,然后再用TOAD作事后的修改。


关于TOAD的使用,此处不作详细解释。

八.导入工具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生成的文件

根据情况我们可以用低版本的oracle客户端的exp导出数据库,然后进行导入操作。

(7)ROLLBACK段不够

 Export/Import使用过程中, 如果数据量很大会出现'ROLLBACK段不够'的错误. 
这时要建一个足够大的ROLLBACK段, 使它ONLINE而其他ROLLBACK段
OFFLINE. 这样, Export/Import使用这个大ROLLBACK段, 从而避免上述现象.

(8)EXPORT/IMPORT对SQUENCE的影响

在两种情况下,EXPORT/IMPORT会对SEQUENCE。

a. 如果在EXPORT时,用户正在取SEQUENCE的值,可能造成SEQUENCE的不
一致。

b. 另外如果SEQUENCE使用CACHE,在EXPORT时,那些在CACHE中的值就
会被忽略 的,只是从数据字典里面取当前值EXPORT。如果在进行FULL方式的
EXPORT/IMPORT时,恰好在用sequence更新表中某列数据, 而且不是上面两种


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

九.ORACLE获取DDL的几种常用的方法

大体的分为三种方法:

1.可以通过toad、plsql develop等第三方工具进行导出DLL操作,用这种办法的好
处在于操作简单方便,但需要安装,下面简单介绍一下用这两个工具获得DLL语句
的操作。

2.直接通过EXP/IMP工具

Oracle提供的最原始最实用的导入导出工具,我们大体上可以分为三种办法实现导
出DDL。

a. 通过imp指定indexfile参数,但这种办法不爽在于有每行前会有REM

语法大体如下:

exp userid=... tables=emp rows=n file=emp.dmp

imp userid=... file=emp.dmp indexfile=emp.sql

b. 通过imp指定show=y,同时指定log参数,格式上也不是很爽,在格式上很美
观的还是通过工具导出的比较美观

语法大体如下:

exp userid=... tables=emp rows=n file= emp.dmp

imp userid=... file= emp.dmp show=y log=emp.sql

c. 利用unix下有strings命令,语法大体如下,这种方法比较野蛮:

exp userid=... tables=tab1 rows=n file=tab1.dmp

strings emp.dmp >emp.sql

emp.sql中就有DLL语句了

3.通过9i的DBMS_METADATA包得到DLL语句

基本上用到的语法如下:

a. 获取单个的建表和建索引的语法


set heading off;

set echo off;

Set pages 999;

set long 90000;

spool DEPT.sql

select dbms_metadata.get_ddl('TABLE','DEPT','SCOTT') from dual;

select dbms_metadata.get_ddl('INDEX','DEPT_IDX','SCOTT') from dual;

spool off;

b.获取一个SCHEMA下的所有建表和建索引的语法,以scott为例:

set pagesize 0

set long 90000

set feedback off

set echo off

spool scott_schema.sql

connect scott/tiger;

SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name)

 FROM USER_TABLES u;

SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name)

 FROM USER_INDEXES u;

spool off;

c. 获取某个SCHEMA的建全部存储过程的语法

connect brucelau /brucelau;

spool procedures.sql

select

 DBMS_METADATA.GET_DDL('PROCEDURE',u.object_name)

from

 user_objects u

where

 object_type = 'PROCEDURE';

spool off;

另:dbms_metadata.get_ddl('TABLE','TAB1','USER1')

三个参数中,第一个指定导出DDL定义的对象类型(此例中为表类型),第二个是
对象名(此例中即表名),第三个是对象所在的用户名。

十.优化exp和imp的性能

exp /imp 可配置一些参数,以改进Export和Import的性能。至于性能具体能提升多


高,则取决于要导出或导入的数据,以及数据量的大小。

导出性能:用以下通用参数改进Export的性能:

DIRECT:对一个Export,将DIRECT参数设为DIRECT=Y,将数据直接转移
到Export客户端。这样的转移绕过SQL命令处理层(估值缓冲区),从而避免了
无谓的数据转换。

RECORDLENGTH:增大RECORDLENGTH参数值,来改进性能。为该参数
推荐的值是DB_BLOCK_SIZE的一个整数倍,或者是文件系统I/O块大小的一个
整数倍。更改这个参数的值会影响写入磁盘前积累的数据量。该参数的最大值为
64千字节(64 KB)。

导入性能:用以下通用参数改进Import的性能:

BUFFER:BUFFER参数指定了缓冲区的大小,数据行将通过这个缓冲区进行转
移,由此便决定了由Import导入的每个阵列插入中的行数。如配合COMMIT=Y
参数指定BUFFER参数,则Import会在每一个阵列插入之后进行提交,而不是在
载入完整的表之后再默认地提交。一个较大的BUFFER参数值有助于改善性能。
但假如BUFFER值过高,会造成OS分页和换行,反而影响性能。

INDEXES。INDEXES参数指定是否导入用户生成的索引。如指定
INDEXES=N,则将提高Import的性能,因为在一个无索引的表中导入数据要快得
多。注意,如果首先用INDEXFILE=返回Import,来在请求的Import模式下提取
索引创建命令,再将其写入指定的文件,那么以后仍可重建索引。

使用INDEXFILE选项时,不会导入数据对象。可对输出文件()进行编辑,
并将其作为一个SQL脚本使用,以便在Import之后创建索引。

另外还可以通过调整一下参数提高exp和imp的性能

. 修改sqlnet.ora在里面增加trace_level_client=off 
. 执行dbmspool.sql然后SQL>begin 
SQL> dbms_shared_pool.sizes(300);

SQL> end;

SQL> /


. sql>ALTER SYSTEM FLUSH SHARED_POOL 
. sql>alter system set LOG_CHECKPOINT_INTERVAL = 
redologfilesizebytes/512bytes=1000 
也可以修改log_checkpoint_timeout=24000


. sql>alter system set fast_start_mttr_target =24000 
. sql>alter system set pga_aggregate_target=100M


没有下commit=y所以只有通过

A.select undtsn,undoblks from v$undostat;的变化来看资料又没有进去了

B. 在imp时通过设定 FEEDBACK=N笔资料来显示Imp的进度

重整的时候如果要drop 掉table重建的话,一定要注意该table上有没有FK等

在EXP /IMP的时候为了加速需要将index=n参数加进exp/imp执行脚本,这样的话在
做完imp后需要recreate index 其实资料量大的话recreate也很花时间,故可以通过在
create index 的脚本里面加入parallel 5;来提速


另I/O可以在Windows 的效能的地方看到

十一.IMPORT时的对象倒入顺序

在倒入数据时,ORACLE有一个特定的顺序,可能随数据库版本不同而有所变化,

但是现在是这样的。

 1. Tablespaces 14. Snapshot Logs

 2. Profiles 15. Job Queues

 3. Users 16. Refresh Groups

 4. Roles 17. Cluster Definitions

 5. System Privilege Grants 18. Tables (also grants,comments,

 6. Role Grants indexes, constraints, auditing)

 7. Default Roles 19. Referential Integrity

8. Tablespace Quotas 20. POSTTABLES actions

9. Resource Costs 21. Synonyms

10. Rollback Segments 22. Views

11. Database Links 23. Stored Procedures

12. Sequences 24. Triggers, Defaults and Auditing

13. Snapshots

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

十二. Imp/exp的模糊导入导出

前段时间在网上看到一篇关于imp/exp模糊导入导出的文章,甚感兴趣,今
天中午做了一个测试,感觉Oracle实在是博大,有很多东西不用的话,对
我们来说永远是一个陌生的地带。揭去面纱,也就那么回事!

说明:使用通配符导出的最大优点,就是当你的库中有很多表,但你又不想
全导,只导其中一部分的时候,你可以尽可能的少写部分代码,提供工作效
率!

我一般喜欢以示例的方式展现或表达一些东西,这样大家可能了解/掌握的
更快以下!毕竟很多东西我们大部分同志知其然就可以了!嘿嘿。^|^

备注:该项特性在9i以后新增

测试过程如下:

SQL> conn study/study

已连接。

SQL>


SQL> create table toms_test_1 (no int);

表已创建。

SQL> create table toms_test_2 (no int);

表已创建。

SQL> create table toms_test_3 (no int);

表已创建。

SQL> insert into toms_test_1 values(1);

已创建 1 行。

SQL> insert into toms_test_2 values(2);

已创建 1 行。

SQL> insert into toms_test_3 values(3);

已创建 1 行。

SQL> commit;

提交完成。

Microsoft Windows XP [版本 5.1.2600]

(C) 版权所有 1985-2001 Microsoft Corp.

C:Documents and Settings>e:

E:>exp study/study tables=(study.toms_test%) file=toms_test.dmp 
rows=y

Export: Release 9.2.0.1.0 - Production on 星期三 6月 7 12:42:32 2006

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

连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

With the Partitioning, OLAP and Oracle Data Mining options

JServer Release 9.2.0.1.0 - Production

已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

即将导出指定的表通过常规路径 ...

. . 正在导出表 TOMS_TEST_1 1 行被导出

. . 正在导出表 TOMS_TEST_2 1 行被导出

. . 正在导出表 TOMS_TEST_3 1 行被导出

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

SQL>

SQL> drop table toms_test_1;

表已丢弃。

SQL> drop table toms_test_2;

表已丢弃。

SQL> drop table toms_test_3;

表已丢弃。

SQL>

SQL> select table_name from tabs where table_name like 'TOMS_TEST%';

未选定行

SQL>


E:>imp study/study file=toms_test.dmp fromuser=study touser=study

Import: Release 9.2.0.1.0 - Production on 星期三 6月 7 12:44:01 2006

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

连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

With the Partitioning, OLAP and Oracle Data Mining options

JServer Release 9.2.0.1.0 - Production

经由常规路径导出由EXPORT:V09.02.00创建的文件

已经完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符集中的导入

. . 正在导入表 "TOMS_TEST_1" 1行被导入

. . 正在导入表 "TOMS_TEST_2" 1行被导入

. . 正在导入表 "TOMS_TEST_3" 1行被导入

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

E:>

SQL> select table_name from tabs where table_name like 'TOMS_TEST%';

TABLE_NAME

------------------------------

TOMS_TEST_1

TOMS_TEST_2

TOMS_TEST_3

SQL> select * from toms_test_1;

NO

----------

1

SQL> select * from toms_test_2;

NO

----------

2

SQL> select * from toms_test_3;

NO

----------

3

SQL>

SQL> select table_name from tabs where table_name like '%TEST%';

TABLE_NAME

------------------------------

TOMS_TEST_1

TOMS_TEST_2

TOMS_TEST_3

SQL>

E:>exp study/study tables=(study.%test%) file=test.dmp rows=y

Export: Release 9.2.0.1.0 - Production on 星期三 6月 7 12:51:56 2006

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


连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

With the Partitioning, OLAP and Oracle Data Mining options

JServer Release 9.2.0.1.0 - Production

已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

即将导出指定的表通过常规路径 ...

. . 正在导出表 TOMS_TEST_1 1 行被导出

. . 正在导出表 TOMS_TEST_2 1 行被导出

. . 正在导出表 TOMS_TEST_3 1 行被导出

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

E:>

SQL> drop table toms_test_1;

表已丢弃。

SQL> drop table toms_test_2;

表已丢弃。

SQL> drop table toms_test_3;

表已丢弃。

SQL>

E:>imp study/study file=test.dmp fromuser=study touser=study

Import: Release 9.2.0.1.0 - Production on 星期三 6月 7 12:53:11 2006

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

连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

With the Partitioning, OLAP and Oracle Data Mining options

JServer Release 9.2.0.1.0 - Production

经由常规路径导出由EXPORT:V09.02.00创建的文件

已经完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符集中的导入

. . 正在导入表 "TOMS_TEST_1" 1行被导入

. . 正在导入表 "TOMS_TEST_2" 1行被导入

. . 正在导入表 "TOMS_TEST_3" 1行被导入

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

E:>

SQL> select table_name from tabs where table_name like '%TEST%';

TABLE_NAME

------------------------------

TOMS_TEST_1

TOMS_TEST_2

TOMS_TEST_3

SQL>

E:>exp study/study tables=(%test%) file=test.dmp rows=y

Export: Release 9.2.0.1.0 - Production on 星期三 6月 7 13:08:56 2006

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


连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

With the Partitioning, OLAP and Oracle Data Mining options

JServer Release 9.2.0.1.0 - Production

已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

即将导出指定的表通过常规路径 ...

. . 正在导出表 TOMS_TEST_1 1 行被导出

. . 正在导出表 TOMS_TEST_2 1 行被导出

. . 正在导出表 TOMS_TEST_3 1 行被导出

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

E:>

SQL> conn toms/toms

已连接。

SQL> create table stu_1 (no int);

表已创建。

SQL> create table stu_2 (no int);

表已创建。

SQL> insert into stu_1 values(1);

已创建 1 行。

SQL> insert into stu_2 values(2);

已创建 1 行。

SQL> commit;

提交完成。

E:>exp study/study tables=(%test%,toms.stu%) file=test.dmp rows=y

Export: Release 9.2.0.1.0 - Production on 星期三 6月 7 13:11:05 2006

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

连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

With the Partitioning, OLAP and Oracle Data Mining options

JServer Release 9.2.0.1.0 - Production

已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

即将导出指定的表通过常规路径 ...

. . 正在导出表 TOMS_TEST_1 1 行被导出

. . 正在导出表 TOMS_TEST_2 1 行被导出

. . 正在导出表 TOMS_TEST_3 1 行被导出

当前的用户已更改为 TOMS

. . 正在导出表 STU_1 1 行被导出

. . 正在导出表 STU_2 1 行被导出

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

SQL> conn study/study

已连接。

SQL> drop table toms_test_1;

表已丢弃。

SQL> drop table toms_test_2;


表已丢弃。

SQL> drop table toms_test_3;

表已丢弃。

SQL> select table_name from tabs where table_name like '%TEST%';

未选定行

SQL> conn toms/toms

已连接。

SQL> drop table stu_1;

表已丢弃。

SQL> drop table stu_2;

表已丢弃。

SQL> select table_name from tabs where table_name like '%STU%';

未选定行

SQL>

E:>imp study/study file=test.dmp fromuser=study touser=study 
tables=(%test%)

Import: Release 9.2.0.1.0 - Production on 星期三 6月 7 13:15:22 2006

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

连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

With the Partitioning, OLAP and Oracle Data Mining options

JServer Release 9.2.0.1.0 - Production

经由常规路径导出由EXPORT:V09.02.00创建的文件

已经完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符集中的导入

. . 正在导入表 "TOMS_TEST_1" 1行被导入

. . 正在导入表 "TOMS_TEST_2" 1行被导入

. . 正在导入表 "TOMS_TEST_3" 1行被导入

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

SQL> conn study/study

已连接。

SQL> select table_name from tabs where table_name like '%TEST%';

TABLE_NAME

------------------------------

TOMS_TEST_1

TOMS_TEST_2

TOMS_TEST_3

SQL> select * from toms_test_1;

NO

----------

1

SQL> select * from toms_test_2;

NO

----------

2


SQL> select * from toms_test_3;

NO

----------

3

SQL>

E:>imp study/study fromuser=toms touser=toms file=test.dmp 
tables=(stu%)

Import: Release 9.2.0.1.0 - Production on 星期三 6月 7 13:23:49 2006

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

连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

With the Partitioning, OLAP and Oracle Data Mining options

JServer Release 9.2.0.1.0 - Production

经由常规路径导出由EXPORT:V09.02.00创建的文件

已经完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符集中的导入

. 正在将TOMS的对象导入到 TOMS

. . 正在导入表 "STU_1" 1行被导入

. . 正在导入表 "STU_2" 1行被导入

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

E:>

SQL> conn toms/toms

已连接。

SQL> select table_name from tabs where table_name like '%STU%';

TABLE_NAME

------------------------------

STU_1

STU_2

SQL> select * from stu_1;

NO

----------

1

SQL> select * from stu_2;

NO

----------

2

SQL>

分享到:
评论

相关推荐

    Oracle exp imp命令详解

    Oracle exp imp命令详解,介绍这两种命令的参数,用法

    Oracle中的imp命令

    Oracle中的imp命令 Oracle中的imp命令是Oracle数据库管理系统中的一种重要工具,用于从数据库中提取数据并将其写入操作系统文件。imp命令的基本格式为:imp[username[/password[@service]]]。 一、imp命令的基本...

    oracle中imp命令详解.pdf

    oracle中imp命令详解. pdf

    linux oracle imp exp 执行命令安装

    通过以上步骤,你可以在Linux环境中成功安装并使用Oracle的`imp`和`exp`命令进行数据的导入和导出操作。在实际应用中,根据具体的网络环境、数据库版本和安全策略,可能还需要进行额外的配置和调整。

    oracle Imp导入数据

    IMP 命令是 Oracle 数据库中的一种数据导入工具,主要用于将数据从一个 Oracle 数据库导入到另一个 Oracle 数据库中。然而,在使用 IMP 命令导入数据时,经常会碰到乱码问题,即导入的数据中出现乱码或问号,导致...

    oracle数据库exp_imp命令详解[参考].pdf

    Oracle 数据库 exp/imp 命令是 Oracle 中最常用的命令之一。它们用于数据库的备份和恢复。exp 命令用于将数据库中的数据导出到文件中,而 imp 命令用于将文件中的数据导入到数据库中。 Oracle 数据库备份方法 ...

    oracle中imp命令详解

    Oracle的导入实用程序(Import utility)允许从数据库提取数据,并且将数据写入操作系统文 件。imp使用的基本格式:imp[username[/password[@service]]],以下例举imp常用用法。

    oracle导入导出命令(imp、exp)

    oracle导入导出命令(imp、exp),描述oracle导入导出的三种方式

    oracle中exp与imp命令详解.pdf

    Oracle 中 exp 与 imp 命令详解 Oracle 数据库中有两种备份方法:物理备份和逻辑备份。物理备份需要数据库运行在归档模式下,并需要大量的外部存储设备。逻辑备份则可以在数据库运行在非归档模式下,不需要外部存储...

    oracle命令 exp&imp命令详解

    在《exp&imp命令详解.pdf》这份文档中,你应该能够找到关于这些命令的详细使用方法、示例以及最佳实践,包括如何处理各种复杂情况和问题。通过深入学习和实践,你将能够熟练掌握Oracle数据库的数据导入和导出,为你...

    oracle数据库imp批量导入多个DMP文件中的bat脚本

    imp方式批量导入dmp文件。oracle数据库bat脚本。需要配置数据库的链接信息和dmp路径信息。

    Oracle数据导入导出技巧之imp/exp命令

     1 将D:daochu.dmp 中的数据导入 TEST数据库中。 imp system/manager@TEST file=d:daochu.dmp imp aichannel/aichannel@HUST full=y file=d:datanewsmgnt.dmp ignore=y  上面可能有点问题,因为有的表已经存在...

    oracle中imp、exp命令详解

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

    oracle exp-imp命令详解.doc

    Oracle的EXP和IMP命令是数据库管理员用于数据导出和导入的重要工具,主要用于逻辑备份和恢复。这些命令在数据库管理中占据着核心地位,特别是在需要备份特定表或整个数据库时。 Oracle EXP(Export)命令用于从...

    Oracle中如何使用imp语句导入不同表空间?

    在实际工作中,有时需要将exp导出的历史备份dmp文件进行恢复,若之前的建表语句及表空间名无法找到,则直接用imp语句进行导入的话可能报错表空间不存在,且导入数据占用空间可能会非常大。使用本文方法可将exp导出的...

    oracle imp exp 命令详解

    Oracle的IMP(Import)和EXP(Export)命令是数据库管理员在Oracle环境中常用的数据导入导出工具。它们分别用于将数据从一个数据库导出到文件,然后将这些数据从文件导入到另一个数据库,或者同一个数据库的不同表...

    oracleClient安装包exp和imp文件.zip

    在这个"oracleClient安装包exp和imp文件.zip"压缩包中,我们主要关注的是这两个工具以及它们在Oracle客户端11.2.0.4.0中的应用。 **Oracle客户端安装包**: Oracle客户端是与Oracle服务器进行通信的软件组件,它...

    Oracle-ImpExp

    在Oracle数据库环境中,数据导入(IMP)和导出(EXP)是常见的任务,用于备份、恢复、数据迁移或在不同环境之间移动数据。 Oracle-ImpExp是基于源代码的,可以从提供的链接...

    Oracle expimp导出导入命令及数据库备份很详细.doc

    Oracle的expimp工具是Oracle数据库管理系统中用于数据迁移和备份的关键组件。它们分别代表了数据导出...通过理解并熟练掌握exp和imp命令,数据库管理员可以有效地管理数据,进行备份和迁移,确保业务连续性和数据安全。

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

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

Global site tag (gtag.js) - Google Analytics