在之前的博客我们了解了Oracle 19c 的发布情况,目前最新的是19.9版本:
Oracle 19c 单实例 RU 从19.6.0 升级到19.9.0 操作手册
https://www.cndba.cn/dave/article/4325Oracle RU 19.9 发布了
https://www.cndba.cn/cndba/dave/article/4282
但在Oracle 19c 版本出现一个非常严重的bug,MOS 说明如下:
Bug 30159581 - alter new primary open hang after switchover (Doc ID 30159581.8)
描述如下:
Description
This bug manifests as a hang during the opening of a database in read-write mode or during the switchover of a standby instance to the role of a primary instance. We speed up the opening of the database by using
parallel slaves to perform first-pass transaction recovery. This phase detects all in-flight transactions from the past and mark them as such for subsequent recovery. The hang occurs due to a deadlock between two
parallel recovery slaves on dictionary cache objects.
Rediscovery Notes
A hang during the opening of a database in read-write mode or during the switchover of a standby instance to the role of a primary instance. The database needs to have enough undo segments in “in-use” or “partially-available” states to warrant parallelization of FPTR. Typically this is 100 (controlled by parameter _min_undosegs_for_parallel_fptr.
Note:
This fix supersedes the fix in bug 28770119.
Workaround
Turn off parallelization of first-pass transaction recovery (occurs as part of database open) by setting _min_undosegs_for_parallel_fptr = 0 in the initialization file and open the database.
在Oracle 19.9 版本版本以下都存在这个bug,在Oracle 19.9 以上版本和20.1 版本中已经修复了该bug。 简单点说就是在低版本的19c中,当以读写模式打开实例,或者对Data Guard 备库进行switchover时会出现数据库实例hang住的情况。 临时的解决方法是设置_min_undosegs_for_parallel_fptr = 0,然后打开数据库。
当然更建议将实例升级到19.9 以上版本。
版权声明:本文为博主原创文章,未经博主允许不得转载。