Funções de transição para um PeopleSoft aplicativo Oracle no Amazon RDS Custom for Oracle - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Funções de transição para um PeopleSoft aplicativo Oracle no Amazon RDS Custom for Oracle

Criado por sampath kathirvel () AWS

Ambiente: produção

Tecnologias: bancos de dados; infraestrutura

Workload: Oracle

AWSserviços: Amazon RDS

Resumo

Para executar a solução Oracle PeopleSoft enterprise resource planning (ERP) na Amazon Web Services (AWS), você pode usar o Amazon Relational Database Service (Amazon) ou o RDS RDS Amazon Custom for Oracle, que oferece suporte a aplicativos legados, personalizados e empacotados que exigem acesso ao sistema operacional (SO) e ao ambiente de banco de dados subjacentes. Para ver os principais fatores a serem considerados ao planejar uma migração, consulte as estratégias de migração do banco de dados Oracle na Orientação AWS Prescritiva.

Esse padrão se concentra nas etapas para realizar uma transição de função, ou transição de função, do Oracle Data Guard para um banco de dados de PeopleSoft aplicativos executado no Amazon RDS Custom como o banco de dados principal com um banco de dados de réplica de leitura. O padrão inclui etapas para configurar o failover de início rápido (). FSFO Durante esse processo, os bancos de dados na configuração do Oracle Data Guard continuam funcionando em suas novas funções. Os casos de uso típicos da transição do Oracle Data Guard são exercícios de recuperação de desastres (DR), atividades de manutenção programada em bancos de dados e patches contínuos em espera-First Patch Apply. Para obter mais informações, consulte a postagem do blog Reduza o tempo de inatividade da aplicação de patches no banco de dados no Amazon RDS Custom.

Pré-requisitos e limitações

Pré-requisitos

Limitações

Versões do produto

Arquitetura

Pilha de tecnologia

  • Amazon RDS Custom para Oracle

Arquitetura de destino

O diagrama a seguir mostra uma instância de banco de dados RDS personalizada da Amazon e uma réplica de leitura RDS personalizada da Amazon. O Oracle Data Guard fornece transição de funções durante o failover para DR.

Alternância do Oracle Data Guard para uma instância de banco de dados RDS personalizada primária com um banco de dados de réplica de leitura.

Para uma arquitetura representativa usando o Oracle PeopleSoft onAWS, consulte Configurar uma PeopleSoft arquitetura altamente disponível em AWS.

Ferramentas

AWSserviços

  • O Amazon RDS Custom for Oracle é um serviço de banco de dados gerenciado para aplicativos legados, personalizados e empacotados que exigem acesso ao sistema operacional e ao ambiente de banco de dados subjacentes.

  • AWSO Secrets Manager ajuda você a substituir as credenciais codificadas em seu código, incluindo senhas, por uma API chamada para o Secrets Manager para recuperar o segredo programaticamente. Nesse padrão, você recupera as senhas de usuário do banco de dados do Secrets Manager for RDS_DATAGUARD com o nome secreto do-not-delete-rds-custom-+<<RDS Resource ID>>+-dg.

Outros serviços

Práticas recomendadas

Para sua implantação de produção, recomendamos iniciar a instância observadora em uma terceira zona de disponibilidade, separada dos nós primário e de réplica de leitura.

Épicos

TarefaDescriçãoHabilidades necessárias

Pausar a automação do banco de dados tanto para o primário quanto para a réplica.

Embora a estrutura de automação RDS personalizada não interfira no processo de transição de funções, é uma boa prática pausar a automação durante a transição do Oracle Data Guard.

Para pausar e retomar a automação RDS personalizada do banco de dados, siga as instruções em Pausar e retomar a automação personalizada. RDS

Administrador de nuvem, DBA

Verificar o status do Oracle Data Guard.

Para verificar o status do Oracle Data Guard, faça login no banco de dados primário. Esse padrão inclui código para usar um banco de dados de contêiner multilocatário (CDB) ou uma não instância. CDB

Não- CDB

