sql >> Databasteknik >  >> RDS >> Oracle

Hur man migrerar en Oracle-databas från AWS EC2 till AWS RDS

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.


  1. Hur visar jag ett MySQL-fel i PHP för en lång fråga som beror på användarens input?

  2. Topp Facebook-grupper för Analytics, Big Data, Data Mining, Hadoop, NoSQL, Data Science

  3. 2018 i recension:7 MariaDB-milstolpar du kanske har missat

  4. Sortera datum i SQLite-databasen?