Configurazione di un server di pubblicazione OracleConfigure an Oracle Publisher

La creazione di una pubblicazione nei server di pubblicazione Oracle avviene in maniera analoga al processo di creazione delle comuni pubblicazioni snapshot e transazionali, ma prima di poter effettivamente eseguire questo processo è necessario completare la procedura seguente (i primi quattro passaggi verranno descritti in dettaglio di seguito in questo argomento):Publications from Oracle Publishers are created in the same way typical snapshot and transactional publications are created, but prior to creating a publication from an Oracle Publisher, you must complete the following steps (steps one, three, and four are described in detail in this topic.):

  1. Creare un utente di amministrazione della replica nel database Oracle utilizzando l'apposito script.Create a replication administrative user within the Oracle database using the supplied script.

  2. Concedere direttamente, anziché tramite un ruolo, all'utente di amministrazione di Oracle creato nel passaggio 1 l'autorizzazione SELECT per ogni tabella che verrà pubblicata.For the tables that you will publish, grant SELECT permission directly on each of them (not through a role) to the Oracle administrative user you created in step one.

  3. Installare il software client Oracle e il provider OLE DB nel server di distribuzione MicrosoftMicrosoft SQL ServerSQL Server e quindi arrestare e riavviare l'istanza di SQL ServerSQL Server .Install the Oracle client software and OLE DB provider on the MicrosoftMicrosoft SQL ServerSQL Server Distributor, and then stop and restart the SQL ServerSQL Server instance. Se il server di distribuzione viene eseguito su una piattaforma a 64 bit, è necessario utilizzare la versione a 64 bit del provider OLE DB Oracle.If the Distributor is running on a 64 bit platform, you must use the 64 bit version of the Oracle OLE DB provider.

  4. Configurare il database Oracle come server di pubblicazione nel server di distribuzione SQL ServerSQL Server .Configure the Oracle database as a Publisher at the SQL ServerSQL Server Distributor.

    Per un elenco di oggetti che possono essere replicati da un database Oracle, vedere Considerazioni e limitazioni relative alla progettazione dei server di pubblicazione Oracle.For a list of objects that can be replicated from an Oracle database, see Design Considerations and Limitations for Oracle Publishers.

Nota

Per poter abilitare un server di pubblicazione o di distribuzione e creare una pubblicazione o una sottoscrizione Oracle da una pubblicazione Oracle, è necessario essere membri del ruolo predefinito del server sysadmin .You must be a member of the sysadmin fixed server role to enable a Publisher or Distributor and to create an Oracle publication or a subscription from an Oracle publication.

Creazione di uno schema utente di amministrazione della replica all'interno del database OracleCreating the Replication Administrative User Schema within the Oracle Database

Gli agenti di replica si connettono al database Oracle e svolgono operazioni nel contesto di uno schema utente che deve essere appositamente creato.Replication agents connect to the Oracle database and perform operations in the context of a user schema that you must create. A questo schema devono essere concesse alcune autorizzazioni, elencate nella sezione successiva.This schema must be granted a number of permissions, which are listed in the next section. A tale schema appartengono tutti gli oggetti creati dal processo di replica di MicrosoftMicrosoft SQL ServerSQL Server sul server di pubblicazione Oracle, ad eccezione del sinonimo pubblico MSSQLSERVERDISTRIBUTOR.This schema owns all objects created by the MicrosoftMicrosoft SQL ServerSQL Server replication process on the Oracle Publisher, with the exception of a public synonym, MSSQLSERVERDISTRIBUTOR. Per ulteriori informazioni sugli oggetti creati nel database Oracle, vedere Objects Created on the Oracle Publisher.For more information about the objects created in the Oracle database, see Objects Created on the Oracle Publisher.

Nota

Eliminando il sinonimo pubblico MSSQLSERVERDISTRIBUTOR e l’utente della replica Oracle configurato con l’opzione CASCADE vengono rimossi tutti gli oggetti di replica dalla pubblicazione Oracle.Dropping the MSSQLSERVERDISTRIBUTOR public synonym and the configured Oracle replication user with the CASCADE option removes all replication objects from the Oracle Publisher.