-bash-4.2$ dgmgrl RDS_DATAGUARD@RDS_CUSTOM_ORCL_A DGMGRL for Linux: Release 19.0.0.0.0 - Production on Mon Nov 28 20:55:50 2022 Version 19.10.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. Welcome to DGMGRL, type "help" for information. Password: Connected to "ORCL_A" Connected as SYSDG. DGMGRL> show configuration Configuration - rds_dg Protection Mode: MaxAvailability Members: orcl_a - Primary database orcl_d - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 59 seconds ago) DGMGRL>

CDB

CDB-bash-4.2$ dgmgrl C##RDS_DATAGUARD@RDS_CUSTOM_RDSCDB_A DGMGRL for Linux: Release 19.0.0.0.0 - Production on Wed Jan 18 06:13:07 2023 Version 19.16.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. Welcome to DGMGRL, type "help" for information. Password: Connected to "RDSCDB_A" Connected as SYSDG. DGMGRL> show configuration Configuration - rds_dg Protection Mode: MaxAvailability Members: rdscdb_a - Primary database rdscdb_b - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 52 seconds ago) DGMGRL>
DBA

Verifique a função da instância.

Abra o AWS Management Console e navegue até o RDS console da Amazon. Na seção Replicação do banco de dados, na guia Conectividade e segurança, verifique a função da instância primária e da réplica.

A função primária deve corresponder ao banco de dados primário do Oracle Data Guard, e a função de réplica deve corresponder ao banco de dados físico em espera do Oracle Data Guard.

Administrador de nuvem, DBA

Executar a transição.

Para realizar a transição, conecte-se a DGMGRL a partir do nó primário.

Não- CDB

DGMGRL> switchover to orcl_d; Performing switchover NOW, please wait... Operation requires a connection to database "orcl_d" Connecting ... Connected to "ORCL_D" Connected as SYSDG. New primary database "orcl_d" is opening... Operation requires start up of instance "ORCL" on database "orcl_a" Starting instance "ORCL"... Connected to an idle instance. ORACLE instance started. Connected to "ORCL_A" Database mounted. Database opened. Connected to "ORCL_A" Switchover succeeded, new primary is "orcl_d" DGMGRL>

CDB

DGMGRL> switchover to rdscdb_b Performing switchover NOW, please wait... New primary database "rdscdb_b" is opening... Operation requires start up of instance "RDSCDB" on database "rdscdb_a" Starting instance "RDSCDB"... Connected to an idle instance. ORACLE instance started. Connected to "RDSCDB_A" Database mounted. Database opened. Connected to "RDSCDB_A" Switchover succeeded, new primary is "rdscdb_b"
DBA

Verificar a conexão do Oracle Data Guard.

Após a transição, verifique a conexão do Oracle Data Guard do nó primário com DGMGRL.

Não- CDB

DGMGRL> show configuration; Configuration - rds_dg Protection Mode: MaxAvailability Members: orcl_d - Primary database orcl_a - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 60 seconds ago) DGMGRL> DGMGRL> show configuration lag; Configuration - rds_dg Protection Mode: MaxAvailability Members: orcl_d - Primary database orcl_a - Physical standby database Transport Lag: 0 seconds (computed 0 seconds ago) Apply Lag: 0 seconds (computed 0 seconds ago) Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 44 seconds ago) DGMGRL>

CDB

DGMGRL> show configuration DGMGRL> show configuration Configuration - rds_dg Protection Mode: MaxAvailability Members: rdscdb_b - Primary database rdscdb_a - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 52 seconds ago) DGMGRL> DGMGRL> show configuration lag Configuration - rds_dg Protection Mode: MaxAvailability Members: rdscdb_b - Primary database rdscdb_a - Physical standby database Transport Lag: 0 seconds (computed 0 seconds ago) Apply Lag: 0 seconds (computed 0 seconds ago) Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 53 seconds ago) DGMGRL>
DBA

Verifique a função da instância no RDS console da Amazon.

Depois de realizar a troca de função, o RDS console da Amazon mostra as novas funções na seção Replicação, na guia Conectividade e segurança, em Bancos de dados. Pode levar alguns minutos para que o Estado da Replicação seja atualizado de vazio para Replicando.

