Implementare la replica di Oracle Database File System (DBFS)
Qualsiasi replica in standby implica due passi in questo modello: dalla cartella di origine del database primario all'accesso DBFS intermedio e quindi, nel sito secondario, dall'accesso DBFS alla cartella di destinazione dello standby. Le copie intermedie vengono eseguite utilizzando rsync. Poiché si tratta di una copia rsync a bassa latenza e locale, alcuni dei problemi che si verificano in un'operazione di copia rsync remota vengono evitati con questo modello.
Nota
Questo metodo non è supportato con Oracle Autonomous Database, che non consente connessioni DBFS.replica-dbfs-mid-tier-oracle.zip
I vantaggi dell'implementazione della replica di livello intermedio con DBFS sono:
- Questo metodo sfrutta la robustezza della replica di Oracle Data Guard.
- Lo storage di livello intermedio reale può rimanere montato nei nodi secondari. Non sono disponibili passi aggiuntivi per collegare o installare lo storage nel secondario in ogni operazione di switchover o failover.
Di seguito sono riportate alcune considerazioni per l'implementazione della replica di livello intermedio con DBFS.
- Questo metodo richiede un Oracle Database con Oracle Data Guard.
- Gli host di livello intermedio richiedono che il client Oracle Database esegua il MOUNT del DBFS.
- L'uso di DBFS per la replica ha implicazioni dal punto di vista dell'impostazione, dello storage del database e del ciclo di vita. Richiede un'installazione del client Oracle Database negli host di livello intermedio, una certa manutenzione del database (per pulire, comprimere e ridurre lo storage delle tabelle) e una buona comprensione del funzionamento dei punti di accesso DBFS.
- È possibile eseguire il MOUNT delle directory DBFS solo se il database è aperto. Quando Oracle Data Guard non è un Active Data Guard, il database di standby è in stato MOUNT. Pertanto, per accedere all'accesso DBFS nel sito secondario, è necessario convertire il database in standby snapshot. Quando si utilizza Active Data Guard, è possibile eseguire il MOUNT del file system per le letture e non è necessario eseguire la transizione a uno snapshot.
- Non è consigliabile utilizzare DBFS come soluzione generica per replicare tutti gli artifact (in particolare i file runtime) in standby. L'uso di DBFS per replicare i file binari è un overkill. Tuttavia, questo approccio è adatto per replicare alcuni artifact, come la configurazione, quando altri metodi come la replica dello storage o
rsyncnon soddisfano le esigenze del sistema. - È responsabilità dell'utente creare gli script personalizzati per ciascun ambiente ed eseguirli periodicamente.
- È responsabilità dell'utente implementare un modo per invertire la direzione della replica.
Imposta replica per file system di database
Questa implementazione utilizza la tecnologia rsync e segue il modello peer-to-peer. In questo modello, la copia viene eseguita direttamente tra gli host peer di livello intermedio. Ogni nodo dispone della connettività SSH al peer e utilizza i comandi rsync su SSH per replicare gli artifact del file di livello intermedio primario.
Per implementare la replica di livello intermedio con DBFS, è necessario quanto riportato di seguito.
- Installazione di un client Oracle Database sugli host di livello intermedio che eseguono la copia, sia nel database primario che in quello secondario.
- File system DBFS creato nel database.
- MOUNT DBFS negli host di livello intermedio che eseguono le copie, sia nel database primario che in quello secondario. Questo attiva il file system DBFS del database. Questo file system può essere attivato in più host, poiché DBFS è un file system condivisibile.
- Script che copiano gli artifact di file di livello intermedio nell'accesso DBFS nel sito primario.
- Script che copiano gli artifact di file di livello intermedio dall'accesso DBFS alle cartelle nel sito secondario. A seconda dell'implementazione, questo metodo potrebbe richiedere la connettività SQL*net tra gli host di livello intermedio e il database remoto per le operazioni del database, ad esempio le conversioni dei ruoli.
- Un modo per gestire le informazioni specifiche del sito, escludendo tali informazioni dalla copia o aggiornandole con le informazioni appropriate dopo la replica.
- Pianificare l'esecuzione continua di questi script.
- Meccanismo per modificare la direzione della replica dopo uno switchover o un failover.
Nota
L'esempio riportato di seguito si applica ai sistemi Oracle WebLogic. È possibile utilizzarlo come riferimento per copiare altre cartelle del sistema di livello intermedio tramite DBFS, ma questo particolare esempio utilizza uno script che replica la cartella di dominio dell'amministratore WebLogic sul secondario tramite DBFS.Questo esempio mostra come replicare la cartella del dominio dell'host di amministrazione WebLogic tramite DBFS. Il contenuto che si trova all'esterno della cartella del dominio, nonché il contenuto di altri host, non è incluso in questo esempio. La cartella del dominio non risiede direttamente in DBFS; l'accesso DBFS è solo una cartella intermedia in cui memorizzare una copia della cartella del dominio.
In questo esempio viene fornito uno script per eseguire queste azioni, che devono essere eseguite periodicamente nei siti primari e in standby. Questo script copia la cartella del dominio di amministrazione WebLogic, saltando alcuni elementi quali i file tmp, .lck, .state e tnsnames.ora. La procedura consiste di quanto segue:
- Quando lo script viene eseguito sull'host di amministrazione WebLogic del sito primario, lo script copia la cartella del dominio WebLogic nella cartella DBFS.
- I file copiati nel DBFS, così come vengono memorizzati nel database, vengono trasferiti automaticamente al database di standby tramite Oracle Data Guard.
- Quando lo script viene eseguito sull'host di amministrazione WebLogic del sito secondario:
- Lo script converte il database di standby in uno standby snapshot.
- Successivamente, esegue il MOUNT del file system DBFS dal database di standby.
- La cartella del dominio replicato è ora disponibile in questa cartella DBFS. Lo script lo copia dall'accesso DBFS alla cartella del dominio reale.
- Infine, lo script converte di nuovo il database in standby in standby fisico.
- In caso di modifica del ruolo, lo script adatta automaticamente l'esecuzione al nuovo ruolo. Raccoglie il ruolo effettivo del sito controllando il ruolo del database.
Questo script replica solo la cartella del dominio dell'host di amministrazione WebLogic. Il contenuto della cartella DOMAIN_HOME/config viene copiato automaticamente in tutti gli altri nodi che fanno parte del dominio WebLogic all'avvio dei server gestiti. I file esterni a questa cartella e i file posizionati su altri host non vengono replicati e devono essere sincronizzati separatamente.
Per le operazioni di distribuzione dell'applicazione, utilizzare l'opzione di distribuzione Carica file nella console di amministrazione WebLogic. In questo modo, i file distribuiti vengono posizionati nella directory di caricamento del server di amministrazione ($DOMAIN_HOME/servers/admin_server_name/upload) e lo script di replica di configurazione li sincronizzerà nel sito in standby.
In questo esempio viene fornito un altro script per installare il client DB e configurare un accesso DBFS negli host di livello intermedio. L'immagine è un esempio di sistema Oracle WebLogic Server per OCI con replica DBFS.
wls-dbfs-replication-oracle.zip
Per usare il metodo DBFS per replicare il dominio WebLogic, eseguire le operazioni riportate di seguito.
Convalida replica per file system di database
In un'operazione di switchover o failover, le informazioni replicate devono essere disponibili e utilizzabili nel sito in standby prima dell'avvio dei processi. Questa operazione è necessaria anche quando si convalida il sistema secondario (aprendo il database di standby in modalità snapshot).
In questa implementazione, lo storage è sempre disponibile in standby; non è necessario collegare o montare alcun volume. L'unica azione necessaria è assicurarsi che contenga la versione più recente del contenuto.
Per utilizzare i contenuti replicati in standby, eseguire le operazioni riportate di seguito.
Esegui replica continua per file system di database
Eseguire periodicamente lo script di replica per mantenere sincronizzato il dominio secondario con quello primario.
rsync dagli host di livello intermedio:
- Utilizzare il crontab del sistema operativo o un altro strumento di pianificazione per pianificare la replica. Deve consentire agli script di completare la replica. In caso contrario, i job successivi potrebbero sovrapporsi.
- Mantenere i processi di livello intermedio arrestati nel sito in standby. Se i server sono attivi nel sito in standby durante la replica delle modifiche, le modifiche diventeranno effettive al successivo avvio. Avviarli solo durante la convalida del sito in standby o durante la procedura di switchover o failover.
- Gestire le informazioni specifiche di ciascun sito e tenerle aggiornate. Ad esempio, saltare il file
tnsnames.oradalla copia in modo che ogni sistema disponga dei relativi dettagli di connettività. Se si esegue una modifica nel filetnsnames.oranel file primario (ad esempio, aggiungendo un nuovo alias), aggiornare manualmente il filetnsnames.oranel file secondario. - Dopo uno switchover o un failover, invertire la direzione della replica. Dipende dall'implementazione specifica. Gli script possono utilizzare un controllo dinamico per identificare chi è il sito attivo oppure è possibile eseguire una modifica manuale dopo uno switchover o un failover (ad esempio, disabilitando e abilitando gli script appropriati). Nell'esempio fornito, lo script
config_replica.shadatta automaticamente l'esecuzione al ruolo effettivo del sito controllando il ruolo del database locale.