È disponibile uno script di esempio che consente di agevolare la configurazione dello schema utente di replica Oracle.A sample script has been provided to aid in the setup of the Oracle replication user schema. Lo script viene incluso nella directory seguente dopo l'installazione di SQL ServerSQL Server: <unità>:\\Programmi\Microsoft SQL Server\<NomeIstanza>\MSSQL\Install\oracleadmin.sql.The script is available in the following directory after installation of SQL ServerSQL Server: <drive>:\\Program Files\Microsoft SQL Server\<InstanceName>\MSSQL\Install\oracleadmin.sql. È inoltre descritto in Script to Grant Oracle Permissions.It is also included in the topic Script to Grant Oracle Permissions.

Connettersi al database Oracle utilizzando un account con privilegi DBA ed eseguire lo script.Connect to the Oracle database using an account with DBA privileges and execute the script. Lo script richiede l'indicazione del nome utente e della password per lo schema utente di amministrazione della replica e dello spazio tabella in cui creare gli oggetti (lo spazio tabella deve essere già disponibile nel database Oracle).This script prompts for the user and password for the replication administrative user schema as well as the default tablespace in which to create the objects (the tablespace must already exist in the Oracle database). Per informazioni sull'impostazione di altri spazi tabella per gli oggetti, vedere Gestire spazi di tabella Oracle.For information about specifying other tablespaces for objects, see Manage Oracle Tablespaces. Scegliere un nome utente e una password complessa e prenderne nota poiché verranno richiesti durante la configurazione del database Oracle come server di pubblicazione.Choose any user name and strong password, but make note of both because you will be prompted for this information later when you configure the Oracle database as a Publisher. È consigliabile utilizzare lo schema solo per gli oggetti necessari alla replica ed evitare di creare tabelle da pubblicare in questo schema.It is recommended that the schema be used only for objects required by replication; do not create tables to be published in this schema.

Creazione manuale di uno schema utenteCreating the User Schema Manually

Se si crea manualmente uno schema utente di amministrazione della replica, è necessario concedere allo schema le autorizzazioni seguenti, in modo diretto o tramite un ruolo di database.If you create the replication administrative user schema manually, you must grant the schema the following permissions, either directly or through a database role.

  • CREATE PUBLIC SYNONYM e DROP PUBLIC SYNONYMCREATE PUBLIC SYNONYM and DROP PUBLIC SYNONYM

  • CREATE PROCEDURECREATE PROCEDURE

  • CREATE SEQUENCECREATE SEQUENCE

  • CREATE SESSIONCREATE SESSION

    È inoltre necessario concedere direttamente le autorizzazioni seguenti all'utente (senza utilizzare un ruolo):You must also grant the following permissions to the user directly (not through a role):

  • CREATE ANY TRIGGER.CREATE ANY TRIGGER. È obbligatorio solo in caso di replica transazionale e snapshot.This is required only both snapshot and transactional replication.

  • CREATE TABLECREATE TABLE

  • CREATE VIEWCREATE VIEW

Installazione e configurazione del software di rete client Oracle nel server di distribuzione SQL ServerInstalling and Configuring Oracle Client Networking Software on the SQL Server Distributor

È necessario installare e configurare il software di rete client Oracle e il provider OLE DB Oracle sul server di distribuzione SQL ServerSQL Server affinché il server di distribuzione possa creare connessioni con il server di pubblicazione Oracle.You must install and configure Oracle client networking software and the Oracle OLE DB provider on the SQL ServerSQL Server Distributor, so that the Distributor can make connections to the Oracle Publisher. Dopo aver installato il software, impostare le autorizzazioni appropriate per le cartelle in cui è installato il software e arrestare e riavviare l'istanza di SQL ServerSQL Server per garantire che tutte le impostazioni vengano aggiornate (le autorizzazioni verranno descritte di seguito nella sezione "Impostazione delle autorizzazioni per le directory").After installing the software, set the appropriate permissions on the folders in which the software is installed, and then stop and restart the SQL ServerSQL Server instance to ensure that all settings are updated (permissions are described later, in the section "Setting Directory Permissions").

Nota

La versione del software di rete client Oracle deve essere aggiornata.The Oracle client networking software must be the most recent version available. È consigliabile installare l'ultima versione del software client.Oracle recommends that users install the most recent versions of client software. Per tale motivo, la versione del software client è spesso successiva a quella del software del database.The client software is therefore often a more recent version than the database software.

Il modo più diretto per installare e configurare il software di rete client consiste nell'utilizzare Oracle Universal Installer e Net Configuration Assistant dal disco del client Oracle.The most straightforward way to install and configure the client networking software is to use the Oracle Universal Installer and Net Configuration Assistant on the Oracle Client disk.

