Een databasemigratieservice kan worden gebruikt om een database niet alleen tussen twee RDS DB-instanties te migreren, maar de bron/het doel kan ook een niet-RDS-database zijn. De enige vereiste is dat ten minste één van de database-eindpunten van een DMS-migratie een op AWS gebaseerde database is. De op AWS gebaseerde database kan een RDS DB-instantie, Redshift, MongoDB of een op EC2 gehoste database zijn. In vier artikelen gaan we in op het migreren van een Oracle-database van EC2 naar RDS. Dit artikel heeft de volgende secties:
- De omgeving instellen
- Een Oracle Database-instance maken op AWS RDS
- Verbinding maken met een Oracle Database-instantie op RDS
- Een EC2-instantie maken
- Een Oracle-database-instance maken en starten op EC2
- Verbinding maken met een Oracle Database-instantie op EC2
- Conclusie
De omgeving instellen
Maak eerst een AWS-account aan. Maak vervolgens een KMS-hoofdsleutel (dms).
Een Oracle Database-instantie maken op AWS RDS
Maak een RDS DB-instantie voor de Oracle-database. Selecteer Oracle als de motor in het RDS-dashboard, zoals weergegeven in afbeelding 1.
Figuur 1: Oracle Database selecteren als RDS-engine
Voor Productie? , selecteer Ontwikkeling/Test , zoals weergegeven in Afbeelding 2, en klik op Volgende stap .
Figuur 2: Use Case selecteren als Dev/Test
In DB-details opgeven , selecteer het selectievakje Alleen opties weergeven die in aanmerking komen voor RDS Free Tier . De standaardinstellingen voor de gratis laag worden weergegeven in Afbeelding 3.
Figuur 3: Specificeer DB-details
Specificeer DB Instance Identifier (ORCL), en specificeer een Hoofdgebruikersnaam en Hoofdwachtwoord , zoals weergegeven in Afbeelding 4. Klik op Volgende stap .
Figuur 4: DB-instantie-ID specificeren
In Geavanceerde instellingen configureren , selecteer de optie om Nieuwe VPC maken , zoals weergegeven in Afbeelding 5. Selecteer ook de optie om Nieuwe DB-subnetgroep maken en stel Openbaar toegankelijk in tot Ja . Stel Beschikbaarheidszone in tot Geen voorkeur . Selecteer de optie om Nieuwe beveiligingsgroep maken . In de Database-opties header, specificeer een Databasenaam (ORCL), Databasepoort (1521), en behoud de standaardinstellingen voor DB-parametergroep en Optiegroep .
Figuur 5: Geavanceerde instellingen configureren
Houd de andere opties als standaard, inclusief die voor Back-up, Monitoring en Onderhoud (zie Afbeelding 6). Klik op DB-instantie starten .
Figuur 6: Andere geavanceerde instellingen configureren en DB-instantie starten
Het bericht Uw DB-instantie wordt aangemaakt wordt weergegeven, zoals weergegeven in Afbeelding 7. Klik op View Your DB Instances .
Figuur 7: DB-instantie wordt gemaakt
Er wordt een nieuwe DB-instantie gemaakt, zoals weergegeven in Afbeelding 8. Het Eindpunt heeft de indeling Hostnaam:Poort en we zullen de Hostnaam . gebruiken wanneer we het doeldatabase-eindpunt in een later gedeelte configureren. Wanneer een Oracle-database wordt gebruikt als het doel in een DMS-migratie, moet elk doelschema dat in een migratie wordt gebruikt, worden gemaakt voordat de migratie wordt uitgevoerd. We zullen het schema DVOHRA . gebruiken gemaakt in Oracle-database op RDS.
Figuur 8: RDS DB-instantie ORCL
Als u wilt dat een DMS-replicatie-instantie verbinding kan maken met de RDS DB-instantie, moet u de regels voor binnenkomend beveiligingsgroep wijzigen om al het verkeer toe te staan. Klik op de link in Beveiligingsgroepen in Afbeelding 8. De console van de beveiligingsgroep wordt weergegeven, zoals weergegeven in Afbeelding 9. Selecteer de Inkomend en klik op Bewerken .
Figuur 9: Beveiligingsgroep>
Inkomend>Bewerken
In Inkomende regels bewerken , stel Type in naar Al het verkeer , Protocol naar Alle , Poortbereik naar 0-65535, Bron naar Overal en klik op Opslaan , zoals weergegeven in afbeelding 10.
Figuur 10: Inkomende regels bewerken
De regels voor inkomend verkeer worden aangepast om al het verkeer toe te staan (zie afbeelding 11).
Figuur 11: Inkomende regels ingesteld om al het verkeer toe te staan
De Uitgaande regels hoeven niet te worden gewijzigd omdat ze al zijn ingesteld om al het verkeer toe te staan, zoals weergegeven in Afbeelding 12.
Figuur 12: Uitgaande regels
Verbinding maken met een Oracle Database-instantie op RDS
Om Oracle-database als doel te gebruiken, moeten we de DMS-gebruiker bepaalde privileges in de Oracle-database verlenen. Maak verbinding met de Oracle-database om de rechten te verlenen met behulp van de SQL*Plus-opdrachtregelinterface.
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>
Verleen vervolgens rechten aan de DMS-gebruiker, die voor verschillende gebruikers anders zouden zijn.
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>
Een EC2-instantie maken
Om een Oracle-database-instance op EC2 te maken, selecteert u een AMI uit de AWS Marketplace. Er zijn verschillende AMI's voor Oracle-databases beschikbaar. Selecteer Oracle Database 11g Standard Edition , zoals weergegeven in Afbeelding 13.
Figuur 13: AMI selecteren voor Oracle Database op EC2
De op Oracle Database AMI gebaseerde EC2-instantie wordt weergegeven in afbeelding 14. Verkrijg de IPv4 Public IP adres van de EC2-instantie van de EC2-beheerconsole.
Figuur 14: EC2-instantie voor Oracle Database
De regels voor inkomend verkeer voor de beveiligingsgroep waarin de EC2-instantie is gemaakt, moeten verkeer toestaan, zoals weergegeven in afbeelding 15. Er moet op zijn minst verbinding worden gemaakt met het IP-adres van de replicatie-instantie.
Figuur 15: Inkomende regels voor beveiligingsgroepen om al het verkeer toe te staan
Evenzo is de Uitgaande regels zouden al het verkeer moeten toestaan (zie afbeelding 16).
Figuur 16: Uitgaande regels
Een Oracle Database Instance maken en starten op EC2
Maak verbinding met de EC2-instantie vanaf een lokale computer met behulp van het openbare IP-adres van de EC2-instantie en het sleutelpaar dat is gebruikt om de EC2-instantie te maken. De rechten voor het sleutelpaar moeten worden ingesteld op 400.
[[email protected] ~]# chmod 400 rhel.pem [[email protected] ~]# ssh -i "rhel.pem" [email protected]
De Oracle Database-software wordt geïnstalleerd, zoals aangegeven door het bericht in Afbeelding 17. Het bericht geeft ook aan dat, om de software te gebruiken, een database moet worden aangemaakt. Er wordt een gebruikersprompt weergegeven "Wilt u nu een database maken [y|n]."
Figuur 17: Verbinding maken met EC2-instantie en Oracle Database-software installeren
Specificeer y om een database aan te maken, zoals weergegeven in afbeelding 18. Er wordt een gebruikersprompt weergegeven om een naam op te geven voor de Oracle-database, zoals weergegeven in afbeelding 18. De opgegeven naam wordt gebruikt als de Oracle SID.
Figuur 18: Gebruikersprompt om een Oracle SID op te geven
Specificeer SID als ORCL en klik op Enter. Er wordt een gebruikersprompt weergegeven om een wachtwoord voor de SYS-gebruiker op te geven, zoals weergegeven in Afbeelding 19.
Figuur 19: Gebruikersprompt om een wachtwoord op te geven voor SYS-gebruiker
Geef het SYS-wachtwoord opnieuw op bij de prompt Confirm SYS Password, zoals weergegeven in Afbeelding 20. Een andere gebruikersprompt om een wachtwoord op te geven voor de SYSTEM-gebruiker wordt weergegeven.
Figuur 20: Gebruiker Prompt om wachtwoord op te geven voor SYSTEEMgebruiker
Geef op dezelfde manier een wachtwoord op voor elk van de DBSNMP-, SYSMAN- en ADMIN-gebruikers. De database wordt aangemaakt (zie Afbeelding 21).
Figuur 21: Oracle-database maken
De database wordt geïnstalleerd op EC2. De volledige output wordt weergegeven:
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!
Verbinding maken met een Oracle Database-instantie op EC2
Stel Oracle-gebruiker in als orakel met het volgende commando:
[email protected] ~> sudo su - oracle
Start een SQL*Plus CLI om vanaf de opdrachtregel verbinding te maken met de database.
[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>
Conclusie
In dit eerste van vier artikelen over het migreren van een Oracle Database-instantie van EC2 naar RDS, zijn we begonnen met het maken van een Oracle Database-instantie op EC2 en een andere op RDS. In het tweede artikel zullen we een IAM-gebruiker maken, een databasetabel maken om te migreren en een replicatie-instantie maken, inclusief replicatie-eindpunten.