oracle11g_R2 exp imp 用法

 今天接到一任务把数据库中一个用户的数据全部迁移到另一个用户下,想用这个用户来做测试。

实现步骤:

1. 如果你的机器上没装oracle客户端或者oracle 但你又只想装个客户端不想装服务端 那么如下url 去下载一个oracle11g_r2 的客户端

http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_client.zip

下载完进行安装

将sql*plus 勾选  会安装sql*plus 工具

 

之后一直下一步就行 直到完成安装, 安装完成后检查系统环境变量中是否将oracle的bin设置成全局了 如图:

 

  看看有此值没 D:\oracle\Administrator\product\11.2.0\oracle11g_R2_client\bin;  如果没有则要自己设置,否则不能用exp imp sqlplus 等命令.. 到这里roacle客户端已经安装完成了。

下面是安装过程中遇到的问题

INS-20802] Oracle Net Configuration Assistant 失败  此问题不影响使用,可以在安装完成后通过下图设置:

  这是配置监听服务的

 

注册服务

  点击net Manager 注册一个服务 来进行连接   目录\oracle\Administrator\product\11.2.0\oracle11g_R2_client\NETWORK\ADMIN\SAMPLE  这里面保存的是oracle11g_r2 客户端的监听和服务的配置文件

此图配置监听和服务

上面注册服务点击添还有点问题,一会找找再改。。

 

 上面一切设置完毕后我们来正式开始使用exp和imp 命令完成任务 此命令可以通过sqlplus 或dos 窗口来执行首先介绍dos窗口方式  cmd打开 然后如下面是你可以输入和输出的结果:

C:\Users\Administrator>exp help=y       -- 显示exp命令参数详情  

Export: Release 11.2.0.1.0 - Production on 星期四 7月 18 11:26:47 20

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

 

通过输入 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:\Users\Administrator>exp chtrans/chtrans@192.168.1.198/orcl full=y
kup.dmp owner=(chtrans)                      ---  指定了full=y 是要导出整个数据库前提是chtrans有dba权限要不就是导出当前chtrans用户所有数据, owner是指定要导出那个用户的数据(全部数据),这两个参数不能同时出现否则报错如下

Export: Release 11.2.0.1.0 - Production on 星期四 7月 18 11:27:59 20

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


连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 -
tion
With the Partitioning, OLAP, Data Mining and Real Application Testin
EXP-00026: 指定了冲突模式
EXP-00000: 导出终止失败

 

 

C:\Users\Administrator>exp chtrans/chtrans@192.168.1.198/orcl  file=D:\backup.dmp
 log=D:\backu.log    owner=(chtrans)    ---------导出chtrans用户的全部数据  当前登录用户的要有足够的权限才可以。

Export: Release 11.2.0.1.0 - Production on 星期四 7月 18 11:29:09 20

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


连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 -
tion
With the Partitioning, OLAP, Data Mining and Real Application Testin
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
服务器使用 AL32UTF8 字符集 (可能的字符集转换)

