sql >> Base de Datos >  >> RDS >> Oracle

Cómo migrar una base de datos Oracle de AWS EC2 a AWS RDS

Un servicio de migración de bases de datos se puede usar para migrar una base de datos no solo entre dos instancias de base de datos de RDS, sino que el origen/destino también puede ser una base de datos que no sea de RDS. El único requisito es que al menos uno de los extremos de la base de datos de una migración de DMS sea una base de datos basada en AWS. La base de datos basada en AWS podría ser una instancia de base de datos RDS, Redshift, MongoDB o una base de datos alojada en EC2. En cuatro artículos, analizaremos la migración de una base de datos Oracle de EC2 a RDS. Este artículo tiene las siguientes secciones:

  • Configuración del entorno
  • Creación de una instancia de base de datos de Oracle en AWS RDS
  • Conexión a una instancia de Oracle Database en RDS
  • Creación de una instancia EC2
  • Creación e inicio de una instancia de base de datos de Oracle en EC2
  • Conexión a una instancia de Oracle Database en EC2
  • Conclusión

Configuración del entorno

Primero, cree una cuenta de AWS. A continuación, cree una clave maestra de KMS (dms).

Creación de una instancia de base de datos de Oracle en AWS RDS

Cree una instancia de base de datos RDS para la base de datos Oracle. Seleccione Oracle como el motor en el panel de RDS, como se muestra en la Figura 1.


Figura 1: Selección de Oracle Database como motor RDS

¿Para Producción? , seleccione Desarrollo/Prueba , como se muestra en la Figura 2, y haga clic en Siguiente paso .


Figura 2: Seleccionar caso de uso como desarrollo/prueba

En Especificar detalles de base de datos , seleccione la casilla de verificación Mostrar solo las opciones que son elegibles para el nivel gratuito de RDS . La configuración predeterminada para el nivel gratuito se muestra en la Figura 3.


Figura 3: Especifique los detalles de la base de datos

Especifique Identificador de instancia de base de datos (ORCL) y especifique un Nombre de usuario maestro y Contraseña maestra , como se muestra en la Figura 4. Haga clic en Siguiente paso .


Figura 4: Especificación del identificador de instancia de base de datos

En Configurar ajustes avanzados , seleccione la opción para Crear nueva VPC , como se muestra en la Figura 5. Además, seleccione la opción para Crear nuevo grupo de subred de base de datos y Establecer accesible públicamente a . Establecer Zona de disponibilidad a Sin preferencia . Seleccione la opción para Crear nuevo grupo de seguridad . En las opciones de la base de datos encabezado, especifique un Nombre de la base de datos (ORCL), Puerto de base de datos (1521) y mantenga la configuración predeterminada para Grupo de parámetros de base de datos y Grupo de opciones .


Figura 5: Configuración de ajustes avanzados

Mantenga las otras opciones como predeterminadas, incluidas las de Copia de seguridad, Supervisión y Mantenimiento (consulte la Figura 6). Haga clic en Iniciar instancia de base de datos .


Figura 6: Configurar otras configuraciones avanzadas e iniciar la instancia de base de datos

El mensaje Se está creando su instancia de base de datos se muestra, como se muestra en la Figura 7. Haga clic en Ver sus instancias de base de datos .


Figura 7: Se está creando la instancia de base de datos

Se crea una nueva instancia de base de datos, como se muestra en la Figura 8. El punto final tiene el formato Nombre de host:Puerto y usaremos el Hostname cuando configuramos el punto final de la base de datos de destino en una sección posterior. Cuando se utiliza una base de datos de Oracle como destino en una migración de DMS, cualquier esquema de destino utilizado en una migración debe crearse antes de ejecutar la migración. Usaremos el esquema DVOHRA creado en la base de datos Oracle en RDS.


Figura 8: Instancia de base de datos de RDS ORCL

Para que una instancia de replicación de DMS pueda conectarse a la instancia de base de datos de RDS, modifique las reglas de entrada del grupo de seguridad para permitir todo el tráfico. Haga clic en el enlace en Grupos de seguridad en la Figura 8. Se muestra la consola del grupo de Seguridad, como se muestra en la Figura 9. Seleccione el Entrante pestaña y haga clic en Editar .


Figura 9: Grupo de seguridad>Entrante>Editar

En Editar reglas de entrada , establecer Tipo a Todo el tráfico , Protocolo a Todos , Rango de puertos al 0-65535, Fuente a cualquier lugar y haz clic en Guardar , como se muestra en la Figura 10.


Figura 10: Editar reglas de entrada

Las reglas de entrada se modifican para permitir todo el tráfico (consulte la Figura 11).


