1.DSC集群联机备份并拷贝相关归档
1.1 DSC联机备份
nohup disql / as sysdba -e “backup database full backupset ‘备份路径’compressed level 1 task thread 4 parallel 4” &
1.2 拷贝备份开始时到锁用户之前的归档
1.2.1获取归档日志途径
1.2.1.1将ASM磁盘的归档拷贝至本地
dmasmtool dcr_ini=/dm/dmdbms/config/dmdcr.ini
cd +DMARCH/LOCAL_ARCH_DSC_0
cp -f 'ARCHIVE_LOCAL1_0x643AE4D8_EP0_2025-03-03_.log' '/upgrade/arch/’
exit
1.2.1.2将归档文件拷贝至单实例机器
cd /upgrade/arch/
scp -r ARCHIVE_LOCAL1_0x643AE4D8_EP0_2025-03-03_.log 18.6.104.XX:/upgrade/arch/
1.2.2归档时间段的获取
根据DSC集群中dm_BAKRES_202502.log日志获取备份开始时间,作为获取归档的开始时间点
cat dm_BAKRES_202502.log |grep -a 'backup database'
根据sqllog日志获取升级前锁用户的时间点,作为获取归档的结束时间点
cat dmsql_DSC_BG_1_20250301_141711.log |grep -i 'alter user'
注意事项:
1)获取的归档必须包含上述时间段,不然会报错”[-718]:收集到的归档日志不连续”
2)若获取归档包含升级后的归档,且还原的指定时间在升级后,若版本差异过大归档格式可能会出现变化,所以会出现还原卡住现象
2.在备库创建旧版本单机
初始化参数与DSC集群保持一致
cd /dm/dmdbms_192pack22/bin
./dminit path=/upgrade page_size=32 extent_size=32 case_sensitive=1 charset=0 PORT_NUM=15236 log_path=/upgrade/DAMENG/DAMENG01.log log_path=/upgrade/DAMENG/DAMENG02.log log_path=/upgrade/DAMENG/DAMENG03.log log_path=/upgrade/DAMENG/DAMENG04.log log_path=/upgrade/DAMENG/DAMENG05.log log_size=2048 LENGTH_IN_CHAR=0 BLANK_PAD_MODE=1 RLOG_GEN_FOR_HUGE=1
注意事项:
单机需修改INI相关参数,且redo个数和大小需与DSC集群保持一致,不然可能会降低备份集还原速度,参数如下:
BUFFER= 100000、WORKER_THREADS= 64、TASK_THREADS= 64、IO_THR_GROUPS= 16
3.对备库单机实例进行通过备份集进行还原
3.1生成数据文件map映射
cd /dm/dmdbms_192pack22/bin
./dmrman
dmrman>dump backupset '/upgrade/bg_full_backup20250228' mapped file '/upgrade/map_file.txt'" ;
生成的map_file.txt文件如下:
生成的/upgrade/map_file.txt文件中data_path参数的磁盘组路径需更改为单机库对应的路径,将+DMDATA/data更改为/upgrade/DAMENG;
3.2根据备份集和归档还原至指定时间点
cd /dm/dmdbms_192pack22/bin
nohup ./dmrman ctlstmt="restore database '/upgrade/DAMENG/dm.ini' from backupset '/upgrade/bg_full_backup20250228' mapped file '/upgrade/map_file.txt'" &
nohup ./dmrman ctlstmt="recover database '/upgrade/DAMENG/dm.ini' with archivedir '/upgrade/arch' until time '2025-03-01 15:55:00'" &
./dmrman
./recover database '/upgrade/DAMENG/dm.ini' update db_magic;
注意事项:
指定恢复时间点中不能包含升级后数据库启动的归档,若包含则可能会在还原归档时卡住,卡住后只能手动kill相关进程。
4.启动单机,并修改数据库状态
cd /dm/dmdbms_192pack22/bin
./dmserver /upgrade/DAMENG/dm.ini
注意事项:
若启动单机时,报错”版本不匹配”,则可通过修改INI参数CHECK_SVR_VERSION=0得到解决;
另开一个会话,修改数据库状态
./disql SYSDBA/密码:15236
SQL>alter database normal;
SQL>alter database open;
至此单机启动完成
文章
阅读量
获赞