即将导出指定的用户...
. 正在导出 pre-schema 过程对象和操作
. 正在导出用户 CHTRANS 的外部函数库名
. 导出 PUBLIC 类型同义词
. 正在导出专用类型同义词
. 正在导出用户 CHTRANS 的对象类型定义
即将导出 CHTRANS 的对象...
. 正在导出数据库链接
. 正在导出序号
. 正在导出簇定义
. 即将导出 CHTRANS 的表通过常规路径...
. . 正在导出表                         CH_CARD导出了          56 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                   CH_CARD_APPLY导出了          41 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                    CH_CARD_OPEN导出了          26 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                     CH_CATEGORY导出了           4 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表             CH_CCCHANGE_HISTORY导出了         464 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表               CH_CCMOVE_HISTORY导出了         212 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表         CH_COMMISSION_ACOUNTING导出了           8 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                         CH_DEAL导出了         158 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                    CH_DEAL_STAT导出了          38 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                    CH_ERROR_LOG导出了         195 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                 CH_GOODS_DETAIL导出了          77 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                          CH_LOG导出了          21 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                  CH_OPERATE_LOG导出了          25 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                        CH_ORDER导出了          88 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                 CH_ORDER_CANCEL导出了          34 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                CH_ORDER_HISTORY导出了          31 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                   CH_ORDER_STAT导出了           0 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表               CH_ORG_COMMISSION导出了         266 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                      CH_PRODUCT导出了          25 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                 CH_PRODUCT_RULE导出了         505 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表           CH_PRODUCT_WULIU_RULE导出了          21 行
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                     CH_PROTOCOL导出了           3 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                CH_PROTOCOL_SIGN导出了           0 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                        CH_QUEUE导出了          36 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表          CH_REALTIME_STATISTICS导出了       69079 行
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                     CH_SEQUENCE导出了           2 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                    CH_SUBSCRIBE导出了         177 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                CH_SUBSCRIBE_BAK导出了           4 行
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                         CH_USER导出了        1095 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                 CH_USERCOMMSION导出了           0 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                    CH_USER_BANK导出了           0 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                   CH_USER_GOODS导出了          50 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                       CH_YAOHAO导出了        1969 行
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表             CH_ZCCHANGE_HISTORY导出了         316 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表             CH_ZCFREEZE_HISTORY导出了         223 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表               CH_ZCMOVE_HISTORY导出了         223 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表             PLSQL_PROFILER_DATA导出了           0 行
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表             PLSQL_PROFILER_RUNS导出了           0 行
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表            PLSQL_PROFILER_UNITS导出了           0 行
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                      SC_ACCOUNT导出了         228 行
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                         TMP_BUY导出了           0 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                        TMP_SELL导出了           0 行
EXP-00091: 正在导出有问题的统计信息。
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                         UCT_ACT导出了          14 行
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                        UCT_LOCK导出了           2 行
EXP-00091: 正在导出有问题的统计信息。
. . 正在导出表                      UCT_UNLOCK导出了          11 行
EXP-00091: 正在导出有问题的统计信息。
. 正在导出同义词
. 正在导出视图
. 正在导出存储过程
. 正在导出运算符
. 正在导出引用完整性约束条件
. 正在导出触发器
. 正在导出索引类型
. 正在导出位图, 功能性索引和可扩展索引
. 正在导出后期表活动
. 正在导出实体化视图
. 正在导出快照日志
. 正在导出作业队列
. 正在导出刷新组和子组
. 正在导出维
. 正在导出 post-schema 过程对象和操作
. 正在导出统计信息
导出成功终止, 但出现警告。

C:\Users\Administrator>

导出成功了。。。。

 

下面来看看导入

  和导出一样就不在重复做实验了 只给出导入命令

 imp chtrans/chtrans@192.168.1.198/orcl  fromuser=chtrans touser=chtranscs file=D:\backup.dmp log=D:\imp.log

 解释: 将backup.dmp 中chtrans用户的数据全部迁移给chtranscs用户

因为服务名没有注册好所以上面都是用ip做的实验其实可以把ip换成你已经注册好的服务名。  通过这两个命令就可以在不同数据库上任意迁移数据了。。 

sqlplus 用法

打开cmd

Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>sqlplus  --输入sqlplus

SQL*Plus: Release 11.2.0.1.0 Production on 星期四 7月 18 13:08:35 2013

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

请输入用户名:  chtrans/chtrans@192.168.1.198/orcl

连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> exp chtrans/chtrans@192.168.1.198/orcl file=D:\b.dmp owner=(chtrans);
SP2-0734: 未知的命令开头 "exp chtran..." - 忽略了剩余的行。------有错误待解决
SQL>

直接打开sql*plus

 其实和cmd打开一样 只是cmd比sql plus 方便些 因为可以复制 不过也有上面一样的错误 待解决 另外在输入用户名的时候如果报  sqlpuls ora-12154:tns 无法解析指定的标识符 那就是你@后面的字符串错了  如果是写的服务名则打开   net manager 选择打开网络配置文件目录  \oracle\Administrator\product\11.2.0\oracle11g_R2_client\NETWORK\ADMIN\SAMPLE 去看看tnsnames.ora  是不是配错了 sqlplus读取这个 (待测试)