Figura 11: Reglas de entrada configuradas para permitir todo el tráfico

El saliente no es necesario modificar las reglas porque ya están configuradas para permitir todo el tráfico, como se muestra en la Figura 12.


Figura 12: Reglas de salida

Conexión a una instancia de base de datos de Oracle en RDS

Para usar la base de datos de Oracle como destino, debemos otorgar al usuario de DMS ciertos privilegios en la base de datos de Oracle. Conéctese a la base de datos de Oracle para otorgar los privilegios mediante la interfaz de línea de comandos de SQL*Plus.

C:appdeepakproduct12.1.0dbhome_1BIN>sqlplus
   [email protected](DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)
   (HOST=orcl.crbmlbxmp8qi.us-east-1.rds.amazonaws.com)
   (PORT=1521))(CONNECT_DATA=(SID=ORCL)))

SQL*Plus: Release 12.1.0.1.0 Production on Sun Sep 17 14:11:18 2017

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Enter password:

Connected to: Oracle Database 11g Release 11.2.0.4.0 - 64bit
   Production

SQL>

A continuación, otorgue privilegios al usuario de DMS, que serían diferentes para diferentes usuarios.

SQL> GRANT SELECT ANY TRANSACTION to DVOHRA;
Grant succeeded.

SQL> GRANT CREATE SESSION,CREATE ANY TABLE to DVOHRA;
Grant succeeded.

SQL> GRANT CREATE ANY INDEX to DVOHRA;
Grant succeeded.

SQL> GRANT DROP ANY TABLE to DVOHRA;

Grant succeeded.

SQL> GRANT SELECT ANY TABLE to DVOHRA;

Grant succeeded.

SQL> GRANT INSERT ANY TABLE to DVOHRA;

Grant succeeded.

SQL> GRANT UPDATE ANY TABLE to DVOHRA;

Grant succeeded.

SQL> GRANT CREATE ANY VIEW to DVOHRA;

Grant succeeded.

SQL> GRANT DROP ANY VIEW to DVOHRA;

Grant succeeded.

SQL> GRANT CREATE ANY PROCEDURE to DVOHRA;

Grant succeeded.

SQL> GRANT ALTER ANY PROCEDURE to DVOHRA;

Grant succeeded.

SQL> GRANT DROP ANY PROCEDURE to DVOHRA;

Grant succeeded.

SQL> GRANT CREATE ANY SEQUENCE to DVOHRA;

Grant succeeded.

SQL> GRANT ALTER ANY SEQUENCE to DVOHRA;

Grant succeeded.

SQL> GRANT DROP ANY SEQUENCE to DVOHRA;

Grant succeeded.

SQL>

Crear una instancia EC2

Para crear una instancia de base de datos de Oracle en EC2, seleccione una AMI de AWS Marketplace. Hay varias AMI diferentes para la base de datos de Oracle disponibles. Seleccione Oracle Database 11g Standard Edition , como se muestra en la Figura 13.


Figura 13: Selección de AMI para Oracle Database en EC2

La instancia EC2 basada en Oracle Database AMI se muestra en la Figura 14. Obtenga la IP pública IPv4 dirección de la instancia EC2 desde la consola de administración de EC2.


Figura 14: Instancia EC2 para Oracle Database

Las reglas de entrada para el grupo de seguridad en el que se crea la instancia EC2 deben permitir el tráfico, como se muestra en la Figura 15. Como mínimo, se debe proporcionar conectividad a la dirección IP de la instancia de replicación.


Figura 15: Reglas de entrada del grupo de seguridad para permitir todo el tráfico

Del mismo modo, el Saliente las reglas deben permitir todo el tráfico (consulte la Figura 16).


Figura 16: Reglas de salida

Creación e inicio de una instancia de base de datos de Oracle en EC2

Conéctese a la instancia EC2 desde una máquina local utilizando la dirección IP pública de la instancia EC2 y el par de claves utilizado para crear la instancia EC2. Los permisos para el par de claves deben establecerse en 400.

[[email protected] ~]# chmod 400 rhel.pem
[[email protected] ~]# ssh -i "rhel.pem" [email protected]

El software Oracle Database se instala, como lo indica el mensaje en la Figura 17. El mensaje también indica que, para usar el software, se debe crear una base de datos. Se muestra un mensaje de usuario "¿Le gustaría crear una base de datos ahora [s|n]".


Figura 17: Conexión a la instancia EC2 e instalación del software de base de datos Oracle

Especifique y para crear una base de datos, como se muestra en la Figura 18. Se muestra un mensaje de usuario para proporcionar un nombre para la base de datos de Oracle, como se muestra en la Figura 18. El nombre especificado se utiliza como el SID de Oracle.


