exp数据导出工具用法!!!

来源:互联网 发布:洗车软件排行 编辑:程序博客网 时间:2024/06/07 00:16

 1、导出工具的参数详解

[oracle@linux exp]$ exp help=yExport: Release 10.2.0.4.0 - Production on 星期三 10月 5 15:08:57 2011Copyright (c) 1982, 2007, Oracle.  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        用于将会话快照设置回以前状态的 SCNFLASHBACK_TIME       用于获取最接近指定时间的 SCN 的时间QUERY                用于导出表的子集的 select 子句RESUMABLE            遇到与空格相关的错误时挂起 (N)RESUMABLE_NAME       用于标识可恢复语句的文本字符串RESUMABLE_TIMEOUT    RESUMABLE 的等待时间TTS_FULL_CHECK       对 TTS 执行完整或部分相关性检查VOLSIZE              写入每个磁带卷的字节数TABLESPACES          要导出的表空间列表TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)TEMPLATE             调用 iAS 模式导出的模板名成功终止导出, 没有出现警告。


2、常用导出命令

完全模式导出(整个数据库)

exp system/oracle@orcl full=y file=demo1.dmp log=demo1.log

用户模式导出(导出用户ing下面的所有对象)

exp system/oracle owner=ing file=demo2.dmp log=demo2.log

表模式导出(导出用户ing下的dept表)

exp system/oracle tables=ing.dept file=demo3.dmp log=demo3.log

带where条件的导出(导出用户ing下dept表的前两行)

exp system/oracle tables=ing.dept query=\"where rownum \< 3\" file=demo4.dmp log=demo4.log

模糊导出(导出用户ing下以de开头的表)

exp system/oracle@orcl tables=ing.de% file=demo5.dmp log=demo5.log

 

3、通过dmp文件察看Oracle字符集
首先通过UE等编辑软件打开dmp文件或者在Linux下执行如下然后察看第二、三字节。如果dmp文件很大,比如有2G以上(这也是最常见的情况),用文本编辑器打开很慢或者完全打不开,可以用以下命令(在linux主机上):

[oracle@linux exp]$ cat demo5.dmp | od -x | head -1 | awk '{print $2 $3}' | cut -c 3-60345
SQL> select nls_charset_name(to_number('0354','xxxx')) from dual;NLS_CHARSET_NAME(TO_NUMBER('0354','XXXX'----------------------------------------ZHS16GBK

 

4、导出权限问题

如果是普通用户导出、导入,需要授予权限

SQL> grant exp_full_database,imp_full_database to ing;授权成功。


5、字符集问题

在导出的时候最还设置客户端的字符集和数据库一样。

[oracle@linux exp]$ echo $NLS_LANGSIMPLIFIED CHINESE_CHINA.ZHS16GBK
原创粉丝点击