oracle 11g exp_imp_逻辑导出导入

 

 oracle 11g exp_imp_逻辑导出导入

版本:v1.0

 

作者:  梁凯亮

 

E-mail[email protected]

 

QQ:37547134

 

日期:2012-07-10

实验环境

硬件环境:x86_64位的虚拟机一台

操作系统:rhel 5.6 64

oracle版本:oracle 11g企业版11.2.0.1.0 x86_64

实验目标

从同行一个oracle数据库的用户1导出,导出到用户2

 

介绍EXP导出工具

过输入 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 执行完整或部分相关性检查

VOLSIZE              写入每个磁带卷的字节数

TABLESPACES          要导出的表空间列表

TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)

TEMPLATE             调用 iAS 模式导出的模板名

介绍IMP导出工具

通过输入 IMP 命令和您的用户名/口令, 导入

操作将提示您输入参数:

 

     例如: IMP SCOTT/TIGER

 

或者, 可以通过输入 IMP 命令和各种参数来控制导入

的运行方式。要指定参数, 您可以使用关键字:

 

     格式:  IMP KEYWORD=value KEYWORD=(value1,value2,...,valueN)

     例如: 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  导入流的一般元数据 (Y)

STREAMS_INSTANTIATION  导入流实例化元数据 (N)

DATA_ONLY              仅导入数据 (N)

VOLSIZE                磁带的每个文件卷上的文件的字节数

 

下列关键字仅用于可传输的表空间

TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N)

TABLESPACES 将要传输到数据库的表空间

DATAFILES 将要传输到数据库的数据文件

TTS_OWNERS 拥有可传输表空间集中数据的用户

实验场景

首先创建用户1

 

--创建用户1的默认表空间

create smallfile tablespace "LKL" datafile '/u01/oracle/database/oradata/orcl/lkl.dbf' size 1g;

--创建用户

create user lkl identified by lkl default tablespace LKL;

 

--给用户授权

grant resources,connect to lkl;

 

首先创建用户2

 

--创建用户2的默认表空间

create smallfile tablespace "ZY" datafile '/u01/oracle/database/oradata/orcl/zy.dbf' size 1g;

--创建用户

create user zy identified by zy default tablespace ZY;

 

--给用户授权

grant resources,connect to zy;

 

在用户1中创建一个表,并加入两条数据库

 

create table test(id number txt varchar);

alter table test add constraint  test_pk  primary key (id);

insert into test values(1,'lkl');

insert into test values(2,'zy');

commit;

 

导出lkl用户下的 test

su -oracle

 

exp lkl/lkl tables=test file=test.dmp

 

提示如下信息表示成功

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

Export: Release 11.2.0.1.0 - Production on 星期五 7 6 04:05:32 2012

 

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

 

 

连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

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

服务器使用 ZHS16GBK 字符集 (可能的字符集转换)

 

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

. . 正在导出表                            TEST导出了           2

EXP-00091: 正在导出有问题的统计信息。

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

 

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

dmp文件导入到另外的用户下

imp zy/zy file=test.dmp fromuser=lkl touser=zy

 

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

 

SQL> select table_name,tablespace_name from user_tables;

 

TABLE_NAME           TABLESPACE_NAME

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

TEST                 LKL

 

查看发现表空空间是lkl用的表空间,移动表的存储空间。

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

SQL> alter table test move tablespace ZY;

 

表已更改。

 

查看表

SQL> select * from test;

 

   ID UNAME                BIRTHDAY

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

    1 lkl                  2012-07-05 17:43:36

    2 zy                   2012-07-05 17:43:45

 

注意事项

你可能感兴趣的:(oracle,导入,导出,exp,imp)