【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"
注意
沙箱备库只能回放归档日志,主库的活动日志中的交易不能实时同步
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比