• KingbaseES V8R6兼容Oracle的exp-imp导出导入工具使用


    说明:

    KingbaseES V8R6版本中的兼容Oracle的exp-imp导入导出工具,支持完全模式、用户模式和表模式的导出功能。

    本次案例数据库版本:

    1. test=# select version();
    2. version
    3. ----------------------------------------------------------------------------------------------------------------------
    4. KingbaseES V008R006C005B0023 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46), 64-bit
    5. (1 行记录)

    exp导出命令:

    1. exp [OPTION]...
    2. [USERID = ] user/pwd@servicesname specifies the username/password (and optional connect string)
    3. 示例:
    4. ./bin/exp user/pwd@servicesname file=xyz.dmp FULL=y
    5. ./bin/exp user/pwd@servicesname file=xyz.dmp OWNER=PUBLIC
    6. ./bin/exp user/pwd@servicesname file=xyz.dmp tables=public.a,public.b

    imp导入命令:

    1. imp [OPTION]…
    2. [USERID = ]user/pwd@servicesname specifies the username/password (and optional connect string)
    3. 示例:
    4. ./bin/imp user/pwd@servicesname file=xyz.dmp full=y
    5. ./bin/imp user/pwd@servicesname file=xyz.dmp fromuser=public touser=myschema
    6. ./bin/imp user/pwd@servicesname file=xyz.dmp tables=a,b,c [导入表不需要带模式名称]

    一、配置servicename

    1.创建文件.pg_service.conf,[注意文件名称]

    touch /home/kingbase/.pg_service.conf

    2.编辑.pg_service.conf文件内容:

    1. [kingbase]
    2. host=192.168.152.128
    3. port=54321
    4. dbname=test

    二、导入导出

    1. [kingbase@node128 bin]$ pwd
    2. /home/kingbase/ES/V8/Server/bin
    3. [kingbase@node128 bin]$ ll imp exp
    4. -rwxrwxr-x. 1 kingbase kingbase 564242 115 2021 exp
    5. -rwxrwxr-x. 1 kingbase kingbase 564242 115 2021 imp

    1.完全模式

    数据准备

    1. test=# \d+
    2. 关联列表
    3. 架构模式 | 名称 | 类型 | 拥有者 | 大小 | 描述
    4. ----------+---------------------+------+--------+---------+------
    5. public | sys_stat_statements | 视图 | system | 0 bytes |
    6. (1 行记录)
    7. test=# create table t1(id int);
    8. CREATE TABLE
    9. test=# insert into t1 values (1),(2);
    10. INSERT 0 2
    11. test=# select * from t1;
    12. id
    13. ----
    14. 1
    15. 2
    16. (2 行记录)
    17. test=# \d+
    18. 关联列表
    19. 架构模式 | 名称 | 类型 | 拥有者 | 大小 | 描述
    20. ----------+---------------------+--------+--------+------------+------
    21. public | sys_stat_statements | 视图 | system | 0 bytes |
    22. public | t1 | 数据表 | system | 8192 bytes |
    23. (2 行记录)

    exp导出

    1. [kingbase@node128 bin]$ ll /home/kingbase/
    2. 总用量 0
    3. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 公共
    4. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 模板
    5. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 视频
    6. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 图片
    7. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 文档
    8. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 下载
    9. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 音乐
    10. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 桌面
    11. drwxrwxr-x. 3 kingbase kingbase 16 729 10:29 ES
    12. [kingbase@node128 bin]$ ./exp system/123456@kingbase file=/home/kingbase/expfull.dump full=y
    13. Export terminated successfully without warnings.
    14. [kingbase@node128 bin]$ ll /home/kingbase/
    15. 总用量 48
    16. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 公共
    17. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 模板
    18. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 视频
    19. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 图片
    20. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 文档
    21. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 下载
    22. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 音乐
    23. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 桌面
    24. drwxrwxr-x. 3 kingbase kingbase 16 729 10:29 ES
    25. -rw-rw-r-- 1 kingbase kingbase 48515 8月 5 10:49 expfull.dump

    数据清理

    1. test=# drop table t1 ;
    2. DROP TABLE
    3. test=# \d+
    4. 关联列表
    5. 架构模式 | 名称 | 类型 | 拥有者 | 大小 | 描述
    6. ----------+---------------------+------+--------+---------+------
    7. public | sys_stat_statements | 视图 | system | 0 bytes |
    8. (1 行记录)

    imp导入

    1. [kingbase@node128 bin]$ ./imp system/123456@kingbase file=/home/kingbase/expfull.dump full=y
    2. Import terminated successfully without warnings.

    数据验证

    1. test=# \d+
    2. 关联列表
    3. 架构模式 | 名称 | 类型 | 拥有者 | 大小 | 描述
    4. ----------+---------------------+--------+--------+------------+------
    5. public | sys_stat_statements | 视图 | system | 0 bytes |
    6. public | t1 | 数据表 | system | 8192 bytes |
    7. (2 行记录)
    8. test=# select * from t1 ;
    9. id
    10. ----
    11. 1
    12. 2
    13. (2 行记录)

    2.用户模式

    数据准备

    1. test=# \d+
    2. 关联列表
    3. 架构模式 | 名称 | 类型 | 拥有者 | 大小 | 描述
    4. ----------+---------------------+------+--------+---------+------
    5. public | sys_stat_statements | 视图 | system | 0 bytes |
    6. (1 行记录)
    7. test=# \dn
    8. 架构模式列表
    9. 名称 | 拥有者
    10. ------------------+--------
    11. dbms_job | system
    12. dbms_scheduler | system
    13. dbms_sql | system
    14. kdb_schedule | system
    15. public | system
    16. sysaudit | system
    17. sysmac | system
    18. xlog_record_read | system
    19. (8 行记录)
    20. test=# create schema expschema;
    21. CREATE SCHEMA
    22. test=# create table expschema.exptable(name varchar(10));
    23. CREATE TABLE
    24. test=# insert into expschema.exptable values('a'),('b');
    25. INSERT 0 2
    26. test=# select * from expschema.exptable;
    27. name
    28. ------
    29. a
    30. b
    31. (2 行记录)
    32. test=# \dn
    33. 架构模式列表
    34. 名称 | 拥有者
    35. ------------------+--------
    36. dbms_job | system
    37. dbms_scheduler | system
    38. dbms_sql | system
    39. expschema | system
    40. kdb_schedule | system
    41. public | system
    42. sysaudit | system
    43. sysmac | system
    44. xlog_record_read | system
    45. (9 行记录)
    46. test=# \dt expschema.exptable
    47. 关联列表
    48. 架构模式 | 名称 | 类型 | 拥有者
    49. -----------+----------+--------+--------
    50. expschema | exptable | 数据表 | system
    51. (1 行记录)

    exp导出

    1. [kingbase@node128 bin]$ ll /home/kingbase/
    2. 总用量 48
    3. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 公共
    4. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 模板
    5. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 视频
    6. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 图片
    7. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 文档
    8. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 下载
    9. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 音乐
    10. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 桌面
    11. drwxrwxr-x. 3 kingbase kingbase 16 729 10:29 ES
    12. -rw-rw-r-- 1 kingbase kingbase 48515 8月 5 10:49 expfull.dump
    13. [kingbase@node128 bin]$ ./exp system/123456@kingbase file=/home/kingbase/expowner.dump owner=expschema
    14. Export terminated successfully without warnings.
    15. [kingbase@node128 bin]$ ll /home/kingbase/
    16. 总用量 52
    17. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 公共
    18. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 模板
    19. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 视频
    20. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 图片
    21. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 文档
    22. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 下载
    23. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 音乐
    24. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 桌面
    25. drwxrwxr-x. 3 kingbase kingbase 16 729 10:29 ES
    26. -rw-rw-r-- 1 kingbase kingbase 48515 8月 5 10:49 expfull.dump
    27. -rw-rw-r-- 1 kingbase kingbase 1658 8月 5 11:06 expowner.dump

    数据清理

    1. test=# drop schema expschema cascade;
    2. 注意: 递归删除 表 expschema.exptable
    3. DROP SCHEMA
    4. test=# \dn
    5. 架构模式列表
    6. 名称 | 拥有者
    7. ------------------+--------
    8. dbms_job | system
    9. dbms_scheduler | system
    10. dbms_sql | system
    11. kdb_schedule | system
    12. public | system
    13. sysaudit | system
    14. sysmac | system
    15. xlog_record_read | system
    16. (8 行记录)
    17. test=# \d+
    18. 关联列表
    19. 架构模式 | 名称 | 类型 | 拥有者 | 大小 | 描述
    20. ----------+---------------------+------+--------+---------+------
    21. public | sys_stat_statements | 视图 | system | 0 bytes |
    22. (1 行记录)

    imp导入

    1. [kingbase@node128 bin]$ ./imp system/123456@kingbase file=/home/kingbase/expowner.dump fromuser=expschema touser=public
    2. Import terminated successfully without warnings.

    数据验证

    1. test=# \d+
    2. 关联列表
    3. 架构模式 | 名称 | 类型 | 拥有者 | 大小 | 描述
    4. ----------+---------------------+--------+--------+------------+------
    5. public | exptable | 数据表 | system | 8192 bytes |
    6. public | sys_stat_statements | 视图 | system | 0 bytes |
    7. (2 行记录)
    8. test=# select * from exptable ;
    9. name
    10. ------
    11. a
    12. b
    13. (2 行记录)

    3.表模式

    数据准备

    1. test=# \d+
    2. 关联列表
    3. 架构模式 | 名称 | 类型 | 拥有者 | 大小 | 描述
    4. ----------+---------------------+------+--------+---------+------
    5. public | sys_stat_statements | 视图 | system | 0 bytes |
    6. (1 行记录)
    7. test=# create table t1(addr varchar(10));
    8. CREATE TABLE
    9. test=# insert into t1 values('x'),('y');
    10. INSERT 0 2
    11. test=# \d+
    12. 关联列表
    13. 架构模式 | 名称 | 类型 | 拥有者 | 大小 | 描述
    14. ----------+---------------------+--------+--------+------------+------
    15. public | sys_stat_statements | 视图 | system | 0 bytes |
    16. public | t1 | 数据表 | system | 8192 bytes |
    17. (2 行记录)
    18. test=# select * from t1;
    19. addr
    20. ------
    21. x
    22. y
    23. (2 行记录)

    exp导出

    1. [kingbase@node128 bin]$ ll /home/kingbase/
    2. 总用量 52
    3. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 公共
    4. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 模板
    5. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 视频
    6. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 图片
    7. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 文档
    8. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 下载
    9. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 音乐
    10. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 桌面
    11. drwxrwxr-x. 3 kingbase kingbase 16 729 10:29 ES
    12. -rw-rw-r-- 1 kingbase kingbase 48515 8月 5 10:49 expfull.dump
    13. -rw-rw-r-- 1 kingbase kingbase 1658 8月 5 11:06 expowner.dump
    14. [kingbase@node128 bin]$ ./exp system/123456@kingbase file=/home/kingbase/exptable.dump tables=public.t1
    15. Export terminated successfully without warnings.
    16. [kingbase@node128 bin]$ ll /home/kingbase/
    17. 总用量 56
    18. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 公共
    19. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 模板
    20. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 视频
    21. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 图片
    22. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 文档
    23. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 下载
    24. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 音乐
    25. drwxr-xr-x. 2 kingbase kingbase 6 728 18:03 桌面
    26. drwxrwxr-x. 3 kingbase kingbase 16 729 10:29 ES
    27. -rw-rw-r-- 1 kingbase kingbase 48515 8月 5 10:49 expfull.dump
    28. -rw-rw-r-- 1 kingbase kingbase 1658 8月 5 11:06 expowner.dump
    29. -rw-rw-r-- 1 kingbase kingbase 1434 8月 5 11:19 exptable.dump

    数据清理

    1. test=# drop table t1;
    2. DROP TABLE
    3. test=# \d+
    4. 关联列表
    5. 架构模式 | 名称 | 类型 | 拥有者 | 大小 | 描述
    6. ----------+---------------------+------+--------+---------+------
    7. public | sys_stat_statements | 视图 | system | 0 bytes |
    8. (1 行记录)

    imp导入

    1. [kingbase@node128 bin]$ ./imp system/123456@kingbase file=/home/kingbase/exptable.dump tables=t1
    2. Import terminated successfully without warnings.

    数据验证

    1. test=# \d+
    2. 关联列表
    3. 架构模式 | 名称 | 类型 | 拥有者 | 大小 | 描述
    4. ----------+---------------------+--------+--------+------------+------
    5. public | sys_stat_statements | 视图 | system | 0 bytes |
    6. public | t1 | 数据表 | system | 8192 bytes |
    7. (2 行记录)
    8. test=# select * from t1 ;
    9. addr
    10. ------
    11. x
    12. y
    13. (2 行记录)

    三、其他参数

    exp参数

    ROWS = y/n :n时,只导出数据库对象的定义,不导出具体数据;y时,全部导出。

    QUERY = whereclause:仅在表模式下有效,exp会导出QUERY参数指定的where条件限定的表的子集。

    CONSTRAINS = y/n:是否导出约束,默认值为y。

    INDEXES = y/n:是否导出索引,默认值为y。

    TRIGGERS = y/n:是否导出触发器,默认值为y。

    ixp参数

    IGNORE = y/n:导入过程中出错时的行为,是忽略错误继续执行导入,还是遇到错误直接退出,默认值为n。

    CLEAN = y/n:指示imp程序先删掉数据库对象,再执行导入操作,默认值为n。

    ONLYVIEW = y/n:指示imp程序只导入视图对象,默认值为n。

    RECREATEVIEW = y/n:在导入的最后阶段先删掉所有视图,再重新创建它们,默认值为n。

  • 相关阅读:
    猿创征文|docker本地仓库的搭建(简易可快速使用的本地仓库)
    文心一言 VS 讯飞星火 VS chatgpt (232)-- 算法导论17.1 3题
    gitlab 搭建使用
    【C++】构造函数初始化列表 ④ ( 构造函数 和 析构函数 调用顺序分析 )
    模板 主席树查询区间k小
    动漫主题dreamweaver作业静态HTML网页设计——仿京东(海贼王)版本
    python 虚拟环境管理
    企业如何高效平滑迁移数据?火山引擎DataLeap上线整库搬迁解决方案
    策略验证_指标买点分析技法_运用boll布林线指标选择买点
    数据填报系统究竟是买还是自研呢?_光点科技
  • 原文地址:https://blog.csdn.net/lyu1026/article/details/126317762