Nota:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse para obtener una cuenta gratuita, consulte Introducción al nivel gratuito de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para las credenciales, el arrendamiento y los compartimentos de Oracle Cloud Infrastructure. Al finalizar el laboratorio, sustituya estos valores por otros específicos de su entorno en la nube.
Configurar la base de datos primaria PostgreSQL y dos bases de datos en espera mediante la consola de OCI y validar la replicación de datos
Introducción
PostgreSQL es un sistema de gestión de bases de datos relacionales de objetos de código abierto. Es altamente ampliable, altamente escalable y tiene muchas funciones. PostgreSQL soporta la replicación de datos en varios centros de datos.
Los servidores que pueden modificar datos se denominan servidores maestros o primarios. Los servidores que realizan un seguimiento de los cambios en la base de datos primaria se denominan servidores en espera. Un servidor en espera al que no se puede conectar hasta que se promocione a un servidor principal se denomina servidor en espera caliente y uno que pueda aceptar conexiones y que sirva consultas de solo lectura se denomina servidor en espera activo.
Resource Manager es un servicio de Oracle Cloud Infrastructure (OCI) que permite automatizar el proceso de aprovisionamiento de recursos de OCI. Con el uso de Terraform, el gestor de recursos le ayuda a instalar, configurar y gestionar recursos con el modelo "infraestructura como código".
Oracle Cloud Infrastructure está diseñado para cargas de trabajo que requieren un alto rendimiento uniforme, incluidas conexiones con estado a bases de datos, procesamiento raw mediante CPU o GPU, millones de IOPS de almacenamiento y GB/s de rendimiento. Comienza con una arquitectura de confianza cero. Al diseñar Oracle Cloud, queríamos una nube que tuviera un mejor rendimiento para cada aplicación, pero que también tuviera una mejor relación precio-rendimiento.
Objetivo
Configure 1 servidor principal y 2 en espera con código Terraform en OCI Resource Manager. Se desplegará en 3 instancias informáticas en 3 dominios de disponibilidad diferentes.
Tras el despliegue, comprobaremos la replicación de las tablas del servidor primario al en espera y nos conectaremos a las bases de datos en espera para consultar los datos.
-
Con la pila de terraform, desplegaremos los servidores de red, PostgreSQL principal y 2 en espera.
-
Crearemos la tabla de ejemplo en Primary e insertaremos pocos registros en la tabla.
-
A continuación, verificaremos si la tabla de ejemplo y las filas se han replicado en ambos servidores en espera.
Tarea 1: Creación de la pila
-
Abra el siguiente enlace en un explorador: Desplegar en Oracle Cloud.
-
Si aún no ha iniciado sesión, introduzca el arrendamiento y las credenciales de usuario.
-
Seleccione la región en la que desea desplegar la pila.
-
En la página Información de pila, seleccione la casilla de control He revisado y acepto las condiciones de uso de Oracle. La sección Información de pila mostrará los detalles.
-
Haga clic en Siguiente.
-
En la página Configurar variables, configure los siguientes valores:
Nota: En este tutorial, estamos desplegando PostgreSQL versión 12 en una subred pública.
-
Seleccione el dominio de disponibilidad y la versión PostgreSQL.
-
Desactive la casilla de control Crear en subred privada.
-
Seleccione la casilla de control Mostrar opciones avanzadas y especifique los detalles de la red, los recursos informáticos, el almacenamiento, la base de datos en espera y otros valores.
-
Especifique el sistema operativo, la política de copia de seguridad y otros detalles necesarios.
-
Especifique los valores necesarios para OCPU y memoria.
-
Seleccione la unidad de nodo principal y replique el usuario.
-
Proporcione detalles para Hotstandby1 (seleccionando AD-2).
-
Proporcione detalles para Hotstandby2 (seleccionando AD-3).
-
-
Haga clic en Siguiente.
-
-
Verifique los detalles en la página Revisar y asegúrese de que la casilla de control Ejecutar aplicación está seleccionada para aprovisionar los recursos inmediatamente.
-
Haga clic en Crear.
-
Supervise el log del trabajo de pila (Vaya a Servicios para desarrolladores, Gestor de recursos, Pilas) como se muestra en las siguientes capturas de pantalla.
Nota: Para la configuración de prueba utilizada en este tutorial, la pila se ha aplicado y configurado correctamente los recursos en 11 minutos para las unidades seleccionadas. Esto puede variar en función de los valores de configuración que elija.
En la siguiente captura de pantalla se muestra la configuración completa del servidor principal y en espera.
Tarea 2: Verificación de la conectividad y la replicación
-
ssh en el nodo primario como usuario opc y ejecute el siguiente comando:
sudo su - postgres
-
Cree la tabla
order_details
en el nodo principal.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);
-
Describa la tabla creada.
\dt order_details
-
Consulte los datos y devuelva 0 filas:
select * from order_details;
-
Inicie sesión en el servidor standby1 y verifique que la tabla
order_details
se ha replicado. -
Inicie sesión en el servidor standby2 y verifique que la tabla
order_details
se ha replicado. -
Inserte 2 filas en la tabla Primary Database
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;
-
Verifique las filas del servidor standby1, que se deben haber replicado.
-
Verifique las filas del servidor standby2; también debería haberse replicado aquí.
Enlaces relacionados
- Visión general del gestor de recursos
- Despliegue una base de datos PostgreSQL
- Sitio web PostgreSQL
- Descargar código de GitHub
Agradecimientos
- Autor: Bhushan Arora (arquitecto principal de Cloud)
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.
Para obtener documentación sobre los productos, visite Oracle Help Center.
Set up PostgreSQL primary and two standby databases using OCI Console and validate data replication
F76214-01
January 2023
Copyright © 2023, Oracle and/or its affiliates.