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

Come migrare un database Oracle da AWS EC2 ad AWS RDS

Un servizio di migrazione del database può essere utilizzato per migrare un database non solo tra due istanze database RDS, ma l'origine/destinazione può anche essere un database non RDS. L'unico requisito è che almeno uno degli endpoint del database di una migrazione DMS sia un database basato su AWS. Il database basato su AWS potrebbe essere un'istanza database RDS, Redshift, MongoDB o un database ospitato su EC2. In quattro articoli, discuteremo della migrazione di un database Oracle da EC2 a RDS. Questo articolo ha le seguenti sezioni:

  • Impostazione dell'ambiente
  • Creazione di un'istanza di database Oracle su AWS RDS
  • Connessione a un'istanza di database Oracle su RDS
  • Creazione di un'istanza EC2
  • Creazione e avvio di un'istanza di database Oracle su EC2
  • Connessione a un'istanza di database Oracle su EC2
  • Conclusione

Impostazione dell'ambiente

Innanzitutto, crea un account AWS. Quindi, crea una chiave master KMS (dms).

Creazione di un'istanza di database Oracle su AWS RDS

Crea un'istanza database RDS per il database Oracle. Seleziona Oracle come motore nel dashboard RDS, come mostrato nella Figura 1.


Figura 1: Selezione di Oracle Database come motore RDS

Per Produzione? , seleziona Sviluppo/Test , come mostrato nella Figura 2, e fai clic su Passaggio successivo .


Figura 2: Selezione del caso d'uso come sviluppo/test

In Specifica dettagli DB , seleziona la casella di controllo Mostra solo le opzioni idonee al piano gratuito RDS . Le impostazioni predefinite per il piano gratuito sono mostrate nella Figura 3.


Figura 3: Specifica dettagli DB

Specifica Identificatore istanza database (ORCL) e specificare un Nome utente principale e Password principale , come mostrato nella Figura 4. Fare clic su Passaggio successivo .


Figura 4: Specifica dell'identificatore di istanza database

In Configura impostazioni avanzate , seleziona l'opzione per Crea nuovo VPC , come mostrato nella Figura 5. Inoltre, seleziona l'opzione per Crea nuovo gruppo di sottoreti DB e Imposta Accessibile al pubblico a . Imposta Zona di disponibilità su Nessuna preferenza . Seleziona l'opzione per Crea nuovo gruppo di sicurezza . Nelle Opzioni database intestazione, specifica un Nome database (ORCL), Porta database (1521) e mantieni le impostazioni predefinite per Gruppo di parametri DB e Gruppo di opzioni .


Figura 5: Configurazione delle impostazioni avanzate

Mantieni le altre opzioni come predefinite, comprese quelle per Backup, Monitoraggio e Manutenzione (vedi Figura 6). Fai clic su Avvia istanza database .


Figura 6: Configurazione di altre impostazioni avanzate e avvio dell'istanza database

Il messaggio La tua istanza database è in fase di creazione viene visualizzato, come mostrato nella Figura 7. Fai clic su Visualizza le tue istanze database .


Figura 7: È in corso la creazione dell'istanza database

Viene creata una nuova istanza database, come mostrato nella Figura 8. L'endpoint è nel formato Nome host:Porta e useremo il Nome host quando configuriamo l'endpoint del database di destinazione in una sezione successiva. Quando un database Oracle viene utilizzato come destinazione in una migrazione DMS, è necessario creare qualsiasi schema di destinazione utilizzato in una migrazione prima di eseguire la migrazione. Useremo lo schema DVOHRA creato nel database Oracle su RDS.


Figura 8: Istanza database RDS ORCL

Affinché un'istanza di replica DMS sia in grado di connettersi all'istanza database RDS, modificare le regole in entrata del gruppo di sicurezza per consentire tutto il traffico. Fai clic sul link in Gruppi di sicurezza nella Figura 8. Viene visualizzata la console del gruppo di sicurezza, come mostrato nella Figura 9. Seleziona Inbound scheda e fai clic su Modifica .


Figura 9: Gruppo di sicurezza>In entrata>Modifica

In Modifica regole in entrata , imposta Tipo a Tutto il traffico , Protocollo a Tutti , Intervallo di porte a 0-65535, Fonte a Ovunque e fai clic su Salva , come mostrato nella Figura 10.


