正德厚生,臻于至善

07.达梦DCA认证课程-DM数据库逻辑导出导入

1.逻辑导出导入概述

dexp 工具可以对本地或者远程数据库进行数据库级、用户级、模式级和表级的逻辑备份。备份的内容非常灵活,可以选择是否备份索引、数据行和权限,是否忽略各种约束(外键约束、非空约束、唯一约束等)。

dimp 逻辑导入工具利用 dexp 工具生成的备份文件对本地或远程的数据库进行联机逻辑还原。dimp 导入是 dexp 导出的相反过程。还原的方式可以灵活选择,如是否忽略对象存在而导致的创建错误、是否导入约束、是否导入索引、导入时是否需要编译、是否生成日志等。

1.1 dexp命令帮助

[dmdba@dmserver ~]$ dexp help
dexp V8
version: 03134283904-20220630-163817-20005
格式: ./dexp  KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)

例程: ./dexp  SYSDBA/SYSDBA GRANTS=Y TABLES=(SYSDBA.TAB1,SYSDBA.TAB2,SYSDBA.TAB3)

USERID 必须是命令行中的第一个参数

关键字              说明(默认值)
--------------------------------------------------------------------------------
USERID              用户名/口令 格式:{<username>[/<password>] | /}[@<connect_identifier>][<option>] [<os_auth>]
                    <connect_identifier> : [<svc_name> | host[:port] | <unixsocket_file>]
                    <option> : #{<exetend_option>=<value>[,<extend_option>=<value>]...}
                               --此行外层{}是为了封装参数之用,书写时需要保留
                    <os_auth> : AS {SYSDBA|SYSSSO|SYSAUDITOR|USERS|AUTO}
FILE                导出文件 (dexp.dmp)
DIRECTORY           导出文件所在目录
FULL                整库导出 (N)
OWNER               以用户方式导出 格式 (user1,user2,...)
SCHEMAS             以模式方式导出 格式 (schema1,schema2,...)
TABLES              以表方式导出 格式 (table1,table2,...)
FUZZY_MATCH         TABLES选项是否支持模糊匹配 (N)
QUERY               用于导出表的子集的select 子句
PARALLEL            用于指定导出的过程中所使用的线程数目
TABLE_PARALLEL      用于指定导出的过程中表内的并发线程数目,MPP模式下会转换成单线程
TABLE_POOL          用于指定表的缓冲区个数
EXCLUDE             忽略指定的对象 
                       格式 EXCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS) or
                            EXCLUDE=TABLES:table1,table2 or
                            EXCLUDE=SCHEMAS:sch1,sch2 
INCLUDE             包含指定的对象 
                       格式 INCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS) or 
                            INCLUDE=TABLES:table1,table2
CONSTRAINTS         导出约束 (Y)
TABLESPACE          导出对象带有表空间 (N)
GRANTS              导出权限 (Y)
INDEXES             导出索引 (Y)
TRIGGERS            导出触发器 (Y)
ROWS                导出数据行 (Y)
LOG                 屏幕输出的日志文件
NOLOGFILE           不使用日志文件(N)
NOLOG               屏幕上不显示日志信息(N)
LOG_WRITE           日志信息实时写入文件: 是(Y),否(N)
DUMMY               交互信息处理: 打印(P), 所有交互都按YES处理(Y),NO(N) 
PARFILE             参数文件名
FEEDBACK            每 x 行显示进度 (0)
COMPRESS            导出数据是否压缩 (N)
ENCRYPT             导出数据是否加密 (N)
ENCRYPT_PASSWORD    导出数据的加密密钥
ENCRYPT_NAME        加密算法的名称
FILESIZE            每个转储文件的最大大小
FILENUM             一个模板可以生成的文件数
DROP                导出后删除原表,但不级联删除 (N)
DESCRIBE            导出数据文件的描述信息,记录在数据文件中
COL_DEFAULT_SEPARATE 是否单独导出列默认值 (Y)
HELP                打印帮助信息

1.2 dimp命令帮助

[dmdba@dmserver ~]$ dimp help
dimp V8
version: 03134283904-20220630-163817-20005
格式: ./dimp KEYWORD=value 或 KEYWORD=(value1,value2,...,vlaueN)

