逻辑导入
操作场景
IMP用于数据库的逻辑导入。
注意事项
- 当前IMP导入实现是在客户端组装SQL发给服务端,因此服务端看到的是具体的DDL、DML语句。
- 客户端操作日志,即LOG参数指定的文件会记录IMP命令行。
- 服务端审计日志{GSDB_DATA}/log/audit中会记录具体的DDL和DML语句。
- 导入bin格式文件,并设置content=DATA_ONLY或METADATA_ONLY时,对应的导出文件必须用相同的content模式。
- IMP使用-h参数、help参数或者option参数,并以“;”或者“/”结束,可以显示IMP命令的使用帮助。
- 逻辑导入不支持SYS用户数据导入。
- FILETYPE=TXT时,不支持导入超过8k的CLOB类型、BLOB类型、TEXT类型或IMAGE类型数据。
- FILETYPE=BIN时,不支持user、table、remap的可选模式,只能按照导出文件全量导入。
- 当前IMP导入支持在单DN上执行,不支持在CN上执行(即仅支持在单机/主备部署模式下执行)。
- IMP支持将老版本的导出文件导入到当前版本。
- 逻辑导入时若目录中有同名文件,则直接覆盖同名文件不作任何提示。
语法格式
{IMP | IMPORT} [ keyword =param [ , ... ] ] [ ... ];
参数说明
- IMP
逻辑导入命令,等同于IMPORT。
- keyword
导入关键字,具体如下所示。
- USERS
指定要导入的用户,多个用户以逗号分隔,%表示所有用户。
普通用户具有DBA角色才能导入除SYS用户外的其他用户的数据;普通用户导入自身数据需要有对应的操作权限,如导入创建表数据需要有CREATE TABLE权限。
- TABLES
指定要导入的表,多个表以逗号分隔,%表示所有表。
- FILE
导入的文件路径和文件名,路径及文件名需要使用双引号。
文件名必须指定,不指定路径时,默认路径为\pkg\bin\。
- LOG
逻辑导入产生的日志文件的路径和文件名,需要使用双引号。
- FILETYPE
导入的文件类型。
取值范围:
- TXT:文本格式。
- BIN。二进制格式。
默认值:TXT。
- FULL
是否全量导入。
取值范围:
- Y:全量导入。
- N:不全量导入。
默认值:N。
- CONTENT
导入内容。
取值范围:
- DATA_ONLY:只导入数据不导入表结构。
- METADATA_ONLY:只导入表结构,不导入数据。
- ALL:两者都导入。
默认值:ALL。
- DISABLE_TRIGGER
是否在导入过程中禁用表触发器。
取值范围:
- Y:导入过程中禁用表触发器。
- N:导入过程中不禁用表触发器。
默认值:Y。
- REMAP_SCHEMA
指定SCHEMA的映射关系。例如:当需要将导出的用户A、B、C的数据导入给用户D的时候,REMAP_SCHEMA=A,B,C:D。
- SHOW
是否只打印sql语句而不导入语句。
取值范围:
- Y:打印不导入。
- N:不打印只导入。
默认值:N。
- FEEDBACK
导入进度提示。
取值范围:自然数。
默认值:10000。
- IGNORE
当语句执行失败时,是否忽略异常,继续执行后面语句。
取值范围:
- Y:执行。
- N:不执行。
默认值:N。
- REMAP_TABLESPACE
指定表空间的映射关系,例如:当需要将导出的表空间A数据导入到表空间B的时候,REMAP_TABLESPACE=A:B。多个映射关系之间用逗号隔开。
- CREATE_USER
是否支持导入用户的定义语句,即创建用户的DDL语句。
取值范围:
- Y:支持。
- N:不支持。
默认值:N。
- PARALLEL
指定DML的并行数。
取值范围:[1,32]。
默认值:1。
- DDL_PARALLEL
指定DDL的并行数。
取值范围:[1,32]。
默认值:1。
- NOLOGGING
不记录redo日志,只支持bin格式。
取值范围:
- Y:支持。
- N:不支持。
默认值:N。
- TIMING
打印导入的统计时间信息。
取值范围:
- ON:支持。
- OFF:不支持。
默认值:OFF。
- BATCH_COUNT
filetype=bin时,设置每批导入的数据行数。该参数只在filetype=bin时生效。
取值范围:[1,10000]。
默认值:10000。
示例
- 导入当前用户的表tab1和表tab2中的数据。
IMP TABLES=tab1,tab2 FILE="file1.dmp";
- 导入EMP、DEPT和MGR用户的数据。
IMP USERS=EMP,DEPT,MGR FILE="file1.dmp";
- 只导入表结构。
IMP USERS=TEST_USER CONTENT=METADATA_ONLY FILE = "file1.dmp";
- 只导入用户的数据。
IMP USERS=USR1,USR2 FILE="file1.dmp" CONTENT=DATA_ONLY;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」关注作者【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。评论