Oracle 게시자 구성Configure an Oracle Publisher

Oracle 게시자에서의 게시는 일반 스냅숏 및 트랜잭션 게시가 만들어지는 것과 같은 방식으로 만들어지지만 Oracle 게시자에서 게시를 만들려면 먼저 다음 단계(1, 3, 4단계는 이 항목에서 자세히 설명)를 수행해야 합니다.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. 제공된 스크립트를 사용하여 Oracle 데이터베이스 내에 복제 관리 사용자를 만듭니다.Create a replication administrative user within the Oracle database using the supplied script.

  2. 게시하는 테이블에 대해서는 1단계에서 만든 Oracle 관리 사용자에게 SELECT 권한을(역할을 사용하지 않고 ) 직접 부여합니다.For the tables that you publish, grant SELECT permission directly on each of them (not through a role) to the Oracle administrative user you created in step one.

  3. Oracle 클라이언트 소프트웨어와 OLE DB 공급자를 MicrosoftMicrosoft SQL ServerSQL Server 배포자에 설치한 다음 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. 배포자가 64비트 플랫폼에서 실행되는 경우 64비트 버전의 Oracle OLE DB 공급자를 사용해야 합니다.If the Distributor is running on a 64-bit platform, you must use the 64-bit version of the Oracle OLE DB provider.

  4. Oracle 데이터베이스를 SQL ServerSQL Server 배포자에서 게시자로 구성합니다.Configure the Oracle database as a Publisher at the SQL ServerSQL Server Distributor.

SQL ServerSQL Server 에서는 트랜잭션 및 스냅숏 복제에 대해 다음과 같이 다른 유형의 시나리오를 지원합니다. supports the following heterogeneous scenarios for transactional and snapshot replication:

  • SQL ServerSQL Server 에서 SQL ServerSQL Server 이외 구독자로 데이터 게시Publishing data from SQL ServerSQL Server to non- SQL ServerSQL Server Subscribers.

  • Oracle에서 데이터를 게시할 때 다음과 같은 제한 사항이 있습니다.Publishing data to and from Oracle has the following restrictions:

    2016 또는 이전 버전2016 or earlier 2017 이상2017 or later
    Oracle에서 복제Replication from Oracle Oracle 10g 또는 이전 버전만 지원Only support Oracle 10g or earlier Oracle 10g 또는 이전 버전만 지원Only support Oracle 10g or earlier
    Oracle로 복제Replication to Oracle Oracle 12c까지Up to Oracle 12c 지원되지 않음Not supported

    SQL Server 이외의 구독자에 대한 다른 유형의 복제는 지원되지 않습니다.Heterogeneous replication to non-SQL Server subscribers is deprecated. Oracle 게시는 지원되지 않습니다.Oracle Publishing is deprecated. 데이터를 이동하려면 변경 데이터 캡처 및 SSISSSIS를 사용하여 솔루션을 만듭니다.To move data, create solutions using change data capture and SSISSSIS.

Oracle 데이터베이스에서 복제할 수 있는 개체 목록은 Oracle 게시자에 대한 디자인 고려 사항 및 제한 사항을 참조하세요.For a list of objects that can be replicated from an Oracle database, see Design Considerations and Limitations for Oracle Publishers.

참고

게시자나 배포자를 설정하고 Oracle 게시를 만들거나 Oracle 게시에서 구독을 만들려면 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.

Oracle 데이터베이스 내에 복제 관리 사용자 스키마 만들기Creating the Replication Administrative User Schema within the Oracle Database

