日期:2014-05-16  浏览次数:20425 次

Oracle Export命令使用浅解

????? Oracle Export 命令顾名思义就是导出数据库信息用的,既可以导出表结构,也可以导出数据, 表空间,或者按用户导出等等。按照通常的说法,该命令主要是用于数据库的迁移或者备份的。下面就介绍一下该命令的部分参数。

1.?????? 认识 exp 命令

执行 export 操作需要执行的命令是 exp, exp 导出数据的一个优点就是快,但导出的结果文件均为二进制文件,而且要求不能手动修改。

exp 在设定执行参数的值的时候,支持的格式为 EXP KEYWORD=value KEYWORD=(value1,value2,...,valueN), 例如 :

EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR) 
?

exp 命令支持多个参数,要查看这些参数的说明可以执行如下命令来看帮助。

exp help=y

但是给出的参数的信息比较粗略。有必要对常用参数进行一下具体说明。

2.?????? 参数说明

USERID:??? 用户名 / 口令。格式为 用户名 / 密码 @ 待连接的数据库。该参数必须为 exp 命令的第一个参数。

BUFFER :数据缓冲区大小。该参数指定查询数据库记录时的缓冲区大小,单位为 byte ,如果该参数设为 0 ,那么获取数据库记录时每次读取一行。该参数需要配合参数 direct=N 来使用。

FILE: 输出文件。导出的目标文件名,如果不设定该参数的话,命令会采用默认文件名——EXPDAT.DMP

?

TABLES: 表名列表。需要导出的表名,可以是一个,也可以是多个。单个表名格式为:tables=test_tab, 多个表名格式:tables=(test_tab_1,test_tab_2) 。在这提示一点,在linuxunix 环境下多个表名时用到的括号需要转义,如下tables=\(test_tab_1,test_tab_2\)

?

COMPRESS 导入到一个区。这个参数是最容易让人误解的了,很容易理解简单压缩的意思。接下来我需要引用一段别人文章中的描述来解释了。 事实上,COMPRESS 是改变STORAGE 参数INITIAL 的值。比如:CREATE TABLE .... STORAGE( INITIAL 10K NEXT 10K..)? 现在