sql >> Database >  >> RDS >> Oracle

Een Oracle-database migreren van AWS EC2 naar AWS RDS

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.


  1. Script alle gegevens uit de SQL Server-database

  2. SQL, querybuilders en ORM's vergelijken

  3. 5 ongewone Microsoft Access-tips voor 2020

  4. Hoe de naam van een beperking in SQL Server te vinden