복제 에이전트는 Oracle 데이터베이스에 연결한 다음 만들어야 할 사용자 스키마 컨텍스트에서 작업을 수행합니다.Replication agents connect to the Oracle database and perform operations in the context of a user schema that you must create. 이 스키마에는 몇 가지 사용 권한을 부여해야 하며 이는 다음 섹션에 나열되어 있습니다.This schema must be granted a number of permissions, which are listed in the next section. 이 스키마는 Oracle 게시자의 MicrosoftMicrosoft SQL ServerSQL Server 복제 프로세스에서 만든 모든 개체( 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. Oracle 데이터베이스에서 만든 개체에 대한 자세한 내용은 Objects Created on the Oracle Publisher를 참조하십시오.For more information about the objects created in the Oracle database, see Objects Created on the Oracle Publisher.

참고

CASCADE 옵션으로 MSSQLSERVERDISTRIBUTOR 공용 동의어와 구성된 Oracle 복제 사용자를 삭제하면 Oracle 게시자에서 모든 복제 개체가 제거됩니다.Dropping the MSSQLSERVERDISTRIBUTOR public synonym and the configured Oracle replication user with the CASCADE option removes all replication objects from the Oracle Publisher.

Oracle 복제 사용자 스키마의 설치를 도와 주는 예제 스크립트가 제공됩니다.A sample script has been provided to aid in the setup of the Oracle replication user schema. 이 스크립트는 SQL ServerSQL Server 설치 후 <드라이브>:\\Program Files\Microsoft SQL Server\<InstanceName>\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. 이 스크립트에 대한 내용은 Script to Grant Oracle Permissions항목에도 포함되어 있습니다.It is also included in the topic Script to Grant Oracle Permissions.

DBA 권한이 있는 계정을 사용하여 Oracle 데이터베이스에 연결하고 해당 스크립트를 실행합니다.Connect to the Oracle database using an account with DBA privileges and execute the script. 이 스크립트는 개체를 만들 기본 테이블스페이스(이 테이블스페이스는 이미 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). 개체에 대해 다른 테이블스페이스를 지정하는 방법은 Oracle 테이블스페이스 관리를 참조하세요.For information about specifying other tablespaces for objects, see Manage Oracle Tablespaces. 원하는 사용자 이름과 강력한 암호를 선택한 다음 이를 기록해 둡니다. 나중에 Oracle 데이터베이스를 게시자로 구성할 때 이러한 정보를 제공해야 합니다.Choose any user name and strong password, but make note of both because you must provide this information later when you configure the Oracle database as a Publisher. 복제에 필요한 개체에 대해서만 스키마를 사용하는 것이 좋습니다. 이 스키마에 게시될 테이블은 만들지 마십시오.It is recommended that the schema be used only for objects required by replication; do not create tables to be published in this schema.

수동으로 사용자 스키마 만들기Creating the User Schema Manually

복제 관리 사용자 스키마를 수동으로 만드는 경우에는 스키마에 다음 사용 권한을 직접 또는 데이터베이스 역할을 통해 부여해야 합니다.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 및 DROP PUBLIC SYNONYMCREATE PUBLIC SYNONYM and DROP PUBLIC SYNONYM

  • CREATE PROCEDURECREATE PROCEDURE

  • CREATE SEQUENCECREATE SEQUENCE

  • CREATE SESSIONCREATE SESSION

    또한 사용자에게 다음 사용 권한을 역할을 사용하지 않고 직접 부여해야 합니다.You must also grant the following permissions to the user directly (not through a role):

  • CREATE ANY TRIGGER.CREATE ANY TRIGGER. 스냅숏 및 트랜잭션 복제에만 필요합니다.This is required only both snapshot and transactional replication.

  • CREATE TABLECREATE TABLE

  • CREATE VIEWCREATE VIEW

SQL Server 배포자에 Oracle 클라이언트 네트워킹 소프트웨어 설치 및 구성Installing and Configuring Oracle Client Networking Software on the SQL Server Distributor

Oracle 클라이언트 네트워킹 소프트웨어와 Oracle OLE DB 공급자를 SQL ServerSQL Server 배포자에서 설치 및 구성해야 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. 소프트웨어를 설치한 후에는 소프트웨어가 설치된 폴더에 적절한 사용 권한을 설정한 다음 SQL ServerSQL Server 인스턴스를 중지했다가 다시 시작하여 모든 설정을 업데이트합니다. 사용 권한은 아래의 "디렉터리 사용 권한 설정" 섹션에서 설명합니다.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").

참고

Oracle 클라이언트 네트워킹 소프트웨어는 사용 가능한 최신 버전이어야 합니다.The Oracle client networking software must be the most recent version available. Oracle에서는 최신 버전의 클라이언트 소프트웨어를 설치할 것을 권장합니다.Oracle recommends that users install the most recent versions of client software. 따라서 클라이언트 소프트웨어 버전이 데이터베이스 소프트웨어 버전보다 최신인 경우가 종종 있습니다.The client software is therefore often a more recent version than the database software.

클라이언트 네트워킹 소프트웨어를 설치하고 구성할 수 있는 가장 간단한 방법은 Oracle 클라이언트 디스크에 있는 Oracle Universal Installer와 Net Configuration Assistant를 사용하는 것입니다.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.

Oracle Universal Installer에서 다음 정보를 제공해야 합니다.In the Oracle Universal Installer, you must supply the following information:

정보Information 설명Description
OracleOracle Home Oracle 소프트웨어 설치를 위한 디렉터리 경로입니다.This is the path to the install directory for the Oracle software. 기본값(C:\oracle\ora90 또는 유사한 경로)을 그대로 적용하거나 다른 경로를 입력합니다.Accept the default (C:\oracle\ora90 or similar) or enter another path. Oracle 홈에 대한 자세한 내용은 이 항목의 뒷부분에 나오는 "Oracle 홈에 대한 고려 사항" 섹션을 참조하십시오.For more information about the Oracle Home, see the section "Considerations for Oracle Home" later in this topic.
Oracle 홈 이름Oracle home name Oracle 홈 경로에 대한 별칭입니다.An alias for the Oracle home path.
설치 유형Installation type Oracle 10g에서 관리자 설치 옵션을 선택합니다.In Oracle 10g, select the Administrator installation option.

Oracle Universal Installer가 작업을 완료하면 Net Configuration Assistant를 사용하여 네트워크 연결을 구성합니다.After the Oracle Universal Installer is complete, use the Net Configuration Assistant to configure network connectivity. 네트워크 연결을 구성하려면 다음 4가지 정보를 입력해야 합니다.You must supply four pieces of information to configure network connectivity. Oracle 데이터베이스 관리자는 데이터베이스와 수신기를 설정할 때 네트워크를 구성하며, 필요한 경우 이 정보를 사용자에게 제공할 수 있어야 합니다.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. 다음과 같은 작업을 수행해야 합니다.You must do the following:

작업Action 설명Description
데이터베이스 식별Identify the database 두 가지 방법으로 데이터베이스를 식별할 수 있습니다.There are two methods for identifying the database. 첫 번째 방법은 Oracle SID(시스템 식별자)를 사용하는 것으로 모든 Oracle 릴리스에서 사용할 수 있습니다.The first method uses the Oracle System Identifier (SID) and is available in every Oracle release. 두 번째 방법은 서비스 이름을 사용하는 것으로 Oracle 릴리스 8.0부터 사용할 수 있습니다.The second method uses the Service Name, which is available starting with Oracle release 8.0. 두 가지 방법 모두 데이터베이스를 만들 때 구성된 값을 사용하며 클라이언트 네트워크 구성에서 데이터베이스를 위한 수신기를 구성할 때 관리자가 사용한 것과 동일한 명명 규칙을 사용하는 것이 중요합니다.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.
데이터베이스에 대한 네트워크 별칭 식별Identify a network alias for the database Oracle 데이터베이스 액세스에 사용할 네트워크 별칭을 지정해야 합니다.You must specify a network alias, which is used to access the Oracle database. 이 별칭은 SQL ServerSQL Server 배포자에서 Oracle 데이터베이스를 게시자로 식별할 때도 제공해야 합니다.You also supply this alias when you identify the Oracle database as a Publisher at the SQL ServerSQL Server Distributor. 네트워크 별칭은 데이터베이스를 만들 때 구성된 원격 SID 또는 서비스 이름을 가리킵니다. 이 별칭은 다양한 Oracle 릴리스 및 제품에서 네트 서비스 이름 및 TNS 별칭 등 여러 이름으로 불립니다.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의 경우 로그인 시 이 별칭을 "Host String" 매개 변수로 입력하라는 메시지가 나타납니다.SQLPlus prompts for this alias as the "Host String" parameter when you log in.
네트워크 프로토콜 선택Select the network protocol 지원할 적절한 프로토콜을 선택합니다.Select the appropriate protocols you would like to support. 대부분의 응용 프로그램은 TCP를 사용합니다.Most applications use TCP.
데이터베이스 수신기를 식별할 호스트 정보 지정Specify the host information to identify the database listener 호스트는 Oracle 수신기가 실행 중인 컴퓨터의 이름이나 DNS 별칭이며, 일반적으로 Oracle 수신기는 데이터베이스가 상주하는 컴퓨터에서 실행됩니다.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. 일부 프로토콜의 경우 추가 정보를 제공해야 합니다.For some protocols, you must provide additional information. 예를 들어 TCP를 선택할 경우 수신기가 대상 데이터베이스에 대한 연결 요청을 수신하는 포트를 지정해야 합니다.For example, if you select TCP, you must supply the port on which the listener is listening for connection requests to the target database. 기본 TCP 구성은 포트 1521을 사용합니다.The default TCP configuration uses port 1521.

디렉터리 사용 권한 설정Setting Directory Permissions

배포자에서 SQL ServerSQL Server 서비스가 실행되는 계정에는 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.

SQL Server 배포자와 Oracle 게시자 간 연결 테스트Testing Connectivity Between the SQL Server Distributor and the Oracle Publisher

Net Configuration Assistant의 후반부에는 Oracle 게시자에 대한 연결을 테스트하는 옵션이 있습니다.Near the end of the Net Configuration Assistant, there might be an option to test the connection to the Oracle Publisher. 연결을 테스트하기 전에 Oracle 데이터베이스 인스턴스가 온라인 상태인지 Oracle 수신기가 실행 중인지 확인합니다.Before you test the connection, ensure that the Oracle database instance is online and that the Oracle Listener is running. 테스트가 실패하면 연결하려는 데이터베이스를 담당하는 Oracle DBA에게 문의하십시오.If the test is unsuccessful, contact the Oracle DBA responsible for the database to which you are trying to connect.

Oracle 게시자에 성공적으로 연결한 다음에는 만든 복제 관리 사용자 스키마에 연결된 계정과 암호를 사용하여 데이터베이스에 로그인합니다.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. SQL ServerSQL Server 서비스가 사용하는 것과 같은 Windows 계정으로 실행하는 동안 다음을 수행해야 합니다.The following must be performed while running under the same Windows account that the SQL ServerSQL Server service uses:

  1. 시작을 클릭한 다음 실행을 클릭합니다.Click Start, and then click Run.

  2. cmd 를 입력한 다음 확인을 클릭합니다.Type cmd and click OK.

  3. 명령 프롬프트에서 다음을 입력합니다.At the command prompt, type:

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

    예: sqlplus replication/$tr0ngPasswerd@Oracle90ServerFor example: sqlplus replication/$tr0ngPasswerd@Oracle90Server

  4. 네트워크 구성이 성공했다면 로그인이 성공하고 SQL 프롬프트가 표시됩니다.If the networking configuration was successful, the login succeeds and you will see a SQL prompt.

  5. Oracle 데이터베이스 연결에 문제가 있으면 SQL ServerSQL Server 의 " ssNoVersion을 참조하십시오.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.

Oracle 홈에 대한 고려 사항Considerations for Oracle Home

Oracle은 응용 프로그램 이진 파일을 함께 설치하도록 지원하지만 복제에서는 특정 시간에 하나의 이진 파일 집합만 사용할 수 있습니다.Oracle supports side-by-side installation of application binaries, but only one set of binaries can be used by replication at a given time. 각 이진 파일 집합은 Oracle 홈과 연결되어 있으며 이진 파일은 %ORACLE_HOME%\bin 디렉터리에 있습니다.Each set of binaries is associated with an Oracle Home; the binaries are in the directory %ORACLE_HOME%\bin. 복제에서 Oracle 게시자에 연결할 때는 올바른 이진 집합(최신 버전의 클라이언트 네트워킹 소프트웨어)이 사용되어야 합니다.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.

배포자에 SQL ServerSQL Server 서비스 및 SQL ServerSQL Server 에이전트 서비스에서 사용하는 계정으로 로그인하여 적절한 환경 변수를 설정합니다.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. %ORACLE_HOME% 변수는 클라이언트 네트워킹 소프트웨어 설치 시 지정한 설치 지점을 참조할 수 있도록 설정되어야 합니다.The %ORACLE_HOME% variable should be set to refer to the installation point you specified when you installed the client networking software. %PATH%는 %ORACLE_HOME% \bin 디렉터리를 처음 검색되는 Oracle 항목으로 포함해야 합니다.The %PATH% must include the %ORACLE_HOME% \bin directory as the first Oracle entry that is encountered. 환경 변수 설정 방법은 Windows 설명서를 참조하십시오.For information about setting environment variables, see the Windows documentation.

SQL Server 배포자에서 Oracle 데이터베이스를 게시자로 구성Configuring the Oracle Database as a Publisher at the SQL Server Distributor

Oracle 게시자는 항상 원격 배포자를 사용하므로 SQL ServerSQL Server 의 인스턴스가 Oracle 게시자의 배포자로 동작하도록 구성해야 합니다. Oracle 게시자는 배포자를 하나만 사용할 수 있지만 단일 배포자는 두 개 이상의 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). 배포자를 구성한 다음에는 SQL ServerSQL Server 배포자에서 SQL Server Management StudioSQL Server Management Studio, Transact-SQL 또는 RMO(복제 관리 개체)를 통해 Oracle 데이터베이스 인스턴스를 게시자로 식별합니다.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). 배포자 구성에 대한 자세한 내용은 배포 구성을 참조하세요.For more information about configuring a Distributor, see Configure Distribution.

