Environment Linux 5.8 10.2.0.5 RAC, two nodes can mount only one node, if you try to mount another node, the ORA-01105 and ORA-01606 error is reported
Database Version
Copy codeThe Code is as follows:
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 Resources
Copy codeThe Code is as follows:
[Oracle @ node1 dbs] $ ORA_CRS_HOME/bin/crs_stat-t
Name Type Target State Host
------------------------------------------------------------
Ora... D1.inst application OFFLINE
Ora... D2.inst application ONLINE node2
Ora. PROD. db application ONLINE node2
Ora... SM1.asm application ONLINE node1
Ora... E1.lsnr application ONLINE node1
Ora. node1.gsd application ONLINE node1
Ora. node1.ons application ONLINE node1
Ora. node1.vip application ONLINE node1
Ora... SM2.asm application ONLINE node2
Ora... E2.lsnr application ONLINE node2
Ora. node2.gsd application ONLINE node2
Ora. node2.ons application ONLINE node2
Ora. node2.vip application ONLINE node2
Node 1 mount Error
Copy codeThe Code is as follows:
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
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.
According to the error message, query the gc_files_to_locks parameters of the two nodes, all of which are null (default), that is, the values are the same
Copy codeThe Code is as follows:
SQL> show parameter gc_files_to_locks;
NAME TYPE VALUE
-----------------------------------------------------------------------------
Gc_files_to_locks string
Check the gc-related implicit parameters of the two nodes and find that all values are consistent.
Copy codeThe Code is as follows:
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
Compare the database parameters carefully and find that the undo operation is abnormal.
Copy codeThe Code is as follows:
-- Node 1
SQL> show parameter undo
NAME TYPE VALUE
-----------------------------------------------------------------------------
Undo_management string MANUAL
Undo_retention integer 900
Undo_tablespace string SYSTEM
-- Node 2
SQL> show parameter undo
NAME TYPE VALUE
-----------------------------------------------------------------------------
Undo_management string AUTO
Undo_retention integer 900
Undo_tablespace string UNDOTBS1
It is clear that the database can only mount one node because the undo _ * parameters of the two nodes are incorrectly configured. Further locating the problem found that the dba accidentally lost the undo _ * related parameters when editing the parameter file of Node 1, so the database used the default value undo_management = manual, undo_tablespace = system