Créer une publication à partir d’une base de données Oracle

S'applique à : SQL Server

Cette rubrique décrit comment créer une publication à partir d'une base de données Oracle dans SQL Server en utilisant SQL Server Management Studio ou Transact-SQL.

Dans cette rubrique

Avant de commencer

Prérequis

  • Avant de créer une publication, vous devez installer le logiciel Oracle sur le serveur de distribution Microsoft SQL Server et configurer la base de données Oracle. Pour plus d’informations, consultez Configurer un serveur de publication Oracle.

Utilisation de SQL Server Management Studio

Créez une publication transactionnelle ou d'instantané à partir d'une base de données Oracle à l'aide de l'Assistant Nouvelle publication.

La première fois que vous créez une publication à partir d'une base de données Oracle, vous devez identifier le serveur de publication Oracle sur le serveur de distribution SQL Server (ce ne sera plus nécessaire pour les publications suivantes effectuées à partir de la même base de données). Pour identifier le serveur de publication Oracle, ouvrez l’Assistant Nouvelle publication ou la boîte de dialogue Propriétés du serveur de distribution - <serveur_distribution> ; cette rubrique illustre la boîte de dialogue Propriétés du serveur de distribution - <serveur_distribution>.

Pour identifier le serveur de publication Oracle sur le serveur de distribution SQL Server

  1. Dans SQL Server Management Studio, connectez-vous à l'instance SQL Server que le serveur de publication Oracle utilisera comme serveur de distribution puis développez le nœud du serveur.

  2. Cliquez avec le bouton droit sur le dossier Réplication , puis cliquez sur Propriétés du serveur de distribution.

  3. Dans la page Serveurs de publication de la boîte de dialogue Propriétés du serveur de distribution - <serveur_distribution>, cliquez sur Ajouter, puis sur Ajouter un serveur de publication Oracle.

  4. Dans la boîte de dialogue Se connecter au serveur , cliquez sur le bouton Options .

  5. Dans l'onglet Connexion :

    1. Entrez le nom de l'instance de base de données Oracle ou sélectionnez Parcourir dans la zone de liste déroulante Instance de serveur .

    2. Sélectionnez Authentification standard Oracle (recommandé) ou Authentification Windows.

      Si vous sélectionnez Authentification Windows: le serveur Oracle doit être configuré pour autoriser les connexions à l'aide des informations d'identification Windows (pour plus d'informations, consultez la documentation Oracle) et vous devez être actuellement connecté avec le même compte Microsoft Windows que celui spécifié pour le schéma utilisateur d'administration de réplication.

    3. Si vous sélectionnez Authentification standard Oracle, entrez le nom de connexion et le mot de passe du schéma utilisateur d'administration de réplication créé sur le serveur de publication Oracle pendant la configuration.

  6. Dans l'onglet Propriétés de la connexion , sélectionnez un type de serveur de publication ( Passerelle ou Complet).

    L'option Complet a pour but de fournir un instantané et des publications transactionnelles avec le jeu complet de fonctionnalités prises en charge pour le serveur de publication Oracle. L'option Passerelle permet l'optimisation de la conception en améliorant les performances pour les cas où la réplication sert de passerelle entre les systèmes. Vous ne pouvez pas utiliser l'option Passerelle si vous envisagez de publier la même table dans plusieurs publications transactionnelles. Une table peut apparaître au maximum dans une publication transactionnelle et dans une ou plusieurs publications d'instantané si vous sélectionnez Passerelle.

  7. Cliquez sur Se connecter, qui crée une connexion au serveur de publication Oracle et le configure pour la réplication. La boîte de dialogue Se connecter au serveur se ferme et vous revenez dans la boîte de dialogue Propriétés du serveur de distribution - <serveur_distribution>.

    Remarque

    En cas de problème lié à la configuration réseau, vous recevrez un message d'erreur à ce stade. Si vous rencontrez des difficultés pour vous connecter à la base de données Oracle, consultez la section « Connexion impossible du serveur de distribution SQL Server à l'instance de base de données Oracle » dans Troubleshooting Oracle Publishers.

  8. Cliquez sur OK.

Pour créer une publication à partir d'une base de données Oracle

  1. Connectez-vous à l'instance SQL Server que le serveur de publication Oracle utilisera comme serveur de distribution puis développez le nœud du serveur.

  2. Développez le dossier Réplication .

  3. Cliquez avec le bouton droit sur le dossier Publications locales , puis cliquez sur Nouvelle publication Oracle.

  4. Dans la page Serveur de publication Oracle de l'Assistant Nouvelle publication, sélectionnez le serveur de publication Oracle. S'il ne s'affiche pas, cliquez sur Ajouter un serveur de publication Oracle, puis suivez les étapes décrites dans la procédure précédente.

  5. Dans la page Type de publication, sélectionnez Publication d'instantané ou Publication transactionnelle.

  6. Dans la page Articles , sélectionnez les objets de base de données à publier.

    Retirez éventuellement des colonnes de table en développant une table et en désactivant la case à cocher d'une ou plusieurs colonnes. Cliquez sur Propriétés de l'article pour afficher et modifier les propriétés de l'article et spécifier, le cas échéant, d'autres mappages de types de données. Pour plus d’informations sur les mappages des types de données, consultez Spécifier des mappages de types de données pour un serveur de publication Oracle.

  7. Dans la page Filtrer les lignes de la table , appliquez éventuellement des filtres pour publier un sous-ensemble de données d'une ou plusieurs tables.

  8. Dans la page Agent d'instantané , désactivez Créer un instantané immédiatement uniquement si vous avez créé tous les objets et ajouté toutes les données requises dans la base de données d'abonnement.

  9. Dans la page Sécurité de l'Agent , spécifiez des informations d'identification pour l'Agent d'instantané (pour toutes les publications) et l'Agent de lecture du journal (pour les publications transactionnelles). Les Agents s'exécutent et se connectent au serveur de distribution SQL Server à l'aide du contexte du compte Microsoft Windows spécifié. Les Agents se connectent à la base de données Oracle avec le contexte du compte spécifié comme schéma utilisateur d'administration de réplication. Pour plus d’informations, consultez Configurer un serveur de publication Oracle.

    Pour plus d'informations sur les autorisations requises par chaque Agent, consultez Replication Agent Security Model et Replication Security Best Practices.

  10. Dans la page Actions de l'Assistant , créez éventuellement un script de la publication. Pour plus d'informations, voir Scripting Replication.

  11. Dans la page Terminer l'Assistant , spécifiez un nom pour la publication.

Utilisation de Transact-SQL

Une fois la base de données Oracle configurée comme serveur de publication, vous pouvez créer une publication transactionnelle ou d’instantané de la même façon que vous le feriez à partir un serveur de publication Microsoft SQL Server, en utilisant des procédures stockées système.

Pour créer une publication Oracle

  1. Configurez la base de données Oracle en tant que serveur de publication. Pour plus d’informations, consultez Configurer un serveur de publication Oracle.

  2. S'il n'existe pas de serveur de distribution distant, configurez-en un. Pour plus d’informations, consultez Configure Publishing and Distribution.

  3. Sur le serveur de distribution distant que le serveur de publication Oracle utilisera, exécutez sp_adddistpublisher (Transact-SQL). Spécifiez le nom TNS (transparent (TNS) network substrate) de l'instance de base de données Oracle pour @publisher et une valeur ORACLE ou ORACLE GATEWAY pour @publisher_type. Specify le mode de sécurité utilisé lors de la connexion entre le Serveur de publication Oracle et le serveur de distribution SQL Server distant parmi les modes suivants :

    • Pour utiliser l'authentification standard Oracle (valeur par défaut), affectez la valeur 0 à @security_mode, spécifiez la connexion du schéma utilisateur d'administration de réplication que vous avez créée sur le serveur de publication Oracle au cours de la configuration pour @loginet le mot de passe pour @password.

      Important

      Lorsque c'est possible, demande aux utilisateurs de fournir les informations d'identification au moment de l'exécution. Si vous stockez des informations d'identification dans un fichier de script, vous devez sécuriser le fichier pour empêcher tout accès non autorisé.

    • Pour utiliser l'authentification Windows, affectez la valeur 1 à @security_mode.

      Remarque

      Pour utiliser l'authentification Windows, le serveur Oracle doit être configuré pour autoriser les connexions à l'aide des informations d'identification Windows (pour plus d'informations, consultez la documentation Oracle) et vous devez être actuellement connecté avec le même compte Microsoft Windows que celui spécifié pour le schéma utilisateur d'administration de réplication.

  4. Créez un travail de l'Agent de lecture du journal pour la base de données de publication.

    • Si vous ne savez pas si un travail de l’Agent de lecture du journal existe pour une base de données publiée, exécutez sp_helplogreader_agent (Transact-SQL) au niveau du serveur de distribution utilisé par le serveur de publication Oracle dans la base de données de distribution. Spécifiez le nom du serveur de publication Oracle pour @publisher. Si le jeu de résultats est vide, un travail de l'Agent de lecture du journal doit être créé.

    • Si un travail de l'Agent de lecture du journal existe déjà pour la base de données de publication, passez à l'étape 5.

    • Dans la base de données de distribution sur le serveur de distribution utilisé par le serveur de publication Oracle, exécutez sp_addlogreader_agent (Transact-SQL). Spécifiez les informations d'identification Windows sous lesquelles l'agent s'exécute pour @job_login et @job_password.

      Remarque

      Le paramètre @job_login doit correspondre à la connexion fournie à l'étape 3. Ne fournissez pas d'informations de sécurité pour le serveur de publication. L'Agent de lecture du journal se connecte au serveur de publication à l'aide des informations de sécurité fournies à l'étape 3.

  5. Dans la base de données de distribution sur le serveur de distribution, exécutez sp_addpublication (Transact-SQL) pour créer la publication. Pour plus d’informations, voir Create a Publication.

  6. Dans la base de données de distribution sur le serveur de distribution, exécutez sp_addpublication_snapshot (Transact-SQL). Spécifiez le nom de publication utilisé à l'étape 4 pour @publication et les informations d'identification Windows sous lesquelles l'Agent d'instantané s'exécute pour @job_name et @password. Pour utiliser l'authentification standard Oracle lors de la connexion au serveur de publication, vous devez également affecter la valeur 0 à @publisher_security_mode et spécifier les informations de connexion Oracle pour @publisher_login et @publisher_password. Il s'ensuit la création d'un travail de l'Agent d'instantané pour la publication.