3 Creazione di un database di standby fisico
Questo capitolo spiega come creare un database di standby fisico e iniziare ad applicare redo log ad esso. Questo capitolo include i seguenti argomenti principali:
- Lista di controllo delle attività
- Creazione di un database standby: attività di base
- Creazione dei file di database standby
- Creazione del file dei parametri di inizializzazione standby
3.1 Lista di controllo delle attività
La tabella 3-1 fornisce una lista di controllo delle attività eseguite per creare un database di standby e sincronizzarlo in modo che sia pronto per iniziare il ripristino gestito. Ogni passaggio include un riferimento a una sezione che fornisce informazioni aggiuntive.
Nota:
Utilizzare la Creazione guidata di configurazione fornita con Oracle9i Data Guard Manager per eseguire automaticamente tutti i passaggi descritti in questo capitolo.
Tabella 3-1 Elenco attività: Preparazione per il recupero gestito
Passo | Attività | Sito | Riferimento |
---|---|---|---|
Effettuare un nuovo backup dei file di dati del database primario o accedere a un vecchio backup. |
Primario |
Sezione 3.3.2 |
|
Verificare che il database primario sia in modalità ARCHIVELOG. |
Primario |
Sezione 3.3.3 |
|
Connettersi al database principale e creare il file di controllo standby. |
Primario |
Sezione 3.3.3 |
|
Copiare i file di dati di backup e il file di controllo standby dal sito principale al sito di standby. |
Primario |
Sezione 3.3.4 |
|
Impostare i parametri di inizializzazione per il database primario. |
Primario |
Sezione 5.6.3 |
|
Creare il file dei parametri di inizializzazione standby e impostare i parametri di inizializzazione per il database standby. A seconda della configurazione, potrebbe essere necessario impostare i parametri di conversione del nome file. |
Primario o standby |
Sezione 5.6.1 e Sezione 6.3.4 |
|
Utilizzare Oracle Net Manager per creare un nome di servizio netto che il database standby può utilizzare per connettersi al database primario. Il nome del servizio net deve essere risolto in un descrittore connect che utilizza lo stesso protocollo, indirizzo host, porta e SID specificati quando è stato configurato il listener nel sito del database primario. Se non si è sicuri dei valori da utilizzare per questi parametri, eseguire Oracle Net Manager nel sito del database principale per visualizzare la configurazione del listener. |
In attesa |
Oracle9i Net Services Guida dell’amministratore |
|
Utilizzare Oracle Net Manager per creare un nome di servizio net che il database primario può utilizzare per connettersi al database di standby. Il nome del servizio net deve essere risolto in un descrittore connect che utilizza lo stesso protocollo, indirizzo host, porta e SID specificati quando è stato configurato il listener nel sito del database di standby. Se non si è sicuri dei valori da utilizzare per questi parametri, eseguire Oracle Net Manager nel sito del database standby per visualizzare la configurazione del listener. |
Primario |
Oracle9i Net Services Guida dell’amministratore |
|
Utilizzare Oracle Net Manager per configurare un listener nel database di standby. Se si prevede di gestire questo database di standby utilizzando il Data Guard broker, è necessario configurare il listener per utilizzare il protocollo TCP/IP e registrare staticamente il servizio di database di standby utilizzando il relativo SID. |
In attesa |
Oracle9i Net Services Guida dell’amministratore |
|
Avviare l’istanza standby e montare il database standby. |
In attesa |
Sezione 6.3.2 |
|
Creare file di log di ripetizione in standby, se necessario. |
In attesa |
Sezione 5.8.4 |
|
Modificare manualmente i nomi dei file di dati primari e ripetere i registri nel file di controllo standby per tutti i file non rinominati automaticamente utilizzando |
In attesa |
Sezione B. 4 |
|
Arrestare e riavviare il listener nel database primario e avviare il listener nel database standby. |
Primario e standby |
Oracle9i Net Services Guida dell’amministratore |
|
Abilitare manualmente le modifiche dei parametri di inizializzazione nel database primario in modo che possa avviare l’archiviazione nel sito di standby. |
Primario |
Sezione 5.3.2.2 |
3.2 Creazione di un database di standby: attività di base
L’impostazione di un database di standby per il ripristino gestito richiede l’esecuzione di una serie di attività diverse. Dopo aver completato la preparazione e avviato il ripristino gestito, il database di standby applica automaticamente e in modo continuo i registri di ripetizione man mano che vengono ricevuti dal database primario. Figura 3-1 mostra la creazione di un database di standby.
Figura 3-1 Creazione di database standby
Descrizione testuale dell’illustrazione sbr81101.gif
3.3 Creazione dei file di database di standby
È possibile creare un database di standby sullo stesso sito del database principale o su un sito separato. Se si crea il database di standby sullo stesso sito, seguire attentamente la procedura di creazione durante la creazione dei file di database di standby in modo da non sovrascrivere i file sul database principale.
La creazione dei file di database in standby avviene in quattro fasi:
- Utilizzo dei backup per la creazione di standby
- Creazione dei file di dati di standby
- Creazione del file di controllo standby
- Copia dei file nel sito di standby
3.3.1 Utilizzo dei backup per la creazione di standby
Ogni database di standby deve essere creato da un backup del database primario.
Nota:
Per proteggersi dalle scritture dirette non registrate nel database primario che non possono essere propagate al database di standby, attivare FORCE LOGGING
nel database primario prima di eseguire i backup dei file di dati per la creazione di standby. Mantenere il database (o almeno i tablespace importanti) in modalità FORCE LOGGING
finché il database di standby è attivo.
È inoltre possibile utilizzare un singolo backup del database primario per creare fino a nove database di standby, anche se i vari database di standby nell’ambiente non devono essere creati dallo stesso backup. (È possibile creare un numero illimitato di database di standby, ma un singolo database primario può supportare solo fino a nove database di standby alla volta.) Figura 3-2 mostra che è possibile creare un database di standby da un backup del database primario preso il 20 gennaio e creare un altro database di standby dal backup preso il 20 giugno. Finché sono necessari i registri di ripetizione archiviati per eseguire il ripristino completo di un backup, può servire come base per un database di standby.
Figura 3-2 Creazione di database di standby utilizzando diversi backup
Descrizione testuale dell’illustrazione sbr81104.gif
3.3.2 Creazione dei file di dati in standby
In primo luogo, eseguire il backup dei file di dati del database primario. È possibile creare i file di dati in standby da questi backup.
È possibile utilizzare qualsiasi backup del database primario a condizione che siano stati archiviati i registri redo per ripristinare completamente il database. Il backup può essere vecchio o nuovo, coerente o incoerente. I backup a caldo (o backup aperti) consentono di mantenere aperto il database durante l’esecuzione del backup. Tuttavia, è preferibile eseguire un nuovo backup chiuso e coerente utilizzando l’utilità Recovery Manager (RMAN) per impedire l’applicazione di un numero elevato di log di ripristino archiviati.
Per creare un backup coerente e completo del database da utilizzare come base per il database di standby:
- Avviare una sessione SQL sul database primario e interrogare la vista fissa
V$DATAFILE
per ottenere un elenco dei file di dati primari. Ad esempio, immettere:SQL> SELECT NAME FROM V$DATAFILE;NAME ----------------------------------------------------------------------------/oracle/dbs/tbs_01.dbf/oracle/dbs/tbs_02.dbf/oracle/dbs/tbs_03.dbf/oracle/dbs2/tbs_11.dbf /oracle/dbs2/tbs_12.dbf/oracle/dbs3/tbs_21.dbf/oracle/dbs3/tbs_22.dbf 7 rows selected.
- Chiudere il database primario in modo pulito:
SQL> SHUTDOWN;
- Eseguire un backup coerente dei file di dati dal database principale utilizzando l’utilità Recovery Manager (RMAN) o un’utilità del sistema operativo.
- Riapre il database primario. Ad esempio, immettere:
SQL> STARTUP PFILE=initPRIMARY1.ora;
Vedi anche:Oracle9i Recovery Manager Guida per l’utente per imparare a creare un database di standby con Recovery Manager
3.3.3 Creazione del file di controllo standby
Dopo aver creato i backup che verranno utilizzati come file di dati standby, è possibile creare il file di controllo del database standby. Il file di controllo deve essere creato dopo l’ultimo timestamp per i file di dati di backup.
Nota:
Non è possibile utilizzare un singolo file di controllo per entrambi i database primario e standby. L’istanza standby è indipendente dall’istanza primaria e quindi richiede il possesso esclusivo dei suoi file di database.
Per creare il file di controllo del database di standby:
- Verificare che il database primario sia in modalità ARCHIVELOG e che l’archiviazione sia abilitata. Emettere il comando SQL*Plus
ARCHIVE LOG LIST
o interrogare la vistaV$DATABASE
. Procedere come segue:- Avviare e montare il database primario senza aprirlo. Ad esempio:
SQL> STARTUP MOUNT PFILE=initPRIMARY1.ora
- Eseguire il comando SQL * Plus
ARCHIVE LOG LIST
per determinare se il database è in modalità ARCHIVELOG. Biru:SQL> ARCHIVE LOG LIST;Database log mode No Archive ModeAutomatic archival DisabledArchive destination /oracle/dbs/archOldest online log sequence 0Current log sequence 1
- Se il database non è in modalità ARCHIVELOG, come mostrato nel passaggio b, eseguire il seguente comando per posizionare il database in modalità ARCHIVELOG:
SQL> ALTER DATABASE ARCHIVELOG;
- È possibile eseguire nuovamente il comando SQL*Plus
ARCHIVE LOG LIST
per verificare che il database sia stato inserito in modalità ARCHIVELOG. Ad esempio:SQL> ARCHIVE LOG LIST;Database log mode Archive ModeAutomatic archival DisabledArchive destination /oracle/dbs/archOldest online log sequence 0Next log sequence to archive 1Current log sequence 1
Per abilitare l’archiviazione automatica dei log redo online, è necessario impostare
LOG_ARCHIVE_START=true
nel file dei parametri di inizializzazione. Tuttavia, questo non deve essere fatto prima di creare il file di controllo standby.Vedi anche:Guida per l’utente SQL * Plus e riferimento per ulteriori informazioni sul comando
ARCHIVE LOG LIST
e sulla Guida dell’amministratore del database Oracle9i per ulteriori informazioni sull’istruzioneALTER DATABASE ARCHIVELOG
e sul parametro di inizializzazioneLOG_ARCHIVE_START
- Avviare e montare il database primario senza aprirlo. Ad esempio:
- Connettersi al database principale e creare il file di controllo per il database di standby. Ad esempio, per creare il file di controllo standby come /
oracle/dbs/stbycf.ctl
nel sito principale, immettere quanto segue:SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/oracle/dbs/stbycf.ctl';
Il nome del file di controllo standby creato deve essere diverso dal nome del file di controllo corrente del database primario. È inoltre possibile utilizzare RMAN per creare il file di controllo del database di standby.
Vedi Anche:Oracle9i SQL di Riferimento per ulteriori informazioni su
ALTER DATABASE
istruzione e Oracle9i Recovery Manager Guida dell’Utente per ulteriori informazioni su RMAN
3.3.4 Copia di File di Attesa, il Sito
Dopo aver creato l’attesa di file di dati e file di controllo, copiare i file di attesa, il sito utilizza un sistema operativo utilità.
Se il database di standby è | Allora |
---|---|
Un sito separato con la stessa struttura di directory del database primario |
Possibile utilizzare gli stessi nomi di percorso per l’attesa di file come i file primari. In questo modo, non è necessario rinominare i file di dati primari nel file di controllo standby. |
Lo stesso sito del database primario o il database di standby si trova in un sito separato con una struttura di directory diversa |
È necessario rinominare i file di dati primari nel file di controllo standby dopo averli copiati nel sito di standby. Puoi:
|
Utilizzare i comandi o le utilità del sistema operativo per eseguire le seguenti operazioni di copia nella posizione di standby:
- Copiare il file di controllo standby.
- Copiare i file di dati di backup.
- Copiare tutti i registri di ripristino archiviati disponibili nel sito di standby.
- Copia i log redo online. Questo è consigliato per le operazioni di switchover e failover.
Non copiare tablespace temporanei. Utilizzare un metodo appropriato per copiare i file binari.
Vedere anche:
Sezione 6.3.6 per ulteriori informazioni sulla creazione di tablespace temporanei e Sezione 10.1.2 per uno scenario che mostra come copiare i file in un sito di standby
3.4 Creazione del file del parametro di inizializzazione standby
Una volta configurato il file del parametro di inizializzazione del database primario, è possibile duplicare il file per l’utilizzo da parte del database standby. La procedura per la creazione del file del parametro di inizializzazione standby è la seguente:
- Copiare il file dei parametri di inizializzazione per il database primario utilizzando un’utilità del sistema operativo.
- Modificare il file dei parametri di inizializzazione per l’utilizzo da parte del database di standby.
- Trasferire il file del parametro di inizializzazione al sito di standby utilizzando un’utilità del sistema operativo appropriata.
Vedere anche:
Sezione 5.6.1, Sezione 6.3.4 e Sezione 10.1.2