sql >> Database >  >> RDS >> Oracle

Een Oracle-database migreren van AWS EC2 naar AWS RDS, deel 2

Databasemigratieservice wordt om verschillende redenen essentieel, waaronder migratie van een propriëtaire database naar een open source-database, migratie tussen propriëtaire of open source-databases en migratie naar een beheerde service. We onderzoeken de migratie van een Oracle-database van EC2 naar RDS en in de eerste van vier artikelen, "Een Oracle-database migreren van AWS EC2 naar AWS RDS, deel 1", hebben we een Oracle Database-instantie op EC2 en een andere op RDS gemaakt. In dit tweede artikel zullen we een databasegebruiker maken, een databasetabel maken om te migreren en een DMS-replicatie-instantie maken, inclusief replicatie-eindpunten.

Dit artikel heeft de volgende secties:

  • Een databasegebruiker maken
  • Een databasetabel maken
  • Een AWS DMS-replicatie-instantie maken
  • Replicatie-eindpunten maken
  • Conclusie

Een databasegebruiker maken

Maak een Oracle Database-gebruiker voor gebruik met DMS:

SQL> CREATE USER DVOHRA IDENTIFIED BY Calgary_10
   DEFAULT TABLESPACE SYSTEM
   QUOTA 10M ON SYSTEM
   TEMPORARY TABLESPACE TEMP
   QUOTA 5M ON SYSTEM;
   2   3   4   5
User created.

Verleen de gebruikersrechten in de Oracle-database. Slechts een subset van privileges (http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Privileges) is vereist, maar verleent alle privileges.

SQL> grant all privileges to DVOHRA identified by password;
Grant succeeded.

Oracle Database, wanneer gebruikt als brondatabase-eindpunt in Database Migration Service, moet in ARCHIVELOG staan modus. Controleer of de database in de ARCHIVELOG-modus staat.

SQL> select log_mode from v$database;
LOG_MODE
------------
ARCHIVELOG

Een databasetabel maken

We zullen twee soorten migratietaken bespreken:

  • Alleen bestaande gegevens migreren
  • Bestaande gegevens migreren en lopende wijzigingen repliceren

Om bestaande gegevens te migreren, maakt u een databasetabel in het DVOHRA-schema met de volgende DDL-instructie:

SQL> CREATE TABLE DVOHRA.wlslog(time_stamp VARCHAR2(255)
   PRIMARY KEY,category VARCHAR2(255),type VARCHAR2(255),
   servername VARCHAR2(255),code VARCHAR2(255),msg VARCHAR2(255));
Table created.

Voeg tabelgegevens toe met de volgende DMS-instructies.

SQL> INSERT INTO DVOHRA.wlslog(time_stamp,category,type,
   servername,code,msg) VALUES('Apr-8-2014-7:06:16-PM-PDT',
   'Notice','WebLogicServer','AdminServer','BEA-000365',
   'Server state changed to STANDBY');
INSERT INTO DVOHRA.wlslog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:17-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000365','Server state
   changed to STARTING');
INSERT INTO DVOHRA.wlslog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:18-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000365','Server state
   changed to ADMIN');
INSERT INTO DVOHRA.wlslog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:19-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000365','Server state
   changed to RESUMING');
INSERT INTO DVOHRA.wlslog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:20-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000361','Started WebLogic
   AdminServer');
INSERT INTO DVOHRA.wlslog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:21-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000365','Server state
   changed to RUNNING');
