Това е моята 100-та публикация в този блог!!!
Опитвам се да дублирам проблем, при който имам нишки 4, 5 и 6 в моя първичен и моят режим на готовност има нишки 1 и 2. Когато направих превключване, всичко беше наред, но не можах да превключя обратно, защото старият първичен, сега режимът на готовност очаква повторение от нишка 4, която не съществува в моя нов първичен, стария режим на готовност. За моето тестване имам първичен RAC с 2 възела и резервен RAC с 2 възела. Както се очаква, и двете имат нишки 1 и 2. Затова се опитах да превключя основната към нишки 3 и 4, като просто променям параметъра THREADS в SPFILE. Но при стартиране получих:
PRCR-1079 : Failed to start resource ora.resp.db CRS-5017: The resource action "ora.resp.db start" encountered the following error: ORA-01618: redo thread 3 is not enabled - cannot mount . For details refer to "(:CLSN00107:)" in "/u01/app/crs11.2.0.3/log/myhost01/agent/crsd/oraagent_oracle/oraagent_oracle.log". CRS-2674: Start of 'ora.resp.db' on 'myhost01' failed CRS-2632: There are no more servers to try to place resource 'ora.resp.db' on that would satisfy its placement policy CRS-5017: The resource action "ora.resp.db start" encountered the following error: ORA-01618: redo thread 4 is not enabled - cannot mount . For details refer to "(:CLSN00107:)" in "/u01/app/crs11.2.0.3/log/myhost02/agent/crsd/oraagent_oracle/oraagent_oracle.log". CRS-2674: Start of 'ora.resp.db' on 'myhost02' failed
Това не е проста промяна на параметрите. За да заобиколим това, първо трябва да създадем онлайн регистрационни файлове за повторно изпълнение, за да поддържаме новите нишки:
SQL> alter database add logfile thread 3 group 30 2 '/oracle_data/oradata/resp/redo30.log' size 52429312; Database altered. SQL> alter database add logfile thread 3 group 31 2 '/oracle_data/oradata/resp/redo31.log' size 52429312; Database altered. SQL> alter database add logfile thread 4 group 40 2 '/oracle_data/oradata/resp/redo40.log' size 52429312; Database altered. SQL> alter database add logfile thread 4 group 41 2 '/oracle_data/oradata/resp/redo41.log' size 52429312; Database altered.
След това активираме нишките.
SQL> alter database enable public thread 3; Database altered. SQL> alter database enable public thread 4; Database altered.
Lastly, we change the initialization parameters and bounce the instance:
SQL> alter system set thread=3 sid='resp1' scope=spfile; System altered. SQL> alter system set thread=4 sid='resp2' scope=spfile; System altered.След това отскочете екземплярите със srvctl. След като всичко беше архивирано, деактивирах нишки 1 и 2.
SQL> alter database disable thread 1; Database altered. SQL> alter database disable thread 2; Database altered.