In Oracle Universal Installer, è necessario inserire le informazioni seguenti:In the Oracle Universal Installer, you will supply the following information:

InformazioniInformation DescrizioneDescription
Oracle HomeOracle Home Percorso della directory di installazione del software Oracle.This is the path to the install directory for the Oracle software. Accettare il percorso predefinito (C:\oracle\ora90 o simile) o inserirne un altro.Accept the default (C:\oracle\ora90 or similar) or enter another path. Per ulteriori informazioni su Oracle Home, vedere la sezione relativa alle considerazioni su Oracle Home più avanti in questo argomento.For more information about the Oracle Home, see the section "Considerations for Oracle Home" later in this topic.
Oracle home nameOracle home name Alias del percorso di Oracle Home.An alias for the Oracle home path.
Installation typeInstallation type In Oracle 10g, selezionare l'opzione di installazione Administrator .In Oracle 10g, select the Administrator installation option.

Dopo aver completato la procedura di Oracle Universal Installer, utilizzare Net Configuration Assistant per configurare la connettività di rete.After the Oracle Universal Installer is complete, use the Net Configuration Assistant to configure network connectivity. È necessario indicare quattro informazioni per configurare la connettività di rete.You must supply four pieces of information to configure network connectivity. L'amministratore del database Oracle definisce la configurazione di rete quando imposta il database e il listener e deve essere in grado di offrire queste informazioni se l'utente non le possiede.The Oracle database administrator configures the network configuration when setting up the database and listener and should be able to provide this information if you do not have it. Eseguire le operazioni seguenti:You must do the following:

AzioneAction DescrizioneDescription
Identificazione del databaseIdentify the database Per l'identificazione del database sono disponibili due modalità.There are two methods for identifying the database. La prima modalità utilizza il SID (Oracle System Identifier) ed è disponibile in ogni release di Oracle.The first method uses the Oracle System Identifier (SID) and is available in every Oracle release. La seconda utilizza il Service Name, disponibile a partire da Oracle 8.0.The second method uses the Service Name, which is available starting with Oracle release 8.0. Entrambe le modalità utilizzano un valore configurato alla creazione del database ed è importante che la configurazione di rete del client utilizzi la stessa modalità di denominazione utilizzata dall'amministratore nella configurazione del listener per il database.Both methods use a value that is configured when the database is created and it is important that the client networking configuration use the same naming method that the administrator used when configuring the listener for the database.
Identificazione di un alias di rete per il databaseIdentify a network alias for the database È necessario specificare un alias di rete che verrà utilizzato per accedere al database Oracle.You must specify a network alias, which is used to access the Oracle database. L'alias deve inoltre essere specificato quando si identifica il database Oracle come server di pubblicazione nel server di distribuzione SQL ServerSQL Server .You also supply this alias when you identify the Oracle database as a Publisher at the SQL ServerSQL Server Distributor. Si tratta in sostanza di un puntatore al Service Name o al SID remoto che è stato configurato quando è stato creato il database. Per l'alias di rete sono stati utilizzati diversi nomi nelle diverse release e nei diversi prodotti Oracle, tra cui Net Service Name e TNS Alias.The network alias is essentially a pointer to the remote SID or Service Name that was configured when the database was created; it has been referred to by several names in different Oracle releases and products, including Net Service Name and TNS Alias. SQLPlus richiede questo alias come parametro "Host String" al momento dell'accesso.SQLPlus prompts for this alias as the "Host String" parameter when you log in.
Selezione del protocollo di reteSelect the network protocol Selezionare i protocolli appropriati che si desidera supportare.Select the appropriate protocols you would like to support. La maggioranza delle applicazioni utilizza il protocollo TCP.Most applications use TCP.
Inserimento dei dati host per identificare il listener del databaseSpecify the host information to identify the database listener L'host è il nome o l'alias DNS del computer su cui viene eseguito il listener Oracle, in genere lo stesso computer contenente il database.The host is the name or DNS alias of the computer on which the Oracle listener is running, which is typically the same computer on which the database resides. Per alcuni protocolli è necessario indicare informazioni aggiuntive.For some protocols, you must provide additional information. Ad esempio, se si seleziona il protocollo TCP è necessario indicare la porta su cui il listener rimane in attesa di richieste di connessione al database di destinazione.For example, if you select TCP, you must supply the port on which the listener is listening for connection requests to the target database. La configurazione TCP predefinita utilizza la porta 1521.The default TCP configuration uses port 1521.

