仅为个人学习记录

一、简述

1、DM 数据库的备份还原包括两种类型:物理备份还原和逻辑备份还原

2、物理备份还原

(1)对数据库的操作系统物理文件(如数据文件、控制文件和日志文件等)的备份还原

(2)数据库本身的backup命令,dmrman的backup&restore&recover命令

3、逻辑备份还原

(1)对数据库逻辑组件(如表、视图和存储过程等数据库对象)的备份还原

(2)dexp&dimp

(3)逻辑备份有物理备份所不具有的灵活性

二、dexp导出解析

1、基础参数

(1)USERID

用户连接参数

dexp USERID=SYSDBA/SYSDBA@127.0.0.1:5236

userid=可省略,连接本地5236端口时,@127.0.0.1:5236可省略

连接密码中带有特殊字符 (/,@.:等, ), 需 要外加三层双引号("""""" )

如:sysdba/”””sys@dba”””

(2)FILE

导出的文件名,可以包含路径,默认名为dexp.dmp

  1. 如果 FILE 指定的文件包含生成路径,则忽略 DIRECTORY 中的路径 ;
  2. 如果 FILE 没有指定路径时,使用 DIRECTORY 中指定的路径 ;
  3. 如果 FILE 和 DIRECTORY 都没有指定路径,则使用系统当前路径。

(3)LOG

导出时的日志文件名,可以包含路径,默认名为dexp.log

  1. 如果 LOG 指定的文件包含生成路径,则忽略 DIRECTORY 中的路径 ;
  2. 如果 LOG 没有指定路径时,使用 DIRECTORY 中指定的路径 ;
  3. 如果 LOG 和 DIRECTORY 都没有指定路径,则使用系统当前路径。

(4) DIRECTORY

指定导出文件及日志文件生成的路径

2、导出级别参数

(1)full 全库导出

例:dexp USERID=SYSDBA/SYSDBA FILE=db_full.dmp LOG=db_full.log FULL=Y DIRECTORY=/mnt/data/dexp

(2)OWNER,用户导出

例:导出属于myuser1和myuser2用户的所有对象,一个用户可以拥有多个模式

dexp USERID=SYSDBA/SYSDBA FILE=db_full.dmp LOG=db_full.log OWNER=MYUSER1,MYUSER2

(3)SCHEMAS,模式导出

例:导出属于myuser1和myuser2模式的所有对象

dexp USERID=SYSDBA/SYSDBA FILE=db_full.dmp LOG=db_full.log SCHEMAS=MYUSER1,MYUSER2

(4)TABLES

导入一个或多个指定的表或表分区。导出所有数据行、约束、索引

dexp USERID=SYSDBA/SYSDBA FILE=db_full.dmp LOG=db_full.log TBLES=MYTAB1,MYTAB2

3、其他参数

(1)EXCLUDE

设置导出时忽略的对象种类

语法:

  1. EXCLUDE=(<对象种类名>{,<对象种类名>})
  2. EXCLUDE=TABLES:<表名>{,<表名>}
  3. EXCLUDE=SCHEMAS:<模式名>{,<模式名>}

<对象种类名>:包括 CONSTRAINTS、INDEXES、ROWS、TRIGGERS、GRANTS。

(2)INCLUDE

设置导出时包含的对象种类

语法

  1. INCLUDE=(<对象种类名>{,<对象种类名>})
  2. INCLUDE=TABLES:<表名>{,<表名>}

(3)单独设置对象种类

和EXCLUDE INCLUDE一样作用,选其一就可以

  1. CONSTRAINTS=N:设置不导出约束。可选参数。缺省该参数为 Y,导出约束。
  2. TABLESPACE=Y:设置导出的对象定义中包含表空间。可选参数。缺省该参数为 N,不包含表空间。
  3. GRANTS=N:设置不导出权限。可选参数。缺省该参数为 Y,导出权限。
  4. INDEXES=N:设置不导出索引。可选参数。缺省该参数为 Y,导出索引。
  5. TRIGGERS=N:设置不导出触发器。可选参数。缺省该参数为 Y,导出触发器。
  6. ROWS=N:设置不导出数据。可选参数。缺省该参数为 Y,导出数据。

(4)PARFILE

PARFILE用于将常用的参数设置保存到文件中,然后使用参数文件PARFILE进行导出、导入操作。

PARFILE=<path>

parfile内容格式例:

FILE=db_exp.dmp

LOG=db_exp.log

TABLES=table1

DIRECTORY=/mnt/data/dexp

(5)COMPRESS

是否压缩,缺省不压缩

(6)QUERY

指定过滤条件来对表数据进行导出

例:dexp USERID=SYSDBA/SYSDBA FILE=db_exp.dmp LOG=db_exp.log TABLES=OTHER.READER QUERY="WHERE AGE=19"

(7)FUZZY_MATCH

指定 TABLES 选项是否支持模糊匹配,缺省为N

例:dexp USERID=SYSDBA/SYSDBA FILE=db_exp.dmp LOG=db_exp.log TABLES=OTHER.R% FUZZY_MATCH=Y

(8)PARALLEL

指定导出的过程中所使用的线程数目

PARALLEL=<num>,缺省为1,范围时1-100;

三、dimp导出解析

多数参考dexp参数即可

1、常用参数

(1)TABLE_EXISTS_ACTION

要导入的表已经存在时的处理方式,默认直接报错

TABLE_EXISTS_ACTION=[SKIP | APPEND | TRUNCATE | REPLACE]

  1. SKIP:跳过此表。
  2. APPEND:直接向现有表中导入数据
  3. TRUNCATE:先删除现有表中的数据,再向表中导入数据
  4. REPLACE:先删除现有表,再导数据

(2)REMAP_SCHEMA

将源模式中的数据导入到目标模式中

REMAP_SCHEMA=SRC_SCHEMA:DEST_SCHEMA

  1. <SRC_SCHEMA>:源模式。如果指定的源模式不存在,则导入到对象原来所在的模式。
  2. <DEST_SCHEMA>:目标模式。如果目标模式不存在,先创建目标模式,再继续导入。

四、dexp&dimp应用举例

1、并行导出test用户下所有数据并压缩

dexp USERID=SYSDBA/SYSDBA FILE=db_full.dmp LOG=db_full.log OWNER=test

2、导入

dimp USERID=SYSDBA/SYSDBA FILE=db_full.dmp LOG=db_full_imp.log OWNER=test

达梦数据库 - 新一代大型通用关系型数据库 | 达梦云适配中心达梦数据库产品体验站,DM8在线试玩,达梦数据库全系列产品免费下载,官方权威的快速上手文档和产品手册,最活跃的达梦技术社区,面向全行业ISV厂商免费的云适配服务。

达梦数据库docker 镜像 ARM 达梦数据库dexp_备份还原

https://eco.dameng.com/