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

exp/imp导出导入工具的使用

阅读更多

exp/imp导出导入工具的使用 

 

一. 导出工具 exp

 

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

 

   exp导出工具将数据库中数据备份压缩成一个二进制系统文件.可以在不同OS间迁移

 

   它有三种模式:

       a.  用户模式: 导出用户所有对象以及对象中的数据;

       b.  表模式: 导出用户所有表或者指定的表;

       c.  整个数据库: 导出数据库中所有对象。

 

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

 

b.  表模式:

$exp scott/tiger tables=(emp,dept) file=/directory/scott.dmp log=/opt/oracle/bak/e.log

 

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

 

 

$exp  "'sys/oracle as sysdba'"  tables=scott.emp  file=d:/d11.dmp ,d:/d12.dmp  filesize=1m log=/opt/oracle/bak/e.log

 

      filesize指定生成的二进制备份文件的最大字节数

 

     (可用来解决某些OS下2G物理文件的限制及加快压缩速度和方便刻历史数据光盘等)

以多个固定大小文件方式导出:这种做法通常用在表数据量较大,单个 dump文件可能会超出文件系统的限制的情况

 

a.  用户模式

$exp scott/tiger owner=scott  file=/opt/oracle/bak/scott.dmp  log=/opt/oracle/bak/e.log

 

c.  整个数据库

$exp system/oracle  full=y   file=/opt/oracle/bak/full.dmp  log=/opt/oracle/bak/e.log

 

 

3.远程数据库导出到本地:

$exp system/oracle@orcl owner=scott  file=/opt/oracle/bak/scott.dmp  log=/opt/oracle/bak/e.log

(配制好网络服务名 ip,端口号)

 

 

二.导入工具 imp

 

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

 

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

 

   只有拥有IMP_FULL_DATABASE和DBA权限的用户才能做整个数据库导入

 

   imp步骤:

   (1) create table  (2) insert data  (3) create index (4) create triggers,constraints

 

 

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

eg1:

$>imp  scott/tiger tables=emp file=c:/bak/e1.dmp ignore=y

注意:导入时候,表已经存在,需要加上ignore=y(忽略表结构存在,创建表在插入记录) 

如果该表有唯一性约束,并且已经存在行记录,那么要去除约束后再导入

 

 

 

eg2:

将a用户的表导入到b用户下:

 

[oracle@node247 ~]exp scott/tiger tables=a file=/opt/oracle/bak/emp.dmp

 

[oracle@node247 ~]imp system/oracle tables=a  file=/opt/oracle/bak/emp.dmp fromuser=scott touser=system

 

SQL> show user

USER is "SYSTEM"

SQL> desc a

 Name                                      Null?    Type

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

 EMPNO                                              NUMBER(4)

 ENAME                                              VARCHAR2(10)

 JOB                                                VARCHAR2(9)

 MGR                                                NUMBER(4)

 HIREDATE                                           DATE

 SAL                                                NUMBER(7,2)

 COMM                                               NUMBER(7,2)

 DEPTNO                                             NUMBER(2)

 

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

 

(1) 数据库对象已经存在

一般情况, 导入数据前应该彻底删除目标数据下的表, 序列, 函数/过程,触发器等;  

数据库对象已经存在, 按缺省的imp参数, 则会导入失败

如果用了参数ignore=y, 会把exp文件内的数据内容导入

如果表有唯一关键字的约束条件, 不合条件将不被导入

如果表没有唯一关键字的约束条件, 将引起记录重复

(2) 数据库对象有主外键约束

      不符合主外键约束时, 数据会导入失败

      解决办法: 先导入主表, 再导入依存表

disable目标导入对象的主外键约束, 导入数据后, 再enable它们

 

alter table dept disable constraint pk_dept cascade;(cascade将参照pk_dept参照完整性约束也置为不可用)。

还原:

drop constraint 后 重建;

alter table dept enable constraint pk_dept;

alter table emp enable constraint fk_deptno;

 

 

eg:

exp scott/tiger tables=emp file=d:/e1.dmp

 

SQL> ALTER TABLE EMP DISABLE CONSTRAINT PK_EMP;

 

imp scott/tiger tables=emp file=d:/e1.dmp ignore=y INDEXES=N 

 

 

SQL> ALTER TABLE EMP ENABLE CONSTRAINT PK_EMP;

