前言
大早上微信群里开发人员贴出报错截图:ORA-16000,database open for read-only access,无法访问数据库的某张视图。看描述以为是数据库实例出现了问题。但是开发人员认为是权限分配的问题,我随机开展了排查。
排查过程
1、通过ssh连接目标数据库,通过sqlplus连接到控制台,查看该数据库的角色,确认是dg备库。
select database_role from v$database;
2、通过dba_tab_privs视图查询该用户的权限分配,发现返回结果为空
select * from dba_tab_privs where grantee=‘user’;
3、通过dba_views视图查看目标视图的归属,发现本身就属于该用户
select owner from dba_views where table_name=‘view’;
4、直接查询该视图的数据,提示报错ORA-04045;通过desc查看该视图的字段结构,收获同样的报错代码
5、经过分析,发现是由于开发人员在主库进行视图的数据结构修改,未同步到备库,导致了该报错。
6、登录到主库,对该视图进行查询的动作,类似于激活配置同步,此时备库就可以正常访问视图了
反思
虽然整个排查过程并未持续多长时间,也算不上什么大的故障。但是一开始开发人员的一句权限错误,确实让我的思路产生了变化,开始往权限分配的方向去排查,从而耽误了一点时间。所以作为DBA,应该形成一套自己的思维逻辑,切勿听信开发人员的一己之词,哪怕是一个标点符号,从而为排障增加了难度。
另外,在整个运维体系里,DBA的角色确实需要具备更多的知识,比如网络,存储,主机等等方向。才能从容面对各种甩锅,让问题迎刃而解。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
文章被以下合辑收录
评论
第五步里面的,主库修改,不是应该由数据库进程自动同步吗?为什么没同步呢?
1年前

评论
相关阅读
2025年3月中国数据库排行榜:PolarDB夺魁傲群雄,GoldenDB晋位入三强
墨天轮编辑部
2021次阅读
2025-03-11 17:13:58
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1331次阅读
2025-03-13 11:40:53
11 【HarmonyOS NEXT】 仿uv-ui组件开发之Avatar组件深度剖析(二)
若城
1062次阅读
2025-03-07 21:35:16
10 【HarmonyOS NEXT】 仿uv-ui组件开发之Avatar头像组件开发教程(一)
若城
1061次阅读
2025-03-07 21:10:59
12 【HarmonyOS NEXT】 仿uv-ui组件开发之Avatar组件设计精髓(三)
若城
1052次阅读
2025-03-07 21:49:38
13 【HarmonyOS NEXT】 仿uv-ui组件开发之Avatar组件进阶指南(四)
若城
1047次阅读
2025-03-07 22:07:57
Oracle RAC ASM 磁盘组满了,无法扩容怎么在线处理?
Lucifer三思而后行
805次阅读
2025-03-17 11:33:53
Oracle 统计信息锁定解决办法
JiekeXu
557次阅读
2025-03-11 14:26:05
MySQL8.0统计信息总结
闫建(Rock Yan)
502次阅读
2025-03-17 16:04:03
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
471次阅读
2025-03-13 14:38:19