Suporte para servidores vinculados ao Oracle OLEDB no Amazon RDS para SQL Server - Amazon Relational Database Service

Suporte para servidores vinculados ao Oracle OLEDB no Amazon RDS para SQL Server

Os servidores vinculados ao Oracle Provider para OLEDB no RDS para SQL Server possibilitam que você acesse fontes de dados externas em um banco de dados Oracle. Você pode ler dados de fontes de dados Oracle remotas e executar comandos em servidores de banco de dados Oracle remotos fora de sua instância de banco de dados do RDS para SQL Server. Usando servidores vinculados ao Oracle OLEDB, você pode:

  • Acessar diretamente fontes de dados que não sejam o SQL Server

  • Consultar diversas fontes de dados do Oracle com a mesma consulta sem mover os dados

  • Emitir consultas, atualizações, comandos e transações distribuídos em fontes de dados em um ecossistema corporativo

  • Integrar conexões com um banco de dados Oracle a partir do pacote Microsoft Business Intelligence (SSIS, SSRS, SSAS)

  • Migrar de um banco de dados Oracle para o RDS para SQL Server

Você pode ativar um ou mais servidores vinculados para Oracle em uma instância de banco de dados existente ou nova do RDS para SQL Server. Depois, é possível integrar fontes de dados Oracle externas à sua instância de banco de dados.

Versões e regiões compatíveis

O RDS para SQL Server é compatível com servidores vinculados ao Oracle OLEDB em todas as regiões para as edições SQL Server Standard e Enterprise Edition nas seguintes versões:

  • SQL Server 2022, todas as versões

  • SQL Server 2019, todas as versões

  • SQL Server 2017, todas as versões

Os servidores vinculados ao Oracle OLEDB são compatíveis com as seguintes versões do banco de dados Oracle:

  • Oracle Database 21c, todas as versões

  • Oracle Database 19c, todas as versões

  • Oracle Database 18c, todas as versões

Limitações e recomendações

Lembre-se das seguintes limitações e recomendações que se aplicam aos servidores vinculados ao Oracle OLEDB:

  • Permita o tráfego de rede adicionando a porta TCP aplicável no grupo de segurança para cada instância de banco de dados do RDS para SQL Server. Por exemplo, se você estiver configurando um servidor vinculado entre uma instância de banco de dados Oracle do EC2 e uma instância de banco de dados do RDS para SQL Server, deverá permitir o tráfego do endereço IP da instância de banco de dados Oracle do EC2. Você também deve permitir o tráfego na porta que o SQL Server está usando para escutar a comunicação do banco de dados. Para obter mais informações sobre grupos de segurança, consulte Controlar acesso com grupos de segurança.

  • Execute uma reinicialização da instância de banco de dados do RDS para SQL Server depois de ativar, desativar ou modificar a opção OLEDB_ORACLE em seu grupo de opções. O status do grupo de opções é pending_reboot para esses eventos e é obrigatório.

  • Somente a autenticação simples é compatível com nome de usuário e senha para a fonte de dados Oracle.

  • Não há suporte aos drivers do Open Database Connectivity (ODBC). Somente a versão mais recente do driver OLEDB é compatível.

  • Transações distribuídas (XA) são compatíveis. Para ativar transações distribuídas, ative a opção MSDTC no Grupo de Opções para sua instância de banco de dados e garanta que as transações XA estejam ativadas. Para obter mais informações, consulte Suporte para o Microsoft Distributed Transaction Coordinator no RDS for SQL Server.

  • A criação de nomes de fonte de dados (DSNs) para usar como atalho para uma cadeia de conexão não é compatível.

  • O rastreamento do driver OLEDB não é compatível. Você pode usar o SQL Server Extended Events para rastrear eventos do OLEDB. Para obter mais informações, consulte Set up Extended Events in RDS for SQL Server (Configurar eventos estendidos no RDS para SQL Server).

  • O acesso à pasta de catálogos de um servidor vinculado Oracle não é compatível com ouso do SQL Server Management Studio (SSMS).

Ativar servidores vinculados ao Oracle

Ative servidores vinculados ao Oracle adicionando a opção OLEDB_ORACLE à sua instância de banco de dados do RDS para SQL Server. Use o seguinte processo:

  1. Crie um grupo de opções ou selecione um existente.

  2. Adicione a opção OLEDB_ORACLE ao grupo de opções.

  3. Selecione uma versão do driver OLEDB para usar.

  4. Associe o grupo de opções à instância de banco de dados.

  5. Reinicialize a instância de banco de dados.

Criar o grupo de opções para OLEDB_ORACLE

Para trabalhar com servidores vinculados ao Oracle, crie um grupo de opções ou modifique um grupo de opções que corresponda à edição do SQL Server e à versão da instância de banco de dados que você pretende usar. Para concluir esse procedimento, use o AWS Management Console ou a AWS CLI.

O procedimento a seguir cria um grupo de opções para o SQL Server Standard Edition 2019.