Figura 18: Solicitud de usuario para especificar un SID de Oracle

Especifique SID como ORCL y haga clic en Entrar. Se muestra una solicitud de usuario para especificar una contraseña para el usuario SYS, como se muestra en la Figura 19.


Figura 19: Solicitud de usuario para proporcionar una contraseña para el usuario SYS

Vuelva a especificar la contraseña de SYS en el mensaje Confirmar contraseña de SYS, como se muestra en la Figura 20. Se muestra otro mensaje de usuario para especificar una contraseña para el usuario del SISTEMA.


Figura 20: Solicitud de usuario para especificar la contraseña para el usuario del SISTEMA

De manera similar, especifique una contraseña para cada uno de los usuarios DBSNMP, SYSMAN y ADMIN. La base de datos comienza a crearse (consulte la Figura 21).


Figura 21: Creación de base de datos Oracle

La base de datos se instala en EC2. La salida completa se muestra:

The Oracle Database Software (ORACLE_HOME) has been installed at
   /u01/app/oracle/product/11.2.0/db1.
Before you can use the Oracle Software, you will need to create a
   database.

Would you like to create a database now [y|n]:  y
Please enter the name for your Oracle Database.
This name will be used as your ORACLE SID (System Identifier):
   ORCL

Please specify the passwords for the database administrative
   accounts.
All passwords must be a minimum of 6 characters in length and must
   contain a combination of letters and numbers.


SYS (Database Administrative Account) Password:
Confirm SYS password:

SYSTEM (Database Administrative Account) Password:
Confirm SYSTEM password:

DBSNMP (Enterprise Manager Administrative Account) Password:
Confirm DBSNMP password:

SYSMAN (Enterprise Manager Administrative Account) Password:
Confirm SYSMAN password:

ADMIN Password:
Confirm ADMIN password:

Please wait while your database is created, it may take up to 15
   minutes.

Copying database files
1% complete
3% complete
37% complete
Creating and starting Oracle instance
40% complete
45% complete
50% complete
55% complete
56% complete
57% complete
60% complete
62% complete
Completing Database Creation
66% complete
70% complete
73% complete
85% complete
96% complete
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/ORCL/
   ORCL.log" for further details.
Oracle Enterprise Manager 11g Database Control Release 11.2.0.4.0
Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
https://ip-172-30-4-238:1158/em/console/aboutApplication
Stopping Oracle Enterprise Manager 11g Database Control ...
 ...  Stopped.

SQL*Plus: Release 11.2.0.4.0 Production on Sun Sep 17 19:45:25 2017

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

SQL> Connected.
SQL> Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> ORACLE instance started.

Total System Global Area 4676636672 bytes
Fixed Size                  2261048 bytes
Variable Size             939528136 bytes
Database Buffers         3724541952 bytes
Redo Buffers               10305536 bytes
Database mounted.
SQL>
Database altered.

SQL>
Database altered.

SQL> Disconnected from Oracle Database 11g Release 11.2.0.4.0 -
   64bit Production Oracle Enterprise Manager 11g Database Control
   Release 11.2.0.4.0
Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
https://ip-172-30-4-238:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 11g Database Control ....
   started.
------------------------------------------------------------------
Logs are generated in directory /u01/app/oracle/product/11.2.0/db1
   /ip-172-30-4-238_ORCL/sysman/log

Adding ORACLE_SID=ORCL to /home/oracle/.bash_profile

The database was created successfully.

The database and config was created successfully.


To use the database web console, navigate to https://34.234.193
   .179:1158/em and login with the username SYSMAN and the password
   you created earlier for the SYSMAN account.
Note that you must have properly configured your security groups to
   allow the IP you are browsing from to connect to port 1158 on
   the database instance.
To connect to the database from the command line, type 'sudo su -
   oracle' to change to the oracle user.
To start working with the database instance type
   'sqlplus / as sysdba'

Thank You for choosing Oracle Database on EC2!

Conexión a una instancia de base de datos de Oracle en EC2

Establecer el usuario de Oracle como oracle con el siguiente comando:

[email protected] ~> sudo su - oracle

Inicie una CLI de SQL*Plus para conectarse a la base de datos desde la línea de comandos.

[email protected] ~> sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Sun Sep 17 19:47:30 2017
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Release 11.2.0.4.0 - 64bit Production
SQL>

Conclusión

En este primero de cuatro artículos sobre la migración de una instancia de Oracle Database de EC2 a RDS, comenzamos creando una instancia de Oracle Database en EC2 y otra en RDS. En el segundo artículo, crearemos un usuario de IAM, crearemos una tabla de base de datos para migrar y crearemos una instancia de replicación, incluidos los puntos finales de replicación.