Export 和 Import 是一对读写 Oracle 数据的工具。Export 将 Oracle 数据库
中的数据输出到操作系统文件中, Import 把这些文件中的数据读到Oracle 数据
库中。
1. Export/Import
export分三种模式导出数据,分别为:表模式,用户模式,完全模式。下面对这三种模式进行详解:
(1) 表模式
表模式,顾名思义,就是备份某个用户模式下指定的对象(表):
例子:exp test/test rows=y indexes=n compress=n buffer=65536 feedback=100000
volsize=0 file=exp.dmp log=exp.log tables=table1, table2,table3
(2) 用户模式
用户模式,即备份某个用户下的所有对象:
例子:exp test/test owner=user rows=y indexes=n compress=n buffer=65536
feedback=100000 file=exp.dmp log=exp.log
(3) 完全模式
完全模式,即备份完整的数据库
例子:exp system/manager rows=y indexes=n compress=n buffer=65536 feedback=100000 full=y file=exp_.dmp log=exp.log
同样,import也分三种模式导如数据,分别为:表模式,用户模式,完全模式。下面对这三种模式进行详解:
(1) 表模式
表模式,即导入某个用户模式下指定的对象(表):
例子:imp test/test fromuser=icdmain touser=icdmain rows=y indexes=n commit=y buffer=65536 ignore=n file=exp.dmp log=imp.log tables=t1,t2,t3;
(2) 用户模式
用户模式,即导入某个用户下的所有对象:
例子:imp test/test fromuser= test touser= test rows=y indexes=n commit=y buffer=65536 ignore=n file=exp.dmp log=imp.log
(3) 完全模式
完全模式,即导入某个用户下的所有对象:
例子:imp system/manager rows=y indexes=n commit=y buffer=65536 feedback=100000 ignore=y full=y file=exp.dmp log=imp.log
2. 参数说明
Ignore:
Oracle 在恢复数据的过程中,当恢复某个表时,该表已经存在,就要根据
ignore 参数的设置来决定如何操作。
若 ignore=y,Oracle 不执行 CREATE TABLE 语句,直接将数据插入到表中,
如果插入的记录违背了约束条件,比如主键约束,则出错的记录不会插入,但合
法的记录会添加到表中。
若 ignore=n,Oracle 不执行 CREATE TABLE 语句,同时也不会将数据插入
到表中,而是忽略该表的错误,继续恢复下一个表。
Indexes:
在恢复数据的过程中,若 indexes=n,则表上的索引不会被恢复,但是主键
对应的唯一索引将无条件恢复,这是为了保证数据的完整性。
Constraints:
constraints为Y的时候,将导入约束,如主键,外键,check,否则不导入.
Rows:
该参数为Y的时候将导入数据,默认是导入数据.但出于某种原因可以将该参数设置成N即不导入数据行。
Tables:
导入/导出表名列表,多个表名,逗号分隔。
data_only:
该参数跟rows的区别在于rows=Y的时候即创建表也导入数据,而dat_only='Y'时,仅仅导入数据,若表不存在,则会报错
Full:
导入整个文件.
Buffer:
指定数据缓冲区大小
Fromuser:
具体指定那个用户下的对象需要导入
Touser:
具体指定导入那个用户,该参数必须跟fromuser一起使用。
Grants:
导入权限
Show:
在屏幕显示文件内容,具体不会做导入操作
Commit:
该参数为Y时,导入的过程会提交数据行,若buffer设置得太小,则会过去频繁的提交数据,对性能有一定的影响.
Recordlength:
IO 记录的长度,最大值为65535
Feedback:
显示每 x 行 (0) 的进度
Destroy:
覆盖表空间数据文件 (N)
Rows:
导入数据行 (Y)
Inctype:
增量导入类型(inctype)