Oracle RAC运维所遇问题记录二
oracle12c RAC源端与Dataguard目标端实时同步,因业务需求需要在源端增加PDB
1. 源端添加PDB
CREATE PLUGGABLE DATABASE kdlxpdb admin user kdlx identified by *
FILE_NAME_CONVERT =('+DATADG/SPDB/8E80F930196B6100E053E200A8C0AF9F/','+DATADG');
查看trace目录下alert_spdb2.log日志,PDB创建成功
2. 目标端
查看trace目录下alert_spdbstb.log日志,发现同步失败
SQL> alter database recover managed standby database cancel; #取消同步
报错:ORA-16136: Managed Standby Recovery not active,alert_spdbstb.log日志如下:
选择优先修改db_file_name_convert参数
alter system set db_file_name_convert='+DATADG/SPDB/DATAFILE', '/data/spdbstb/datafile', '+DATADG/SPDB/8E80F930196B6100E053E200A8C0AF9F/DATAFILE', '/data/spdbstb/SEED/datafile', '+DATADG/SPDB/8E81C7A967C43CB7E053E300A8C06223/DATAFILE', '/data/spdbstb/SPDB1PDB/datafile', '+DATADG/SPDB/93BFEF75138BC79EE053E300A8C08BA1/DATAFILE', '/data/spdbstb/kdlxpdb/datafile' scope=spfile;
修改完后再去取消同步同样报错,然后shutdown immediate
startup启动后发现只同步了一个system数据文件
SQL> select name from v$datafile;
通过以下操作,取消同步居然正常了,有点意外
SQL> alter database recover managed standby database cancel;
SQL> alter database recover managed standby database using current logfile disconnect from session;
SQL> show pdbs;
SQL> alter pluggable database all open;
SQL> show pdbs;
SQL> alter database recover managed standby database cancel;
而后关库启库,开启同步一切恢复正常
查看归档日志目录/data/archivelog发现源端双节点日志终于传过来了,中间间隔3个多小时
3. 具体问题只能通过查看日志追溯
从日志上看数据文件完全同步应该是在未取消同步情况下再修改为同步状态后。
同步取消报错,后来又莫名其妙的好了暂时只用用这篇文章来解释http://www.kimgeek.com/article_detail_183.html
先把这次处理的经过记录下来,具体原因与细节还需要静静理一理。
注:先取消与Dataguard的同步再创建PDB应该会更靠谱些。
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现