Oracle
 sql >> Database >  >> RDS >> Oracle

Aggiungi manualmente una nuova istanza RAC

Per iniziare questo post, dirò che, se possibile, dovresti utilizzare il DBCA per aggiungere una nuova istanza al tuo database RAC. Il DBCA si prenderà cura di tutti i dettagli per te. È una semplice procedura guidata di 6 pagine e la tua nuova istanza è attiva e funzionante sul tuo nuovo nodo.

Di recente, mi è stato chiesto di aggiungere una nuova istanza per i nostri database di produzione in esecuzione sul nostro cluster a 3 nodi. Sono stato in grado di creare la quarta istanza sul quarto nodo per 2 dei 3 database in esecuzione su questo cluster. Quando ho tentato di estendere il terzo database al quarto nodo, ho ricevuto un errore che mi informava che la directory $ORACLE_HOME non era condivisa su tutti i nodi. Bene, per cominciare, la directory $ORACLE_HOME non deve essere condivisa su tutti i nodi. E questo ha funzionato per gli altri due database nella stessa home directory. Devo ancora capire perché c'è un problema con questo terzo database. Dopo due settimane, la mia richiesta di assistenza per risolvere il problema ha avuto progressi praticamente nulli. Quindi ho deciso di aggiungere manualmente le istanze poiché Oracle Support non fornisce l'aiuto di cui ho bisogno. Nella mia mente, sapevo che aggiungere manualmente le istanze non era così difficile, ma non riuscivo a trovare molte informazioni su come farlo effettivamente. Questo post mostra i passaggi per aggiungere manualmente una nuova istanza al database RAC.

1. Imposta i parametri specifici dell'istanza nel tuo SPFILE. Ho dovuto aggiungere i seguenti parametri per la mia nuova istanza:

alter system set instance_number=4 scope=spfile sid='orcl4';

alter system set local_listener='LISTENER_ORCL4'  scope=spfile sid='orcl4';

alter system set log_archive_format='%t_%s_%r.dbf' scope=spfile sid='orcl4';

alter system set log_archive_trace=0 scope=spfile sid='orcl4';

alter system set thread=4 scope=spfile sid='orcl4';

alter system set undo_tablespace='UNDOTBS4' scope=spfile sid='orcl4';

2. Uno dei parametri richiede la voce LISTENERS_ORCL4 nel file TNSNAMES.ORA. Inserisci questa voce nel file e tutte le altre voci necessarie per questa nuova istanza.

3. Ho messo il mio spfile e il file della password nell'archivio condiviso. Sul nuovo nodo, devo collegarmi a quelli.

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. Aggiungi gruppi di log di ripristino online.

altera database aggiungi file di registro thread 4 gruppo 40
( '/u01/app/oracle/oradata/smp/redo01/redo40a.log',
'/u01/app/oracle/oradata/smp/redo01/ redo40b.log') dimensione 52429312;

5. Aggiungi file di registro di ripristino in standby.

alter database add standby logfile thread 4
‘/u01/app/oracle/oradata/smp/redo01/smp_4srl400.f’ size 52429312;

6. Poiché dispongo di un database in standby, è necessario aggiungere anche i registri di ripristino in linea e i registri di ripristino in standby nel database di standby. Vedi il mio post precedente.

7. Abilita il thread di ripetizione.

altera il thread di abilitazione del database 4;

8. Crea la nuova istanza in Grid Infrastructure

srvctl aggiungi istanza -d orcl -i orcl4 -n myhost04

9. Avvia la nuova istanza

srvctl istanza di inizio -d orcl -i orcl4

10. Sul nuovo nodo, verificare che SMON sia in esecuzione.

ps -ef|grep smon

11. Verifica che l'istanza sia aperta.

seleziona numero_istanza,nome_istanza,thread#,stato da gv$istanza;

12. Modificare /etc/oratab sul nuovo nodo per contenere la voce dell'istanza

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

13. Sul nuovo nodo, accedi all'istanza con SQL*Plus per assicurarti di poter accedere all'istanza.

14. Verifica l'istanza con GI.

database di stato srvctl -d orcl

15. L'istanza è ora attiva e in esecuzione sul nuovo nodo. Non resta che rendere disponibili o preferiti tutti i servizi di database su quel nuovo nodo e le tue connessioni possono iniziare a utilizzare la nuova istanza.

srvctl modifica servizio -d orcl -s orcl_svc -n -i orcl1,orcl2,orcl3,orcl4

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

srvctl servizio di stato -d orcl

Questo è tutto!