Configuration d'un serveur de publication Oracle
Les publications provenant des serveurs de publication Oracle sont créées de la même façon que les publications d'instantané et les publications transactionnelles standard. Toutefois, pour créer une publication provenant d'un serveur de publication Oracle, vous devez préalablement effectuer les étapes ci-après (les étapes un, trois et quatre sont décrites en détail dans cette rubrique).
Créez un utilisateur de réplication administratif dans la base de données Oracle à l'aide du script fourni.
S'agissant des tables à publier, attribuez directement l'autorisation SELECT à chacune d'elles (et non un rôle) à l'utilisateur administratif Oracle que vous avez créé à l'étape 1.
Installez le logiciel client Oracle et le fournisseur OLE DB Oracle sur le serveur de distribution Microsoft SQL Server, puis arrêtez et redémarrez l'instance SQL Server. Si le serveur de distribution s'exécute sur une plateforme 64 bits, vous devez utiliser la version 64 bits du fournisseur OLE DB Oracle.
Configurez la base de données Oracle en tant que serveur de publication sur le serveur de distribution SQL Server.
Pour obtenir une liste d'objets susceptibles d'être répliqués à partir d'une base de données Oracle, consultez Problèmes et limitations de conception des serveurs de publication Oracle.
Notes
Vous devez être membre du rôle serveur fixe sysadmin pour activer un serveur de publication ou un serveur de distribution, et pour créer une publication ou un abonnement Oracle à partir d'une publication Oracle.
Création du schéma utilisateur administratif de réplication dans la base de données Oracle
Les agents de réplication se connectent à la base de données Oracle et effectuent des opérations dans le cadre d'un schéma utilisateur que vous devez créer. Ce schéma doit bénéficier d'autorisations qui sont répertoriées dans la section suivante. Le schéma utilisateur possède tous les objets créés par le processus de réplication Microsoft SQL Server sur le serveur de publication Oracle, à l'exception d'un synonyme public, MSSQLSERVERDISTRIBUTOR. Pour plus d'informations sur les objets créés dans la base de données Oracle, consultez Objets créés sur le serveur de publication Oracle.
Notes
La suppression du synonyme public MSSQLSERVERDISTRIBUTOR et de l'utilisateur de réplication Oracle configuré à l'aide de l'option CASCADE supprime aussi tous les objets de réplication du serveur de publication Oracle.
Un exemple de script est fourni pour vous aider à configurer le schéma utilisateur de réplication Oracle. Le script est disponible dans le répertoire suivant après l'installation de SQL Server : <drive>:\\Program Files\Microsoft SQL Server\<InstanceName>\MSSQL\Install\oracleadmin.sql. Il est aussi inclus dans la rubrique Script pour l'attribution d'autorisations Oracle.
Connectez-vous à la base de données Oracle à l'aide d'un compte possédant des droits DBA, puis exécutez le script. Ce script vous invite à entrer le nom d'utilisateur et le mot de passe du schéma utilisateur administratif de réplication, ainsi que l'espace de table par défaut dans lequel créer les objets (l'espace de table doit déjà exister dans la base de données Oracle). Pour plus d'informations sur la spécification d'autres espaces de table pour des objets, consultez Gestion des espaces disque logiques Oracle. Choisissez un nom d'utilisateur et un mot de passe fort et n'oubliez pas de les noter car ces informations vous seront demandées par la suite lorsque vous configurerez la base de données Oracle en tant que serveur de publication. Il est recommandé de n'utiliser le schéma que pour les objets requis par la réplication et de ne pas y créer de tables à publier.
Création manuelle du schéma utilisateur
Si vous créez manuellement le schéma utilisateur administratif de réplication, vous devez lui attribuer les autorisations suivantes, soit directement, soit par le biais d'un rôle de base de données.
CREATE PUBLIC SYNONYM et DROP PUBLIC SYNONYM
CREATE PROCEDURE
CREATE SEQUENCE
CREATE SESSION
Vous devez également attribuer directement à l'utilisateur les autorisations suivantes (et non par le biais d'un rôle) :
CREATE ANY TRIGGER Elles sont requises uniquement pour la réplication transactionnelle et d'instantané.
CREATE TABLE
CREATE VIEW
Installation et configuration de logiciels réseau clients Oracle sur le serveur de distribution SQL Server
Vous devez installer et configurer les logiciels réseau clients Oracle et le fournisseur OLE DB Oracle sur le serveur de distribution SQL Server afin que celui-ci puisse se connecter au serveur de publication Oracle. Après l'installation des logiciels, attribuez les autorisations appropriées aux dossiers d'installation des logiciels, puis arrêtez et redémarrez l'instance SQL Server pour vous assurer de la mise à jour de tous les paramètres (les autorisations sont décrites ci-dessous dans la section « Définition des autorisations de répertoire »).
Notes
La version des logiciels réseau clients Oracle doit être la plus récente. Oracle recommande aux utilisateurs d'installer les dernières versions des logiciels clients. Par conséquent, la version des logiciels clients est souvent plus récente que celle des logiciels de base de données.
Le moyen le plus rapide d'installer et de configurer les logiciels réseau clients consiste à utiliser le programme d'installation universel (Universal Installer) d'Oracle ainsi que l'Assistant de configuration du réseau (Net Configuration Assistant) sur le disque client d'Oracle.
Dans le programme d'installation universel d'Oracle, indiquez les informations suivantes :
Information |
Description |
---|---|
Oracle Home |
Chemin d'accès du répertoire d'installation des logiciels Oracle. Acceptez le chemin par défaut (C:\oracle\ora90 ou équivalent) ou entrez un autre chemin. Pour plus d'informations sur Oracle Home, consultez la section « Considérations sur Oracle Home » plus loin dans cette rubrique. |
Nom d'Oracle Home |
Alias du chemin d'accès racine d'Oracle. |
Type d'installation |
Dans Oracle 10g, sélectionnez l'option d'installation Administrator. |
Lorsque le programme d'installation universel d'Oracle est terminé, utilisez l'Assistant de configuration du réseau pour configurer les connexions réseau. Vous devez fournir quatre informations pour configurer la connectivité réseau. L'administrateur de base de données Oracle configure le réseau lorsqu'il installe la base de données et l'écouteur, et doit être en mesure de vous donner ces informations si vous ne les connaissez pas. Vous devez effectuer les opérations suivantes :
Action |
Description |
---|---|
Identifier la base de données |
Il existe deux méthodes pour identifier la base de données. La première méthode utilise le SID (Oracle System Identifier) et est disponible dans chaque version d'Oracle. La seconde méthode utilise le nom de service, disponible à partir d'Oracle release 8.0 et versions ultérieures. Ces deux méthodes utilisent une valeur qui est configurée lors de la création de la base de données, et il est essentiel que la configuration réseau du client utilise la méthode de nommage déjà utilisée par l'administrateur lorsqu'il a configuré l'écouteur pour la base de données. |
Identifier un alias réseau pour la base de données |
Vous devez spécifier un alias réseau, utilisé pour accéder à la base de données Oracle. Fournissez également cet alias lorsque vous identifiez la base de données Oracle en tant que serveur de publication sur le serveur de distribution SQL Server. L'alias réseau est avant tout un pointeur sur le SID distant ou sur le nom du service configuré à la création de la base de données ; au fil des versions et des produits Oracle, son nom a changé, par exemple Nom du service réseau (Net Service Name) et Alias TNS (TNS Alias). SQL*Plus vous demande cet alias comme paramètre « Host String » lors de votre connexion. |
Sélectionner le protocole réseau |
Sélectionnez les protocoles que vous souhaitez prendre en charge. La plupart des applications utilisent TCP. |
Spécifier les informations d'hôte pour identifier l'écouteur de la base de données |
L'hôte est le nom ou l'alias DNS de l'ordinateur sur lequel s'exécute l'écouteur d'Oracle ; cet ordinateur est en général celui sur lequel réside la base de données. Pour certains protocoles, vous devez fournir des informations supplémentaires. Par exemple, si vous sélectionnez TCP, vous devez indiquer le port sur lequel le programme écoute les requêtes de connexion à la base de données cible. La configuration TCP par défaut utilise le port 1521. |
Définition des autorisations de répertoire
le compte sous lequel le service SQL Server s'exécute sur le serveur de distribution doit être doté d'autorisations en lecture et en écriture sur le répertoire (et tous les sous-répertoires) dans lequel les logiciels réseau clients Oracle sont installés.
Test de la connectivité entre le serveur de distribution SQL Server et le serveur de publication Oracle
L'Assistant de configuration du réseau propose en fin d'étapes une option de test de la connexion au serveur de publication Oracle. Avant de tester la connexion, vérifiez que l'instance de base de données Oracle est en ligne et que l'écouteur Oracle est en cours d'exécution. Si le test se solde par un échec, contactez l'administrateur de base de données Oracle chargé de la base de données à laquelle vous tentez de vous connecter.
Après avoir établi une connexion au serveur de publication Oracle, essayez de vous connecter à la base de données à l'aide du compte et du mot de passe associés au schéma utilisateur administratif de réplication que vous avez créé. Les opérations suivantes doivent être effectuées lors de l'exécution sous le même compte Windows que celui utilisé par le service SQL Server :
Cliquez sur Démarrer, puis sur Exécuter.
Tapez cmd, puis cliquez sur OK.
À l'invite de commandes, tapez :
sqlplus <UserSchemaLogin>/<UserSchemaPassword>@<NetServiceName>
Exemple : sqlplus replication/$tr0ngPasswerd@Oracle90Server
Si la configuration du réseau est réussie, la connexion est établie et une invite de commandes SQL s'affiche.
Si vous rencontrez des problèmes pour vous connecter à la base de données Oracle, consultez la section « Le serveur de distribution SQL Server ne peut pas se connecter à l'instance de base de données Oracle » dans Dépannage des serveurs de publication Oracle.
Considérations sur Oracle Home
Oracle prend en charge l'installation en mode côte à côte des binaires d'applications, mais seul un ensemble de binaires peut être utilisé par la réplication à un instant précis. Chaque jeu de binaires est associé à un répertoire d'origine Oracle Home ; les binaires se trouvent dans le répertoire %ORACLE_HOME%\bin. Vous devez vérifier que l'ensemble de binaires correct (notamment la dernière version des logiciels réseau clients) est utilisée lorsque la réplication établit des corrections avec le serveur de publication Oracle.
Connectez-vous au serveur de distribution avec les comptes utilisés par le service SQL Server et le service de l'agent SQL Server, puis définissez les variables d'environnement appropriées. La variable %ORACLE_HOME% doit être définie de façon à faire référence au point d'installation que vous avez spécifié lors de l'installation du logiciel réseau client. Le %PATH% doit inclure le répertoire %ORACLE_HOME% \bin comme la première entrée Oracle rencontrée. Pour plus d'informations sur la définition des variables d'environnement, reportez-vous à la documentation de Windows.
Configuration de la base de données Oracle en tant que serveur de publication sur le serveur de distribution SQL Server
Les serveurs de publication Oracle utilisent toujours un serveur de distribution distant ; vous devez configurer une instance de SQL Server qui agisse en tant que serveur de distribution pour votre serveur de publication Oracle (un serveur de publication Oracle ne peut utiliser qu'un seul serveur de distribution, mais un serveur de distribution unique peut servir plusieurs serveurs de publication Oracle). Une fois un serveur de distribution configuré, identifiez l'instance de base de données Oracle en tant que serveur de publication sur le serveur de distribution SQL Server via SQL Server Management Studio, Transact-SQL ou RMO (Replication Management Objects). Pour plus d'informations sur la configuration d'un serveur de distribution, consultez Configuration de la distribution.
Notes
Un serveur de publication Oracle ne peut pas porter le même nom que son serveur de distribution SQL Server ou que les serveurs de publication SQL Server utilisant le même serveur de distribution.
Lorsque vous identifiez la base de données Oracle en tant que serveur de publication, vous devez choisir une option de publication Oracle : Complète (Complete) ou Oracle Gateway. Une fois un serveur de publication identifié, cette option ne peut être modifiée sans supprimer et reconfigurer le serveur de publication. L'option Complète fournit aux publications d'instantané et aux publications transactionnelles l'ensemble complet des fonctionnalités prises en charge pour la publication Oracle. L'option Oracle Gateway fournit des optimisations de conception spécifiques, destinées à améliorer les performances lorsque la réplication sert de passerelle entre des systèmes.
Lorsque le serveur de publication Oracle a été identifié sur le serveur de distribution SQL Server, la réplication crée un serveur lié portant le même nom que le service TNS de la base de données Oracle. Ce serveur lié ne peut être utilisé que par la réplication. Si vous devez vous connecter au serveur de publication Oracle sur une connexion serveur lié, créez un autre nom de service TNS, puis utilisez ce nom lors de l'appel de sp_addlinkedserver (Transact-SQL).
Pour configurer un serveur de publication Oracle et créer une publication
SQL Server Management Studio: Procédure : créer une publication à partir d'une base de données Oracle (SQL Server Management Studio)
Programmation Transact-SQL de la réplication : Procédure : créer une publication à partir d'une base de données Oracle (programmation Transact-SQL de la réplication)