Procedimientos de implementación de Oracle paso a paso en Azure VM y Azure NetApp Files
En esta sección se describen los procedimientos de implementación de la base de datos personalizada de Oracle RDS con almacenamiento FSx.
Implementar una máquina virtual de Azure con ANF para Oracle a través de la consola del portal de Azure
Si es nuevo en Azure, primero debe configurar un entorno de cuenta de Azure. Esto incluye registrar su organización para usar Azure Active Directory. La siguiente sección es un resumen de estos pasos. Para obtener más detalles, consulte la documentación específica de Azure vinculada.
Crear y consumir recursos de Azure
Una vez configurado su entorno de Azure y creada una cuenta y asociada a una suscripción, puede iniciar sesión en el portal de Azure con la cuenta para crear los recursos necesarios para ejecutar Oracle.
1. Crear una red virtual o VNet
Azure Virtual Network (VNet) es el componente fundamental de su red privada en Azure. VNet permite que muchos tipos de recursos de Azure, como las máquinas virtuales (VM) de Azure, se comuniquen de forma segura entre sí, con Internet y con las redes locales. Antes de aprovisionar una máquina virtual de Azure, primero se debe configurar una red virtual (donde se implementa una máquina virtual).
Ver"Crear una red virtual mediante el portal de Azure" para crear una VNet.
2. Cree una cuenta de almacenamiento de NetApp y un grupo de capacidad para ANF
En este escenario de implementación, se aprovisiona un sistema operativo de máquina virtual de Azure mediante el almacenamiento normal de Azure, pero se aprovisionan volúmenes ANF para ejecutar una base de datos de Oracle a través de NFS. Primero, debe crear una cuenta de almacenamiento de NetApp y un grupo de capacidad para alojar los volúmenes de almacenamiento.
Ver"Configurar Azure NetApp Files y crear un volumen NFS" para crear un fondo común de capacidad ANF.
3. Aprovisionar máquinas virtuales de Azure para Oracle
Según su carga de trabajo, determine qué tipo de máquina virtual de Azure necesita y el tamaño de la vCPU y la RAM de la máquina virtual que desea implementar para Oracle. Luego, desde la consola de Azure, haga clic en el ícono de la máquina virtual para iniciar el flujo de trabajo de implementación de la máquina virtual.
-
Desde la página de la máquina virtual de Azure, haga clic en Crear y luego elija Máquina virtual de Azure.
-
Seleccione el ID de suscripción para la implementación y luego elija el grupo de recursos, la región, el nombre de host, la imagen de VM, el tamaño y el método de autenticación. Vaya a la página Disco.
-
Elija SSD premium para la redundancia local del sistema operativo y deje el disco de datos en blanco porque los discos de datos se montan desde el almacenamiento ANF. Vaya a la página de Redes.
-
Seleccione la VNet y la subred. Asignar una IP pública para el acceso a la máquina virtual externa. Luego vaya a la página de Administración.
-
Mantenga todos los valores predeterminados para Administración y pase a la página Avanzada.
-
Mantenga todos los valores predeterminados para la página Avanzada a menos que necesite personalizar una máquina virtual después de la implementación con scripts personalizados. Luego vaya a la página de Etiquetas.
-
Agregue una etiqueta para la VM si lo desea. Luego, vaya a la página Revisar + crear.
-
El flujo de trabajo de implementación ejecuta una validación en la configuración y, si la validación pasa, hace clic en Crear para crear la máquina virtual.
4. Aprovisionar volúmenes de bases de datos ANF para Oracle
Debe crear tres volúmenes NFS para un grupo de capacidad ANF para los volúmenes binarios, de datos y de registro de Oracle respectivamente.
-
Desde la consola de Azure, en la lista de servicios de Azure, haga clic en Azure NetApp Files para abrir un flujo de trabajo de creación de volumen. Si tiene más de una cuenta de almacenamiento ANF, haga clic en la cuenta desde la que desea aprovisionar volúmenes.
-
En su cuenta de almacenamiento de NetApp , haga clic en Volúmenes y luego en Agregar volumen para crear nuevos volúmenes de Oracle.
-
Como buena práctica, identifique los volúmenes de Oracle con el nombre de host de la máquina virtual como prefijo y luego seguido por el punto de montaje en el host, como u01 para binario de Oracle, u02 para datos de Oracle y u03 para registro de Oracle. Elija la misma VNet para el volumen y para la VM. Haga clic en Siguiente: Protocolo>.
-
Seleccione el protocolo NFS, agregue la dirección IP del host de Oracle al cliente permitido y elimine la política predeterminada que permite todas las direcciones IP 0.0.0.0/0. Luego haga clic en Siguiente: Etiquetas>.
-
Agregue una etiqueta de volumen si lo desea. Luego haga clic en Revisar + Crear>.
-
Si la validación pasa, haga clic en Crear para crear el volumen.
Instalar y configurar Oracle en Azure VM con ANF
El equipo de soluciones de NetApp ha creado muchos kits de herramientas de automatización basados en Ansible para ayudarlo a implementar Oracle en Azure sin problemas. Siga estos pasos para implementar Oracle en una máquina virtual de Azure.
Configurar un controlador Ansible
Si no ha configurado un controlador Ansible, consulte"Automatización de soluciones de NetApp " , que contiene instrucciones detalladas sobre cómo configurar un controlador Ansible.
Obtenga el kit de herramientas de automatización de implementación de Oracle
Clone una copia del kit de herramientas de implementación de Oracle en su directorio de inicio bajo el ID de usuario que utiliza para iniciar sesión en el controlador Ansible.
git clone https://github.com/NetApp-Automation/na_oracle19c_deploy.git
Ejecute el kit de herramientas con su configuración
Ver el"Implementación de CLI de la base de datos Oracle 19c" para ejecutar el playbook con la CLI. Puede ignorar la parte ONTAP de la configuración de variables en el archivo VARS global cuando crea volúmenes de base de datos desde la consola de Azure en lugar de la CLI.
|
El kit de herramientas implementa de forma predeterminada Oracle 19c con RU 19.8. Se puede adaptar fácilmente a cualquier otro nivel de parche con cambios menores en la configuración predeterminada. Los archivos de registro activos de la base de datos de semillas predeterminadas también se implementan en el volumen de datos. Si necesita archivos de registro activos en el volumen de registro, debe reubicarlos después de la implementación inicial. Comuníquese con el equipo de soluciones de NetApp para obtener ayuda si necesita ayuda. |
Configurar la herramienta de respaldo AzAcSnap para obtener instantáneas consistentes con la aplicación para Oracle
La herramienta Instantánea consistente con la aplicación de Azure (AzAcSnap) es una herramienta de línea de comandos que permite la protección de datos para bases de datos de terceros al manejar toda la orquestación necesaria para ponerlas en un estado consistente con la aplicación antes de tomar una instantánea de almacenamiento. Luego devuelve estas bases de datos a un estado operativo. NetApp recomienda instalar la herramienta en el host del servidor de base de datos. Consulte los siguientes procedimientos de instalación y configuración.
Instalar la herramienta AzAcSnap
-
Obtenga la versión más reciente de"El instalador de AzArcSnap" .
-
Copie el autoinstalador descargado al sistema de destino.
-
Ejecute el autoinstalador como usuario root con la opción de instalación predeterminada. Si es necesario, haga que el archivo sea ejecutable utilizando el
chmod +x *.run
dominio../azacsnap_installer_v5.0.run -I
Configurar la conectividad de Oracle
Las herramientas de instantáneas se comunican con la base de datos de Oracle y necesitan un usuario de base de datos con los permisos adecuados para habilitar o deshabilitar el modo de copia de seguridad.
1. Configurar el usuario de la base de datos AzAcSnap
Los siguientes ejemplos muestran la configuración del usuario de la base de datos Oracle y el uso de sqlplus para la comunicación con la base de datos Oracle. Los comandos de ejemplo configuran un usuario (AZACSNAP) en la base de datos de Oracle y cambian la dirección IP, los nombres de usuario y las contraseñas según corresponda.
-
Desde la instalación de la base de datos de Oracle, inicie sqlplus para iniciar sesión en la base de datos.
su – oracle sqlplus / AS SYSDBA
-
Crear el usuario.
CREATE USER azacsnap IDENTIFIED BY password;
-
Otorgar permisos al usuario. Este ejemplo establece el permiso para que el usuario AZACSNAP pueda poner la base de datos en modo de respaldo.
GRANT CREATE SESSION TO azacsnap; GRANT SYSBACKUP TO azacsnap;
-
Cambiar la expiración de la contraseña del usuario predeterminado a ilimitada.
ALTER PROFILE default LIMIT PASSWORD_LIFE_TIME unlimited;
-
Validar la conectividad de azacsnap para la base de datos.
connect azacsnap/password quit;
2. Configurar el usuario de Linux azacsnap para el acceso a la base de datos con la billetera Oracle
La instalación predeterminada de AzAcSnap crea un usuario del sistema operativo azacsnap. Su entorno de shell Bash debe configurarse para el acceso a la base de datos de Oracle con la contraseña almacenada en una billetera de Oracle.
-
Como usuario root, ejecute el
cat /etc/oratab
Comando para identificar las variables ORACLE_HOME y ORACLE_SID en el host.cat /etc/oratab
-
Agregue las variables ORACLE_HOME, ORACLE_SID, TNS_ADMIN y PATH al perfil bash del usuario azacsnap. Cambie las variables según sea necesario.
echo "export ORACLE_SID=ORATEST" >> /home/azacsnap/.bash_profile echo "export ORACLE_HOME=/u01/app/oracle/product/19800/ORATST" >> /home/azacsnap/.bash_profile echo "export TNS_ADMIN=/home/azacsnap" >> /home/azacsnap/.bash_profile echo "export PATH=\$PATH:\$ORACLE_HOME/bin" >> /home/azacsnap/.bash_profile
-
Como usuario de Linux azacsnap, crea la billetera. Se le solicitará la contraseña de la billetera.
sudo su - azacsnap mkstore -wrl $TNS_ADMIN/.oracle_wallet/ -create
-
Agregue las credenciales de la cadena de conexión a Oracle Wallet. En el siguiente comando de ejemplo, AZACSNAP es la ConnectString que utilizará AzAcSnap, azacsnap es el usuario de la base de datos de Oracle y AzPasswd1 es la contraseña de la base de datos del usuario de Oracle. Se le solicitará nuevamente la contraseña de la billetera.
mkstore -wrl $TNS_ADMIN/.oracle_wallet/ -createCredential AZACSNAP azacsnap AzPasswd1
-
Crea el
tnsnames-ora
archivo. En el siguiente comando de ejemplo, HOST debe configurarse en la dirección IP de la base de datos Oracle y el SID del servidor debe configurarse en el SID de la base de datos Oracle.echo "# Connection string AZACSNAP=\"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.30.137.142)(PORT=1521))(CONNECT_DATA=(SID=ORATST)))\" " > $TNS_ADMIN/tnsnames.ora
-
Crea el
sqlnet.ora
archivo.echo "SQLNET.WALLET_OVERRIDE = TRUE WALLET_LOCATION=( SOURCE=(METHOD=FILE) (METHOD_DATA=(DIRECTORY=\$TNS_ADMIN/.oracle_wallet)) ) " > $TNS_ADMIN/sqlnet.ora
-
Pruebe el acceso a Oracle usando la billetera.
sqlplus /@AZACSNAP as SYSBACKUP
El resultado esperado del comando:
[azacsnap@acao-ora01 ~]$ sqlplus /@AZACSNAP as SYSBACKUP SQL*Plus: Release 19.0.0.0.0 - Production on Thu Sep 8 18:02:07 2022 Version 19.8.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.8.0.0.0 SQL>
Configurar la conectividad ANF
En esta sección se explica cómo habilitar la comunicación con Azure NetApp Files (con una máquina virtual).
-
Dentro de una sesión de Azure Cloud Shell, asegúrese de haber iniciado sesión en la suscripción que desea que se asocie con la entidad de servicio de forma predeterminada.
az account show
-
Si la suscripción no es correcta, utilice el siguiente comando:
az account set -s <subscription name or id>
-
Cree una entidad de servicio mediante la CLI de Azure como en el siguiente ejemplo:
az ad sp create-for-rbac --name "AzAcSnap" --role Contributor --scopes /subscriptions/{subscription-id} --sdk-auth
El resultado esperado:
{ "clientId": "00aa000a-aaaa-0000-00a0-00aa000aaa0a", "clientSecret": "00aa000a-aaaa-0000-00a0-00aa000aaa0a", "subscriptionId": "00aa000a-aaaa-0000-00a0-00aa000aaa0a", "tenantId": "00aa000a-aaaa-0000-00a0-00aa000aaa0a", "activeDirectoryEndpointUrl": "https://login.microsoftonline.com", "resourceManagerEndpointUrl": "https://management.azure.com/", "activeDirectoryGraphResourceId": "https://graph.windows.net/", "sqlManagementEndpointUrl": "https://management.core.windows.net:8443/", "galleryEndpointUrl": "https://gallery.azure.com/", "managementEndpointUrl": "https://management.core.windows.net/" }
-
Corte y pegue el contenido de salida en un archivo llamado
oracle.json
almacenado en el directorio bin del usuario azacsnap de Linux y protege el archivo con los permisos de sistema adecuados.
|
Asegúrese de que el formato del archivo JSON sea exactamente como se describe arriba, especialmente con las URL entre comillas dobles ("). |
Complete la configuración de la herramienta AzAcSnap
Siga estos pasos para configurar y probar las herramientas de instantáneas. Después de una prueba exitosa, puede realizar la primera instantánea de almacenamiento consistente con la base de datos.
-
Cambiar a la cuenta de usuario de instantánea.
su - azacsnap
-
Cambiar la ubicación de los comandos.
cd /home/azacsnap/bin/
-
Configurar un archivo de detalles de copia de seguridad de almacenamiento. Esto crea una
azacsnap.json
archivo de configuración.azacsnap -c configure –-configuration new
La salida esperada con tres volúmenes de Oracle:
[azacsnap@acao-ora01 bin]$ azacsnap -c configure --configuration new Building new config file Add comment to config file (blank entry to exit adding comments): Oracle snapshot bkup Add comment to config file (blank entry to exit adding comments): Enter the database type to add, 'hana', 'oracle', or 'exit' (for no database): oracle === Add Oracle Database details === Oracle Database SID (e.g. CDB1): ORATST Database Server's Address (hostname or IP address): 172.30.137.142 Oracle connect string (e.g. /@AZACSNAP): /@AZACSNAP === Azure NetApp Files Storage details === Are you using Azure NetApp Files for the database? (y/n) [n]: y --- DATA Volumes have the Application put into a consistent state before they are snapshot --- Add Azure NetApp Files resource to DATA Volume section of Database configuration? (y/n) [n]: y Full Azure NetApp Files Storage Volume Resource ID (e.g. /subscriptions/.../resourceGroups/.../providers/Microsoft.NetApp/netAppAccounts/.../capacityPools/Premium/volumes/...): /subscriptions/0efa2dfb-917c-4497-b56a-b3f4eadb8111/resourceGroups/ANFAVSRG/providers/Microsoft.NetApp/netAppAccounts/ANFAVSAcct/capacityPools/CapPool/volumes/acao-ora01-u01 Service Principal Authentication filename or Azure Key Vault Resource ID (e.g. auth-file.json or https://...): oracle.json Add Azure NetApp Files resource to DATA Volume section of Database configuration? (y/n) [n]: y Full Azure NetApp Files Storage Volume Resource ID (e.g. /subscriptions/.../resourceGroups/.../providers/Microsoft.NetApp/netAppAccounts/.../capacityPools/Premium/volumes/...): /subscriptions/0efa2dfb-917c-4497-b56a-b3f4eadb8111/resourceGroups/ANFAVSRG/providers/Microsoft.NetApp/netAppAccounts/ANFAVSAcct/capacityPools/CapPool/volumes/acao-ora01-u02 Service Principal Authentication filename or Azure Key Vault Resource ID (e.g. auth-file.json or https://...): oracle.json Add Azure NetApp Files resource to DATA Volume section of Database configuration? (y/n) [n]: n --- OTHER Volumes are snapshot immediately without preparing any application for snapshot --- Add Azure NetApp Files resource to OTHER Volume section of Database configuration? (y/n) [n]: y Full Azure NetApp Files Storage Volume Resource ID (e.g. /subscriptions/.../resourceGroups/.../providers/Microsoft.NetApp/netAppAccounts/.../capacityPools/Premium/volumes/...): /subscriptions/0efa2dfb-917c-4497-b56a-b3f4eadb8111/resourceGroups/ANFAVSRG/providers/Microsoft.NetApp/netAppAccounts/ANFAVSAcct/capacityPools/CapPool/volumes/acao-ora01-u03 Service Principal Authentication filename or Azure Key Vault Resource ID (e.g. auth-file.json or https://...): oracle.json Add Azure NetApp Files resource to OTHER Volume section of Database configuration? (y/n) [n]: n === Azure Managed Disk details === Are you using Azure Managed Disks for the database? (y/n) [n]: n === Azure Large Instance (Bare Metal) Storage details === Are you using Azure Large Instance (Bare Metal) for the database? (y/n) [n]: n Enter the database type to add, 'hana', 'oracle', or 'exit' (for no database): exit Editing configuration complete, writing output to 'azacsnap.json'.
-
Como usuario azacsnap de Linux, ejecute el comando de prueba azacsnap para realizar una copia de seguridad de Oracle.
cd ~/bin azacsnap -c test --test oracle --configfile azacsnap.json
El resultado esperado:
[azacsnap@acao-ora01 bin]$ azacsnap -c test --test oracle --configfile azacsnap.json BEGIN : Test process started for 'oracle' BEGIN : Oracle DB tests PASSED: Successful connectivity to Oracle DB version 1908000000 END : Test process complete for 'oracle' [azacsnap@acao-ora01 bin]$
-
Ejecute su primera copia de seguridad de instantánea.
azacsnap -c backup –-volume data --prefix ora_test --retention=1