【YashanDB知识库】沙箱备库

简介: YashanDB的沙箱备库是一种与主库断开网络连接的备份数据库,可通过手动回放归档日志保持数据同步。沙箱备库支持只读服务,必要时可切换为主库角色。本文介绍了如何通过备份影像恢复方式构建沙箱备库,包括配置参数、恢复数据库、注册和回放归档日志等步骤,同时说明了强制升主的操作及注意事项。此方案适用于数据保护和灾难恢复场景。

本文内容来自YashanDB官网,原文内容请见 https://www.yashandb.com/newsinfo/7396990.html?templateId=1718516

所谓沙箱备库,是和主库断开网络连接的备库或者是从备份影像恢复出来的数据库,可以手工回放主库产生的归档日志,沙箱备库可以提供只读服务,必要时可以切换成主库角色,一旦切换成主库模式且发生写入操作,将不能变回原主库的沙箱备库。

配置沙箱备库

以从备份影像恢复方式构建沙箱备库为例,假定沙箱备机已经安装并创建初始数据库,集群名称为yashandb,主库备份影像所在目录为/backup/full,操作用户为组YASDBA成员。

1、更改配置参数:SANDBOX_STANDBY

yasql / as sysdba -c "alter system set SANDBOX_STANDBY=true scope=spfile"

2、nomout 方式重启实例,删除初始创建的数据库

yasboot cluster restart -m nomount -c yashandb

yasql / as sysdba -c "drop database including archivelog"

3、恢复数据库

yasql / as sysdba -c "restore database from '/backup/full'"

4、将恢复出来的数据库转换成standby角色,并且open

yasql / as sysdba -c "alter database convert to physical standby"

yasql / as sysdba -c "alter database open"

5、检查数据库角色及打开模式,结果应该为STANDBY,READ_ONLY

yasql / as sysdba -c "select database_role, open_mode from v\$database"

注册归档日志

首先需要将主库产生的归档日志传到沙箱备机所在服务器,以arch_0_8.ARC为例

yasql / as sysdba -c "alter database register archivelog 'arch_0_8.ARC'"

回放归档日志

下面命令启动后台回放任务并退出

yasql / as sysdba -c "alter database recover managed standby database disconnect from session"

之后新注册的归档日志回自动被回放,如停止回放可执行下面命令

yasql / as sysdba -c "alter database recover managed standby database cancel"

查看回放状况

yasql / as sysdba -c "select * from v\$recovery_status"

将沙箱备库强制升成主库

需要在回放任务启动的情况下,发出下面命令

yasql / as sysdba -c "alter database failover"

注意

沙箱备库只能回放归档日志,主库的活动日志中的交易不能实时同步

目录
打赏
0
0
0
0
98
分享
相关文章
【YashanDB知识库】服务器重启后启动yasom和yasagent进程时有告警
【YashanDB知识库】服务器重启后启动yasom和yasagent进程时有告警
【YashanDB知识库】共享从 MySQL异常处理CONTINUE HANDLER的改写方法
【YashanDB知识库】共享从 MySQL异常处理CONTINUE HANDLER的改写方法
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
【YashanDB知识库】服务器重启后启动yasom和yasagent进程时有告警
本文介绍了YashanDB在特定场景下的问题分析与解决方法。当使用yasboot重启数据库后,yasom和yasagent进程虽启动成功但出现告警,原因是缺少libnsl.so.1库文件或环境变量配置错误。解决步骤包括:检查系统中是否存在该库文件,若不存在则根据操作系统类型安装(有外网时通过yum或apt,无外网时创建符号链接),若存在则调整环境变量配置,并重新启动相关进程验证问题是否解决。
【YashanDB知识库】共享从 MySQL异常处理CONTINUE HANDLER的改写方法
本文介绍了MySQL中`CONTINUE HANDLER FOR NOT FOUND`的用法及其在YashanDB中的改写方法。通过一个示例存储过程,展示了如何使用游标和异常处理机制来应对“未找到数据”的情况。在MySQL中,`CONTINUE HANDLER`用于捕获此类异常;而在YashanDB中,则需改用游标的`%NOTFOUND`属性和`NO_DATA_FOUND`异常处理。文章对比了两者的执行效果,帮助用户顺利完成从MySQL到YashanDB的业务迁移。
【YashanDB知识库】共享超过32000字节字符串插入CLOB类型方案
本文来自YashanDB官网,介绍了解决向崖山数据库CLOB类型字段插入超过32000字节字符串时出现的YAS-04107错误的方法。通过JDBC动态变量绑定技术,实现对不同表的超长字符串插入支持。方案基于YashanDB JDBC和Druid组件,动态解析SQL语句并绑定变量,提供通用性。文章包含关键代码示例及程序使用说明,需JDK 1.8环境运行,并提供附件下载以辅助实施。
【YashanDB知识库】扩展redo大小
本文介绍了崖山数据库(YashanDB)中调整redo文件数量和大小的方法。通过修改配置文件的REDO_FILE_NUM和REDO_FILE_SIZE参数,或使用SQL命令手动扩容redo文件,具体包括:查看当前redo状态、新增redo文件、切换日志写入、执行检查点操作以确保数据安全、删除旧redo文件等步骤。此方法适用于安装后发现redo配置过小的情况,帮助优化数据库性能。
【YashanDB知识库】MySQL和YashanDB 隐式转换不一致引起的报错
本文分析了在YashanDB中执行特定SQL语句时出现的类型转换错误问题,并对比了YashanDB、Oracle和MySQL 5.7的行为差异。问题源于隐式类型转换,当数值字段与非法数字字符串(如'1,2')进行比较时,YashanDB和Oracle会报错,而MySQL 5.7虽不报错但会引发警告。通过调整SQL语句,避免数值与字符串直接比较,可有效解决问题。文章还详细解析了不同值表现不一致的原因,涉及执行计划和过滤条件的实际运行细节。
【YashanDB知识库】数据库升级后用yasboot在线扩充备节点出现报错
本文来自YashanDB官网,讨论从22.2.4.1升级至23.2.2.100过程中遇到的在线扩容问题。使用yasboot增加备节点时出现“no replication addr in node 1-1”错误,尽管数据库中存在相关配置。原因是早期托管功能未支持扩容,导致OM无法获取新库配置。提供两种规避方法:一是手动修改`cod_domor.db`信息并调整配置文件;二是手动安装YashanDB并配置备机。最终已向研发反馈,将在扩容时优化配置检查逻辑。

热门文章

最新文章