Impostazione delle autorizzazioni per le directorySetting Directory Permissions

All'account utilizzato per eseguire il servizio SQL ServerSQL Server sul server di distribuzione devono essere concesse autorizzazioni di lettura ed esecuzione per la directory e per tutte le relative sottodirectory in cui è installato il software di rete client Oracle.The account under which the SQL ServerSQL Server service on the Distributor runs must be granted read and execute permissions for the directory (and all subdirectories) in which the Oracle client networking software is installed.

Verifica della connettività tra il server di distribuzione SQL Server e il server di pubblicazione OracleTesting Connectivity Between the SQL Server Distributor and the Oracle Publisher

Nei passaggi finali di Net Configuration Assistant può essere disponibile un'opzione che consente di testare la connessione al server di pubblicazione Oracle.Near the end of the Net Configuration Assistant there might be an option to test the connection to the Oracle Publisher. Prima di verificare la connessione, verificare che l'istanza del database Oracle sia online e che il listener Oracle sia in esecuzione.Before you test the connection, ensure that the Oracle database instance is online and that the Oracle Listener is running. Se la verifica non riesce, rivolgersi al DBA Oracle responsabile del database a cui si tenta di connettersi.If the test is unsuccessful, contact the Oracle DBA responsible for the database to which you are trying to connect.

Dopo aver stabilito una connessione al server di pubblicazione Oracle, tentare di eseguire l'accesso al database utilizzando l'account e la password associati allo schema utente di amministrazione della replica creato.After you have made a successful connection to the Oracle Publisher, attempt to log in to the database using the account and password associated with the replication administrative user schema you created. La procedura seguente deve essere eseguita utilizzando lo stesso account di Windows adoperato dal servizio SQL ServerSQL Server :The following must be performed while running under the same Windows account that the SQL ServerSQL Server service uses:

  1. Fare clic sul pulsante Starte quindi scegliere Esegui.Click Start, and then click Run.

  2. Digitare cmd e fare clic su OK.Type cmd and click OK.

  3. Al prompt dei comandi digitare:At the command prompt, type:

    sqlplus <UserSchemaLogin>/<UserSchemaPassword>@<NetServiceName>

    Ad esempio sqlplus replication/$tr0ngPasswerd@Oracle90ServerFor example: sqlplus replication/$tr0ngPasswerd@Oracle90Server

  4. Se la configurazione di rete è riuscita, sarà possibile accedere e verrà visualizzato il prompt SQL .If the networking configuration was successful, the login will succeed and you will see a SQL prompt.

  5. Se si verificano problemi durante la connessione al database Oracle, vedere la sezione relativa ai problemi di connessione del server di distribuzione SQL ServerSQL Server all'istanza di database Oracle in Troubleshooting Oracle Publishers.If you experience problems connecting to the Oracle database, see the section "The SQL ServerSQL Server Distributor cannot connect to the Oracle database instance" in Troubleshooting Oracle Publishers.

Considerazioni su Oracle HomeConsiderations for Oracle Home

Oracle supporta l'installazione side-by-side di file binari dell'applicazione, ma la replica può utilizzare un solo set di file binari alla volta.Oracle supports side-by-side installation of application binaries, but only one set of binaries can be used by replication at a given time. Ogni set di file binari è associato a un Oracle Home; tali file si trovano nella directory %ORACLE_HOME%\bin.Each set of binaries is associated with an Oracle Home; the binaries are in the directory %ORACLE_HOME%\bin. Quando la replica stabilisce le connessioni al server di pubblicazione Oracle è necessario verificare che venga utilizzato il set corretto di file binari, in particolare la versione più recente del software di rete client.You must ensure that the correct set of binaries (specifically the latest version of the client networking software) is used when replication makes connections to the Oracle Publisher.

Accedere al server di distribuzione con gli account utilizzati dal servizio SQL ServerSQL Server e dal servizio SQL ServerSQL Server Agent e impostare le corrette variabili d'ambiente.Log into the Distributor with the accounts used by the SQL ServerSQL Server service and the SQL ServerSQL Server Agent service and set the appropriate environment variables. La variabile %ORACLE_HOME% deve essere impostata in modo da fare riferimento al punto di installazione specificato quando è stato installato il software client di rete.The %ORACLE_HOME% variable should be set to refer to the installation point you specified when you installed the client networking software. %PATH% deve includere la directory %ORACLE_HOME% \bin come prima voce Oracle rilevata.The %PATH% must include the %ORACLE_HOME% \bin directory as the first Oracle entry that is encountered. Per informazioni sull'impostazione delle variabili d'ambiente, vedere la documentazione di Windows.For information about setting environment variables, see the Windows documentation.

