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.
Sumário
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:
-
Crie um grupo de opções ou selecione um existente.
-
Adicione a opção
OLEDB_ORACLE
ao grupo de opções. -
Selecione uma versão do driver OLEDB para usar.
-
Associe o grupo de opções à instância de banco de dados.
-
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
Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/
. -
No painel de navegação, escolha Option groups (Grupos de opções).
-
Escolha Create group (Criar grupo).
-
Na janela Create option group (Criar grupo de opções), faça o seguinte:
-
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. -
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. -
Em Engine (Mecanismo), selecione sqlserver-se.
-
Em Major engine version (Versão do mecanismo principal), selecione 15.00.
-
-
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-namesqlserver-se
\ --major-engine-version15.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-namesqlserver-se
^ --major-engine-version15.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
Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/
. -
No painel de navegação, escolha Option groups (Grupos de opções).
-
Selecione o grupo de opções que você acabou de criar, que é oracle-oledb-se-2019 neste exemplo.
-
Escolha Add option (Adicionar opção).
-
Em Option details (Detalhes da opção), selecione OLEDB_ORACLE em Option name (Nome da opção).
-
Em Scheduling (Programação), escolha se deseja adicionar a opção imediatamente ou na próxima janela de manutenção.
-
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-immediatelyPara 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:
-
Para uma nova instância de banco de dados, associe-os ao executar a instância. Para obter mais informações, consulte Criar uma instância de banco de dados do Amazon RDS.
-
Para uma instância de banco de dados existente, associe-os modificando a instância. Para obter mais informações, consulte Modificar uma instância de banco de dados do Amazon RDS.
É 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-classdb.m5.2xlarge
\ --enginesqlserver-se
\ --engine-version15.0.4236.7.v1
\ --allocated-storage100
\ --manage-master-user-password \ --master-usernameadmin
\ --storage-typegp2
\ --license-modelli
\ --domain-iam-role-namemy-directory-iam-role
\ --domainmy-domain-id
\ --option-group-nameoracle-oledb-se-2019
\ --db-parameter-group-namemy-parameter-group-name
Para Windows:
aws rds create-db-instance ^ --db-instance-identifier
mytestsqlserveroracleoledbinstance
^ --db-instance-classdb.m5.2xlarge
^ --enginesqlserver-se
^ --engine-version15.0.4236.7.v1
^ --allocated-storage100
^ --manage-master-user-password ^ --master-usernameadmin
^ --storage-typegp2
^ --license-modelli
^ --domain-iam-role-namemy-directory-iam-role
^ --domainmy-domain-id
^ --option-group-nameoracle-oledb-se-2019
^ --db-parameter-group-namemy-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-nameoracle-oledb-se-2019
\ --db-parameter-group-namemy-parameter-group-name
\ --apply-immediatelyPara Windows:
aws rds modify-db-instance ^ --db-instance-identifier
mytestsqlserveroracleoledbinstance
^ --option-group-nameoracle-oledb-se-2019
^ --db-parameter-group-namemy-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 |
---|---|---|
|
1 |
Permite espaços reservados para SQL (representados por “?”) em consultas parametrizadas. |
|
1 |
Permite declarações |
|
0 |
Somente interfaces OLEDB de nível básico são chamadas em relação ao provedor. |
|
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. |
|
0 |
Se for diferente de zero, o SQL Server permitirá atualizações. |
|
Falso |
Se for diferente de zero, o SQL Server tentará usar índices do provedor para buscar dados. |
|
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. |
|
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
Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/
. -
No painel de navegação, escolha Option groups (Grupos de opções).
-
Selecione o grupo de opções com a opção
OLEDB_ORACLE
(oracle-oledb-se-2019
nos exemplos anteriores). -
Selecione Delete option (Excluir opção).
-
Em Deletion options (Opções de exclusão), selecione OLEDB_ORACLE em Options to delete (Opções a serem excluídas).
-
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.
-
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-immediatelyPara Windows:
aws rds remove-option-from-option-group ^ --option-group-name
oracle-oledb-se-2019
^ --options OLEDB_ORACLE ^ --apply-immediately