DBASK问答集萃第四期

35次阅读

共计 2767 个字符,预计需要花费 7 分钟才能阅读完成。

链接描述 引言

近期我们在 DBASK 小程序新关联了运维之美、高端存储知识、一森咖记、运维咖啡吧等数据领域的公众号,欢迎大家阅读分享。

问答集萃

接下来,我们分享本期整理出的问题和诊断总结,供大家参考学习,详细的诊断分析过程可以通过标题链接跳转到小程序中查看。

问题一、对于 temp 表空间爆满情况,怎么处理?
undo temp 表空间很大,我的思路是增大表空间大小或者,新建个 temp1,然后默认的制定新建 temp1,但是我感觉这样还会满。正常思路怎么处理这种 undo temp 表空间大问题?
诊断结论:最根本的方法是去优化占用 temp 和 undo 多的 sql,比如排序多的、执行时间长的 sql 等等。结合自己的环境设置合理的 temp 和 undo 空间,一般是给核心业务用户单独的 temp 表空间,以免其他误操作对核心业务影响。另外这两个表空间是不会释放的,也就是随着业务的运行使用率会越来越大,最后接近 100%,一般如果没有报 ora-01555 和无法扩容 temp 表空间的错误可以忽略表空间使用率。

问题二、extended cluster 在一个站点故障时,存活站点内实例的处理流程
存活站点实例处理此故障的流程,以及预估一般需要多长时间恢复服务能力。
诊断结论:以两种典型故障为例,1、两边数据库均承载业务,任何一边发生故障,则由另一边承载所有业务,无须进行主备站点切换。故障站点原先承载的用户会话在几分钟内由其他存活节点接管,体验上会有一些卡顿,这个与普通 RAC 节点故障一样,某个实例发生故障后,集群 reconfiguration,应用 TAF。2、若站点间的心跳线中断,则由第三站点的仲裁盘决定驱逐哪个站点,哪个站点存活。被驱逐站点原先承载的用户在体验上会有几分钟的卡顿。

问题三、Oracle 12c OEM upgrade to 13c
升级本端服务器 agent 流程。
诊断结论:这个要看具体的版本,就算从 12.1.0.1 到 12.1.0.5 都需要先升级到 12.1.0.3 再升级到 12.1.0.5,12 到 13 直接升级支持最低版本是 12.1.0.5,其他都需要先升级到中间版本。GC 升级完之后,直接在 GC 管理页面升级 agent 即可。

问题四、Oracle 数据库第一次访问卡死
系统页面后台连接 oracle 数据库,第一次访问系统时候,页面框架都能出来,但是需要调数据库显示数据的地方一直在转圈,也不报错,再次刷新页面的时候数据就出来,请问一下这是数据库什么参数设置影响的吗?
诊断结论:这个还是得从应用着手,debug 打开看下哪里出现了问题。对于数据库来说,只是存在第一次执行 SQL 需要解析、读取磁盘数据缓存到内存,第二次执行就直接从内存取数据,速度上会快一些。另外这个现象很有可能是连接到数据库的长连接由于长时间未进行数据交互,被网关或防火墙断开,因此第一次访问的时候会等待一个 TNS 超时。可以让应用增加日志的输出,看看问题是否发生在获取数据库连接后运行第一个 SQL 的地方。如果是这个问题,解决思路是修改网关或防火墙的配置,避免中断空闲连接。或者在数据库中配置死连接检查 DCD。

问题五、卸载完 DB,如何完全卸载 GI
卸载 grid,运行第二个 root 脚本报错,估计是因为 asm 实例没有关闭必须是有一个要保持开启。之手用 sysasm 关闭所有 asm 实例再运行还是报错,执行./crsctl stat res -t 发现.dg .proxy_advm .asm 等资源虽然变 offline 但是 ora.ASMNET1LSNR_ASM.lsnr 还是 online,crsctl stop crs 也执行不了如何解决?
诊断结论:尝试强制停止:crsctl stop crs -f,再 deconfig -force 和 deinstall,详细步骤请查看详情。

问题六、9.2.0.8 aix 升级 11.2.0.4 aix 升级后需要检查什么
参考《手动升级到 Oracle Database 11gR2 (11.2)的完整核对清单 (文档 ID 1674333.1)》进行升级,其中 timezone 不升级。升级后除了检查升级日志,后台日志,用户对象。
诊断结论:优化器从 RBO 到 CBO,改变很大,确保应用在生产数据库升级前已经做过了充分的 SPA 测试。

问题七、win 安装 10g 报错 Ora-12546 tns:permission denied
Windows 2012 r2 64 位系统安装 10.2.0.4 的数据库 64 位,总会出现这个报错,要么是 dbca 的时候,要么就是建完数据库,一重启服务器之后,sqlplus 也登陆不了报错。尝试了一下安装了 10.2.0.5 的补丁的话就没在出现这问题,反复试了几次,这个是 bug 么?
诊断结论:这个是因为 Oracle 10.2.0.4 发行的时候,Windows 7 都还没有出,而从 Windows 7 开始(甚至是更早的 Windwos Vista 开始),Windows 的权限体系出现了非常大的变化,而早期的 Oracle 版本并不能适应这种新环境,所以会出各种各样的问题。用新版本就好了,如你说的 Oracle 10.2.0.5,该小版本正好解决这个环境问题,所以就没问题了。

问题八、oracle 数据库平台兼容性列表
Oracle 各个版本操作系统兼容性列表
诊断结论:可以参考 https://docs.oracle.com/en/da…,每个版本都有不同的支持列表,在官方文档上可以查到。

问题九、dg 库控制文件扩展报错
dg 库的 control1 扩展报错,用的是裸设备,2 和 3 还是原来大小,主库的没有报错,并且大小没有变,求解释。
专家解答:从 ALERT 报错可以看出,控制文件从 8050 个块扩展到 13168 个块时报错,而裸设备最大只支持 8050 个块,无法扩展,可以尝试将参数 CONTROL_FILE_RECORD_KEEP_TIME 改小,避免控制文件报错。

问题十、sql 调条件中 where1=1,基于不同的优化器 cbo 会走索引,而 rbo 则不会
应用中经常能够看到 where1= 1 的条件。请问,为什么在不同的优化器下,rbo 不会走索引而是全扫?
诊断结论:与 where 1= 1 没有关系,这个 SQL 相当于没有 where 条件。RBO 是定义死的一套规则,只有在 MAX 和 MIN 索引列时才会走索引全扫,也不会去看统计信息。

问题十一、OGG 11.2 无法使用 format release 12.3
高版本 OGG 传递文件到 11.2,传递失败,试过加参数 format release,不行,高版本 OGG 传递文件到 12.1,应用失败,试过加参数 format release,不行。求一份 OGG 版本兼容。
诊断结论:建议源端、目标端最好用同一版本。目前从官方文档来看,10、11、12 都可以通过 FORMAT RELEASE 参数来兼容,除了 CDB 必须要求 12.3 以上外。

想了解更多知识点吗?
那就登录“墨天轮”了解学习吧~

正文完
 0