DBA
TarefaDescriçãoHabilidades necessárias

Redefinir a transição.

Definir a transição de volta para o nó primário.

DBA

Instalar e iniciar o observador.

Um processo observador é um componente cliente DGMGRL, normalmente executado em uma máquina diferente dos bancos de dados primário e em espera. A ORACLE HOME instalação para o observador pode ser uma instalação do Oracle Client Administrator, ou você pode instalar o Oracle Database Enterprise Edition ou o Personal Edition. Para obter mais informações sobre a instalação do observador para sua versão do banco de dados, consulte Instalar e iniciar o observador. Para configurar a alta disponibilidade do processo do observador, faça uma das seguintes opções:

  • Ative a recuperação automática de EC2 instâncias para a EC2 instância que executa seu observador. Você precisa automatizar o processo de startup do observador como parte do startup do sistema operacional.

  • Implante um observador na EC2 instância e configure um grupo do Amazon EC2 Auto Scaling com tamanho um (1). Em caso de falha na EC2 instância, o grupo de escalabilidade automática ativa automaticamente outra EC2 instância.

Para o Oracle 12c liberação 2 e posterior, você pode implantar até três observadores. Um observador é o observador primário e os demais são observadores de backup. Quando o observador primário falha, um dos observadores de backup assume a função primária.

DBA

Conecte-se a DGMGRL partir do host observador.

O host observador é configurado com tnsnames.ora entradas para conectividade de banco de dados primário e em espera. Você pode ativar o FSFO modo de proteção de desempenho máximo, desde que a perda de dados esteja dentro da FastStartFailoverLagLimitconfiguração (valor em segundos). No entanto, você deve usar o modo de proteção de disponibilidade máxima para trabalhar para obter zero perda de dados (RPO=0).

Não- CDB

DGMGRL> show configuration; Configuration - rds_dg Protection Mode: MaxAvailability Members: orcl_a - Primary database orcl_d - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 58 seconds ago) DGMGRL> show configuration lag Configuration - rds_dg Protection Mode: MaxAvailability Members: orcl_a - Primary database orcl_d - Physical standby database Transport Lag: 0 seconds (computed 1 second ago) Apply Lag: 0 seconds (computed 1 second ago) Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 5 seconds ago) DGMGRL>

CDB

-bash-4.2$ dgmgrl C##RDS_DATAGUARD@RDS_CUSTOM_RDSCDB_A DGMGRL for Linux: Release 19.0.0.0.0 - Production on Wed Jan 18 06:55:09 2023 Version 19.16.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. Welcome to DGMGRL, type "help" for information. Password: Connected to "RDSCDB_A" Connected as SYSDG. DGMGRL> show configuration Configuration - rds_dg Protection Mode: MaxAvailability Members: rdscdb_a - Primary database rdscdb_b - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 18 seconds ago) DGMGRL>
DBA

Modificar o banco de dados em espera para ser o destino do failover.

Conectar do nó primário ou do nó observador a um banco de dados em espera. (Embora sua configuração possa ter vários bancos de dados em espera, você precisa se conectar a somente um no momento.)

Não- CDB

DGMGRL> edit database orcl_a set property FastStartFailoverTarget='orcl_d'; Property "faststartfailovertarget" updated DGMGRL> edit database orcl_d set property FastStartFailoverTarget='orcl_a'; Property "faststartfailovertarget" updated DGMGRL> show database orcl_a FastStartFailoverTarget; FastStartFailoverTarget = 'orcl_d' DGMGRL> show database orcl_d FastStartFailoverTarget; FastStartFailoverTarget = 'orcl_a' DGMGRL>

CDB

DGMGRL> edit database orcl_a set property FastStartFailoverTarget='rdscdb_b'; Object "orcl_a" was not found DGMGRL> edit database rdscdb_a set property FastStartFailoverTarget='rdscdb_b'; Property "faststartfailovertarget" updated DGMGRL> edit database rdscdb_b set property FastStartFailoverTarget='rdscdb_a'; Property "faststartfailovertarget" updated DGMGRL> show database rdscdb_a FastStartFailoverTarget; FastStartFailoverTarget = 'rdscdb_b' DGMGRL> show database rdscdb_b FastStartFailoverTarget; FastStartFailoverTarget = 'rdscdb_a' DGMGRL>
DBA

