1.逻辑备份(dexp/dimp)
逻辑导出(dexp)和逻辑导入(dimp)是 DM 数据库的两个命令行工具,分别用来实现对 DM 数据库的逻辑备份和逻辑还原
逻辑导出和逻辑导入数据库对象分为四种级别:数据库级、用户级、模式级和表级。四种级别独立互斥,不能同时存在。四种级别所提供的功能:
- 数据库级(FULL):导出或导入整个数据库中的所有对象。
- 用户级(OWNER):导出或导入一个或多个用户所拥有的所有对象。s
- 模式级(SCHEMAS):导出或导入一个或多个模式下的所有对象。
- 表级(TABLES):导出或导入一个或多个指定的表或表分区。
四种级别的导出方式
FULL
FULL 方式导出数据库的所有对象。
例如,设置 FULL=Y,导出数据库的所有对象,导出数据库文件和日志文件放在路径 /dmpdir
下。
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log FULL=Y DIRECTORY=/dmpdir
OWNER
OWNER 方式导出一个或多个用户拥有的所有对象。
例如,设置 OWNER=test1,导出用户 test1所拥有的对象全部导出。
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log OWNER=test1 DIRECTORY=/dmpdir
SCHEMAS
SCHEMAS 方式的导出一个或多个模式下的所有对象。
例如,设置 SCHEMAS=USER01,导出模式 USER01 模式下的所有对象。
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log SCHEMAS=USER01 DIRECTORY=/dmpdir
TABLES
TABLES 方式导出和导入一个或多个指定的表或表分区。导出所有数据行、约束、索引等信息。
例如,设置 TABLES=table1,table2,导出 table1,table2 两张表的所有数据和信息。
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log TABLES=table1,table2 DIRECTORY=/dmpdir
和 TABLES 导出有关的参数还有 QUERY、EXCLUDE 和 INCLUDE,都是用来设置过滤条件的。
相关参数
2.物理备份
需要将数据库转为归档模式,达梦数据库提供三种方法
- 使用manager图形化界面
将数据库起为配置状态状态
模式选择归档,后添加归档路径
2. 使用命令行启动
将数据库启至mount状态
alter database mount;
添加归档日志路径(官方建议为/dm/dmarch)
alter database add archivelog ‘DEST=/dm/dmarch,TYPE=local,FILE_SIZE=256,SPACE_LIMIT=2048’;
开启归档
alter database archivelog;
打开数据库
alter database open;
查看是否为归档状态
select arch_mode from v$database;
- 修改dm.ini参数
修改
vi dm.inis
arch_ini=1
vi dmarch_ini
确认为1,并加入
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL //REDO 日志归档类型,LOCAL 表示本地归档,REMOTE 表示远程
ARCH_DEST = /dm/dmarch //REDO 日志归档目标,LOCAL 对应归档文件存放路径;REMOTE 对应远程目标节点实例名,REMOTE 对应远程目标节点实例名
ARCH_FILE_SIZE = 256 //单个REDO日志归档文件大小,取值范围(64MB~2048MB),默认1024MB
ARCH_SPACE_LIMIT = 2048 //REDO 日志归档空间限制,当所有本地归档文件达到限制值时,系统自动删除最老的归档文件。0 表示无空间限制,取值范围(1024 MB~4294967294 MB),缺省为 0
停库
DmServicedmserver stop
无论冷备份还是热备份,我们的 DmAPService 服务是必须开启的(数据库
辅助插件服务)
DmAPService status
用 dmrman 进行备份,只支持冷备
cd $DM_HOME/bin/
./dmrman
backup database '/dm/dmdata/DAMENG/dm.ini' backupset '/dm/dmback/dmserver_full_01';
冷备恢复:
./dmrman
restore
restore database '/dm/dmdata/DAMENG/dm.ini' from backupset '/dm/dmback/dmserver_full_01'
recover
recover database '/dm/dmdata/DAMENG/dm.ini' from backupset '/dm/dmback/dmserver_full_01'
更新DB_Magic值
recover database '/dm/dmdata/DAMENG/dm.ini' update db_magic
exit;
启动数据库
DmServiceserver start