sql >> Databasteknik >  >> RDS >> Oracle

Lägg till ny RAC-instans manuellt

För att starta det här inlägget kommer jag att säga att om det alls är möjligt bör du använda DBCA för att lägga till en ny instans till din RAC-databas. DBCA tar hand om alla detaljer åt dig. Det är en enkel 6-sidig guide och din nya instans är igång på din nya nod.

Nyligen anklagades jag för att lägga till en ny instans för våra produktionsdatabaser som körs på vårt kluster med tre noder. Jag kunde skapa den fjärde instansen på den fjärde noden för 2 av de 3 databaserna som körs på detta kluster. När jag försökte utöka den tredje databasen till den fjärde noden, fick jag ett felmeddelande som informerade mig om att katalogen $ORACLE_HOME inte delades på alla noder. Till att börja med behöver katalogen $ORACLE_HOME inte delas på alla noder. Och detta fungerade för de andra två databaserna i samma hemkatalog. Jag har ännu inte tagit reda på varför det finns ett problem med denna tredje databas. Efter två veckor hade min serviceförfrågan för att lösa problemet praktiskt taget noll framsteg. Så jag bestämde mig för att lägga till instanserna manuellt eftersom Oracle Support inte ger den hjälp jag behöver. I mitt sinne visste jag att det inte var så svårt att lägga till instanserna manuellt, men jag kunde inte hitta mycket information om hur man faktiskt gör det. Det här inlägget visar stegen för att manuellt lägga till en ny instans till din RAC-databas.

1. Ställ in instansspecifika parametrar till din SPFILE. Jag var tvungen att lägga till följande parametrar för min nya instans:

alter system set instance_number=4 scope=spfile sid=’orcl4′;

ändra systemuppsättning local_listener=’LISTENER_ORCL4′  scope=spfile sid=’orcl4′;

ändra systemuppsättning log_archive_format=’%t_%s_%r.dbf’ scope=spfile sid=’orcl4′;

ändra systemuppsättning log_archive_trace=0 scope=spfile sid=’orcl4′;

ändra systemuppsättning thread=4 scope=spfile sid=’orcl4′;

alter system set undo_tablespace=’UNDOTBS4′ scope=spfile sid=’orcl4′;

2. En av parametrarna kräver LISTENERS_ORCL4-posten i filen TNSNAMES.ORA. Ange denna post i filen och alla andra poster du behöver för den här nya instansen.

3. Jag lägger min spfile och lösenordsfil på delad lagring. På den nya noden måste jag mjuklänka till dem.

cd $ORACLE_HOME/dbs

ln -s /u01/app/oracle/oradata/orcl/data01/spfileorcl.ora spfileorcl4.ora

ln -s /u01/app/oracle/oradata/orcl/data01/orapworcl orapworcl4

4. Lägg till online redo-logggrupper.

ändra databas lägg till loggfil tråd 4 grupp 40
( '/u01/app/oracle/oradata/smp/redo01/redo40a.log',
'/u01/app/oracle/oradata/smp/redo01/ redo40b.log') storlek 52429312;

5. Lägg till redo redo-loggfiler i vänteläge.

ändra databas lägg till standby-loggfil tråd 4
‘/u01/app/oracle/oradata/smp/redo01/smp_4srl400.f’ storlek 52429312;

6. Eftersom jag har en standby-databas måste jag lägga till online redo-loggar och standby-redo-loggar i standby-databasen också. Se mitt tidigare inlägg.

7. Aktivera redo tråd.

ändra databas aktivera tråd 4;

8. Skapa den nya instansen i Grid Infrastructure

srvctl add instans -d orcl -i orcl4 -n myhost04

9. Starta den nya instansen

srvctl start instans -d orcl -i orcl4

10. På den nya noden, verifiera att SMON körs.

ps -ef|grep smon

11. Kontrollera att instansen är öppen.

välj instansnummer, instansnamn, tråd#, status från gv$instans;

12. Ändra /etc/oratab på ny nod för att innehålla instanspost

orcl4:/u01/app/oracle/product/11.2.0.2:N

13. På den nya noden, logga in på instansen med SQL*Plus för att säkerställa att du kan komma åt instansen.

14. Verifiera instans med GI.

srvctl statusdatabas -d orcl

15. Instansen är nu igång på den nya noden. Allt som återstår är att göra alla databastjänster tillgängliga eller föredragna på den nya noden och dina anslutningar kan börja använda den nya instansen.

srvctl modifiera tjänst -d orcl -s orcl_svc -n -i orcl1,orcl2,orcl3,orcl4

srvctl start service -d orcl-s orcl_svc -i orcl4

srvctl statustjänst -d orcl

Det är allt som finns!


  1. Tidsstämpel skillnad i timmar för PostgreSQL

  2. Lägg till en genererad kolumn till en tabell i SQLite

  3. Kan jag blanda MySQL API:er i PHP?

  4. Postgres 9.4 jsonb-array som tabell