神通数据库备份恢复过程之二

发布时间 2023-11-25 16:07:28作者: 济南小老虎

神通数据库备份恢复过程之二


背景

前期总结过神通数据库的备份, 
但是发现这两边在进行备份呢时效率非常地下
因为虚拟机有快照并且是 raid6的hdd 读写性能非常感人
数据库也大约有了100G以上

今天就进行一下脚本的更新, 提高备份呢的效率

学习来源:

https://www.jianshu.com/u/f786a43611a0

需要说明 原作者的文档其实存在一个风险. 
如果备份过程中数据库发生了变更, 会导致备份呢恢复失败

导出实际行与期望行数不一致

解决办法是导出时增加一个参数: 
shardingCount=1

可以避免这个问题. 

备份脚本

osrexp -usysdba/'szoscar55' -hlocalhost -p2003 -dosrdb level=schema \
file=/opt/ShenTong/back/ log=/opt/ShenTong/back/2023112502.log mode=entirety ignore=false schema=myapp2103oscar \
 view=true sequence=true procedure=true constraint=true trigger=true index=true shardingCount=1

注意恢复之前需要进行一下用户和表空间的创建

create tablespace myapp2103oscar datafile '/opt/ShenTong/odbs/OSRDB/myapp2103oscar.dbf'
create user myapp2103oscar with password 'Testxxxxxxxx?!'  default tablespace myapp2103oscar role sysdba;

然后执行恢复的操作

osrimp  -usysdba/szoscar55  -hlocalhost -p2003 -dosrdb level=schema file=/opt/ShenTong/back/2023-11-25.osr \
log=/opt/ShenTong/back/2023112502.log  mode=entirety ignore=true schema=myapp2103oscar recreateschema=true \
view=true sequence=true procedure=true recreateotherobject=true  recreatetable=true constraint=true trigger=true index=true

时间方面

一个 120G左右的原始数据库
我truncate了几个表达的表,从RAID6上面虚拟机备份到SSD raid 0上面的虚拟机耗时: 1小时 3600秒.
备份文件大小为: 14G

恢复时间想比较恢复要慢了一些, 大约耗时: 3900秒
恢复后的数据文件大小为: 42G

备注

本次紧紧进行了 schema级别的备份恢复
其他级别的备份会可以参照原文进行处理

感觉作者写的跟官文档比较详细, 可以直接参照

感谢神通数据库李老师的支持与帮助.