sql >> Database teknologi >  >> RDS >> Oracle

Sådan migreres en Oracle-database fra AWS EC2 til AWS RDS

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.


  1. Få liste over alle null- og ikke-nul-kolonner i SQL Server-databasen - SQL Server / T-SQL vejledning del 53

  2. SQLite Query Exception Android Studio Syntax Fejlkode 1

  3. Beregn decil i MySQL baseret på totaler

  4. Sådan slettes en fremmednøglebegrænsning i SQL