现在的位置: 首页 > 综合 > 正文

exp,imp 小参数详解(之三)

2013年09月10日 ⁄ 综合 ⁄ 共 2829字 ⁄ 字号 评论关闭

|||||||||||||||||||||||||||||||||||||||||||||||||
IGNORE
Default: n
Specifies how object creation errors should be handled. If you accept the default, IGNORE=n, Import logs or displays object creation errors before continuing.

If you specify IGNORE=y, Import overlooks object creation errors when it attempts to create database objects, and continues without reporting the errors.

Note that only object creation errors are ignored; other errors, such as operating system, database, and SQL errors, are not ignored and may cause processing to stop.

In situations where multiple refreshes from a single export file are done with IGNORE=y, certain objects can be created multiple times (although they will have unique system-defined names). You can prevent this for certain objects (for example, constraints) by doing an import with CONSTRAINTS=n. If you do a full import with CONSTRAINTS=n, no constraints for any tables are imported.

If a table already exists and IGNORE=y, then rows are imported into existing tables without any errors or messages being given. You might want to import data into tables that already exist in order to use new storage parameters or because you have already created the table in a cluster.

If a table already exists and IGNORE=n, then errors are reported and the table is skipped with no rows inserted. Also, objects dependent on tables, such as indexes, grants, and constraints, will not be created.

Caution:

When you import into existing tables, if no column in the table is uniquely indexed, rows could be duplicated.
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

当选择 ignore=y,Import将会忽略对象的创建错误,并且继续imp 操作而不报错。
(If you specify IGNORE=y, Import overlooks object creation errors when it attempts to create database objects, and continues without reporting the errors.)

注意,仅仅对象创建错误会被忽略,但是其他错误(操作系统错误,数据库错误,sql错误) 不会被忽略并可能导致进程结束。
(Note that only object creation errors are ignored; other errors, such as operating system, database, and SQL errors, are not ignored and may cause processing to stop.)

在用单个的exp文件 对 数据库进行多次 刷新操作的时候,如果选择ignore=y,某些对象可能 被创建多次,(即使他们含有唯一的系统名)。你可使用参数 constraints=y 来避免部分的重复创建。
(In situations where multiple refreshes from a single export file are done with IGNORE=y, certain objects can be created multiple times (although they will have unique system-defined names). You can prevent this for certain objects (for example, constraints) by doing an import with CONSTRAINTS=n.)
 
如果 ignore=y
当插入的表存在的时候,imp时候如果选择 ignore=n,那么对这个表的插入将会跳过。(依靠这个表的对象,比如index、grants、constraints都会被忽略)(If a table already exists and IGNORE=y, then rows are imported into existing tables without any errors or messages being given.)
当你对表中的内容进行导入的时候,如果表中没有一列含有唯一索引,行可以被重复。
(When you import into existing tables, if no column in the table is uniquely indexed, rows could be duplicated.)

|||||||||||||||||||||||||||||||||||||
总结:
在用单个的exp文件 对 数据库进行多次 刷新操作的时候,如果选择ignore=y,某些对象可能 被创建多次,(即使他们含有唯一的系统名)。你可使用参数 constraints=y 来避免部分的重复创建。
当插入的表存在的时候,imp时候如果选择 ignore=n,那么对这个表的插入将会跳过。(依靠这个表的对象,比如index、grants、constraints都会被忽略)
当你对表中的内容进行导入的时候,如果表中没有一列含有唯一索引,行可以被重复。
所以对数据库进行增量的导入,采用imp的时候,要防止这个表没有唯一索引,插入多次的现象。
针对exp ,imp时间点之间老库中修改过的数据,如果要导入新库,也要采取别的方法来做

一般是在新库中把这些修改的数据删除掉,再把老库exp 文件导入到新库。(选择 ignore=y)

抱歉!评论已关闭.