Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment migrer une base de données Oracle d'AWS EC2 vers AWS RDS

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.