Como criar o grupo de opções
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Option groups (Grupos de opções).

  3. Escolha Create group (Criar grupo).

  4. Na janela Create option group (Criar grupo de opções), faça o seguinte:

    1. Em Name (Nome), insira um nome para o grupo de opções que seja exclusivo na sua conta da AWS, como oracle-oledb-se-2019. O nome pode conter somente letras, números e hifens.

    2. Em Descrição, insira uma breve descrição do grupo de opções, como OLEDB_ORACLE option group for SQL Server SE 2019. A descrição é usada para fins de exibição.

    3. Em Engine (Mecanismo), selecione sqlserver-se.

    4. Em Major engine version (Versão do mecanismo principal), selecione 15.00.

  5. Escolha Create (Criar).

O procedimento a seguir cria um grupo de opções para o SQL Server Standard Edition 2019.

Como criar o grupo de opções
  • Execute um dos seguintes comandos:

    Para Linux, macOS ou Unix:

    aws rds create-option-group \ --option-group-name oracle-oledb-se-2019 \ --engine-name sqlserver-se \ --major-engine-version 15.00 \ --option-group-description "OLEDB_ORACLE option group for SQL Server SE 2019"

    Para Windows:

    aws rds create-option-group ^ --option-group-name oracle-oledb-se-2019 ^ --engine-name sqlserver-se ^ --major-engine-version 15.00 ^ --option-group-description "OLEDB_ORACLE option group for SQL Server SE 2019"

Adicionar a opção OLEDB_ORACLE ao grupo de opções

Depois, use o AWS Management Console ou a AWS CLI para adicionar a opção OLEDB_ORACLE ao grupo de opções.

Como adicionar a opção OLEDB_ORACLE
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Option groups (Grupos de opções).

  3. Selecione o grupo de opções que você acabou de criar, que é oracle-oledb-se-2019 neste exemplo.

  4. Escolha Add option (Adicionar opção).

  5. Em Option details (Detalhes da opção), selecione OLEDB_ORACLE em Option name (Nome da opção).

  6. Em Scheduling (Programação), escolha se deseja adicionar a opção imediatamente ou na próxima janela de manutenção.

  7. Escolha Add option (Adicionar opção).

Como adicionar a opção OLEDB_ORACLE
  • Adicione a opção OLEDB_ORACLE ao grupo de opções.

    Para Linux, macOS ou Unix:

    aws rds add-option-to-option-group \ --option-group-name oracle-oledb-se-2019 \ --options OptionName=OLEDB_ORACLE \ --apply-immediately

    Para Windows:

    aws rds add-option-to-option-group ^ --option-group-name oracle-oledb-se-2019 ^ --options OptionName=OLEDB_ORACLE ^ --apply-immediately

Associar o grupo de opções à instância de banco de dados

Para associar o grupo de opções OLEDB_ORACLE e o grupo de parâmetros à sua instância de banco de dados, use o AWS Management Console ou a AWS CLI

Para concluir a ativação de servidores vinculados para Oracle, associe o grupo de opções OLEDB_ORACLE a uma instância de banco de dados nova ou existente:

É possível associar o grupo de opções OLEDB_ORACLE e o grupo de parâmetros a uma instância de banco de dados nova ou existente.

Como criar uma instância com o grupo de opções OLEDB_ORACLE e o grupo de parâmetros
  • Especifique o mesmo tipo de mecanismo de banco de dados e a versão principal que você usou ao criar o grupo de opções.

    Para Linux, macOS ou Unix:

    aws rds create-db-instance \ --db-instance-identifier mytestsqlserveroracleoledbinstance \ --db-instance-class db.m5.2xlarge \ --engine sqlserver-se \ --engine-version 15.0.4236.7.v1 \ --allocated-storage 100 \ --manage-master-user-password \ --master-username admin \ --storage-type gp2 \ --license-model li \ --domain-iam-role-name my-directory-iam-role \ --domain my-domain-id \ --option-group-name oracle-oledb-se-2019 \ --db-parameter-group-name my-parameter-group-name

    Para Windows:

    aws rds create-db-instance ^ --db-instance-identifier mytestsqlserveroracleoledbinstance ^ --db-instance-class db.m5.2xlarge ^ --engine sqlserver-se ^ --engine-version 15.0.4236.7.v1 ^ --allocated-storage 100 ^ --manage-master-user-password ^ --master-username admin ^ --storage-type gp2 ^ --license-model li ^ --domain-iam-role-name my-directory-iam-role ^ --domain my-domain-id ^ --option-group-name oracle-oledb-se-2019 ^ --db-parameter-group-name my-parameter-group-name
Como modificar uma instância e associar o grupo de opções OLEDB_ORACLE
  • Execute um dos seguintes comandos:

    Para Linux, macOS ou Unix:

    aws rds modify-db-instance \ --db-instance-identifier mytestsqlserveroracleoledbinstance \ --option-group-name oracle-oledb-se-2019 \ --db-parameter-group-name my-parameter-group-name \ --apply-immediately

    Para Windows:

    aws rds modify-db-instance ^ --db-instance-identifier mytestsqlserveroracleoledbinstance ^ --option-group-name oracle-oledb-se-2019 ^ --db-parameter-group-name my-parameter-group-name ^ --apply-immediately

