DM8 备份恢复还原

物理备份还原

  1. 开启归档

Alter database mount;

Alter database add archivelog ‘DEST=/dm8/arch,TYPE=local file_size=1024,space_limit=2048’;

Alter database archivelog;

Alter database open;

联机备份还原

联机方式支持数据库、用户表空间、用户表和归档的备份以及用户表的还原。在进行联机库级备份、归档备份和表空间备份时,必须保证系统处于归档模式,否则联机备份不能进行。

数据备份

disql工具或图形化管理工具SQL编辑区中使用backup语句可以备份整个数据库,执行以下命令:

Backup database full backupset ‘D:\dmdbms\bak\db_full_bak_01’;

限制备份片大小,创建备份片大小100M

Backup database backupset ‘D:\dmdbms\bak\db_full_bak_04’ maxpiecesize 100;

Maxpiecesize参数用于控制每个备份片的大小

Maxpiecesize不能大于磁盘剩余空间大小,否则报磁盘空间不足。

注意:maxpiecesize备份片大小设置最低要大于130M,否则报错。

备份压缩

#执行备份压缩,压缩级别设置为5级

Backup database backupset 'D:\dmdbms\bak\db_full_bak_04' compressed level 5;

设置并行备份

backup database backupset 'D:\dmdbms\bak\db_full_bak_5' parallel 8;

备份表空间

增量备份

基于全备基础上增量备份

backup tablespace main backupset 'D:\dmdbms\bak\main_bak_06';

backup tablespace main increment base on backupset 'D:\dmdbms\bak\main_bak_06' backupset 'D:\dmdbms\bak\incre_bak_07';

增量备份

backup tablespace main increment with backupdir 'D:\dmdbms\bak\tablespace_bak' backupset 'D:\dmdbms\bak\tablespace_bak\tablespace_incre_01';

表备份

与备份数据库与表空间不同,备份表不需要服务器配置归档,disql 输入以下命令即可备份用户表。

Backup table wzp backupset D:\dmdbms\bak\tabl_wzp_bak01’;

注意:表备份均为联机完全备份,不需要配置归档日志,没有增量备份。

归档备份

在disql工具中可以使用backup语句备份归档日志。

数据库必须配置归档

归档文件的db_magic、permanent_magic值和数据库的db_magic、permanent_magic值必须一样

Select DB_MAGIC from v$RLOG;

Select permanent_magic;

backup archive log all backupset 'D:\dmdbms\bak\arch_bak01';

定时备份

图形化方式创建定时备份

右键管理工具—代理—作业—新建作业

管理备份

备份目录管理

  1. 添加备份目录

##SF_BAKSET_BACKUP_DIR_ADD(device_type,backup_dir)

##函数用于添加备份目录

使用方法:

Select SF_BAKSET_BACKUP_DIR_ADD('DISK','D:\dmdbms\backup');

  1. 删除备份目录

select sf_bakset_backup_dir_remove('DISK','D:\dmdbms\bak\db_full_bak_01_%T');

  1. 清理全部备份目录

SELECT SF_BAKSET_BACKUP_DIR_REMOVE_ALL();

备份集检验与删除

  1. 备份集校验

select sf_bakset_check('DISK','D:\dmdbms\bak\db_full_bak_02');

  1. 备份集删除

SF_BAKSET_REMOVE

##删除指定设备类型和指定备份集目录地备份集

SF_BAKSET_REMOVE_BATCH

##批量删除满足指定条件的所有备份集

SP_DB_BAKSET_REMOVE_BATCH

##批量删除指定时间之前的数据库备份集

SP_TS_BAKSET_REMOVE_BATCH

##批量删除指定表空间对象及指定时间之前的表空间备份集

SP_TAB_BAKSET_REMOVE_BATCH

##批量删除指定表对象及指定时间之前的表备份集

SP_ARCH_BAKSET_REMOVE_BATCH

##批量删除指定时间之前的归档备份集

数据还原

达梦数据库仅支持表的联机还原,数据库、表空间和归档日志的还原必须通过脱机工具DMRMAN执行

管理工具进行联机备份还原

数据备份

点击【备份】,针对相应的备份对象,例如备份数据库,则右键点击【库备份】选择【新建备份】。

根据图形界面选项框填写相关选项

高级选项里面可以对备份集的相关属性进行设置,例如是否进行备份压缩、压缩级别、是否备份日志、加密等

逻辑备份

逻辑导出:使用 dexp 工具可以对本地或者远程数据库进行数据库级、用户级、模式级和表级的逻辑备份

逻辑导入:dimp 逻辑导入工具利用 dexp 工具生成的备份文件对本地或远程的数据库进行联机逻辑还原。dimp 导入是 dexp 导出的相反过程

Dexp逻辑导出

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

语法如下:

dexp PARAMETER=<value> { PARAMETER=<value> }

dexp参数含义

参数

含义

备注

USERID

数据库的连接信息

必选

FILE

明确指定导出文件名称。

可选。如果缺省该参数,则导出文件名为dexp.dmp

DIRECTORY

导出文件所在目录

可选

FULL

导出整个数据库(N)

可选,四者中选其一。缺省为SCHEMAS