Figura 10: Modifica le regole in entrata

Le regole in entrata vengono modificate per consentire tutto il traffico (vedi Figura 11).


Figura 11: Regole in entrata impostate per consentire tutto il traffico

L'uscita non è necessario modificare le regole perché sono già impostate per consentire tutto il traffico, come mostrato nella Figura 12.


Figura 12: Regole in uscita

Connessione a un'istanza di database Oracle su RDS

Per utilizzare il database Oracle come destinazione, è necessario concedere all'utente DMS determinati privilegi nel database Oracle. Connettiti al database Oracle per concedere i privilegi utilizzando l'interfaccia a riga di comando 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>

Quindi, concedi i privilegi all'utente DMS, che sarebbero diversi per utenti diversi.

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>

Creazione di un'istanza EC2

Per creare un'istanza di database Oracle su EC2, seleziona un'AMI da AWS Marketplace. Sono disponibili diverse AMI per il database Oracle. Seleziona Oracle Database 11g Standard Edition , come mostrato nella Figura 13.


Figura 13: Selezione dell'AMI per Oracle Database su EC2

L'istanza EC2 basata su Oracle Database AMI è mostrata nella Figura 14. Ottieni l'IP pubblico IPv4 indirizzo dell'istanza EC2 dalla console di gestione EC2.


Figura 14: Istanza EC2 per Oracle Database

Le regole in entrata per il gruppo di sicurezza in cui viene creata l'istanza EC2 dovrebbero consentire il traffico, come mostrato nella Figura 15. Dovrebbe essere fornita almeno la connettività all'indirizzo IP dell'istanza di replica.


Figura 15: Regole in entrata del gruppo di sicurezza per consentire tutto il traffico

Allo stesso modo, il In uscita le regole dovrebbero consentire tutto il traffico (vedi Figura 16).


Figura 16: Regole in uscita

Creazione e avvio di un'istanza di database Oracle su EC2

Connettiti all'istanza EC2 da una macchina locale utilizzando l'indirizzo IP pubblico dell'istanza EC2 e la coppia di chiavi utilizzata per creare l'istanza EC2. Le autorizzazioni per la coppia di chiavi devono essere impostate su 400.

[[email protected] ~]# chmod 400 rhel.pem
[[email protected] ~]# ssh -i "rhel.pem" [email protected]

Il software Oracle Database viene installato, come indicato dal messaggio in Figura 17. Il messaggio indica anche che, per utilizzare il software, è necessario creare un database. Viene visualizzato un messaggio utente "Vuoi creare un database ora [y|n]."


Figura 17: Connessione all'istanza EC2 e installazione del software Oracle Database

Specifica y per creare un database, come mostrato nella Figura 18. Viene visualizzata una richiesta utente per fornire un nome per il database Oracle, come mostrato nella Figura 18. Il nome specificato viene utilizzato come SID Oracle.


Figura 18: Richiesta utente per specificare un SID Oracle

Specifica il SID come ORCL e fare clic su Invio. Viene visualizzata una richiesta utente per specificare una password per l'utente SYS, come mostrato nella Figura 19.


Figura 19: Richiesta utente per fornire una password per l'utente SYS

Specificare nuovamente la password SYS alla richiesta Conferma password SYS, come mostrato nella Figura 20. Viene visualizzata un'altra richiesta utente per specificare una password per l'utente SYSTEM.


Figura 20: Richiesta utente per specificare la password per l'utente SYSTEM

Allo stesso modo, specificare una password per ciascuno degli utenti DBSNMP, SYSMAN e ADMIN. Il database inizia a essere creato (vedi Figura 21).


Figura 21: Creazione di database Oracle

Il database viene installato su EC2. Viene elencato l'output completo:

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!

Connessione a un'istanza di database Oracle su EC2

Imposta l'utente Oracle come oracle con il seguente comando:

[email protected] ~> sudo su - oracle

Avvia una CLI SQL*Plus per connetterti al database dalla riga di comando.

[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>

Conclusione

In questo primo di quattro articoli sulla migrazione di un'istanza di Oracle Database da EC2 a RDS, abbiamo iniziato creando un'istanza di Oracle Database su EC2 e un'altra su RDS. Nel secondo articolo creeremo un utente IAM, creeremo una tabella di database da migrare e creeremo un'istanza di replica, inclusi gli endpoint di replica.