7)除非已经创建了所有的表空间,否则不要在具有多个数据库的系统上执行全库导入。全库导入会使用与导出数据库数据文件名相同的名字来创建任何未定义的表空间。这可能会导致在以下情况下出现问题:
如果数据文件属于任何其他数据库,则它们将被损坏。如果导出的数据库位于同一个系统上,则尤其如此,因为其数据文件将被要导入的数据库重新使用
如果数据文件的名字与现有操作系统文件冲突
GRANTS默认: y
指定 exp 是否导出对象权限,导出的对象授权取决于您使用 full 模式还是用户模式。在 full 模式下,表上的所有授权将被导出;在用户模式下,仅导出表的所有者授予的权限;系统权限总是被导出
HELP默认:n
显示导出参数的说明,命令行输入 exp help=y 来调用它
INDEXES默认: y
指定 exp 是否导出索引
LOG默认值:无
指定接收信息和错误消息文件名(如 export.log)
如果指定了此参数,则消息会记录在日志文件中,也会显示在终端屏上
OBJECT_CONSISTENT默认: n
指定 exp 是否使用 SET TRANSACTION READ ONLY 语句确保导出的数据在单个时间点是一致的,并且在执行 exp 命令期间不会更改;如果 OBJECT_CONSISTENT=y,则每个对象都将以其自己的只读事务导出,即使它是分区的。相反,如果使用CONSISTENT 参数,则只有一个只读事务
OWNER默认值:无
指示导出是用户模式,并列出将被导出的用户。如果启动导出的用户是数据库管理员(DBA),则可以列出多个用户
用户模式导出可用于备份一或多个数据库用户。例如,DBA 可能需要在一段时间内备份已删除用户的表。用户模式也适用于想要备份自己的数据或想要将对象从一个所有者移动到另一个所有者的用户
PARFILE默认值:无
指定包含导出参数的文件名
QUERY默认值:无
在执行表模式导出时,这个参数可以从一组表中选择行的子集。QUERY 参数的值是一个字符串,其中包含将应用于 TABLES 参数中列出的所有表(或表分区)的 SELECT 语句的 WHERE 子句
例如,如果用户 scott 只想导出工作职位是 SALESMAN,工资低于 1600 的员工,则可以执行以下操作(此示例基于UNIX):
exp scott TABLES = emp QUERY = \"WHERE job = \'SALESMAN \' and sal \ <1600 \"注意: 由于 QUERY 参数的值包含空格,因此大多数操作系统都需要整个字符串 WHERE job = \'SALESMAN \' and sal \ <1600 放在双引号中,或通过某种方法标记为字面量;操作系统保留字符也需要以转义字符开头
执行此查询时,导出将生成类似于下面的SELECT 语句:
SELECT * FROM emp WHERE job ='SALESMAN'and sal <1600;为 QUERY 参数指定的值将应用于 TABLES 参数中列出的所有表(或表分区)。例如,下面的语句将同时导出与查询相匹配的 emp 和 bonus 的行:
exp scott TABLES = emp,bonus QUERY = \"WHERE job = \'SALESMAN \'and sal \ <1600 \"同样,Export 执行的 SQL 语句与以下类似:
SELECT * FROM emp WHERE job='SALESMAN' and sal <1600; SELECT * FROM bonus WHERE job='SALESMAN' and sal <1600;如果某个表中缺少 QUERY 子句指定的列,则会生成错误消息,并且不会为该问题表导出行
Restrictions When Using the QUERY ParameterQUERY 参数不能在全库,用户或表空间模式的导出时指定
QUERY 参数必须适用于所有指定的表
QUERY 参数不能在直接路径导出(DIRECT=y)时指定
QUERY 参数不能为包含内部嵌套表的表指定
无法从导出文件的内容中确定数据是否是 QUERY 导出的结果
RECORDLENGTH默认值:取决于操作系统
指定文件记录的长度(以字节为单位),当您必须将导出文件传输到使用其他默认值的另一个操作系统时,RECORDLENGTH 参数是必需的
如果没有定义这个参数,那么它默认为依赖于平台的缓冲区大小的值
可以将 RECORDLENGTH 设置为等于或大于系统缓冲区大小的任何值(最高值为 64 KB),更改 RECORDLENGTH 参数只影响写入磁盘之前积累的数据大小。它不影响操作系统文件块的大小
ROWS默认: y
指定是否导出表数据行
STATISTICS默认: ESTIMATE
指定导出的数据被导入时要生成的数据库优化器统计信息的类型。选项是 ESTIMATE、、COMPUTE 和 NONE
在某些情况下,导出会将预先计算的统计信息放到导出文件中,并且还会使用 ANALYZE 重新生成统计信息
但是,如果表中具有系统生成名称的列,则在导出时将不会预计算的优化器统计信息
在以下情况下,导出时预计算的优化器统计信息被标记为可疑:
导出时有行错误
客户端字符集或 NCHAR 字符集与服务器字符集或 NCHAR 字符集不匹配
一个 QUERY 子句被指定
只有某些分区或子分区被导出