Configurazione del database Oracle come server di pubblicazione nel server di distribuzione SQL ServerConfiguring the Oracle Database as a Publisher at the SQL Server Distributor

Poiché i server di pubblicazione Oracle utilizzano sempre un server di distribuzione remoto, è necessario configurare un'istanza di SQL ServerSQL Server affinché funga da server di distribuzione per il server di pubblicazione Oracle (un server di pubblicazione Oracle può utilizzare un solo server di distribuzione, mentre un server di distribuzione può gestire più di un server di pubblicazione Oracle).Oracle Publishers always use a remote Distributor; you must configure an instance of SQL ServerSQL Server to act as a Distributor for your Oracle Publisher (an Oracle Publisher can only use one Distributor, but a single Distributor can service more than one Oracle Publisher). Dopo aver configurato un server di distribuzione, identificare l'istanza di database Oracle come server di pubblicazione nel server di distribuzione SQL ServerSQL Server tramite SQL Server Management StudioSQL Server Management Studio, Transact-SQL o RMO (Replication Management Objects).After a Distributor is configured, identify the Oracle database instance as a Publisher at the SQL ServerSQL Server Distributor through SQL Server Management StudioSQL Server Management Studio, Transact-SQL, or Replication Management Objects (RMO). Per altre informazioni sulla configurazione di un database di distribuzione, vedere Configurare la distribuzione.For more information about configuring a Distributor, see Configure Distribution.

Nota

Il nome del server di pubblicazione Oracle non può essere identico a quello del relativo server di distribuzione SQL ServerSQL Server o di alcun server di pubblicazione SQL ServerSQL Server che utilizzi lo stesso server di distribuzione.An Oracle Publisher cannot have the same name as its SQL ServerSQL Server Distributor or the same name as any of the SQL ServerSQL Server Publishers using the same Distributor.

Quando si identifica il database Oracle come server di pubblicazione, è necessario scegliere un'opzione di pubblicazione Oracle: Complete o Oracle Gateway.When you identify the Oracle database as a Publisher, you must choose an Oracle publishing option: Complete or Oracle Gateway. Dopo aver identificato un server di pubblicazione, questa opzione può essere modificata solo eliminando e riconfigurando il server di pubblicazione.After a Publisher is identified, this option cannot be changed without dropping and reconfiguring the Publisher. L'opzione Complete è progettata per offrire alle pubblicazioni snapshot e transazionali il set completo di funzionalità supportate per la pubblicazione Oracle.The Complete option is designed to provide snapshot and transactional publications with the complete set of supported features for Oracle publishing. L'opzione Oracle Gateway prevede ottimizzazioni della progettazione specifiche per migliorare le prestazioni quando la replica funge da gateway tra i sistemi.The Oracle Gateway option provides specific design optimizations to improve performance for cases where replication serves as a gateway between systems.

Dopo l'identificazione del server di pubblicazione Oracle nel server di distribuzione SQL ServerSQL Server , la replica crea un server collegato con nome identico a quello del servizio TNS del database Oracle.After the Oracle Publisher is identified at the SQL ServerSQL Server Distributor, replication creates a linked server with the same name as the TNS service name of the Oracle database. Tale server può essere utilizzato solo dalla replica.This linked server can be used only by replication. Se è necessario connettersi al server di pubblicazione Oracle tramite una connessione al server collegato, creare un altro nome di servizio TNS e quindi usare tale nome nella chiamata a sp_addlinkedserver (Transact-SQL).If you need to connect to the Oracle Publisher over a linked server connection, create another TNS service name, and then use this name when calling sp_addlinkedserver (Transact-SQL).

Per configurare un server di pubblicazione Oracle e creare una pubblicazione, vedere Create a Publication from an Oracle Database.To configure an Oracle Publisher and create a publication, see Create a Publication from an Oracle Database.

Vedere ancheSee Also

Considerazioni amministrative per i server di pubblicazione Oracle Administrative Considerations for Oracle Publishers
Mapping dei tipi di dati per i server di pubblicazione Oracle Data Type Mapping for Oracle Publishers
Glossario dei termini per la pubblicazione Oracle Glossary of Terms for Oracle Publishing
Oracle Publishing Overview Oracle Publishing Overview