Un service de migration de bases de données peut être utilisé pour migrer une base de données non seulement entre deux instances de base de données RDS, mais la source/cible peut également être une base de données non RDS. La seule exigence est qu'au moins l'un des points de terminaison de base de données d'une migration DMS soit une base de données basée sur AWS. La base de données basée sur AWS peut être une instance de base de données RDS, Redshift, MongoDB ou une base de données hébergée sur EC2. Dans quatre articles, nous aborderons la migration d'une base de données Oracle d'EC2 vers RDS. Cet article comporte les sections suivantes :
- Configuration de l'environnement
- Création d'une instance de base de données Oracle sur AWS RDS
- Connexion à une instance de base de données Oracle sur RDS
- Créer une instance EC2
- Création et démarrage d'une instance de base de données Oracle sur EC2
- Connexion à une instance de base de données Oracle sur EC2
- Conclusion
Configuration de l'environnement
Tout d'abord, créez un compte AWS. Ensuite, créez une clé principale KMS (dms).
Création d'une instance de base de données Oracle sur AWS RDS
Créez une instance de base de données RDS pour la base de données Oracle. Sélectionnez Oracle comme moteur dans le tableau de bord RDS, comme illustré à la figure 1.
Figure 1 : Sélection de la base de données Oracle comme moteur RDS
Pour la Production ? , sélectionnez Dév/Test , comme illustré à la figure 2, puis cliquez sur Étape suivante .
Figure 2 : Sélection d'un cas d'utilisation comme développement/test
Dans Spécifier les détails de la base de données , cochez la case Afficher uniquement les options éligibles pour l'offre gratuite RDS . Les paramètres par défaut de l'offre gratuite sont illustrés à la figure 3.
Figure 3 : Spécifiez les détails de la base de données
Spécifiez l'identifiant d'instance de base de données (ORCL) et spécifiez un nom d'utilisateur maître et Mot de passe principal , comme illustré à la figure 4. Cliquez sur Étape suivante .
Figure 4 : Spécification de l'identifiant d'instance de base de données
Dans Configurer les paramètres avancés , sélectionnez l'option pour Créer un nouveau VPC , comme illustré à la figure 5. Sélectionnez également l'option Créer un nouveau groupe de sous-réseaux DB , et Définir Accessible au public à Oui . Définir la zone de disponibilité à Aucune préférence . Sélectionnez l'option pour Créer un nouveau groupe de sécurité . Dans les Options de la base de données en-tête, spécifiez un nom de base de données (ORCL), Port de base de données (1521) et conservez les paramètres par défaut pour le groupe de paramètres DB et Groupe d'options .
Figure 5 : Configuration des paramètres avancés
Conservez les autres options par défaut, y compris celles pour la sauvegarde, la surveillance et la maintenance (voir la figure 6). Cliquez sur Lancer l'instance de base de données .
Figure 6 : Configuration d'autres paramètres avancés et lancement de l'instance DB
Le message Votre instance DB est en cours de création s'affiche, comme illustré à la figure 7. Cliquez sur Afficher vos instances de base de données .
Figure 7 : L'instance de base de données est en cours de création
Une nouvelle instance de base de données est créée, comme illustré à la figure 8. Le point de terminaison est au format Nom d'hôte :Port et nous utiliserons le nom d'hôte lorsque nous configurons le point de terminaison de la base de données cible dans une section ultérieure. Lorsqu'une base de données Oracle est utilisée comme cible dans une migration DMS, tout schéma cible utilisé dans une migration doit être créé avant d'exécuter la migration. Nous utiliserons le schéma DVOHRA créé dans la base de données Oracle sur RDS.
Figure 8 : ORCL d'instance de base de données RDS
Pour qu'une instance de réplication DMS puisse se connecter à l'instance de base de données RDS, modifiez les règles entrantes du groupe de sécurité pour autoriser tout le trafic. Cliquez sur le lien dans Groupes de sécurité dans la figure 8. La console du groupe de sécurité s'affiche, comme illustré dans la figure 9. Sélectionnez le bouton Entrant et cliquez sur Modifier .
Figure 9 : Groupe de sécurité>Entrant>Modifier
Dans Modifier les règles de trafic entrant , définissez Type vers Tout le trafic , Protocole à Tous , Plage de ports à 0-65535, Source vers n'importe où , puis cliquez sur Enregistrer , comme illustré à la Figure 10.
Figure 10 : Modifier les règles entrantes
Les règles entrantes sont modifiées pour autoriser tout le trafic (voir Figure 11).
Figure 11 : Règles entrantes définies pour autoriser tout le trafic
Le sortant il n'est pas nécessaire de modifier les règles car elles sont déjà définies pour autoriser tout le trafic, comme illustré à la figure 12.
Figure 12 : Règles sortantes
Connexion à une instance de base de données Oracle sur RDS
Pour utiliser la base de données Oracle comme cible, nous devons accorder à l'utilisateur DMS certains privilèges dans la base de données Oracle. Connectez-vous à la base de données Oracle pour accorder les privilèges à l'aide de l'interface de ligne de commande 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>
Ensuite, accordez des privilèges à l'utilisateur DMS, qui seraient différents pour différents utilisateurs.
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>
Créer une instance EC2
Pour créer une instance de base de données Oracle sur EC2, sélectionnez une AMI sur AWS Marketplace. Plusieurs AMI différentes pour la base de données Oracle sont disponibles. Sélectionnez Oracle Database 11g Standard Edition , comme illustré à la Figure 13.
Figure 13 : Sélection d'AMI pour Oracle Database sur EC2
L'instance EC2 basée sur Oracle Database AMI est illustrée à la Figure 14. Obtenez l'IPv4 Public IP l'adresse de l'instance EC2 depuis la console de gestion EC2.
Figure 14 : Instance EC2 pour la base de données Oracle
Les règles entrantes pour le groupe de sécurité dans lequel l'instance EC2 est créée doivent autoriser le trafic, comme illustré à la figure 15. À tout le moins, la connectivité à l'adresse IP de l'instance de réplication doit être fournie.
Figure 15 : Règles entrantes du groupe de sécurité pour autoriser tout le trafic
De même, le Outbound les règles doivent autoriser tout le trafic (voir Figure 16).
Figure 16 : Règles sortantes
Création et démarrage d'une instance de base de données Oracle sur EC2
Connectez-vous à l'instance EC2 à partir d'une machine locale à l'aide de l'adresse IP publique de l'instance EC2 et de la paire de clés utilisée pour créer l'instance EC2. Les autorisations pour la paire de clés doivent être définies sur 400.
[[email protected] ~]# chmod 400 rhel.pem [[email protected] ~]# ssh -i "rhel.pem" [email protected]
Le logiciel Oracle Database est installé, comme indiqué par le message de la figure 17. Le message indique également que, pour utiliser le logiciel, une base de données doit être créée. Une invite utilisateur s'affiche "Souhaitez-vous créer une base de données maintenant [y|n]."
Figure 17 : Connexion à l'instance EC2 et installation du logiciel de base de données Oracle
Spécifiez o pour créer une base de données, comme illustré à la Figure 18. Une invite de l'utilisateur à fournir un nom pour la base de données Oracle s'affiche, comme illustré à la Figure 18. Le nom spécifié est utilisé comme SID Oracle.
Figure 18 : Invite de l'utilisateur pour spécifier un SID Oracle
Spécifiez le SID comme ORCL et cliquez sur Entrée. Une invite utilisateur pour spécifier un mot de passe pour l'utilisateur SYS s'affiche, comme illustré à la Figure 19.
Figure 19 : Invite de l'utilisateur à fournir un mot de passe pour l'utilisateur SYS
Spécifiez à nouveau le mot de passe SYS à l'invite Confirmer le mot de passe SYS, comme illustré à la Figure 20. Une autre invite utilisateur pour spécifier un mot de passe pour l'utilisateur SYSTEM s'affiche.
Figure 20 : Invite de l'utilisateur pour spécifier le mot de passe pour l'utilisateur SYSTEM
De même, spécifiez un mot de passe pour chacun des utilisateurs DBSNMP, SYSMAN et ADMIN. La base de données commence à se créer (voir Figure 21).
Figure 21 : Création de la base de données Oracle
La base de données est installée sur EC2. La sortie complète est répertoriée :
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!
Connexion à une instance de base de données Oracle sur EC2
Définir l'utilisateur Oracle comme oracle avec la commande suivante :
[email protected] ~> sudo su - oracle
Démarrez une CLI SQL*Plus pour vous connecter à la base de données à partir de la ligne de commande.
[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>
Conclusion
Dans ce premier des quatre articles sur la migration d'une instance Oracle Database d'EC2 vers RDS, nous avons commencé par créer une instance Oracle Database sur EC2 et une autre sur RDS. Dans le deuxième article, nous allons créer un utilisateur IAM, créer une table de base de données à migrer et créer une instance de réplication, y compris les points de terminaison de réplication.