例程: ./dimp SYSDBA/SYSDBA IGNORE=Y ROWS=Y FULL=Y

USERID 必须是命令行中的第一个参数

关键字                 说明(默认值)
--------------------------------------------------------------------------------
USERID                 用户名/口令 格式:{<username>[/<password>] | /}[@<connect_identifier>][<option>] [<os_auth>]
                       <connect_identifier> : [<svc_name> | host[:port] | <unixsocket_file>]
                       <option> : #{<exetend_option>=<value>[,<extend_option>=<value>]...}
                                  --此行外层{}是为了封装参数之用,书写时需要保留
                       <os_auth> : AS {SYSDBA|SYSSSO|SYSAUDITOR|USERS|AUTO}
FILE                   导入文件名称 (dexp.dmp)
DIRECTORY              导入文件所在目录
FULL                   整库导入 (N)
OWNER                  以用户方式导入 格式 (user1,user2,...)
SCHEMAS                以模式方式导入 格式 (schema1,schema2,...)
TABLES                 以表名方式导入 格式(table1,table2,...)
PARALLEL               用于指定导入的过程中所使用的线程数目
TABLE_PARALLEL         用于指定导入的过程中每个表所使用的子线程数目,在FAST_LOAD为Y时有效
IGNORE                 忽略创建错误 (N)
TABLE_EXISTS_ACTION    需要的导入表在目标库中存在时采取的操作[SKIP | APPEND | TRUNCATE | REPLACE]
FAST_LOAD              是否使用dmfldr来导数据(N)
FLDR_ORDER             使用dmfldr是否需要严格按顺序来导数据(Y)
COMMIT_ROWS            批量提交的行数(5000)
EXCLUDE                忽略指定的对象 格式 
                           格式 EXCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS)
GRANTS                 导入权限 (Y)
CONSTRAINTS            导入约束 (Y)
INDEXES                导入索引 (Y)
TRIGGERS               导入触发器 (Y)
ROWS                   导入数据行 (Y)
LOG                    指定日志文件
NOLOGFILE              不使用日志文件(N)
NOLOG                  屏幕上不显示日志信息(N)
LOG_WRITE              日志信息实时写入文件(N): 是(Y),否(N)
DUMMY                  交互信息处理(P): 打印(P), 所有交互都按YES处理(Y),NO(N) 
PARFILE                参数文件名
FEEDBACK               每 x 行显示进度 (0)
COMPILE                编译过程, 程序包和函数... (Y)
INDEXFILE              将表的索引/约束信息写入指定的文件
INDEXFIRST             导入时先建索引(N)
REMAP_SCHEMA           格式(SOURCE_SCHEMA:TARGET_SCHEMA)
                       将SOURCE_SCHEMA中的数据导入到TARGET_SCHEMA中 
ENCRYPT_PASSWORD       数据的加密密钥
ENCRYPT_NAME           加密算法的名称
SHOW/DESCRIBE          打印出指定文件的信息(N)
TASK_THREAD_NUMBER     用于设置dmfldr处理用户数据的线程数目
BUFFER_NODE_SIZE       用于设置dmfldr读入文件缓冲区大小
TASK_SEND_NODE_NUMBER  用于设置dmfldr发送节点个数[16,65535]
LOB_NOT_FAST_LOAD      如果一个表含有大字段,那么不使用dmfldr,因为dmfldr是一行一行提交的
PRIMARY_CONFLICT       主键冲突的处理方式[IGNORE|OVERWRITE|OVERWRITE2],默认报错
TABLE_FIRST            是否先导入表(N):是(Y),否(N)
SHOW_SERVER_INFO       是否打印服务器信息(N):是(Y),否(N)
IGNORE_INIT_PARA       忽略建库参数差异(0): CASE_SENSITIVE(1),LENGTH_IN_CHAR(2)
AUTO_FREE_KEY          导入数据完成后, 是否释放密钥(N):是(Y), 否(N)
REMAP_TABLE            格式(SOURCE_SCHEMA.SOURCE_TABLE:TARGET_TABLE)
                       将SOURCE_TABLE中的数据导入到TARGET_TABLE中 
