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)
。在这提示一点,在linux
、unix
环境下多个表名时用到的括号需要转义,如下tables=\(test_tab_1,test_tab_2\)
。
COMPRESS
:
导入到一个区。这个参数是最容易让人误解的了,很容易理解简单压缩的意思。接下来我需要引用一段别人文章中的描述来解释了。
事实上,COMPRESS
是改变STORAGE
参数INITIAL
的值。比如:CREATE TABLE .... STORAGE(
INITIAL 10K NEXT 10K..)
现在数据已经扩展到100
个EXTENT,
如果采用COMPRESS=Y
来EXPORT
数据,则产生的语句时 STORAGE( INITIAL 1000K NEXT
10K) ;
我们可以看到NEXT
值并没有改变,而INITIAL
是所有EXTENT
的总和。所以会出现如下情况,表A
有4
个100M
的EXTENT,
执行DELETE FROM A
,然后再用COMPRESS=Y
导出数据,产生的CREATE TABLE
语句将有400M
的INITIAL EXTENT
。即使这是TABLE
中已经没有数据!!这是的DUMP
文件即使很小,但是在IMPORT
时就会产生一个巨大的TABLE.
另外,也可能会超过DATAFILE
的大小。比如,有4
个50M
的数据文件,其中表A
有15
个10M
的EXTENT,
如果采用COMPRESS=Y
的方式导出数据,将会有INITIAL=150M
那么在重新导入时,不能分配一个150M
的EXTENT
,因为单个EXTENT
不能跨多个文件。
RECORDLENGTH
:
IO
记录的长度。和DIRECT=Y
配合使用的是RECORDLENGTH
参数,它定义了Export I/O
缓冲的大小,作用类似于常规路径导出使用的BUFFER
参数。建议设置RECORDLENGTH
参数为最大I/O
缓冲,即65535(64kb)
。
INDEXES:
导出索引。导入过程中建立用户定义的索引,特别是表上有多个索引或者数据表特别庞大时,需要耗费大量时间。某些情况下,需要以最快的时间导入数据,而索引允许后建,我们就可以使用
INDEXES=N
只导入数据不创建索引,从而加快导入速度。
DIRECT
:
直接路径。该参数设定为
Y
时,
oracle
将采用直接读取数据库存储文件的方式获取数据,而不再通过查询数据库的方式,省去了执行
sql
的时间,提高了导出速度。
LOG
:
屏幕输出的日志文件。
ROWS
:
导出数据行。默认为
Y
,导出表中数据。设定
N
,则只会导出表结构。这个参数就让我给误会了,我看到这个参数还以为是指定行数呢,这个参数太无厘头了。
CONSISTENT
:
交叉表的一致性。这个参数是指定在数据导出过程中,是否维持数据库表一致性。默认为N
,如果设定为Y
的话,在导出过程中外部系统同样可以查询数据库相关表,并且获取到一致性的数据,在导出之前更新或者修改的数据不会被外部系统感知。这样也就需要占用数据库的回滚段。如果主机资源紧张,可以将参数设定为N
,这样既可以少占用回滚段资源,更主要的是这样导出速度也会提升。
FILESIZE:
每个转储文件的最大大小。单位为bytes,
设定了该参数后,当导出的数据文件超过最大值时,会重新写入到新文件中,以此类推。但是每次写入新文件的时候,命令会转为交互状态,需要用户数据新的文件名。
QUERY
:
用户导出表的子集的select
子句。在只希望导出某表的一部分符合条件的数据时,这个参数就能派上用场了。整个参数需要用
” ”
括起来。这个参数通过输入where
条件可以只导出预期的数据。如果是导出针对的是多个表,那么在输入where
条件时需要保证该子句对导出的任何一张表都是有效的。
CONSTRAINTS
:
导出约束条件。是否导出表中已有的constraint
。
GRANTS
:
是否导出授权信息。
STATISTICS
:
分析对象 。指定导出过程中是否统计导出信息。选项包括:
NONE
,
COMPUTE
,
ESTIMATE
。我习惯上把它设定为
NONE,
这样可以提高导出速度。
常用的参数基本上就这些了。
3.
举例
下面简单列举了一个导出命令的语句,加深下直观印象。
exp scott/scottpwd@TESTDB file=E:\data\test20111107.dmp buffer=100000 tables=(etl_test_0,etl_test_1,etl_test_2) compress=N indexes=N direct=N rows=Y grants=Y consistent=N constraints=Y log=E:\ data\ exp.log query=”where id > 10”
关于
exp
命令就写这些了,与
exp
相对的一个命令就是
imp
,也就是导入(
import
)命令,有导出就得有导入,这个下一篇再做介绍吧。
分享到:
相关推荐
1 、确定数据库的sid 和db_name \u3000sid='hsj' db_name='hsj' 2、设置环境变量env ORACLE_BASE=/u01/app ... export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH 3、设置登录方法
压缩包内的文件“oracle数据库导出.doc”可能包含了关于如何使用Data Pump或其他方法导出Oracle数据的详细步骤,包括必要的SQL命令和Java代码示例。而“www.pudn.com.txt”可能是从网站pudn.com下载的资源,可能提供...
- **启动命令**:在命令行中启动 SQL Plus 可以使用以下命令: ```bash sqlplus /nolog ``` 登录到 SQL Plus 后,可以通过 `conn / as sysdba` 命令以系统管理员的身份登录。 ### Oracle 端口 - **默认端口**...
很实用的oracle常用命令及用法,包含用户权限分配及权限设置,数据库备份还原等命令
oracle 常用命令_oracle 命令大全_oracle命令集合_oracle基本命令 非常方便,带查询功能,能很方便的查询你要找的oracle命令写法
10. 创建表空间的数据文件:使用命令“create tablespace test datafile 'd:\oracle\binbo.dbf' size 10m;”可以创建表空间的数据文件。 11. 创建用户:使用命令“create user 用户名 identified by 用户名;”可以...
"Oracle数据库命令个人总结" Oracle数据库命令个人总结是徐博文在2014年3月整理的关于Oracle数据库的命令和心得的...这些命令和心得可以帮助Oracle数据库管理员和开发者更好地使用Oracle数据库,提高工作效率和质量。
使用`START`或`@`命令可以执行存储在文本文件中的SQL脚本。例如: ``` SQL> START file_name.sql SQL> @ file_name.sql ``` 这样可以一次性执行文件中的所有SQL语句,类似DOS的批处理功能。 2. **编辑当前...
oracle 常用命令大全 oracle dba 常用命令 1 运行 SQLPLUS 工具 sqlplus 2 以 OS 的默认身份连接 / as sysdba 3 显示当前用户名 show user 4 直接进入 SQLPLUS 命令提示符 sqlplus /nolog 5 在命令提示符以 OS 身份...
要熟练运用Oracle SQL命令,理解其基本概念和结构是至关重要的。Oracle数据库管理系统的发展历程中,基本概念的建立与不断完善是其能够稳定运行和高效管理数据的基础。 首先,我们必须了解Oracle数据库的基本概念,...
Oracle数据库管理系统是目前最流行的数据库之...学习Oracle SQL命令,不仅要掌握这些基本命令,还需跟进各版本新增的功能,这样我们才能建立起一个全面的Oracle SQL命令视图,并且能够高效地使用Oracle数据库管理系统。
使用命令`select instance_name, host_name, startup_time, status, database_status from v$instance;`可以检查Oracle实例状态。其中,`STATUS`表示Oracle当前的实例状态,必须为`OPEN`;`DATABASE_STATUS`表示...
Oracle数据库是世界上最广泛使用的数据库系统之一,其强大的功能和稳定性深受企业青睐。在数据库管理中,经常需要进行数据迁移、备份或模型设计,此时“导出建表脚本”成为了一个重要的工具。Oracle提供多种方式来...
- 设置Shell搜索路径:通过`export PATH=.:$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/sqlj/bin::`命令可以添加Oracle的bin目录至系统路径,以便更方便地执行Oracle相关命令。 ### 5. 数据库对象查询 - **查询所有者...
su - oracle -c "exp system/manager full=y inctype=complete file=/oracle/export/db_comp$rq.dmp" 累计备份的SH文件:exp_cumu.sh rq=` date +"%m%d" ` su - oracle -c "exp system/manager full=y inctype=...
Oracle 常用 CMD 命令 Oracle 是一种关系数据库管理系统,提供了强大的数据存储和管理功能。但是,对于新手来说,熟悉 Oracle 的 ...同时,我们也需要了解 Oracle 的其他命令和参数,以便更好地使用 Oracle 数据库。
oracle多年运维总结出来的常用运维命令,也包括数据库的登陆,开关顺序,归档开关,备份还原等,平时运维必备
Linux 下 Oracle 使用命令 Oracle 是一种关系数据库管理系统,它可以在 Linux 操作系统下运行。在 Linux 下使用 Oracle 需要了解一些基本的命令和操作步骤。下面将对 Linux 下 Oracle 使用命令进行详细的介绍。 一...
Oracle常用命令大全 ORACLE的数据字典是数据库的重要组成部分之一,它随着数据库的产生而产生, 随着数据库的变化而变化, 体现为sys用户下的一些表和视图。数据字典名称是大写的英文字符。 数据字典里存有用户信息...
为了管理Oracle数据库,数据库管理员和开发人员会使用一系列的命令来完成日常工作。本文将详细介绍一些常用的Oracle命令。 1. 服务和监听器管理: - `net start oracle_service_binbo`:用于启动Oracle服务名为...