Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como migrar um banco de dados Oracle do AWS EC2 para o AWS RDS


Um Serviço de migração de banco de dados pode ser usado para migrar um banco de dados não apenas entre duas instâncias de banco de dados RDS, mas a origem/destino também pode ser um banco de dados não RDS. O único requisito é que pelo menos um dos endpoints de banco de dados de uma migração DMS seja um banco de dados baseado em AWS. O banco de dados baseado em AWS pode ser uma instância de banco de dados RDS, Redshift, MongoDB ou um banco de dados hospedado no EC2. Em quatro artigos, discutiremos a migração de um banco de dados Oracle do EC2 para o RDS. Este artigo tem as seguintes seções:
  • Definindo o ambiente
  • Criando uma instância do banco de dados Oracle no AWS RDS
  • Conectando-se a uma instância de banco de dados Oracle no RDS
  • Criando uma instância do EC2
  • Criando e iniciando uma instância de banco de dados Oracle no EC2
  • Conectando-se a uma instância de banco de dados Oracle no EC2
  • Conclusão

Definindo o ambiente


Primeiro, crie uma conta da AWS. Em seguida, crie uma chave mestra KMS (dms).

Criando uma instância de banco de dados Oracle no AWS RDS


Crie uma instância de banco de dados RDS para banco de dados Oracle. Selecione Oráculo como o mecanismo no painel do RDS, conforme mostrado na Figura 1.


Figura 1: Selecionando o Oracle Database como RDS Engine

Para Produção? , selecione Desenvolvimento/teste , conforme mostrado na Figura 2, e clique em Próxima etapa .


Figura 2: Selecionando Caso de Uso como Desenvolvimento/Teste

Em Especificar detalhes do banco de dados , marque a caixa de seleção Mostrar apenas opções qualificadas para o nível gratuito RDS . As configurações padrão para o nível gratuito são mostradas na Figura 3.


Figura 3: Especificar detalhes do banco de dados

Especifique Identificador de instância de banco de dados (ORCL) e especifique um nome de usuário mestre e Senha Mestra , conforme mostrado na Figura 4. Clique em Próxima etapa .


Figura 4: Especificando o identificador de instância de banco de dados

Em Definir configurações avançadas , selecione a opção para Criar nova VPC , conforme mostrado na Figura 5. Além disso, selecione a opção Criar novo grupo de sub-rede de banco de dados e defina Acessível publicamente para Sim . Definir Zona de disponibilidade para Sem preferência . Selecione a opção para Criar novo grupo de segurança . Nas Opções do banco de dados cabeçalho, especifique um Nome do banco de dados (ORCL), Porta do banco de dados (1521) e mantenha as configurações padrão para DB Parameter Group e Grupo de opções .


Figura 5: Configurando Configurações Avançadas

Mantenha as outras opções como padrão, incluindo as de Backup, Monitoramento e Manutenção (consulte a Figura 6). Clique em Iniciar instância de banco de dados .


Figura 6: Definindo outras configurações avançadas e iniciando a instância de banco de dados

A mensagem Sua instância de banco de dados está sendo criada é exibido, conforme mostrado na Figura 7. Clique em View Your DB Instances .


Figura 7: A instância de banco de dados está sendo criada

Uma nova instância de banco de dados é criada, conforme mostrado na Figura 8. O Endpoint está no formato Hostname:Port e usaremos o Hostname quando configuramos o endpoint do banco de dados de destino em uma seção posterior. Quando um banco de dados Oracle é usado como destino em uma migração DMS, qualquer esquema de destino usado em uma migração deve ser criado antes de executar a migração. Usaremos o esquema DVOHRA criado no banco de dados Oracle no RDS.


Figura 8: ORCL da instância de banco de dados RDS

Para que uma instância de replicação do DMS possa se conectar à instância de banco de dados do RDS, modifique as regras de entrada do grupo de segurança para permitir todo o tráfego. Clique no link em Grupos de segurança na Figura 8. O console do grupo de segurança é exibido, conforme mostrado na Figura 9. Selecione o Inbound guia e clique em Editar .


Figura 9: Grupo de segurança>Entrada>Editar

Em Editar regras de entrada , defina Tipo para Todo o tráfego , Protocolo para Todos , Intervalo de portas para 0-65535, Fonte para qualquer lugar e clique em Salvar , como mostrado na Figura 10.


