En Databasmigreringstjänst kan användas för att migrera en databas inte bara mellan två RDS DB-instanser utan källan/målet kan också vara en icke-RDS-databas. Det enda kravet är att minst en av databasslutpunkterna för en DMS-migrering är en AWS-baserad databas. Den AWS-baserade databasen kan en RDS DB-instans, Redshift, MongoDB eller en databas värd på EC2. I fyra artiklar kommer vi att diskutera migrering av en Oracle-databas från EC2 till RDS. Den här artikeln har följande avsnitt:
- Ställa in miljön
- Skapa en Oracle-databasinstans på AWS RDS
- Ansluter till en Oracle-databasinstans på RDS
- Skapa en EC2-instans
- Skapa och starta en Oracle-databasinstans på EC2
- Ansluter till en Oracle-databasinstans på EC2
- Slutsats
Ställa in miljön
Skapa först ett AWS-konto. Skapa sedan en KMS-huvudnyckel (dms).
Skapa en Oracle-databasinstans på AWS RDS
Skapa en RDS DB-instans för Oracle-databas. Välj Oracle som motorn i RDS-instrumentbrädan, som visas i figur 1.
Figur 1: Välja Oracle Database som RDS Engine
För produktion? , välj Dev/Test , som visas i figur 2, och klicka på Nästa steg .
Figur 2: Välj Use Case as Dev/Test
I Ange DB-detaljer , markera kryssrutan Visa endast alternativ som är kvalificerade för RDS Free Tier . Standardinställningarna för den fria nivån visas i figur 3.
Figur 3: Ange DB-detaljer
Ange DB-instansidentifierare (ORCL) och ange ett huvudanvändarnamn och huvudlösenord , som visas i figur 4. Klicka på Nästa steg .
Figur 4: Specificerar DB-instansidentifierare
I Konfigurera avancerade inställningar , välj alternativet Skapa ny VPC , som visas i figur 5. Välj också alternativet Skapa ny DB-undernätsgrupp och Ange Allmänt tillgänglig till Ja . Ställ in Tillgänglighetszon till Inga inställningar . Välj alternativet Skapa ny säkerhetsgrupp . I Databasalternativ header, ange ett Databasnamn (ORCL), Databasport (1521), och behåll standardinställningarna för DB Parameter Group och Alternativgrupp .
Figur 5: Konfigurera avancerade inställningar
Behåll de andra alternativen som standard inklusive de för säkerhetskopiering, övervakning och underhåll (se figur 6). Klicka på Starta DB-instans .
Figur 6: Konfigurera andra avancerade inställningar och starta DB Instance
Meddelandet Din DB-instans skapas visas, som visas i figur 7. Klicka på Visa dina DB-instanser .
Figur 7: DB-instans skapas
En ny DB-instans skapas, som visas i figur 8. Slutpunkten är i formatet Värdnamn:Port och vi ska använda Värdnamnet när vi konfigurerar måldatabasens slutpunkt i ett senare avsnitt. När en Oracle-databas används som mål i en DMS-migrering måste alla målscheman som används i en migrering skapas innan migreringen körs. Vi kommer att använda schemat DVOHRA skapat i Oracle-databasen på RDS.
Figur 8: RDS DB-instans ORCL
För att en DMS-replikeringsinstans ska kunna ansluta till RDS DB-instansen, ändra säkerhetsgruppens inkommande regler för att tillåta all trafik. Klicka på länken i Säkerhetsgrupper i figur 8. Säkerhetsgruppens konsol visas, som visas i figur 9. Välj Inkommande fliken och klicka på Redigera .
Figur 9: Säkerhetsgrupp>
Inkommande>Redigera
I Redigera inkommande regler , ställ in Typ till All trafik , Protokoll till Alla , Portintervall till 0-65535, Källa till var som helst och klicka på Spara , som visas i figur 10.
Figur 10: Redigera inkommande regler
Inkommande regler ändras för att tillåta all trafik (se figur 11).
Figur 11: Inkommande regler inställda för att tillåta all trafik
Utgående Reglerna behöver inte ändras eftersom de redan är inställda för att tillåta all trafik, som visas i figur 12.
Figur 12: Utgående regler
Ansluter till en Oracle-databasinstans på RDS
För att använda Oracle-databasen som mål måste vi ge DMS-användaren vissa privilegier i Oracle-databasen. Anslut till Oracle-databasen för att bevilja privilegier med kommandoradsgränssnittet 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>
Bevilja sedan privilegier till DMS-användaren, som skulle vara olika för olika användare.
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>
Skapa en EC2-instans
För att skapa en Oracle-databasinstans på EC2, välj en AMI från AWS Marketplace. Flera olika AMI:er för Oracle-databasen är tillgängliga. Välj Oracle Database 11g Standard Edition , som visas i figur 13.
Figur 13: Väljer AMI för Oracle Database på EC2
Den Oracle Database AMI-baserade EC2-instansen visas i figur 14. Skaffa IPv4 Public IP adress för EC2-instansen från EC2-hanteringskonsolen.
Figur 14: EC2-instans för Oracle Database
De inkommande reglerna för säkerhetsgruppen där EC2-instansen skapas bör tillåta trafik, som visas i figur 15. Åtminstone bör anslutning till replikeringsinstansens IP-adress tillhandahållas.
Figur 15: Säkerhetsgrupp inkommande regler för att tillåta all trafik
På liknande sätt är Utgående regler bör tillåta all trafik (se figur 16).
Figur 16: Utgående regler
Skapa och starta en Oracle-databasinstans på EC2
Anslut till EC2-instansen från en lokal maskin med den offentliga IP-adressen för EC2-instansen och nyckelparet som används för att skapa EC2-instansen. Behörigheterna för nyckelparet måste vara inställda på 400.
[[email protected] ~]# chmod 400 rhel.pem [[email protected] ~]# ssh -i "rhel.pem" [email protected]
Oracle Database-mjukvaran installeras, vilket indikeras av meddelandet i figur 17. Meddelandet indikerar också att en databas måste skapas för att kunna använda programvaran. En användarprompt visas "Vill du skapa en databas nu [y|n]."
Figur 17: Ansluter till EC2 Instance och installerar Oracle Database Software
Ange y för att skapa en databas, som visas i figur 18. En användarprompt om att ange ett namn för Oracle-databasen visas, som visas i figur 18. Det angivna namnet används som Oracle SID.
Figur 18: Användaruppmaning att ange ett Oracle SID
Ange SID som ORCL och klicka på Enter. En användaruppmaning att ange ett lösenord för SYS-användaren visas, som visas i figur 19.
Figur 19: Användaruppmaning att ange ett lösenord för SYS-användare
Ange SYS-lösenordet igen vid prompten Bekräfta SYS-lösenord, som visas i figur 20. En annan användarprompt om att ange ett lösenord för SYSTEM-användaren visas.
Figur 20: Användaruppmaning att ange lösenord för systemanvändare
På samma sätt, ange ett lösenord för var och en av DBSNMP-, SYSMAN- och ADMIN-användarna. Databasen börjar skapas (se figur 21).
Figur 21: Skapa Oracle Database
Databasen installeras på EC2. Den fullständiga utgången listas:
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!
Ansluter till en Oracle-databasinstans på EC2
Ställ in Oracle-användare som oracle med följande kommando:
[email protected] ~> sudo su - oracle
Starta en SQL*Plus CLI för att ansluta till databasen från kommandoraden.
[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>
Slutsats
I denna första av fyra artiklar om migrering av en Oracle Database-instans från EC2 till RDS började vi med att skapa en Oracle Database-instans på EC2 och en annan på RDS. I den andra artikeln ska vi skapa en IAM-användare, skapa en databastabell för att migrera och skapa en replikeringsinstans, inklusive replikeringsslutpunkter.