Nota:

Impostare i database primari e due in standby PostgreSQL utilizzando la console OCI e convalidare la replica dei dati

Introduzione

PostgreSQL è un sistema di gestione del database relazionale a oggetti open source. È altamente estensibile, altamente scalabile e ha molte caratteristiche. PostgreSQL supporta la replica dei dati in più data center.

I server che possono modificare i dati sono denominati server principali o principali. I server che tengono traccia delle modifiche nel database primario sono denominati server in standby. Un server in standby a cui non è possibile connettersi finché non viene promosso a un server primario viene chiamato server in standby caldo e uno che può accettare connessioni e gestire query di sola lettura viene chiamato server in standby a caldo.

Resource Manager è un servizio Oracle Cloud Infrastructure (OCI) che consente di automatizzare il processo di provisioning delle risorse OCI. Con Terraform, Resource Manager ti consente di installare, configurare e gestire le risorse attraverso il modello "Infrastructure-as-a-code".

Oracle Cloud Infrastructure è progettato per carichi di lavoro che richiedono prestazioni elevate coerenti, tra cui connessioni con stato ai database, elaborazione raw tramite CPU o GPU, milioni di IOPS di storage e GB/s di throughput. Inizia con un'architettura zero-trust. Nella progettazione di Oracle Cloud, volevamo un cloud che fosse eseguito meglio per ogni applicazione, ma che avesse anche un miglior rapporto prezzo/prestazioni.

Obiettivo

Configura 1 server primario e 2 server in standby a caldo utilizzando Terraform Code in Resource Manager OCI. Verrà distribuita su 3 istanze di computazione in 3 domini di disponibilità differenti.

Dopo la distribuzione, verificheremo la replica delle tabelle dal server primario al server in standby e ci connettermo ai database in standby a caldo per eseguire una query sui dati.

  1. Utilizzando lo stack terraform, distribuiamo la rete, PostgreSQL server primari e 2 server in standby.

  2. Verrà creata la tabella di esempio in Principale e inserito alcuni record nella tabella.

  3. Verrà quindi verificato se la tabella e le righe di esempio sono state replicate in entrambi i server in standby.

Task 1: Creare lo stack

  1. Aprire il collegamento seguente in un browser: Distribuisci in Oracle Cloud.

  2. Se non si è già collegati, immettere le credenziali della tenancy e dell'utente.

  3. Selezionare l'area in cui distribuire lo stack.

  4. Nella pagina delle informazioni sullo stack selezionare la casella di controllo Ho preso visione e accetto le condizioni d'uso di Oracle. Nella sezione Informazioni stack vengono visualizzati i dettagli.

  5. Fare clic su Next.

  6. Nella pagina Configura variabili configurare le impostazioni riportate di seguito.

    Nota: in questa esercitazione, la distribuzione di PostgreSQL versione 12 in una subnet pubblica viene eseguita.

    Variabili:

    1. Scegliere il dominio di disponibilità e la versione PostgreSQL richieste.

    2. Deselezionare la casella di controllo Crea in subnet privata.

    3. Selezionare la casella di controllo Mostra opzioni avanzate e specificare i dettagli relativi a rete, computazione, storage, standby e altre impostazioni.

      Variabili:

      Variables3:

    4. Specificare il sistema operativo, il criterio di backup e altri dettagli richiesti.

      Variabili:

    5. Specificare i valori richiesti per OCPU e memoria.

      1. Scegliere la forma del nodo primario e l'utente replicat.

        Variabili:

      2. Fornire i dettagli per Hotstandby1 (scelta AD-2).

        Variabili:

      3. Fornire i dettagli per Hotstandby2 (scelta di AD-3).

        Variabili:

    6. Fare clic su Next.

  7. Verificare i dettagli nella pagina Revisione e assicurarsi che la casella di controllo Esegui applicazione sia selezionata per eseguire immediatamente il provisioning delle risorse.

    Revisione stack

  8. Fare clic su Crea.

    Log processi

  9. Monitorare il log del job dello stack (Vai a Developer Services, Resource Manager, Stacks) come mostrato negli screenshot riportati di seguito.

    Navigazione stack

    Pagina stack

    Stato processo stack

    Log job stack

Nota: per l'impostazione del test utilizzata in questa esercitazione, lo stack è stato applicato e configurato correttamente le risorse in 11 minuti per le forme selezionate. Ciò può variare in base alle impostazioni di configurazione scelte.

Job dello stack completato

Lo screenshot seguente mostra la configurazione completata del server primario e in standby.

Computazione PG in esecuzione

Task 2: verificare la connettività e la replica

  1. ssh al nodo primario come utente opc ed eseguire il comando seguente:

    sudo su - postgres

    login pgprimary

  2. Creare la tabella order_details nel nodo primario .

    CREATE TABLE order_details (order_detail_id integer CONSTRAINT order_details_pk PRIMARY KEY, order_id integer NOT NULL, order_date date, qty integer, ACCEPTED_QUANTITY integer);

  3. Descrivere la tabella creata.

    \dt order_details

  4. Eseguire una query sui dati e restituire 0 righe:

    select * from order_details;

    tabella pgprimary

  5. Eseguire il login al server standby1 e verificare che la tabella order_details sia stata replicata.

    tabella pgstandby

  6. Eseguire il login al server standby2 e verificare che la tabella order_details sia stata replicata.

    Tabella pgstandby2

  7. Inserire 2 righe nella tabella del database primario order_details.

    BEGIN; INSERT INTO order_details (order_detail_id,order_id,order_date,qty,ACCEPTED_QUANTITY) values (101,1,'2022-07-14',10,5); INSERT INTO order_details (order_detail_id,order_id,order_date,qty,ACCEPTED_QUANTITY) values (102,2,'2022-07-14',100,100); COMMIT;

    inserto pgprimary

  8. Verificare che le righe nel server standby1 siano state replicate.

    verifica pgstandy1

  9. Verificare che le righe nel server standby2 siano state replicate anche qui.

    Verifica pgstandy2:

Approvazioni

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Explorer di Oracle Learning.

Per la documentazione sul prodotto, visitare il sito Oracle Help Center.