INSERT INTO DVOHRA.wlslog(time_stamp,category,type,servername,
   code,msg) VALUES('Apr-8-2014-7:06:22-PM-PDT','Notice',
   'WebLogicServer','AdminServer','BEA-000360','Server started in
   RUNNING mode');

1 row created.
SQL>
1 row created.
SQL>
1 row created.

SQL>
1 row created.

SQL>
1 row created.

SQL>
1 row created.

SQL>
1 row created.

SQL> COMMIT;

Commit complete.

Een AWS DMS-replicatie-instantie maken

We zullen dezelfde replicatie-instantie gebruiken voor het maken van twee verschillende soorten migratietaken. Als u een replicatie-instantie wilt maken, klikt u op Migratie maken in het DMS-dashboard, zoals weergegeven in afbeelding 1.


Figuur 1: Migratie maken

Klik op de welkomstpagina voor Database Migration Service op Volgende , zoals weergegeven in afbeelding 2.


Figuur 2: Welkom>Volgende

In de Replicatie-instantie maken , geef een naam en beschrijving op, zoals weergegeven in Afbeelding 3. Selecteer een instantieklasse en versie van de replicatie-engine; de standaardinstellingen hiervoor worden gebruikt. Selecteer VPC als de VPC waarin de RDS DB-instantie is gemaakt. Selecteer de optie Nee om geen Multi-AZ te maken replicatie instantie. Selecteer het selectievakje Openbaar toegankelijk om de replicatie-instantie openbaar toegankelijk te maken.


Figuur 3: Replicatie-instantie maken

In Geavanceerd , selecteer de Toegewezen opslagruimte (standaard is 50 GB), de Replicatie Subnet Group , en Beschikbaarheidszone (moet Geen voorkeur zijn ). Selecteer de VPC-beveiligingsgroep(en) als de beveiligingsgroep waarin het RDS DB-exemplaar wordt gemaakt. Selecteer de KMS-hoofdsleutel als dms . De geavanceerde instellingen worden weergegeven in Afbeelding 4.


Figuur 4: Geavanceerde instellingen

Selecteer het standaard Onderhoud instellingen en klik op Volgende , zoals weergegeven in afbeelding 5.


Figuur 5: Replicatie-instantie maken>Volgende

De Verbind bron- en doeldatabase-eindpunten pagina wordt weergegeven en de replicatie-instantie wordt gemaakt, zoals aangegeven door het bericht in Afbeelding 6.


Figuur 6: Replicatie-instantie wordt gemaakt

Wanneer de replicatie-instantie is gemaakt, wordt het bericht Replicatie-instantie succesvol aangemaakt wordt weergegeven (zie afbeelding 7).


Figuur 7: Replicatie-instantie gemaakt

Een nieuwe replicatie-instantie wordt toegevoegd in DMS>Replicatie-instanties , zoals weergegeven in afbeelding 8.


Figuur 8: DMS>Replicatie-instanties

Replicatie-eindpunten maken

De Verbind bron- en doeldatabase-eindpunten pagina heeft velden voor Servernaam voor bron- en doeldatabase-eindpunten, zoals eerder weergegeven in afbeelding 6. De naam van de brondatabase-eindpuntserver is de openbare DNS van de EC2-instantie waarop de Oracle-database wordt uitgevoerd. De openbare DNS kan worden verkregen via de EC2-beheerconsole, zoals weergegeven in afbeelding 9.


Figuur 9: Openbare DNS-naam

De servernaam voor het doeldatabase-eindpunt is afgeleid van het RDS DB-instantie-eindpunt dat wordt vermeld in de RDS-console in Afbeelding 10. Het eindpunt heeft de indeling Hostnaam:Poort .


Figuur 10: Eindpunt RDS DB-instantie

Selecteer Bron-engine en Doel-engine als orakel (zie afbeelding 11). Geef de servernaam op voor bron- en doeldatabase-eindpunten. Specificeer Poort als 1521 voor zowel bron- als doeldatabase-eindpunten.


Figuur 11: Bron- en doelverbindingsdetails

Specificeer SSL-modus als geen voor zowel bron- als doeldatabase-eindpunten. Specificeer Gebruikersnaam voor brondatabase als DVOHRA en doeldatabase als de gebruiker geconfigureerd in de RDS DB-instantie. Specificeer het Wachtwoord voor de brondatabase als het wachtwoord dat is opgegeven bij het maken van een database-instance op EC2 en geef het wachtwoord voor de doeldatabase op als het wachtwoord dat wordt gebruikt in de configuratie van de RDS DB-instance. Specificeer SID voor de brondatabase als de Oracle SID (ORCL) die is opgegeven bij het maken van Oracle Database op EC2. Geef de SID voor het doeldatabase-eindpunt op als de SID (ORCL) die is opgegeven bij het maken van de RDS DB-instantie, zoals weergegeven in Afbeelding 12.


Figuur 12: Verbindingsgegevens bron- en doeldatabase

In de Geavanceerde sectie, selecteer de KMS-hoofdsleutel als dms voor zowel bron- als doeldatabase-eindpunten, zoals weergegeven in Afbeelding 13.


Figuur 13: Geavanceerde instellingen

Klik op Test uitvoeren om de verbinding met de brondatabase te testen, zoals weergegeven in Afbeelding 14.


Figuur 14: Test uitvoeren

Klik op dezelfde manier op Test uitvoeren voor de doeldatabaseverbinding.

Het bericht Eindpuntverbinding testen wordt weergegeven voor zowel bron- als doeldatabaseverbindingen, zoals weergegeven in Afbeelding 15.


Figuur 15: Eindpuntverbindingen testen

Als er een verbinding tot stand wordt gebracht, verschijnt het bericht Verbinding getest wordt weergegeven (zie afbeelding 16).


Figuur 16: Verbinding succesvol getest

Een database-eindpunt kan ook worden toegevoegd met Eindpunt maken in DMS>Endpoints. Wanneer u de optie Eindpunt maken gebruikt, heeft de testeindpuntverbinding ook de mogelijkheid om de VPC te selecteren en Replicatie-instantie voor het eindpunt, zoals weergegeven in Afbeelding 17. Klik op Opslaan om de eindpuntverbinding op te slaan.


Figuur 17: Eindpuntverbinding testen en opslaan

De bron- en doeldatabase-eindpuntverbindingen worden weergegeven in DMS>Eindpunten in Afbeelding 18.


Figuur 18: Bron- en doeldatabase-eindpunten

Conclusie

In dit tweede van vier artikelen hebben we een databasegebruiker gemaakt, een databasetabel gemaakt om te migreren en een replicatie-instantie gemaakt met inbegrip van replicatie-eindpunten. In het derde artikel gaan we in op het migreren van bestaande gegevens van de bron (EC2) naar doeleindpunten (RDS).


  1. Een opgeslagen procedure aanroepen in JDBC

  2. Deadlocks in PostgreSQL bij het uitvoeren van UPDATE

  3. Top 9 nuttige Oracle Apps Printer-query's

  4. Bij dubbele sleutelupdate hetzelfde als invoegen