Configure FastStartFailoverThreshold para a conexão com DGMGRL o.

O valor padrão é 30 segundos no Oracle 19c e o valor mínimo é 6 segundos. Um valor menor pode potencialmente reduzir o objetivo de tempo de recuperação (RTO) durante o failover. Um valor maior ajuda a reduzir a chance de erros transitórios de failover desnecessários no banco de dados primário.

A estrutura de automação RDS Custom for Oracle monitora a integridade do banco de dados e executa ações corretivas a cada poucos segundos. Portanto, recomendamos FastStartFailoverThreshold definir um valor maior que 10 segundos. O exemplo a seguir configura o valor limite em 35 segundos.

Não- CBD ou CDB

DGMGRL> edit configuration set property FastStartFailoverThreshold=35; Property "faststartfailoverthreshold" updated DGMGRL> show configuration FastStartFailoverThreshold; FastStartFailoverThreshold = '35' DGMGRL>
DBA

Ative FSFO conectando-se a DGMGRL partir do nó primário ou do observador.

Se o banco de dados não tiver o Flashback Database habilitado, a mensagem de aviso ORA-16827 será exibida. O banco de dados de flashback opcional ajuda a restabelecer automaticamente os bancos de dados primários com falha em um ponto no tempo antes do failover, se a propriedade de FastStartFailoverAutoReinstateconfiguração estiver definida como TRUE (que é o padrão).

Não- CDB

DGMGRL> enable fast_start failover; Warning: ORA-16827: Flashback Database is disabled Enabled in Zero Data Loss Mode. DGMGRL> DGMGRL> show configuration Configuration - rds_dg Protection Mode: MaxAvailability Members: orcl_a - Primary database Warning: ORA-16819: fast-start failover observer not started orcl_d - (*) Physical standby database Warning: ORA-16819: fast-start failover observer not started Fast-Start Failover: Enabled in Zero Data Loss Mode Configuration Status: WARNING (status updated 29 seconds ago) DGMGRL>

CDB

DGMGRL> enable fast_start failover; Warning: ORA-16827: Flashback Database is disabled Enabled in Zero Data Loss Mode. DGMGRL> show configuration; Configuration - rds_dg Protection Mode: MaxAvailability Members: rdscdb_a - Primary database Warning: ORA-16819: fast-start failover observer not started rdscdb_b - (*) Physical standby database Fast-Start Failover: Enabled in Zero Data Loss Mode Configuration Status: WARNING (status updated 11 seconds ago) DGMGRL>
DBA

Inicie o observador para FSFO monitoramento e verifique o status.

Você pode iniciar o observador antes ou depois da ativaçãoFSFO. Se já FSFO estiver ativado, o observador começará imediatamente a monitorar o status e as conexões com os bancos de dados em espera primário e de destino. Se não FSFO estiver ativado, o observador não iniciará o monitoramento até que FSFO seja ativado.

Quando você inicia o observador, a configuração primária do banco de dados será exibida sem nenhuma mensagem de erro, conforme evidenciado pelo comando anterior show configuration.

Não- CDB

DGMGRL> start observer; [W000 2022-12-01T06:16:51.271+00:00] FSFO target standby is orcl_d Observer 'ip-10-0-1-89' started [W000 2022-12-01T06:16:51.352+00:00] Observer trace level is set to USER DGMGRL> show configuration Configuration - rds_dg Protection Mode: MaxAvailability Members: orcl_a - Primary database orcl_d - (*) Physical standby database Fast-Start Failover: Enabled in Zero Data Loss Mode Configuration Status: SUCCESS (status updated 56 seconds ago) DGMGRL> DGMGRL> show observer Configuration - rds_dg Primary: orcl_a Active Target: orcl_d Observer "ip-10-0-1-89" - Master Host Name: ip-10-0-1-89 Last Ping to Primary: 1 second ago Last Ping to Target: 1 second ago DGMGRL>