REMAP_TABLESPACE       格式(SOURCE_TABLESPACE:TARGET_TABLESPACE)
                       将SOURCE_TABLESPACE表空间映射到TARGET_TABLESPACE表空间中 
HELP                   打印帮助信息

2.逻辑导出导入使用

2.1 四种级别的导入导出

  • 全库(full=y)
  • 按用户(owner=XXX)
  • 按模式(schemas=XXX)
  • 按表(tables=XX

2.1.1 full级别导出

设置 FULL=Y,导出数据库的所有对象,导出数据库文件和日志文件放在路径/mnt/data/dexp 下

dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log FULL=Y DIRECTORY=/mnt/data/dexp

设置导出文件方法:

dexp USERID =SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log FULL=Y DIRECTORY=/mnt/data/dexp

等价于

dexp USERID =SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=/mnt/data/dexp/db_str.log FULL=Y

2.1.2 owner级别导出

设置 OWNER=test,导出用户 test 所拥有的对象全部导出。

# 1.Sysdba/dmdba123@localhost:5236  库中创建用户 test:
create tablespace test datafile '/opt/dm8/data/DAMENG/test01.dbf' size 50;
create user test identified by test123456 default tablespace test;
create table test.t (id number);
insert into test.t values(10);
commit;
# 2.执行导出
dexp USERID=SYSDBA/dmdba123 FILE=user_test.dmp LOG=user_test.log OWNER=test DIRECTORY=/home/dmdba/backup
# 3.在目标库创建test用户
disql sysdba/SYSDBA@localhost:5237
SQL> create user test identified by test123456;
# 4.执行导入
dimp USERID=SYSDBA/SYSDBA@localhost:5237 FILE=user_test.dmp LOG=imp_test.log OWNER=test DIRECTORY=/home/dmdba/backup

2.1.3 schemas级别导出

设置 SCHEMAS=USER01,导出模式 USER01 模式下的所有对象。和 owner 的类似

dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log SCHEMAS=USER01 DIRECTORY=/mnt/data/dexp

2.1.4 tables级别导出

TABLES 方式导出和导入一个或多个指定的表或表分区。导出所有数据行、约束、索引等信息。

设置 TABLES=t1,导出 t1 表的所有数据和信息:

# 1.Sysdba/dmdba123@localhost:5236中模拟业务:
create table test.t1 (id number,name varchar2(10));
insert into test.t1 values(10,'test1');
commit;
# 2.执行导出
dexp USERID=SYSDBA/dmdba123 FILE=tab_t1.dmp LOG=tab_t1.log TABLES=test.t1 DIRECTORY=/home/dmdba/backup
# 3.导入到 sysdba/SYSDBA@localhost:5237 
dimp USERID=SYSDBA/SYSDBA@localhost:5237 FILE=tab_t1.dmp LOG=tab_t1_imp.log TABLES=test.t1 DIRECTORY=/home/dmdba/backup

2.2 使用示例

环境说明:

导出库: 环境为 linux,服务器为 192.168.6.110,用户名和密码均为 sysdba/dmdba123。安装时带有
BOOKSHOP 的示例库,端口号 5236。导出全库
导入库: 环境为 linux,服务器为 192.168.6.110,用户名和密码均为 SYSDBA。准备一个空数据库作为导入库,端口号为 5237。

导出数据库的所有对象:

# 导出文件为full.dmp,导出日志为full.log,存放目录为/home/dmdba/backup
dexp sysdba/dmdba123 file=full.dmp log=full.log directory=/home/dmdba/backup full=y

按模式导入:

# 导入sysdba,person,dmhr模式中的数据
dimp sysdba/SYSDBA@localhost:5237 file=full.dmp log=imp.log directory=/home/dmdba/backup schemas=SYSDBA,PERSON,DMHR

全库导入:

dimp sysdba/SYSDBA@localhost:5237 file=full.dmp log=imp.log directory=/home/dmdba/backup full=y
赞(0) 打赏
未经允许不得转载:徐万新之路 » 07.达梦DCA认证课程-DM数据库逻辑导出导入

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册