ALTER TABLE EMP ENABLE CONSTRAINT PK_EMP

*

第 1 行出现错误:

ORA-02437: 无法验证 (SCOTT.PK_EMP) - 违反主键

 

 

SQL> truncate table emp;

 

表被截断。

 

SQL> ALTER TABLE EMP ENABLE CONSTRAINT PK_EMP;

 

表已更改。

 

C:\Documents and Settings\Administrator>imp scott/tiger tables=emp file=d:/e1.dmp ignore=y

 

 

 

 

(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生成的文件

 

三.exp imp 参数:

 

BUFFER=4096000(数据缓冲区大小 ,以字节为单位,可自行调整)  

FEEDBACK (每 x 行显示进度 (0) )

COMPRESS=Y  (将在导出的同时合并碎块) 

GRANTS=Y   

INDEXES=Y   

ROWS=Y   

CONSTRAINTS=Y   

DIRECT=Y     (以direct方式导出,告诉EXP直接读取数据,速度快)   

注意上面的第一个BUFFER和最后一个DIRECT参数,对性能有很大影响.

BUFFER和FEEDBACK,在导出比较多的数据时,考虑设置这两个参数

 

 

<导出某用户下的所有表>

set heading off

set linesize 200

set trimspool on

set feedback off

set verify off

spool /opt/oracle/bak/scriptfulltable.txt;

 

select 'exp  scott/tiger tables='||table_name||' file=/opt/oracle/bak/'||table_name||'.dmp ' from user_tables; 

 

spool off;

 

 

 

 

完成后在找到 /opt/oracle/bak/scriptfulltable.txt,编辑该批处理文件,将第一行和最后一行删掉,保存后运行该批处理文件就可全部导出该用户下的所有表。

 

 

<实现表跨越表空间>

在做2个库的导入导出工作。2边字符集要求一致,否则有很多问题,修改字符集风险很大

grant unlimited tablespace to scott;就算是在每个表空间上都没有配额限制,move可以就是说有时候可能创建用户的时候 

会限制那个用户使用缺省表空间大小,这个就是不限制了

当imp回tablespace的table时报错,在某表空间下有配额限制导致

 

一,同一个表空间的处理

1,exp scott/scott tables=emp file=c:\life\a.txt

之后生成二进制文件,在将此文件导回同一个tablespace时候,

针对该表的处理方法不同truncate或者drop ,有不同的处理方法

2,truncate 后,导入时

imp scott/scott tables=emp file=c:\life\a.txt ignore=y(因为存在冲突)

drop后,导入时

imp scott/scott tables=emp file=c:\life\a.txt(不存在冲突)

3,当一张表没有被drop或者truncate 时,导入会失败

 

 

二.跨越表空间的处理

SQL> select   SEGMENT_NAME,TABLESPACE_NAME from dba_segments

  2  where SEGMENT_NAME='EMP' and  OWNER='SCOTT';

 

SEGMENT_NAME

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

TABLESPACE_NAME

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

EMP

USERS

 

exp scott/scott tables=emp file=c:\life\a.txt

drop table scott.emp 

imp scott/scott tables=emp file=c:\life\a.txt indexfile=c:\scott.emp_sql.txt 常见脚本,打开这个个脚本后,

进行修改,把rem都删除,在把其中表空间名字改为目的表空间名字,也就是我们要跨越的移出目的地表空间的名字

其中有三处 (注意大写,创建表的时候里面有tablespace users,把这个users改为system,把前面那些 REM去掉)

 

例如:

SQL> CREATE TABLE "SCOTT"."EMP" ("EMPNO" NUMBER(4, 0), "ENAME"

  2    VARCHAR2(10), "JOB" VARCHAR2(9), "MGR" NUMBER(4, 0), "HIREDATE" DATE,

  3    "SAL" NUMBER(7, 2), "COMM" NUMBER(7, 2), "DEPTNO" NUMBER(2, 0))

  4    PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536

  5    FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "SYSTEM"

  6    LOGGING NOCOMPRESS ;

表创建成功

是在SYSTEM表空间创建了一个emp表,最终实现表跨越表空间

在把二进制文件导入进来就可以了

imp scott/scott tables=emp file=C:\life\a.txt ignore=y

 

SQL> select   SEGMENT_NAME,TABLESPACE_NAME from dba_segments

  2  where SEGMENT_NAME='EMP' and  OWNER='SCOTT';

 

SEGMENT_NAME

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

TABLESPACE_NAME

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

EMP

SYSTEM

 

<常见错误>

问题一:

EXP时发生ORA-00932错误

 

 

EXP-00056: 遇到 ORACLE 错误 932

ORA-00932: 数据类型不一致: 应为 BLOB, CLOB, 但却获得 CHAR

EXP-00000: 导出终止失败

 

 

原因:数据字典中有存在一些无效KU$_视图;

SQL> select * from sys.ku$_xmlschema_view;

select * from sys.ku$_xmlschema_view

*

ERROR at line 1:

ORA-00932: inconsistent datatypes: expected BLOB, CLOB got CHAR

解决办法:

1.执行对象视图定义脚本 $ORACLE_HOME/rdbms/admin/catmetx.sql

SQL> @?/rdbms/admin/catmetx.sql

 

Package altered.

Index altered.

View created.

Grant succeeded.

View created.

Grant succeeded.

Procedure created.

System altered.

System altered.

System altered.

PL/SQL procedure successfully completed.

Procedure dropped.

 

2.执行重新编译无效对象脚本 $ORACLE_HOME/rdbms/admin/utlrp.sql

SQL> @?/rdbms/admin/utlrp.sql

PL/SQL procedure successfully completed.

PL/SQL procedure successfully completed.

验证一下程序

SQL> select * from ku$_xmlschema_view;

 

V V OWNER_NUM OWNER_NAME URL

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

1 0 46 MDSYS http://www.opengis.net/gml/geometry.xsd

1 0 46 MDSYS http://www.w3.org/1999/xlink/xlinks.xsd

1 0 46 MDSYS http://www.opengis.net/gml/feature.xsd

重新执行导出程序exp,一些正常。

 

 

 

问题二:

ORA-39014: One or more workers have prematurely exited.

ORA-39029: worker 1 with process name "DW01" prematurely terminated

ORA-31672: Worker process DW01 died unexpectedly.

 

 

Solution

1.  When available, download Patch 5879865 to resolve this issue.

      Note that this patch was not available at the time of writing this article ({JAN 2008}).

 

2. In the meantime, please use one of the following as a workaround: 

 set both of the following in the init/spfile 

"_complex_view_merging" = false 

event="38066 trace name context forever, level 1"  or level 2 

       OR

 

set  "_optimizer_cost_based_transformation"=off 

 

Any of these workarounds can be done at the system level or set in the init or spfile file.

 

 

EXAMPLE:

===============

 

AT SYSTEM LEVEL:

 

SQL> alter system set events '38066 trace name context forever, level 2';

SQL> alter system set "_complex_view_merging" = false;

SQL> alter system set "_optimizer_cost_based_transformation"=off 

 

IN THE INIT.ORA:

event="38066 trace name context forever, level 2"

_complex_view_merging=false

_optimizer_cost_based_transformation=off 

 

IN THE SPFILE (requires restart of instance):

SQL> alter system set events '38066 trace name context forever, level 2' scope=spfile;

SQL> alter system set "_complex_view_merging" = false scope=spfile;

SQL> alter system set "_optimizer_cost_based_transformation"=off scope=spfile;

 

3.  Flush the shared pool or restart the database.

 

SQL>alter system flush shared_pool;

 

4.  Perform the Data Pump export again.

 

 

<可传输表空间>

操作系统字节顺序相同,可以在平台之间传输表空间(源数据库Linux IA (32-bit) ,目标数据库Microsoft Windows IA (32-bit))

 

1. 使表空间为只读:

alter tablespace lijh read only;

2. 导出表空间。在操作系统提示符下执行:

exp tablespaces=lijh transport_tablespace=y file=/oracle/exp_lijh.dmp

exp_lijh.dmp文件只包含元数据(不是表空间 USERS 的内容)因此它将非常小。

3. 将文件 exp_lijh.dmp 和 lijh.dbf 拷贝至主机 TGT1。如果您使用 FTP,那么您将需要指定二进制选项。

4. 将表空间插入到数据库中。在操作系统命令提示符下执行下面的语句:

imp tablespaces=lijh transport_tablespace=y file=D:\oracle\exp_lijh.dmp  datafiles='D:\oracle\lijh.dbf'

 

eg:

C:\Documents and Settings\Administrator>imp tablespaces=lijh transport_tablespace=y file=D:\oracle\exp_lijh.dmp  datafiles='D:\oracle\lijh.dbf'

 

Import: Release 10.2.0.1.0 - Production on 星期日 3月 8 16:20:31 2009

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

用户名: sys as sysdba

口令:

 

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

 

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

即将导入可传输的表空间元数据...

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

导出客户机使用 US7ASCII 字符集 (可能的字符集转换)

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

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

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

 

SQL> select tablespace_name from dba_tablespaces;

 

TABLESPACE_NAME

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

SYSTEM

SYSAUX

TEMP

USERS

UNDOTBS2

EXAMPLE

SOLO

LIJH

 

已选择8行。

 

 

 

 

 

跨不同字节顺序的平台:

 

(在源平台上转换文件)

1.使表空间为只读:

SQL> alter tablespace users read only;

 

表空间已更改。

2. 导出表空间。在操作系统提示符下执行:

exp tablespaces=users transport_tablespace=y file=exp_ts_users.dmp

exp_ts_users.dmp 文件只包含元数据(不是表空间 USERS 的内容)因此它将非常小。

 

3.RMAN>  convert tablespace users

2>  to platform 'HP-UX (64-bit)'

3>  format='/oracle/%n_%f';

 

启动 backup 于 08-3月 -09

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 启动数据文件转换

输入数据文件 fno=00004 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USE

已转换的数据文件 = /oracle/ORCLXXXX_4

通道 ORA_DISK_1: 数据文件转换完毕, 经过时间: 00:00:01

完成 backup 于 08-3月 -09

 

将文件 exp_ts_users.dmp 和 users_01.dbf 拷贝至主机 TGT1。如果您使用 FTP,那么您将需要指定二进制选项。

4. 将表空间插入到数据库中。在操作系统命令提示符下执行下面的语句:

imp tablespaces=users transport_tablespace=y file=exp_ts_users.dmp datafiles='users_01.dbf

 

(在目标平台上转换文件)

 

RMAN> convert

2>  datafile 'D:\oracle\solo.dbf'

3> format 'D:\oracle\product\10.2.0\oradata\orcl\solo.dbf';

 

启动 backup 于 08-3月 -09

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 启动数据文件转换

输出文件名=D:\ORACLE\SOLO.DBF

已转换的数据文件 = D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SOLO.DBF

通道 ORA_DISK_1: 数据文件转换完毕, 经过时间: 00:00:08

 

C:>imp  sys/oracle tablespaces=solo transport_tablespace=y file=F:\solo.dmp datafiles='D:\oracle\product\10.2.0\oradata\orcl\solo.dbf';

 

 

 

查看当前系统平台:

SQL> select PLATFORM_ID,PLATFORM_NAME from v$database;

 

PLATFORM_ID

-----------

PLATFORM_NAME

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

 

          7

Microsoft Windows IA (32-bit)

 

SQL> select * from v$transportable_platform;

 

PLATFORM_ID PLATFORM_NAME                            ENDIAN_FORMAT

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

          1 Solaris[tm] OE (32-bit)                  Big

          2 Solaris[tm] OE (64-bit)                  Big

          7 Microsoft Windows IA (32-bit)            Little

         10 Linux IA (32-bit)                        Little

          6 AIX-Based Systems (64-bit)               Big

          3 HP-UX (64-bit)                           Big

          5 HP Tru64 UNIX                            Little

          4 HP-UX IA (64-bit)                        Big

         11 Linux IA (64-bit)                        Little

         15 HP Open VMS                              Little

          8 Microsoft Windows IA (64-bit)            Little

 

PLATFORM_ID PLATFORM_NAME                            ENDIAN_FORMAT

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

          9 IBM zSeries Based Linux                  Big

         13 Linux 64-bit for AMD                     Little

         16 Apple Mac OS                             Big

         12 Microsoft Windows 64-bit for AMD         Little

         17 Solaris Operating System (x86)           Little

         18 IBM Power Based Linux                    Big

 

SQL> select * from nls_database_parameters

 where  PARAMETER='NLS_CHARACTERSET';

 

PARAMETER                      VALUE

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

NLS_CHARACTERSET               ZHS16GBK

 

已选择20行。

 

 

 

修改字符集:

SQL> startup mount

ORACLE 例程已经启动。

 

Total System Global Area  612368384 bytes

Fixed Size                  1250428 bytes

Variable Size             234883972 bytes

Database Buffers          369098752 bytes

Redo Buffers                7135232 bytes

数据库装载完毕。

 

SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;

 

系统已更改。

 

SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

 

系统已更改。

 

SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;

 

系统已更改。

 

SQL> ALTER DATABASE OPEN;

 

数据库已更改。

 

 

SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;

 

数据库已更改。

 

SQL> ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;

数据库已更改。

 

SQL> select * from nls_database_parameters

 where  PARAMETER='NLS_CHARACTERSET';

 

PARAMETER

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

VALUE

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

 

NLS_CHARACTERSET

ZHS16GBK

 

 

<非自包含的表空间传输>

错误模拟,表空间不是自包含的,无法传输

SQL> alter tablespace tt1_e2 read only;

 

Tablespace altered.

 

SQL> ho  exp tablespaces=tt1_e2  transport_tablespace=y file=/u01/app/oracle/oradata/emrep/tt1_e2.dmp 

 

Export: Release 10.2.0.4.0 - Production on Thu Jun 24 16:27:47 2010

 

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

 

 

Username: sys as sysdba

Password: ******

 

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production

With the Partitioning, Oracle Label Security, OLAP, Data Mining

and Real Application Testing options

Export done in US7ASCII character set and AL16UTF16 NCHAR character set

server uses WE8ISO8859P1 character set (possible charset conversion)

Note: table data (rows) will not be exported

About to export transportable tablespace metadata...

EXP-00008: ORACLE error 29341 encountered

ORA-29341: The transportable set is not self-contained

ORA-06512: at "SYS.DBMS_PLUGTS", line 1387

ORA-06512: at line 1

EXP-00000: Export terminated unsuccessfully

 

解决办法:找到跟他相关联的表空间,一起传输 

SQL> exec sys.dbms_tts.transport_set_check('tt1_e2',true);

 

PL/SQL procedure successfully completed.

 

SQL> select * from sys.transport_set_violations;

 

VIOLATIONS

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

Index TTS_U1.IDX_A in tablespace TT1_E2 points to table TTS_U1.EMP in tablespace

 TT1_E1

 

Index TTS_U1.IDX_B in tablespace TT1_E2 points to table TTS_U1.DEPT in tablespac

e TT1_E1

 

SQL> exec sys.dbms_tts.transport_set_check('tt1_e1',true);

 

PL/SQL procedure successfully completed.

 

SQL> select * from sys.transport_set_violations;---没有记录,说明该表空间可以传输

 

no rows selected

 

SQL> exec sys.dbms_tts.transport_set_check('tt1_e1,tt1_e2',true);

 

PL/SQL procedure successfully completed.

 

SQL> select * from sys.transport_set_violations;

 

no rows selected

 

 

 

SQL> ho  exp tablespaces=tt1_e2, tt1_e1 transport_tablespace=y file=/u01/app/oracle/oradata/emrep/tt1_e.dmp 

 

 

create user tts_u1 identified by tts_u1

 

imp  tablespaces=tt1_e2, tt1_e1 transport_tablespace=y file=/oracle/oradata/rb/tt1_e.dmp  datafiles=/oracle/oradata/rb/tt1_e1.dbf,/oracle/oradata/rb/tt1_e2.dbf 

 

 

<分区表的导出导入>

 

SQL> show user

USER 为 "SCOTT"

SQL>

SQL> create table range (a int,b varchar2(30)) partition by range(a)

  2  (partition p1 values less than (10),

  3  partition p2 values less than (20),

  4  partition p3 values less than (30)

  5  );

 

表已创建。

 

SQL>  insert into range values(9,'aa');

 

已创建 1 行。

 

SQL>  insert into range values(12,'aa');

 

已创建 1 行。

 

SQL> commit;

 

提交完成。

 

SQL>  select  * from range;

 

         A B

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

         9 aa

        12 aa

 

 

 

导出某个分区表的分区:

>exp scott/tiger file=c:/bak/fq.dmp tables=range:p1

 

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

 

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

. . 正在导出表                           RANGE

. . 正在导出分区                              P1导出了           1 行

成功终止导出, 没有出现警告。

 

 

 

 

expdp  directory=dump_dir  dumpfile=t_tt.dp tables=scott.emp,scott.range

 

Export: Release 10.2.0.1.0 - Production on 星期六, 03 4月, 2010 16:21:45

 

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

 

用户名: sys as sysdba

口令:

 

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

启动 "SYS"."SYS_EXPORT_TABLE_01":  sys/******** AS SYSDBA directory=dump_dir dum

pfile=t_tt.dp tables=scott.emp,scott.range

正在使用 BLOCKS 方法进行估计...

处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA

使用 BLOCKS 方法的总估计: 192 KB

处理对象类型 TABLE_EXPORT/TABLE/TABLE

处理对象类型 TABLE_EXPORT/TABLE/INDEX/INDEX

处理对象类型 TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT

处理对象类型 TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS

处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS

. . 导出了 "SCOTT"."EMP"                               7.367 KB       3 行

. . 导出了 "SCOTT"."RANGE":"P1"                        5.234 KB       1 行

. . 导出了 "SCOTT"."RANGE":"P2"                        5.234 KB       1 行

. . 导出了 "SCOTT"."RANGE":"P3"                            0 KB       0 行

已成功加载/卸载了主表 "SYS"."SYS_EXPORT_TABLE_01"

******************************************************************************

SYS.SYS_EXPORT_TABLE_01 的转储文件集为:

  C:\BAK\DUMP\T_TT.DP

作业 "SYS"."SYS_EXPORT_TABLE_01" 已于 16:22:04 成功完成

 

 

eg2: 分区表从scott用户导入到system用户

 

>expdp scott/tiger  directory=DUMP_DIR dumpfile=Article_Detail_20W.dmp  tables=range content=DATA_ONLY parallel=2

 

port: Release 10.2.0.1.0 - Production on 星期六, 03 4月, 2010 22:04:12

 

pyright (c) 2003, 2005, Oracle.  All rights reserved.

 

接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

th the Partitioning, OLAP and Data Mining options

动 "SCOTT"."SYS_EXPORT_TABLE_01":  scott/******** directory=DUMP_DIR dumpfile=

ticle_Detail_20W.dmp tables=range content=DATA_ONLY parallel=2

在使用 BLOCKS 方法进行估计...

理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA

用 BLOCKS 方法的总估计: 128 KB

. 导出了 "SCOTT"."RANGE":"P1"                        5.234 KB       1 行

. 导出了 "SCOTT"."RANGE":"P2"                        5.234 KB       1 行

. 导出了 "SCOTT"."RANGE":"P3"                            0 KB       0 行

成功加载/卸载了主表 "SCOTT"."SYS_EXPORT_TABLE_01"

****************************************************************************

OTT.SYS_EXPORT_TABLE_01 的转储文件集为:

C:\BAK\DUMP\ARTICLE_DETAIL_20W.DMP

业 "SCOTT"."SYS_EXPORT_TABLE_01" 已于 22:04:54 成功完成

 

 

 

 

 

 

SQL> conn system/oracle

已连接。

SQL> create table range (a int,b varchar2(30));

 

表已创建。

 

>impdp scott/tiger  directory=DUMP_DIR  remap_schema=scott:system  dumpfile=Article_Detail_20W.dmp table_exists_action=APPEND  parallel=2

 

Import: Release 10.2.0.1.0 - Production on 星期六, 03 4月, 2010 22:28:42

 

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

 

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

已成功加载/卸载了主表 "SCOTT"."SYS_IMPORT_FULL_01"

启动 "SCOTT"."SYS_IMPORT_FULL_01":  scott/******** directory=DUMP_DIR remap_sche

ma=scott:system dumpfile=Article_Detail_20W.dmp table_exists_action=APPEND paral

lel=2

处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA

. . 导入了 "SYSTEM"."RANGE":"P1"                       5.234 KB       1 行

. . 导入了 "SYSTEM"."RANGE":"P2"                       5.234 KB       1 行

. . 导入了 "SYSTEM"."RANGE":"P3"                           0 KB       0 行

作业 "SCOTT"."SYS_IMPORT_FULL_01" 已于 22:28:51 成功完成

 

 

 

 

SQL> select * from range;

 

         A B

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

         9 aa

        12 aa

 

分享到:
评论

相关推荐

    exp/imp2导入导出

    通过对 Oracle 表空间创建命令的分析以及对 exp/imp2 导入导出工具的介绍,我们可以看到,在 Oracle 数据库管理中,合理配置表空间属性和灵活运用备份恢复工具对于保障数据的安全性和可靠性至关重要。希望本文能帮助...

    Oracle数据库逻辑增量备份之exp/imp

    exp工具将这些信息写入一个.dmp文件,该文件可以在不同的Oracle环境之间传输,并使用imp工具重新导入。 22、exp语法和参数 exp命令支持多种参数,例如 owner(用户)、file(输出文件名)、log(日志文件)、tables...

    expimp导出导入工具的使用.doc

    ### Oracle expimp 导出导入工具的使用详解 #### 一、导出工具exp **1. 概述** - **位置与功能**: `exp` 是 Oracle 提供的一个用于导出数据库对象及其数据的强大工具,通常位于 `/ORACLE_HOME/bin` 目录下。 - *...

    Oracle expimp,备份或导入时注意的事项

    exp(Export)用于导出数据库中的对象和数据,而imp(Import)则用于将这些导出的数据导入到另一个数据库中。在实际操作中,由于各种原因,可能会遇到一些问题,下面将详细讨论在使用exp/imp时需要注意的事项。 ...

    oracle exp imp详解

    导入/导出是ORACLE幸存的最古老的两个命令行工具,其实我从来不认为Exp/Imp是一种好的备份方式,正确的说法是Exp/Imp只能是一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的抽取,检测逻辑和物理...

    Oracle_exp_imp导出导入命令及数据库备份

    Oracle数据库的备份与恢复是数据库管理中的重要环节,Oracle提供了内置的工具——exp(导出)和imp(导入)命令,用于实现这一目的。这两个命令是Oracle早期版本中用于数据备份和恢复的主要方法,虽然在现代Oracle版本中...

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

    Oracle 数据库 exp/imp 命令详解 Oracle 数据库 exp/imp 命令是 Oracle 中最常用的命令之一。...exp/imp 命令是 Oracle 数据库备份和恢复的重要工具,了解其使用方法和参数可以帮助我们更好地备份和恢复数据库。

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

    Oracle的expimp工具是Oracle数据库管理系统中用于数据迁移和备份的关键组件。它们分别代表了数据导出和导入的功能,能够帮助管理员将数据从一个数据库移动到另一个数据库,或者创建数据库的备份副本。以下是对这两个...

    Oracle数据库之间数据传输方法探讨.pdf

    在 Oracle 9i 之前,Exp/Imp 导出/导入工具是 Oracle 跨平台传输数据的唯一方法。 使用 Exp/Imp 工具可以实现数据的导出和导入。首先,使用 dba 用户连接到源数据库,查询所有表空间的收稿日期,接着使用具有 dba ...

    oracle命令 exp&imp命令详解

    IMP(Import)命令则是Oracle的数据泵导入工具,用于将由EXP创建的导出文件中的数据导入到数据库中。基本语法如下: ```bash imp [username/password@connect_string] file=import_file_name.log fromuser=username...

    exp/imp命令详解(实例)

    Imp是Oracle的数据导入工具,用于将exp导出的DMP文件导入到数据库中,恢复数据。imp命令的基本语法与exp类似,主要参数包括: - **owner**: 指定要导入的用户模式。 - **file**: 导入的DMP文件路径和名称。 - **...

    exp,imp 与 expdp,impdp 对比 及使用中的一些优化事项.doc

    ### Oracle 数据库备份工具 exp/imp 与 expdp/impdp 的对比及优化事项 #### 一、引言 在Oracle数据库管理中,备份与恢复是确保数据安全的关键环节之一。传统的exp/imp工具和现代的expdp/impdp工具分别代表了不同的...

    浅谈入门级oracle数据库数据导入导出步骤

    2.如果熟悉命令,建议用exp/imp命令导入导出,避免第三方工具版本差异引起的问题,同时效率更高,但特别注意:采用命令时要注意所使用的用户及其权限等细节。 3.在目标数据库导入时需要创建与导出时相同的用户名...

Global site tag (gtag.js) - Google Analytics