简介
DM数据库的备份还原包括两种类型:物理备份还原和逻辑备份还原。物理备份还原是对数据库的操作系统物理文件(如数据文件、控制文件和日志文件等)的备份还原。例如使用RMAN工具进行的备份还原。物理备份还原请参考《DM8备份与还原》。逻辑备份还原是对数据库逻辑组件(如表、视图和存储过程等数据库对象)的备份还原。例如使用dexp和dimp进行的备份还原。逻辑备份还原正是本书所要介绍的内容。
逻辑导出(dexp)和逻辑导入(dimp)是DM数据库的两个命令行工具,分别用来实现对DM数据库的逻辑备份和逻辑还原。逻辑备份和逻辑还原都是在联机方式下完成,联机方式是指数据库服务器正常运行过程中进行的备份和还原。dexp和dimp是DM数据库自带的工具,只要安装了DM数据库,就可以在安装目录/dmdbms/bin中找到。
逻辑导出和逻辑导入数据库对象分为四种级别:数据库级、用户级、模式级和表级。四种级别独立互斥,不能同时存在。四种级别所提供的功能:
l 数据库级(FULL):导出或导入整个数据库中的所有对象。
l 用户级(OWNER):导出或导入一个或多个用户所拥有的所有对象。
l 模式级(SCHEMAS):导出或导入一个或多个模式下的所有对象。
l 表级(TABLES):导出或导入一个或多个指定的表或表分区。
dexp逻辑导出
dexp工具可以对本地或者远程数据库进行数据库级、用户级、模式级和表级的逻辑备份。备份的内容非常灵活,可以选择是否备份索引、数据行和权限,是否忽略各种约束(外键约束、非空约束、唯一约束等),在备份前还可以选择生成日志文件,记录备份的过程以供查看。
dexp工具名称有两种写法dexp和dexpdp。两者语法完全相同。唯一的区别在于,dexp导出的文件必须存放在客户端,dexpdp导出的文件必须存放在服务器端。
针对数据库对象,有FULL、OWNER、SCHEMAS、TABLES四种导出方式可供选择。一次导出只能指定一种方式。可选参数,缺省为SCHEMAS。
./dexp USERID=SYSDBA/SYSDBA@192.168.0.248:8888#/user/data FILE=db_str.dmp DIRECTORY=/mnt/dexp/data LOG=db_str.log FULL=Y
参数 |
含义 |
备注 |
USERID |
数据库的连接信息 |
必选 |
FILE |
明确指定导出文件名称 |
可选。如果缺省该参数,则导出文件名为dexp.dmp |
DIRECTORY |
导出文件所在目录 |
可选 |
FULL |
导出整个数据库(N) |
可选,四者中选其一。缺省为SCHEMAS |
OWNER |
用户名列表,导出一个或多个用户所拥有的所有对象 |
|
SCHEMAS |
模式列表,导出一个或多个模式下的所有对象 |
|
TABLES |
表名列表,导出一个或多个指定的表或表分区 |
|
FUZZY_MATCH |
TABLES选项是否支持模糊匹配(N) |
可选 |
QUERY |
用于指定对导出表的数据进行过滤的条件。 |
可选 |
PARALLEL |
用于指定导出的过程中所使用的线程数目 |
可选 |
TABLE_PARALLEL |
用于指定导出每张表所使用的线程数,在MPP模式下会转换成单线程 |
可选 |
TABLE_POOL |
用于设置导出过程中存储表的缓冲区个数 |
可选 |
EXCLUDE |
1. 导出内容中忽略指定的对象。对象有CONSTRAINTS、INDEXES、ROWS、TRIGGERS和GRANTS。 比如:EXCLUDE= (CONSTRAINTS,INDEXES) 2. 忽略指定的表,使用TABLES:INFO格式,如果使用表级导出方式导出,则使用TABLES:INFO格式的EXCLUDE无效。例如:EXCLUDE= TABLES:table1,table2 3. 忽略指定的模式,使用SCHEMAS:INFO格式,如果使用表级,模式级导出方式导出,则使用SCHEMAS:INFO 格式的EXCLUDE无效。例如:EXCLUDE=SCHEMAS:SCH1,SCH2 |
可选 |
INCLUDE |
导出内容中包含指定的对象 例如:INCLUDE=(CONSTRAINTS,INDEXES) 或者INCLUDE=TABLES:table1,table2 |
可选 |
|
CONSTRAINTS |
导出约束(Y) |
可选。 此处单独设置与和EXCLUDE/INCLUDE中批量设置功能一样。设置一个即可 |
|
TABLESPACE |
导出的对象定义是否包含表空间(N) |
可选。 此处单独设置与和EXCLUDE/INCLUDE中批量设置功能一样。设置一个即可 |
|
GRANTS |
导出权限(Y) |
||
INDEXES |
导出索引(Y) |
||
TRIGGERS |
导出触发器(Y) |
||
ROWS |
导出数据行(Y) |
||
LOG |
明确指定日志文件名称 |
可选,如果缺省该参数,则导出文件名为dexp.log |
|
NOLOGFILE |
不使用日志文件(N) |
可选 |
|
NOLOG |
屏幕上不显示日志信息(N) |