En Database Migration Service kan bruges til at migrere en database ikke kun mellem to RDS DB-instanser, men kilden/målet kan også være en ikke-RDS-database. Det eneste krav er, at mindst et af databaseendepunkterne for en DMS-migrering er en AWS-baseret database. Den AWS-baserede database kunne en RDS DB-instans, Redshift, MongoDB eller en database hostet på EC2. I fire artikler vil vi diskutere migrering af en Oracle-database fra EC2 til RDS. Denne artikel har følgende sektioner:
- Indstilling af miljøet
- Oprettelse af en Oracle-databaseinstans på AWS RDS
- Tilslutning til en Oracle-databaseinstans på RDS
- Oprettelse af en EC2-instans
- Oprettelse og start af en Oracle-databaseinstans på EC2
- Tilslutning til en Oracle-databaseinstans på EC2
- Konklusion
Indstilling af miljøet
Først skal du oprette en AWS-konto. Opret derefter en KMS-hovednøgle (dms).
Oprettelse af en Oracle-databaseinstans på AWS RDS
Opret en RDS DB-instans til Oracle-database. Vælg Oracle som motoren i RDS-instrumentbrættet, som vist i figur 1.
Figur 1: Valg af Oracle Database som RDS Engine
Til Produktion? , vælg Dev/Test , som vist i figur 2, og klik på Næste trin .
Figur 2: Vælg Use Case som Dev/Test
I Angiv DB-detaljer , marker afkrydsningsfeltet Vis kun muligheder, der er kvalificerede til RDS Free Tier . Standardindstillingerne for det gratis lag er vist i figur 3.
Figur 3: Angiv DB-detaljer
Angiv DB Instance Identifier (ORCL), og angiv et Masterbrugernavn og Hovedadgangskode , som vist i figur 4. Klik på Næste trin .
Figur 4: Angivelse af DB Instance Identifier
I Konfigurer avancerede indstillinger , vælg muligheden Opret ny VPC , som vist i figur 5. Vælg også muligheden for at Opret ny DB-undernetgruppe , og Indstil Offentligt tilgængelig til Ja . Indstil Tilgængelighedszone til Ingen præference . Vælg muligheden for at Opret ny sikkerhedsgruppe . I Databaseindstillinger header, skal du angive et databasenavn (ORCL), Databaseport (1521), og behold standardindstillingerne for DB Parameter Group og Optionsgruppe .
Figur 5: Konfiguration af avancerede indstillinger
Behold de andre muligheder som standard, inklusive dem for sikkerhedskopiering, overvågning og vedligeholdelse (se figur 6). Klik på Start DB-instans .
Figur 6: Konfiguration af andre avancerede indstillinger og start af DB Instance
Meddelelsen Din DB-instans oprettes bliver vist, som vist i figur 7. Klik på Vis dine DB-forekomster .
Figur 7: DB-instans er ved at blive oprettet
En ny DB-instans oprettes som vist i figur 8. Endpoint er i formatet Værtsnavn:Port og vi skal bruge værtsnavnet når vi konfigurerer måldatabaseslutpunktet i et senere afsnit. Når en Oracle-database bruges som mål i en DMS-migrering, skal ethvert målskema, der bruges i en migrering, oprettes, før migreringen køres. Vi skal bruge skemaet DVOHRA oprettet i Oracle-database på RDS.
Figur 8: RDS DB-forekomst ORCL
For at en DMS-replikeringsinstans kan oprette forbindelse til RDS DB-instansen, skal du ændre sikkerhedsgruppens indgående regler for at tillade al trafik. Klik på linket i Sikkerhedsgrupper i figur 8. Sikkerhedsgruppekonsollen vises som vist i figur 9. Vælg Indgående fanen og klik på Rediger .
Figur 9: Sikkerhedsgruppe>Indgående>Rediger
I Rediger indgående regler , indstil Type til Al trafik , Protokol til Alle , Portrækkevidde til 0-65535, Kilde til Hvor som helst , og klik på Gem , som vist i figur 10.
Figur 10: Rediger indgående regler
De indgående regler bliver ændret for at tillade al trafik (se figur 11).
Figur 11: Indgående regler indstillet til at tillade al trafik
Den Udgående regler er ikke påkrævet at blive ændret, fordi de allerede er indstillet til at tillade al trafik, som vist i figur 12.
Figur 12: Udgående regler
Tilslutning til en Oracle-databaseinstans på RDS
For at bruge Oracle-databasen som mål, skal vi give DMS-brugeren visse privilegier i Oracle-databasen. Opret forbindelse til Oracle-databasen for at tildele rettighederne ved hjælp af SQL*Plus-kommandolinjegrænsefladen.
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>
Giv derefter privilegier til DMS-brugeren, som ville være anderledes for forskellige brugere.
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>
Oprettelse af en EC2-instans
For at oprette en Oracle-databaseinstans på EC2 skal du vælge en AMI fra AWS Marketplace. Flere forskellige AMI'er til Oracle-databasen er tilgængelige. Vælg Oracle Database 11g Standard Edition , som vist i figur 13.
Figur 13: Valg af AMI til Oracle Database på EC2
Den Oracle Database AMI-baserede EC2-instans er vist i figur 14. Få den IPv4 Public IP adresse på EC2-instansen fra EC2-administrationskonsollen.
Figur 14: EC2-instans til Oracle-database
De indgående regler for den sikkerhedsgruppe, hvori EC2-forekomsten er oprettet, bør tillade trafik, som vist i figur 15. I det mindste skal forbindelsen til replikeringsinstansens IP-adresse tilvejebringes.
Figur 15: Sikkerhedsgruppeindgående regler for at tillade al trafik
Tilsvarende er Udgående regler bør tillade al trafik (se figur 16).
Figur 16: Udgående regler
Oprettelse og start af en Oracle-databaseinstans på EC2
Opret forbindelse til EC2-instansen fra en lokal maskine ved hjælp af den offentlige IP-adresse på EC2-instansen og nøgleparret, der blev brugt til at oprette EC2-instansen. Tilladelserne for nøgleparret skal sættes til 400.
[[email protected] ~]# chmod 400 rhel.pem [[email protected] ~]# ssh -i "rhel.pem" [email protected]
Oracle Database-softwaren bliver installeret, som angivet af meddelelsen i figur 17. Meddelelsen angiver også, at der skal oprettes en database for at bruge softwaren. En brugerprompt vises "Vil du oprette en database nu [y|n]."
Figur 17: Tilslutning til EC2 Instance og installation af Oracle Database Software
Angiv y for at oprette en database, som vist i figur 18. En bruger-prompt om at angive et navn til Oracle-databasen vises, som vist i figur 18. Det angivne navn bruges som Oracle SID.
Figur 18: Brugerprompt om at angive et Oracle SID
Angiv SID som ORCL og klik på Enter. En brugerprompt om at angive en adgangskode for SYS-brugeren vises, som vist i figur 19.
Figur 19: Brugerprompt om at angive en adgangskode til SYS-bruger
Genspecificer SYS-adgangskoden ved prompten Confirm SYS Password, som vist i figur 20. En anden bruger-prompt om at angive en adgangskode for SYSTEM-brugeren vises.
Figur 20: Brugerprompt om at angive adgangskode for SYSTEM-bruger
På samme måde skal du angive en adgangskode for hver af DBSNMP-, SYSMAN- og ADMIN-brugerne. Databasen begynder at blive oprettet (se figur 21).
Figur 21: Oprettelse af Oracle-database
Databasen bliver installeret på EC2. Det komplette output er angivet:
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!
Tilslutning til en Oracle-databaseinstans på EC2
Indstil Oracle-bruger som oracle med følgende kommando:
[email protected] ~> sudo su - oracle
Start en SQL*Plus CLI for at oprette forbindelse til databasen fra kommandolinjen.
[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>
Konklusion
I denne første af fire artikler om migrering af en Oracle Database-instans fra EC2 til RDS startede vi med at oprette en Oracle Database-instans på EC2 og en anden på RDS. I den anden artikel skal vi oprette en IAM-bruger, oprette en databasetabel til migrering og oprette en replikeringsinstans, inklusive replikeringsslutpunkter.