CDB

DGMGRL> start observer; Succeeded in opening the observer file "/home/oracle/fsfo_ip-10-0-1-56.dat". [W000 2023-01-18T07:31:32.589+00:00] FSFO target standby is rdscdb_b Observer 'ip-10-0-1-56' started The observer log file is '/home/oracle/observer_ip-10-0-1-56.log'. DGMGRL> show configuration Configuration - rds_dg Protection Mode: MaxAvailability Members: rdscdb_a - Primary database rdscdb_b - (*) Physical standby database Fast-Start Failover: Enabled in Zero Data Loss Mode Configuration Status: SUCCESS (status updated 12 seconds ago) DGMGRL> DGMGRL> show observer; Configuration - rds_dg Primary: rdscdb_a Active Target: rdscdb_b Observer "ip-10-0-1-56" - Master Host Name: ip-10-0-1-56 Last Ping to Primary: 1 second ago Last Ping to Target: 2 seconds ago DGMGRL>
DBA

Verifique o failover.

Nesse cenário, um teste de failover pode ser realizado interrompendo manualmente a EC2 instância primária. Antes de interromper a EC2 instância, use o tail comando para monitorar o arquivo de log do observador com base na sua configuração. Use DGMGRL para iniciar sessão no banco de dados orcl_d em espera com o usuário RDS_DATAGUARD e verificar o status do Oracle Data Guard. Deve ser mostrado que orcl_d é o novo banco de dados primário.

Nota: Neste cenário de teste de failover, orcl_d é o CDB não-banco de dados.

Antes do failover, o banco de dados de flashback foi habilitado em orcl_a. Depois que o antigo banco de dados primário retorna on-line e inicia no estado MOUNT, o observador o restabelece em um novo banco de dados em espera. O banco de dados restabelecido atua como FSFO destino para o novo banco de dados primário. Você pode verificar os detalhes nos logs do observador.

DGMGRL> show configuration Configuration - rds_dg Protection Mode: MaxAvailability Members: orcl_d - Primary database Warning: ORA-16824: multiple warnings, including fast-start failover-related warnings, detected for the database orcl_a - (*) Physical standby database (disabled) ORA-16661: the standby database needs to be reinstated Fast-Start Failover: Enabled in Zero Data Loss Mode Configuration Status: WARNING (status updated 25 seconds ago) DGMGRL>

A seguir, alguns exemplos de saída no observer.log.

$ tail -f /tmp/observer.log Unable to connect to database using rds_custom_orcl_a [W000 2023-01-18T07:50:32.589+00:00] Primary database cannot be reached. [W000 2023-01-18T07:50:32.589+00:00] Fast-Start Failover threshold has expired. [W000 2023-01-18T07:50:32.590+00:00] Try to connect to the standby. [W000 2023-01-18T07:50:32.590+00:00] Making a last connection attempt to primary database before proceeding with Fast-Start Failover. [W000 2023-01-18T07:50:32.591+00:00] Check if the standby is ready for failover. [S002 2023-01-18T07:50:32.591+00:00] Fast-Start Failover started... 2023-01-18T07:50:32.591+00:00 Initiating Fast-Start Failover to database "orcl_d"... [S002 2023-01-18T07:50:32.592+00:00] Initiating Fast-start Failover. Performing failover NOW, please wait... Failover succeeded, new primary is "orcl_d" 2023-01-18T07:55:32.101+00:00 [S002 2023-01-18T07:55:32.591+00:00] Fast-Start Failover finished... [W000 2023-01-18T07:55:32.591+00:00] Failover succeeded. Restart pinging. [W000 2023-01-18T07:55:32.603+00:00] Primary database has changed to orcl_d. [W000 2023-01-18T07:55:33.618+00:00] Try to connect to the primary. [W000 2023-01-18T07:55:33.622+00:00] Try to connect to the primary rds_custom_orcl_d. [W000 2023-01-18T07:55:33.634+00:00] The standby orcl_a needs to be reinstated [W000 2023-01-18T07:55:33.654+00:00] Try to connect to the new standby orcl_a. [W000 2023-01-18T07:55:33.654+00:00] Connection to the primary restored! [W000 2023-01-18T07:55:35.654+00:00] Disconnecting from database rds_custom_orcl_d. [W000 2023-01-18T07:55:57.701+00:00] Try to connect to the new standby orcl_a. ORA-12170: TNS:Connect timeout occurred
DBA
TarefaDescriçãoHabilidades necessárias