exp  imp  用法实例

http://blog.csdn.net/zwfwgood/article/details/9366565

 

11gR2 在导出时空表不进行导出问题解决

 
oracle 11g 新增了一个参数:deferred_segment_creation,含义是段延迟创建,默认是true。具体是什么意思呢? 
 
如果这个参数设置为true,你新建了一个表T1,并且没有向其中插入数据,那么这个表不会立即分配extent,也就是不占数据空间,只有当你insert数据后才分配空间。这样可以节省少量的空间。 
 
解决办法 

 

  1、insert一行,再rollback就产生segment了。

  该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。

  2、设置deferred_segment_creation 参数

 

show parameter deferred_segment_creation

NAME                                  TYPE        VALUE
------------------------------------ ----------- ------------------------------ 
deferred_segment_creation             boolean     TRUE
SQL> alter system set  deferred_segment_creation=false;

系统已更改。

SQL> show parameter deferred_segment_creation

NAME                                  TYPE        VALUE
------------------------------------ ----------- ------------------------------ 
deferred_segment_creation             boolean     FALSE

 

  该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。

  需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。如需导出之前的空表,只能用第一种方法。

 
 
   注意并且要重新启动 数据库 ,让参数生效 

 

 

3.

先查询一下当前用户下的所有空表

select  table_name from user_tables where NUM_ROWS=0;

用以下这句查找空表

select 'alter table '||table_name||' allocate extent;' from  user_tables where num_rows=0

 

 

把查询结果导出,执行导出的语句

'ALTERTABLE'||TABLE_NAME||'ALLOCATEEXTENT;'
-----------------------------------------------------------
alter table  AQ$_AQ$_MEM_MC_H allocate extent;
alter table AQ$_AQ$_MEM_MC_G allocate  extent;
alter table AQ$_AQ$_MEM_MC_I allocate extent;
alter table  AQ$_AQ_PROP_TABLE_T allocate extent;
alter table AQ$_AQ_PROP_TABLE_H allocate  extent;
alter table AQ$_AQ_PROP_TABLE_G allocate extent;
alter table  AQ$_AQ_PROP_TABLE_I allocate extent;
alter table AQ$_KUPC$DATAPUMP_QUETAB_T  allocate extent;
alter table AQ$_KUPC$DATAPUMP_QUETAB_H allocate extent;
alter table AQ$_KUPC$DATAPUMP_QUETAB_G allocate extent;
alter table  AQ$_KUPC$DATAPUMP_QUETAB_I allocate extent;

'ALTERTABLE'||TABLE_NAME||'ALLOCATEEXTENT;'
-----------------------------------------------------------
alter table  AQ$_SYS$SERVICE_METRICS_TAB_T allocate extent;
alter table  AQ$_SYS$SERVICE_METRICS_TAB_H allocate extent;
alter table  AQ$_SYS$SERVICE_METRICS_TAB_G allocate extent;
alter table  AQ$_SYS$SERVICE_METRICS_TAB_I allocate extent;

 

然后再执行

exp 用户名/密码@数据库名 file=/home/oracle/exp.dmp log=/home/oracle/exp_smsrun.log

  成功!

 

 

下面说说卸载  引用 :

http://blog.csdn.net/pan_tian/article/details/9272089

 

 

在用universal install 卸载oracle 客户端时出现
请运行命令‘D:\app\jxfjohnny\product\11.2.0\dbhome_1/deinstall/deinstall'来卸载oracle主目录
解决方法:
卸载时候,在那个“内容”复选框里,除了Universal和oracle主目录复选框不要选择,其他的组件全部打勾,然后就可以进行卸载。如果全选的话就会出现上述问题。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

 

 

 

 

 

 

 

  

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值