Modificar propriedades do provedor do OLEDB

Você pode visualizar e alterar as propriedades do provedor do OLEDB. Somente o usuário master pode realizar essa tarefa. Todos os servidores vinculados para Oracle criados na instância de banco de dados usam as mesmas propriedades desse provedor do OLEDB. Chame o procedimento armazenado sp_MSset_oledb_prop para alterar as propriedades do provedor do OLEDB.

Como alterar as propriedades do provedor do OLEDB

USE [master] GO EXEC sp_MSset_oledb_prop N'OraOLEDB.Oracle', N'AllowInProcess', 1 EXEC sp_MSset_oledb_prop N'OraOLEDB.Oracle', N'DynamicParameters', 0 GO

As seguintes propriedades podem ser modificadas:

Nome da propriedade Valor recomendado (1 = ativado, 0 = desativado) Descrição

Dynamic parameter

1

Permite espaços reservados para SQL (representados por “?”) em consultas parametrizadas.

Nested queries

1

Permite declarações SELECT aninhadas na cláusula FROM, como subconsultas.

Level zero only

0

Somente interfaces OLEDB de nível básico são chamadas em relação ao provedor.

Allow inprocess

1

Se ativado, o Microsoft SQL Server permite que o provedor seja instanciado como um servidor em processo. Defina essa propriedade como 1 para usar servidores vinculados Oracle.

Non transacted updates

0

Se for diferente de zero, o SQL Server permitirá atualizações.

Index as access path

Falso

Se for diferente de zero, o SQL Server tentará usar índices do provedor para buscar dados.

Disallow adhoc access

Falso

Se definido, o SQL Server não permitirá a execução de consultas de passagem no provedor do OLEDB. Embora essa opção possa ser marcada, às vezes é apropriado executar consultas de passagem.

Supports LIKE operator

1

Indica que o provedor é compatível com consultas usando a palavra-chave LIKE.

Modificar propriedades do driver OLEDB

Você pode visualizar e alterar as propriedades do driver OLEDB ao criar um servidor vinculado para Oracle. Somente o usuário master pode realizar essa tarefa. As propriedades do driver definem como o driver OLEDB manipula os dados ao trabalhar com uma fonte de dados Oracle remota. As propriedades do driver são específicas de cada servidor vinculado Oracle criado na instância de banco de dados. Chame o procedimento armazenado master.dbo.sp_addlinkedserver para alterar as propriedades do driver OLEDB.

Exemplo: Para criar um servidor vinculado e alterar a propriedade FetchSize do driver OLEDB

EXEC master.dbo.sp_addlinkedserver @server = N'Oracle_link2', @srvproduct=N'Oracle', @provider=N'OraOLEDB.Oracle', @datasrc=N'my-oracle-test.cnetsipka.us-west-2.rds.amazonaws.com:1521/ORCL, @provstr='FetchSize=200' GO
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'Oracle_link2', @useself=N'False', @locallogin=NULL, @rmtuser=N'master', @rmtpassword='Test#1234' GO
nota

Especifique uma senha diferente do prompt mostrado aqui como prática recomendada de segurança.

Desativar servidores vinculados ao Oracle

Para desabilitar servidores vinculados ao Oracle, remova a opção OLEDB_ORACLE do grupo de opções.

Importante

Remover a opção não exclui as configurações de servidor vinculado existentes na instância de banco de dados. Você deve descartá-los manualmente para removê-los da instância de banco de dados.

Você pode reativar a opção OLEDB_ORACLE após a remoção para reutilizar as configurações do servidor vinculado definidas anteriormente na instância de banco de dados.

O procedimento a seguir remove a opção OLEDB_ORACLE.

Como remover a opção OLEDB_ORACLE do grupo de opções
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Option groups (Grupos de opções).

  3. Selecione o grupo de opções com a opção OLEDB_ORACLE (oracle-oledb-se-2019 nos exemplos anteriores).

  4. Selecione Delete option (Excluir opção).

  5. Em Deletion options (Opções de exclusão), selecione OLEDB_ORACLE em Options to delete (Opções a serem excluídas).

  6. Em Apply immediately (Aplicar imediatamente), selecione Yes (Sim) para excluí-la imediatamente ou No (Não) para excluí-la na próxima janela de manutenção.

  7. Escolha Delete (Excluir).

O procedimento a seguir remove a opção OLEDB_ORACLE.

Como remover a opção OLEDB_ORACLE do grupo de opções
  • Execute um dos seguintes comandos:

    Para Linux, macOS ou Unix:

    aws rds remove-option-from-option-group \ --option-group-name oracle-oledb-se-2019 \ --options OLEDB_ORACLE \ --apply-immediately

    Para Windows:

    aws rds remove-option-from-option-group ^ --option-group-name oracle-oledb-se-2019 ^ --options OLEDB_ORACLE ^ --apply-immediately