Criar e iniciar o serviço no banco de dados primário.

Você pode evitar alterações na configuração do aplicativo durante uma transição de função usando uma TNS entrada que contém os endpoints do banco de dados principal e standby na configuração. Você pode definir dois serviços de banco de dados baseados em funções para dar suporte a workloads de leitura/gravação e somente leitura. No exemplo a seguir, orcl_rw é o serviço de leitura/gravação que está ativo no banco de dados primário. orcl_ro é o serviço somente leitura e está ativo no banco de dados em espera que foi aberto no modo somente leitura.

SQL> select name,open_mode from v$database; NAME OPEN_MODE --------- -------------------- ORCL READ WRITE SQL> exec dbms_service.create_service('orcl_rw','orcl_rw'); PL/SQL procedure successfully completed. SQL> exec dbms_service.create_service('orcl_ro','orcl_ro'); PL/SQL procedure successfully completed. SQL> exec dbms_service.start_service('orcl_rw'); PL/SQL procedure successfully completed. SQL>
DBA

Iniciar o serviço no banco de dados em espera.

Para iniciar o serviço no banco de dados em espera somente leitura, use o código a seguir.

SQL> select name,open_mode from v$database; NAME OPEN_MODE --------- -------------------- ORCL READ ONLY WITH APPLY SQL> exec dbms_service.start_service('orcl_ro'); PL/SQL procedure successfully completed. SQL>
DBA

Automatizar a inicialização do serviço quando o banco de dados primário for reiniciado.

Para iniciar automaticamente o serviço no banco de dados primário quando ele for reiniciado, use o código a seguir.

SQL> CREATE OR REPLACE TRIGGER TrgDgServices after startup on database DECLARE db_role VARCHAR(30); db_open_mode VARCHAR(30); BEGIN SELECT DATABASE_ROLE, OPEN_MODE INTO db_role, db_open_mode FROM V$DATABASE; IF db_role = 'PRIMARY' THEN DBMS_SERV 2 ICE.START_SERVICE('orcl_rw'); END IF; IF db_role = 'PHYSICAL STANDBY' AND db_open_mode LIKE 'READ ONLY%' THEN DBMS_SERVICE.START_SERVICE('orcl_ro'); END IF; END; / Trigger created. SQL>
DBA

Configurar uma conexão entre os bancos de dados de leitura/gravação e somente leitura.

Você pode usar o seguinte exemplo de configuração de aplicativo para a conexão de leitura/gravação e somente leitura a seguir.

ORCL_RW = (DESCRIPTION = (CONNECT_TIMEOUT= 120)(RETRY_COUNT=20)(RETRY_DELAY=3)(TRANSPORT_CONNECT_TIMEOUT=3) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST=devpsftdb.******.us-west-2.rds.amazonaws.com)(PORT=1521)) (ADDRESS = (PROTOCOL = TCP)(HOST=psftread.******.us-west-2.rds.amazonaws.com)(PORT=1521)) ) (CONNECT_DATA=(SERVICE_NAME = orcl_rw)) ) ORCL_RO = (DESCRIPTION = (CONNECT_TIMEOUT= 120)(RETRY_COUNT=20)(RETRY_DELAY=3)(TRANSPORT_CONNECT_TIMEOUT=3) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST=devpsftdb.******.us-west-2.rds.amazonaws.com)(PORT=1521)) (ADDRESS = (PROTOCOL = TCP)(HOST=psftread.******.us-west-2.rds.amazonaws.com)(PORT=1521)) ) (CONNECT_DATA=(SERVICE_NAME = orcl_ro)) )
DBA

Recursos relacionados