Figura 10: Editar regras de entrada

As regras de entrada são modificadas para permitir todo o tráfego (consulte a Figura 11).


Figura 11: Regras de entrada definidas para permitir todo o tráfego

A saída as regras não precisam ser modificadas porque já estão configuradas para permitir todo o tráfego, conforme mostrado na Figura 12.


Figura 12: Regras de saída

Conectando-se a uma instância de banco de dados Oracle no RDS


Para usar o banco de dados Oracle como destino, precisamos conceder ao usuário DMS certos privilégios no banco de dados Oracle. Conecte-se ao banco de dados Oracle para conceder os privilégios usando a interface de linha de comando do 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>

Em seguida, conceda privilégios ao usuário DMS, que seriam diferentes para usuários diferentes.
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>

Criando uma instância do EC2


Para criar uma instância de banco de dados Oracle no EC2, selecione uma AMI no AWS Marketplace. Várias AMIs diferentes para banco de dados Oracle estão disponíveis. Selecione Oracle Database 11g Standard Edition , conforme mostrado na Figura 13.


Figura 13: Selecionando AMI para Oracle Database no EC2

A instância do EC2 baseada em Oracle Database AMI é mostrada na Figura 14. Obtenha o IP público IPv4 endereço da instância do EC2 no console de gerenciamento do EC2.


Figura 14: Instância do EC2 para banco de dados Oracle

As regras de entrada para o grupo de segurança no qual a instância do EC2 é criada devem permitir o tráfego, conforme mostrado na Figura 15. No mínimo, a conectividade com o endereço IP da instância de replicação deve ser fornecida.


Figura 15: Regras de entrada do grupo de segurança para permitir todo o tráfego

Da mesma forma, o Saída as regras devem permitir todo o tráfego (veja a Figura 16).


Figura 16: Regras de saída

Criando e iniciando uma instância de banco de dados Oracle no EC2


Conecte-se à instância do EC2 de uma máquina local usando o endereço IP público da instância do EC2 e o par de chaves usado para criar a instância do EC2. As permissões para o par de chaves devem ser definidas como 400.
[[email protected] ~]# chmod 400 rhel.pem
[[email protected] ~]# ssh -i "rhel.pem" [email protected]

O software Oracle Database é instalado, conforme indicado pela mensagem na Figura 17. A mensagem também indica que, para utilizar o software, é necessário criar um banco de dados. Um prompt de usuário é exibido “Você gostaria de criar um banco de dados agora [s|n].”


Figura 17: Conectando-se à instância do EC2 e instalando o software de banco de dados Oracle

Especifique s para criar um banco de dados, conforme mostrado na Figura 18. Um prompt do usuário para fornecer um nome para o Oracle Database é exibido, conforme mostrado na Figura 18. O nome especificado é usado como o Oracle SID.


Figura 18: Prompt do usuário para especificar um SID Oracle

Especifique o SID como ORCL e clique em Entrar. Um prompt de usuário para especificar uma senha para o usuário SYS é exibido, conforme mostrado na Figura 19.


Figura 19: Solicitação do usuário para fornecer uma senha para o usuário SYS

Especifique novamente a senha do SYS no prompt Confirm SYS Password, conforme mostrado na Figura 20. Outro prompt do usuário para especificar uma senha para o usuário do SYSTEM é exibido.


Figura 20: Solicitação do usuário para especificar a senha para o usuário do SISTEMA

Da mesma forma, especifique uma senha para cada um dos usuários DBSNMP, SYSMAN e ADMIN. O banco de dados começa a ser criado (veja a Figura 21).


Figura 21: Criando banco de dados Oracle

O banco de dados é instalado no EC2. A saída completa é listada:
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!

Conectando-se a uma instância de banco de dados Oracle no EC2


Definir usuário Oracle como oracle com o seguinte comando:
[email protected] ~> sudo su - oracle

Inicie uma CLI do SQL*Plus para conectar-se ao banco de dados a partir da linha de 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>

Conclusão


Neste primeiro de quatro artigos sobre como migrar uma instância do Oracle Database do EC2 para o RDS, começamos criando uma instância do Oracle Database no EC2 e outra no RDS. No segundo artigo, vamos criar um usuário do IAM, criar uma tabela de banco de dados para migrar e criar uma instância de replicação, incluindo endpoints de replicação.