참고

Oracle 게시자는 SQL ServerSQL Server 배포자 또는 동일한 배포자를 사용하는 모든 SQL ServerSQL Server 게시자와 같은 이름을 가질 수 없습니다.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.

Oracle 데이터베이스를 게시자로 식별하는 경우 Oracle 게시 옵션인 Complete 또는 Oracle Gateway 중 하나를 선택해야 합니다.When you identify the Oracle database as a Publisher, you must choose an Oracle publishing option: Complete or Oracle Gateway. 게시자를 식별한 다음에 이 옵션을 변경하려면 해당 게시자를 삭제하고 다시 구성해야 합니다.After a Publisher is identified, this option cannot be changed without dropping and reconfiguring the Publisher. Oracle Complete 옵션은 Oracle 게시에 대해 지원되는 전체 기능 집합과 함께 스냅숏 및 트랜잭션 게시를 제공하도록 디자인되었습니다.The Complete option is designed to provide snapshot and transactional publications with the complete set of supported features for Oracle publishing. Oracle Gateway 옵션은 복제가 시스템 간 게이트웨이 역할을 하는 경우 성능을 향상시킬 수 있도록 특정 디자인 최적화를 제공합니다.The Oracle Gateway option provides specific design optimizations to improve performance for cases where replication serves as a gateway between systems.

SQL ServerSQL Server 배포자에서 Oracle 게시자를 식별한 다음 복제는 Oracle 데이터베이스의 TNS 서비스 이름과 같은 이름으로 연결된 서버를 만듭니다.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. 이 연결된 서버는 복제에서만 사용할 수 있습니다.This linked server can be used only by replication. 연결된 서버 연결을 통해 Oracle 게시자에 연결하려면 다른 TNS 서비스 이름을 만든 다음 이 이름을 사용하여 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).

Oracle 게시자를 구성하고 게시를 만들려면 Create a Publication from an Oracle Database를 참조하십시오.To configure an Oracle Publisher and create a publication, see Create a Publication from an Oracle Database.

참고 항목See Also

Oracle 게시자에 대한 관리 고려 사항 Administrative Considerations for Oracle Publishers
Oracle 게시자에 대한 데이터 형식 매핑 Data Type Mapping for Oracle Publishers
Oracle 게시를 위한 용어 설명 Glossary of Terms for Oracle Publishing
Oracle Publishing OverviewOracle Publishing Overview