Partager via


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

Cette rubrique explique comment créer une publication à partir d’une base de données Oracle dans SQL Server 2014 à l’aide de SQL Server Management Studio ou de Transact-SQL.

Dans cette rubrique

Avant de commencer

Conditions préalables

  • Avant de créer une publication, vous devez installer le logiciel Oracle sur le serveur de distribution Microsoft SQL Server, et vous devez 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 instantanée ou transactionnelle à partir d'une base de données Oracle avec l'Assistant de 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 (vous n’avez pas besoin de le faire pour les publications suivantes à partir de la même base de données.). L’identification de l'éditeur Oracle peut être effectuée à partir de l’Assistant Nouvelle Publication ou de la boîte de dialogue Propriétés du Distributeur - <Distributeur> ; cette rubrique montre la boîte de dialogue Propriétés du Distributeur - <Distributeur>.

Pour identifier le composant Oracle Publisher au niveau du distributeur 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 de 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. Sous l’onglet Connexion :

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

    2. Sélectionnez Authentification Oracle Standard (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 connecté avec le même compte Microsoft Windows que vous avez spécifié pour le schéma utilisateur administratif de réplication.

    3. Si vous sélectionnez l’authentification Oracle Standard, entrez la connexion et le mot de passe du schéma utilisateur d’administration de réplication que vous avez créés sur le serveur de publication Oracle pendant la configuration.

  6. Sous l’onglet Propriétés de connexion, sélectionnez un type de publieur de passerelle ou complet.

    L’option Complete est conçue pour fournir aux publications instantanées et transactionnelles l’ensemble complet des fonctionnalités prises en charge pour la publication Oracle. L’option passerelle fournit des optimisations de conception spécifiques pour améliorer les performances dans les cas où la réplication sert de passerelle entre les systèmes. Impossible d’utiliser l’option passerelle si vous envisagez de publier la même table dans plusieurs publications transactionnelles. Une table peut apparaître dans au plus une publication transactionnelle et dans un nombre quelconque de publications instantanées 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 êtes retourné à la boîte de dialogue Propriétés du serveur de distribution - <Serveur de distribution> .

    Remarque

    S’il existe des problèmes avec la configuration réseau, vous recevrez une erreur à ce stade. Si vous rencontrez des problèmes de connexion à 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 résolution des problèmes liés aux serveurs de publication Oracle.

  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. Affichez le dossier Répliquer.

  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. Si le serveur de publication Oracle n’est pas affiché, cliquez sur Ajouter un serveur de publication Oracle, qui vous guide dans les étapes de 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 que vous souhaitez publier.

    Si vous le souhaitez, filtrez les colonnes d'une table en dépliant cette table, puis désactivez la case à cocher pour 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 d’autres mappages de types de données si nécessaire. Pour plus d’informations sur les mappages de 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 table , appliquez éventuellement des filtres pour publier un sous-ensemble de données à partir 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 les informations d’identification de l’Agent d’instantané (pour toutes les publications) et de l’Agent de lecture du journal (pour les publications transactionnelles). Les agents exécutent et établissent des connexions au serveur de distribution SQL Server à l’aide du contexte du compte Microsoft Windows que vous spécifiez. Les agents établissent des connexions à la base de données Oracle à l’aide du contexte du compte que vous avez spécifié comme schéma d’utilisateur administratif 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 Le modèle de sécurité de l’agent de réplication et les meilleures pratiques de sécurité de réplication.

  10. Dans la page Actions de l’Assistant , scriptez éventuellement la publication. Pour plus d’informations, consultez La réplication de script.

  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 en tant que serveur de publication, vous pouvez créer une publication transactionnelle ou d’instantané de la même façon que vous le feriez à partir d’un serveur de publication Microsoft SQL Server à l’aide de 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. Si un serveur de distribution distant n’existe pas, configurez le serveur de distribution distant. Pour plus d’informations, consultez Configurer la publication et la 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 Network Substrate) de l’instance de base de données Oracle pour @publisher et une valeur de ORACLE ou ORACLE GATEWAY pour @publisher_type. Specify le mode de sécurité utilisé lors de la connexion à partir du serveur de publication Oracle au serveur de distribution SQL Server distant comme l’un des éléments suivants :

    • Pour utiliser l’authentification Oracle Standard, la valeur par défaut, spécifiez la valeur 0 pour @security_mode, la connexion du schéma utilisateur administratif de réplication que vous avez créé sur le serveur de publication Oracle pendant la configuration de @login et le mot de passe pour @password.

      Important

      Si possible, invitez les utilisateurs à entrer des informations d’identification de sécurité 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 l’accès non autorisé.

    • Pour utiliser l’authentification Windows, spécifiez la valeur 1 pour @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 connecté avec le même compte Microsoft Windows que vous avez spécifié pour le schéma d’utilisateur administratif de réplication.

  4. Créez une tâche 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) sur le serveur de distribution utilisé par le serveur de publication Oracle sur 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, une tâche d’Agent de lecture de journal doit être créée.

    • Si une tâche de l’agent lecteur du journal existe déjà pour la base de données de publication, passez à l’étape 5.

    • Sur le serveur de distribution utilisé par l'éditeur Oracle sur la base de données de distribution, 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é sur l’éditeur. L’agent de lecture du journal se connecte à l'éditeur à l’aide des informations de sécurité fournies à l’étape 3.

  5. Sur le serveur de distribution de la base de données de distribution, exécutez sp_addpublication (Transact-SQL) pour créer la publication. Pour plus d’informations, consultez Créer une publication.

  6. Sur le serveur de distribution de la base de données 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 Oracle Standard lors de la connexion au serveur de publication, vous devez également spécifier la valeur 0 pour @publisher_security_mode et les informations de connexion Oracle pour @publisher_login et @publisher_password. Cela crée un travail de l’Agent d’instantané pour la publication.

Voir aussi

Configurer un serveur de publication Oracle
Publier des données et des objets de base de données
Configurer le travail d’un jeu de transactions pour un serveur de publication Oracle (programmation Transact-SQL de la réplication)
Vue d’ensemble de l’édition Oracle
Script pour accorder des permissions Oracle