暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB T 逻辑导入

墨天轮 2019-09-28
557

逻辑导入

操作场景

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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论