OWNER

用户名列表,导出一个或多个用户所拥有的所有对象

SCHEMAS

模式列表,导出一个或多个模式下的所有对象

TABLES

表名列表,导出一个或多个指定的表或者表分区

FUZZY_MATCH

TABLES 选项是否支持模糊匹配(N)

可选

QUERY

用于指定对导出表的数据进行过滤的条件

可选

PARALLEL

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

可选

TABLE_PARALLEL

用于指定导出每张表所使用的线程数,在MPP模式下会转换成单线程

可选

TABLE_POOL

用于设置导出过程中存储表的缓冲区个数

可选

FULL 全库导出

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

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

OWNER 按用户导出

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

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

Schemas导出

##设置 SCHEMAS=USER01,导出模式 USER01 模式下的所有对象。

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

Tables导出

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

##设置 TABLES=table1,table2,导出 table1,table2 两张表的所有数据和信息。

和 TABLES 导出有关的参数还有 QUERY、EXCLUDE 和 INCLUDE,都是用来设置过滤条件的

./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log TABLES=table1,table2 DIRECTORY=/mnt/data/dexp

Dimp逻辑导入

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

##语法如下

dimp PARAMETER=value { PARAMETER=value }

##将逻辑备份采用 FULL 方式完全导入到用户名和密码为 SYSDBA,IP 地址为 192.168.0.248,端口号为 8888 的数据库。导入文件名为 db_str.dmp,导入的日志文件名为 db_str.log,路径为/mnt/data/dexp

./dimp USERID=SYSDBA/SYSDBA@192.168.0.248:8888 FILE=db_str.dmp DIRECTORY=/mnt/data/dexp LOG=db_str.log FULL=Y

注意:导入前数据库内如果已存在相关对象,在导入时会出现已存在报错,可以加参数TABLE_EXISTS_ACTION

Dimp相关参数含义

参数

含义

备注

USERID

数据库的连接信息

必选

FILE

输入文件,即 dexp 导出的文件

必选

DIRECTORY

导入文件所在目录

可选

FULL

导入整个数据库 (N)

可选,四者中选其一。缺省为SCHEMAS

OWNER

导入指定的用户名下的模式

SCHEMAS

导入的模式列表

TABLES

表名列表,指定导入的 tables 名称。不支持对外部表进行导入

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)

可选

四种级别导入功能

FULL导入

##设置 FULL=Y,导入数据库,导入的数据库文件在 /mnt/data/dexp,即将生成的日志文件放在 /mnt/data/dimp。

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

Owner导入

导入一个或多个用户拥有的所有对象

##设置 OWNER=USER01,导入用户 USER01 所拥有的对象全部导出。导入的数据库文件在 /mnt/data/dexp,即将生成的日志文件放在 /mnt/data/dimp。

./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log OWNER=USER01  DIRECTORY=/mnt/data/dim

Schemas导入

Schemas方式导入一个或多个模式下的所有对象

##设置 SCHEMAS=USER01,导入模式 USER01 模式下的所有对象。导入的数据库文件在/mnt/data/dexp,即将生成的日志文件放在 /mnt/data/dimp。

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

Tables导入

Tables方式导入一个或多个表或表分区,导入所有数据行、约束、索引等信息

##设置 TABLES=table1,table2,导入 table1,table2 两张表的所有数据和信息。导入的数据库文件在 /mnt/data/dexp,即将生成的日志文件放在 /mnt/data/dimp。

./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log TABLES=table1,table2 DIRECTORY=/mnt/data/dimp

数据库还原

数据准备

创建一张表,并插入数据

第一次数据库全备

backup database full backupset 'D:\dmdbms\data\DAMENG2\bak\full_bak_01';

往wzp表插入数据后进行增量备份

第二次插入数据并进行第二次增量备份

插入新数据,产生新数据归档

查看备份集

还原到当前最新数据时刻

  1. 停数据库服务,还原步骤如下:

##检验备份集是否正确

RMAN> check backupset 'D:\dmdbms\data\DAMENG2\bak\incre_bak_03';

##还原

RMAN> restore database 'D:\dmdbms\data\DAMENG2\dm.ini' from backupset 'D:\dmdbms\data\DAMENG2\bak\incre_bak_03';

##恢复

RMAN> recover database 'D:\dmdbms\data\DAMENG2\dm.ini' from backupset 'D:\dmdbms\data\DAMENG2\bak\incre_bak_03';

##更新数据库魔术

recover database 'D:\dmdbms\data\DAMENG2\dm.ini' update db_magic;

还原成功后,启动数据库,并检验数据库里最新记录值

恢复到指定时间点

停止数据库服务

##检验备份集是否正确

check backupset 'D:\dmdbms\data\DAMENG2\bak\incre_bak_03';

##还原

restore database 'D:\dmdbms\data\DAMENG2\dm.ini' from backupset 'D:\dmdbms\data\DAMENG2\bak\incre_bak_03';

##恢复至指定时间点

recover database 'D:\dmdbms\data\DAMENG2\dm.ini' with archivedir 'D:\dmdbms\arch' until time '2023-02-15 9:50:00';

##更新数据库魔数

起数据库服务,验证数据

达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值