Oracle学习笔记:创建logical standby
和physical创建类似,此处只标明logical standby特殊的地方。
logical standby和physical standby最大的不同在于:它是从redo文件中抽取sql应用到logical database上,standby数据库和primary、physica数据库在系统结构角度上是不同的,他可以实时处于open状态,可以有自己的辅助数据库模式对象!但由于抽过sql的限制使得logical database 和primary库有本质的不同:可以认为logical database只是提供基础的 data 冗余保护,而不是完整的database应用保护!理解了这一点,也就不难理解创建logical standby数据库的诸多限制了!
创建logical standby database的限制:
- 许多oracle的数据类型不被支持:bfile、encryped columns、rowid、urowid、xmltype、object、varrays、nested table、user-defined type
- 采用压缩段存储结构的表不被支持:segemnt compression
- 需要修改metadata的pls/sql包、过程等等不被支持:如dbms_java、dbms_alert、dbms_redefinition等等......
- 许多的sql语句不被支持:alter database、create database link等等......
- 表数据需要有唯一性:这里面就涉及下面的具体检测、解决处理
- 检测数据类型是否支持:select * from dba_logstdby_unsupported
- 检测表数据是否唯一性:select * from dba_logstdby_not_unique
- 检测补充日志记录是否打开:selelct * from v$database,查看sup、sup列
- 打开supplemental logging 功能:execute dbms_logstdby.build;
- 打开、关闭 supplemental logging 所有data数据:alter database {add|drop} supplemental log data
- 打开、关闭 supplemental logging 所有data数据:alter database {add|drop} supplemental log data (all)columns
- 打开、关闭 supplemental logging 所有唯一性列数据:alter database {add|drop} supplemental log data ({[primary key] [unique] [foreign key] })columns
- 打开、关闭 supplemental logging for plsql replication:alter database {add|drop} supplemental log data for procedural replication
- 为可以定义unique约束的表 创建指示primary key:alter table user_table_name add primary key (column,,) rely disable
6.在创建logical standby之前必须执行logminer字典信息的初始化动作:execute dbms_logstdby.build;并且该过程会自动启用primary database的supplemental logging功能!
7.physical standby 只能单向转换为 logical standby ,反之不可以!
创建logical stanby 的基本步骤
- 创建physical standby
- 在primary上执行: exec dbms_logstdby.build;
- 在physica standby上执行:alter database recover to logical standby new_dbname; --注意必须是新的数据库名。注意该操作可能不成功,应观察standby的alter.log。我就遇到缺失 较早的归档日志 的情况。
- 打开logical standby database:使用resetlogs的open操作
分类:
Oracle学习笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)