Oracle undo_management参数不一致错误

环境linux 5.8 10.2.0.5 rac,两个节点只能一个节点mount,如果尝试mount另外节点就报ora-01105和ora-01606错误

数据库版本


复制代码 代码如下:

sql> select * from v$version;

banner

—————————————————————-

oracle database 10g enterprise edition release 10.2.0.5.0 – 64bi

pl/sql release 10.2.0.5.0 – production

core    10.2.0.5.0      production

tns for linux: version 10.2.0.5.0 – production

nlsrtl version 10.2.0.5.0 – production

crs资源情况


复制代码 代码如下:

[oracle@node1 dbs]$ $ora_crs_home/bin/crs_stat -t

name           type           target    state     host        

————————————————————

ora….d1.inst application    offline   offline               

ora….d2.inst application    online    online    node2       

ora.prod.db    application    online    online    node2       

ora….sm1.asm application    online    online    node1       

ora….e1.lsnr application    online    online    node1       

ora.node1.gsd  application    online    online    node1       

ora.node1.ons  application    online    online    node1       

ora.node1.vip  application    online    online    node1       

ora….sm2.asm application    online    online    node2       

ora….e2.lsnr application    online    online    node2       

ora.node2.gsd  application    online    online    node2       

ora.node2.ons  application    online    online    node2       

ora.node2.vip  application    online    online    node2

 

节点1 mount报错


复制代码 代码如下:

sql> startup

oracle instance started.

total system global area  171966464 bytes

fixed size                  2094832 bytes

variable size             113248528 bytes

database buffers           50331648 bytes

redo buffers                6291456 bytes

ora-01105: mount is incompatible with mounts by other instances

ora-01606: gc_files_to_locks not identical to that of another mounted instance

error:    ora 1105 

text:     mount is incompatible with mounts by other instances 

——————————————————————————-

cause:  an attempt was made to mount the database, but another instance has already mounted 

        a database by the same name, and the mounts are not compatible.

        dditional messages will accompany this message to report why the mounts are incompatible.

action:  see the accompanying messages for the appropriate action to take.

error:  ora 1606 

text:   gc_files_to_locks not identical to that of another mounted instance 

——————————————————————————-

cause:  the initialization parameter gc_files_to_locks is not the same as 

        another instance mounted in parallel mode.

        this parameter must be the same as that for all shared instances.

action: modify the parameter to be compatible with the other instances, then

        shut down and restart the instance.

 

根据这个错误提示,查询两个节点的gc_files_to_locks参数,均为空值(默认值),也就是值相同


复制代码 代码如下:

sql> show parameter gc_files_to_locks;

name                                 type        value

———————————— ———– ——————————

gc_files_to_locks                    string

 

检查两个节点的gc相关隐含参数,发现所有值也均一致


复制代码 代码如下:

name                           description                                                           value  

—————————— ——————————————————————— ——-

_gc_affinity_limit             dynamic affinity limit                                                50     

_gc_affinity_minimum           dynamic affinity minimum activity per minute                          6000   

_gc_affinity_time              if non zero, enable dynamic object affinity                           10     

_gc_async_memcpy               if true, use async memcpy                                             false  

_gc_check_bscn                 if true, check for stale blocks                                       true   

_gc_coalesce_recovery_reads    if true, coalesce recovery reads                                      true   

_gc_defer_time                 how long to defer down converts for hot buffers                       3      

_gc_dissolve_undo_affinity     if true, dissolve undo affinity after an offline                      false  

_gc_dynamic_affinity_locks     if true, get dynamic affinity locks                                   true   

_gc_element_percent            global cache element percent                                          103    

_gc_global_lru                 turn global lru off, make it automatic, or turn it on                 auto   

_gc_initiate_undo_affinity     if true, initiate undo affinity after an online                       true   

_gc_integrity_checks           set the integrity check level                                         1      

_gc_keep_recovery_buffers      if true, make recovery buffers current                                true   

_gc_latches                    number of latches per lms process                                     8      

_gc_maximum_bids               maximum number of bids which can be prepared                          0      

_gcs_fast_reconfig             if true, enable fast reconfiguration for gcs locks                    true   

_gcs_latches                   number of gcs resource hash latches to be allocated per lms process   64     

_gcs_pkey_history              number of pkey remastering history                                    4000   

_gcs_process_in_recovery       if true, process gcs requests during instance recovery                true   

_gcs_resources                 number of gcs resources to be allocated                                      

_gcs_shadow_locks              number of pcm shadow locks to be allocated                                   

_gc_statistics                 if true, kcl statistics are maintained                                true   

_gcs_testing                   gcs testing parameter                                                 0      

_gc_tsn_undo_affinity          if true, use tsn undo affinity                                        true   

_gc_undo_affinity              if true, enable dynamic undo affinity                                 true   

_gc_undo_affinity_locks        if true, get affinity locks for undo                                  true   

_gc_use_cr                     if true, allow cr pins on pi and writing buffers                      true   

_gc_vector_read                if true, vector read current buffers                                  true

 

仔细对比数据库参数,发现undo异常


复制代码 代码如下:

–节点1

sql>  show parameter undo

name                                 type        value

———————————— ———– ——————————

undo_management                      string      manual

undo_retention                       integer     900

undo_tablespace                      string      system

 

–节点2

sql>  show parameter undo

name                                 type        value

———————————— ———– ——————————

undo_management                      string      auto

undo_retention                       integer     900

undo_tablespace                      string      undotbs1

 

这里已经明确,因为两个节点的undo_*相关参数配置不正确,导致数据库只能一个节点mount。进一步定位问题发现,原来是因为dba粗心在编辑节点1的参数文件的时候把undo_*相关的参数给弄丢了,从而数据库使用了默认值undo_management=manual,undo_tablespace=system

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