Oracle CDC 데이터베이스The Oracle CDC Databases

Oracle CDC 인스턴스는 대상 SQL ServerSQL Server 인스턴스에서 동일한 이름으로 SQL ServerSQL Server 데이터베이스와 연결됩니다.An Oracle CDC Instance is associated with a SQL ServerSQL Server database by the same name on the target SQL ServerSQL Server instance. 이 데이터베이스를 Oracle CDC 데이터베이스 또는 CDC 데이터베이스라고 합니다.This database is called the Oracle CDC database (or the CDC database).

CDC 데이터베이스는 Oracle CDC Designer 콘솔을 사용하여 만들고 구성하며 다음과 같은 요소를 포함합니다.The CDC database is created and configured using the Oracle CDC Designer Console and it contains the following elements:

  • SQL Server CDC에 데이터베이스를 사용하여 만드는 cdc 스키마A cdc schema created by enabling the database for SQL Server CDC.

  • Oracle CDC 인스턴스에서 사용하는 cdc.xdbcdc_xxxx 테이블 집합A set of cdc.xdbcdc_xxxx tables used by the Oracle CDC Instance.

  • 원본 Oracle 데이터베이스에서 캡처된 테이블에 대한 정의를 포함하는 빈 미러 테이블 집합A set of empty mirror tables with the definitions of the captured tables in tuphe Source Oracle database.

  • SQL Server CDC 메커니즘에 의해 생성되고 Oracle 이외의 일반 SQL Server CDC에서 사용되는 것과 동일한 변경 테이블 및 변경 액세스 기능 집합A set of change tables and change access functions that are generated by the SQL Server CDC mechanism and are identical to those used in the regular, non-Oracle, SQL Server CDC.

    처음에는 cdc dbowner 고정 데이터베이스 역할의 멤버만 스키마에 액세스할 수 있습니다.The cdc schema is initially accessible only to the members of the dbowner fixed database role. 변경 테이블 및 변경 기능에 대한 액세스는 SQL Server CDC와 동일한 보안 모델에 의해 결정됩니다.Access to the change tables and change functions is determined by the same security model as the SQL Server CDC. 보안 모델에 대한 자세한 내용은 보안 모델을 참조하세요.For more information about the security model, see Security Model.

CDC 데이터베이스 만들기Creating the CDC Database

대부분의 경우 CDC 데이터베이스는 CDC Designer 콘솔을 사용하여 만들지만, CDC Designer 콘솔을 사용하여 생성되는 CDC 배포 스크립트를 사용하여 만들 수도 있습니다.In most cases, the CDC database is created using the CDC Designer Console, but it can also be created with a CDC deployment script that is generated using the CDC Designer Console. SQL ServerSQL Server 시스템 관리자는 필요한 경우 항목(예: 저장소, 보안 또는 가용성)에 대한 데이터베이스 설정을 변경할 수 있습니다.The SQL ServerSQL Server system administrator can change the database settings if necessary (for items such as for storage, security, or availability).

CDC Designer 콘솔을 사용하여 데이터베이스 테이블 및 필요한 스크립트를 만드는 방법에 대한 자세한 내용은 새 인스턴스 마법사 사용을 참조하세요.For more information about using the CDC Designer Console to create the database tables and the necessary scripts, see Use the New Instance Wizard.

CDC 데이터베이스 사용자 역할CDC Database User Roles

CDC 데이터베이스를 만들고 CDC에 사용하면 cdc_service 라는 데이터베이스 사용자가 CDC 데이터베이스에 만들어진 다음 Oracle CDC Service를 구성할 때 사용한 SQL ServerSQL Server 로그인에 연결됩니다.When a CDC Database is created and enabled for CDC, a database user called cdc_service is created in the CDC database and is associated with the SQL ServerSQL Server login that the Oracle CDC Service was configured with. 이 사용자는 db_datareader, db_datawriterdb_ddladmin 데이터베이스 역할의 멤버가 됩니다.This user is made a member of the db_datareader, db_datawriter, and db_ddladmin database roles. 또한 SQL ServerSQL Server 로그인이 dbo 사용자에 연결되면 cdc_service 가 만들어지지 않습니다.If the SQL ServerSQL Server login is also the associated with the dbo user then the cdc_service is not created.

이 역할 할당을 통해 Oracle CDC Service에서 cdc 스키마의 테이블을 캡처된 데이터 및 제어 정보로 업데이트할 수 있습니다.This role assignment allows the Oracle CDC Service to update the tables under the cdc schema with captured data and with control information.

CDC 데이터베이스가 만들어지고 CDC 원본 Oracle 테이블이 설정된 경우 CDC 데이터베이스 소유자는 미러 테이블의 SELECT 권한을 부여하고 SQL Server CDC 제어 역할을 정의하여 변경 데이터에 액세스하는 사용자를 제어할 수 있습니다.When a CDC database is created and CDC source Oracle tables are set up, the CDC database owner can grant SELECT permission of mirror tables and define SQL Server CDC gating roles to control who accesses the change data.

미러 테이블Mirror Tables

Oracle 원본 데이터베이스의 각 캡처된 테이블(<schema-name>.<table-name>)에 대해 동일한 스키마와 테이블 이름을 가진 유사한 빈 테이블이 CDC 데이터베이스에 만들어집니다.For each captured table, <schema-name>.<table-name>, in the Oracle source database, a similar empty table is created in the CDC Database, with the same schema and table name. cdccdc 스키마는 SQL Server CDC용으로 예약되어 있으므로 스키마 이름이 SQL ServerSQL Server (대/소문자 구분 없음)인 Oracle 원본 데이터베이스를 캡처할 수 없습니다.Oracle source tables with the schema name cdc (not case sensitive) cannot be captured because the cdc schema in SQL ServerSQL Server is reserved for the SQL Server CDC.

미러 테이블은 비어 있고 데이터가 저장되어 있지 않습니다.The mirror tables are empty; no data is stored in them. 미러 테이블은 Oracle CDC 인스턴스에 사용되는 표준 SQL Server CDC 인프라를 사용하도록 설정하는 데 사용됩니다.They are used to enable the standard SQL Server CDC infrastructure that is used by the Oracle CDC Instance. 미러 테이블에서 데이터가 삽입되거나 업데이트되지 않도록 모든 UPDATE, DELETE 및 INSERT 작업이 PUBLIC에 대해 거부됩니다.To prevent data from being inserted or updated into the mirror tables, all UPDATE, DELETE, and INSERT operations are denied for PUBLIC. 따라서 미러 테이블에서 데이터를 수정할 수 없습니다.This ensures that they cannot be modified.

변경 데이터 액세스Access to Change Data

캡처 인스턴스에 연결된 변경 데이터에 액세스하는 데 사용되는 SQL ServerSQL Server 보안 모델 때문에 연결된 미러 테이블의 모든 캡처된 열에 대한 select 권한을 사용자에게 부여해야 합니다. 원본 Oracle 테이블에 대한 액세스 권한으로는 SQL ServerSQL Server의 변경 테이블에 액세스할 수 없습니다.Because of the SQL ServerSQL Server security model used to gain access to the change data that is associated with a capture instance, the user must be granted select access to all the captured columns of the associated mirror table (access permissions to the original Oracle tables do not provide access to the change tables in SQL ServerSQL Server). SQL ServerSQL Server 보안 모델에 대한 자세한 내용은 보안 모델을 참조하세요.For information on the SQL ServerSQL Server security model, see Security Model.

또한 캡처 인스턴스를 만들 때 제어 역할을 지정한 경우 호출자도 지정된 제어 역할의 멤버여야 합니다.In addition, if a gating role is specified when the capture instance is created, the caller must also be a member of the specified gating role. 메타데이터에 액세스하는 다른 일반적인 변경 데이터 캡처 함수에 모든 데이터베이스 사용자가 PUBLIC 역할을 통해 액세스할 수 있습니다. 물론 반환된 메타데이터에 대한 액세스는 기본 원본 테이블에 대한 선택적 액세스 권한을 사용하거나 정의된 제어 역할의 멤버 자격을 통해 일반적으로 제어됩니다.Other general change data capture functions for accessing metadata are accessible to all database users through the PUBLIC role, although access to the returned metadata is usually gated by using select access to the underlying source tables, and by membership in any defined gating roles.

캡처 인스턴스를 만들 때 SQL Server CDC 구성 요소에 의해 생성된 특수 테이블 기반 함수를 호출하여 변경 데이터를 읽을 수 있습니다.Change data may be read by calling special table-based functions generated by the SQL Server CDC component when a capture instance is created. 이 함수에 대한 자세한 내용은 변경 데이터 캡처 함수(Transact-SQL)를 참조하세요.For more information about this function, see Change Data Capture Functions (Transact-SQL).

Integration ServicesIntegration Services CDC 원본 구성 요소를 통한 CDC 데이터 액세스에도 동일한 규칙이 적용됩니다.Accessing CDC data through the Integration ServicesIntegration Services CDC Source component is subject to the same rules.

CDC 데이터베이스 테이블The CDC Database Tables

이 섹션에서는 CDC 데이터베이스의 다음 테이블에 대해 설명합니다.This section describes the following tables in the CDC database.

변경 테이블(_CT)Change Tables (_CT)

변경 테이블은 미러 테이블에서 만들어집니다.The change tables are created from the mirror tables. 변경 테이블은 Oracle 데이터베이스에서 캡처되는 변경 데이터를 포함합니다.They contain the change data that is captured from the Oracle database. 테이블은 다음 규칙에 따라 이름이 지정됩니다.The tables are named according to the following convention:

[cdc].[<capture-instance>_CT][cdc].[<capture-instance>_CT]

<schema-name>.<table-name>테이블에 캡처를 처음 사용하는 경우 기본 캡처 인스턴스 이름은 <schema-name>_<table-name>입니다.When capture is initially enabled for table <schema-name>.<table-name>, the default capture instance name is <schema-name>_<table-name>. 예를 들어 Oracle HR.EMPLOYEES 테이블에 대한 기본 캡처 인스턴스 이름은 HR_EMPLOYEES이고 연결된 변경 테이블은 [cdc]입니다.For example, the default capture instance name for the Oracle HR.EMPLOYEES table is HR_EMPLOYEES and the associated change table is [cdc]. [HR_EMPLOYEES_CT].[HR_EMPLOYEES_CT].

캡처 테이블은 Oracle CDC 인스턴스에 의해 기록됩니다.The capture tables are written to by the Oracle CDC Instance. 캡처 인스턴스를 만들 때 SQL ServerSQL Server 에 의해 생성되는 특수 테이블 반환 함수를 사용하여 캡처 테이블을 읽습니다.They are read using special table-valued functions generated by SQL ServerSQL Server when the capture instance is created. fn_cdc_get_all_changes_HR_EMPLOYEES)을 입력합니다.For example, fn_cdc_get_all_changes_HR_EMPLOYEES. 이러한 CDC 함수에 대한 자세한 내용은 변경 데이터 캡처 함수(Transact-SQL)를 참조하세요.For more information about these CDC functions see Change Data Capture Functions (Transact-SQL).

cdc.lsn_time_mappingcdc.lsn_time_mapping

[cdc].[lsn_time_mapping] 테이블은 SQL Server CDC 구성 요소에 의해 생성됩니다.The [cdc].[lsn_time_mapping] table is generated by the SQL Server CDC component. Oracle CDC에서의 캡처 테이블 사용은 일반적인 사용과는 다릅니다.Its use in the case of Oracle CDC is different than its normal use.

Oracle CDC의 경우 이 테이블에 저장되는 LSN 값은 변경과 연결된 Oracle SCN(System Change Number) 값을 기반으로 합니다.For the Oracle CDC, the LSN values stored in this table are based on the Oracle System Change Number (SCN) value associated with the change. LSN 값의 처음 6바이트는 원본 Oracle SCN 수입니다.The first 6 bytes of the LSN value is the original Oracle SCN number.

또한 Oracle CDC를 사용하는 경우 시간 열(tran_begin_timetran_end_time)에는 일반 SQL Server CDC에서와 달리 현지 시간이 아닌 변경의 UTC 시간이 저장됩니다.Also when using the Oracle CDC, the time columns (tran_begin_time and tran_end_time) store the UTC time of the change rather than the local time as it does with the regular SQL Server CDC. 따라서 일광 절약 시간 변경은 lsn_time_mapping에 저장된 데이터에 영향을 주지 않습니다.This ensures that daylight savings time changes do not impact the data stored in the lsn_time_mapping.

cdc.xdbcdc_configcdc.xdbcdc_config

이 테이블에는 Oracle CDC 인스턴스에 대한 구성 데이터가 포함되어 있습니다.This table contains the configuration data for the Oracle CDC Instance. 이 테이블은 CDC Designer 콘솔을 사용하여 업데이트합니다.It is updated using the CDC Designer Console. 이 테이블에는 행이 하나만 있습니다.This table has only one row.

다음 표에서는 cdc.xdbcdc_config 테이블 열에 대해 설명합니다.The following table describes the cdc.xdbcdc_config table columns.

항목Item DescriptionDescription
versionversion CDC 인스턴스 구성의 버전을 추적합니다.This keeps track of the version of the CDC instance configuration. 테이블이 업데이트되거나, 새 캡처 인스턴스가 추가되거나, 기존 캡처 인스턴스가 제거될 때마다 업데이트됩니다.It is updated each time that the table is updated and each time a new capture instance is added or an existing capture instance is removed.
connect_stringconnect_string Oracle 연결 문자열입니다.An Oracle connection string. 기본 예:A basic example is:

<server>:<port>/<instance> (예: erp.contoso.com:1521/orcl)<server>:<port>/<instance> (for example, erp.contoso.com:1521/orcl).

연결 문자열에서 Oracle Net 연결 설명자를 지정할 수도 있습니다(예: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=erp.contoso.com) (PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=orcl))))The connection string can also specify an Oracle Net connect descriptor, for example, (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=erp.contoso.com) (PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=orcl))).

디렉터리 서버 또는 tnsnames를 사용하는 경우 연결 문자열이 연결의 이름일 수 있습니다.If using a directory server or tnsnames, the connect string can be the name of the connection.

Oracle CDC Service에서 사용되는 Oracle Instant Client에 대한 Oracle 데이터베이스 연결 문자열에 대한 자세한 내용은 http://go.microsoft.com/fwlink/?LinkId=231153 을 참조하세요.For more information about Oracle connection strings, see http://go.microsoft.com/fwlink/?LinkId=231153 for detailed information on Oracle database connection strings for the Oracle Instant Client that is used by the Oracle CDC Service.
use_windows_authenticationuse_windows_authentication 부울 값이며 다음과 같습니다.A Boolean value that can be:

0: Oracle 사용자 이름 및 암호가 인증을 위해 제공됩니다(기본값).0: An Oracle user name and password are provided for authentication (the default)

1: Oracle 데이터베이스에 연결하는 데 Windows 인증이 사용됩니다.1: Windows authentication is used to connect to the Oracle database. Windows 인증을 사용하도록 Oracle 데이터베이스를 구성한 경우에만 이 옵션을 사용할 수 있습니다.You can use this option only if the Oracle database is configured to work with Windows authentication.
usernameusername 로그 마이닝 Oracle 데이터베이스 사용자의 이름입니다.The name of the log-mining Oracle database user. use_windows_authentication = 0인 경우에만 필수입니다.This is mandatory only if use_windows_authentication = 0.
passwordpassword 로그 마이닝 Oracle 데이터베이스 사용자의 암호입니다.The password for the log-mining Oracle database user. use_windows_authentication = 0인 경우에만 필수입니다.This is mandatory only if use_windows_authentication = 0.
transaction_staging_timeouttransaction_staging_timeout 커밋되지 않은 Oracle 트랜잭션이 cdc.xdbcdc_staged_transactions 테이블에 기록되기 전에 메모리에 보관되는 시간(초)입니다.The time, in seconds, that an uncommitted Oracle transaction is kept in memory before being written to the cdc.xdbcdc_staged_transactions table. 기본값은 120초입니다.The default is 120 seconds.
memory_limitmemory_limit 메모리에 데이터를 캐시하는 데 사용할 수 있는 메모리 양에 대한 제한입니다.The limit on the amount of memory, in Mb, that can be used for caching data in memory. 설정값이 낮을수록 더 많은 트랜잭션이 cdc.xdbcdc_staged_transactions 테이블에 기록됩니다.A lower setting causes more transaction to be written to the cdc.xdbcdc_staged_transactions table. 기본값은 50MB입니다.The default is 50 Mb.
옵션options 이름[=값][; ] 형태의 옵션 목록이며 보조 옵션(예: 추적, 튜닝)을 지정하는 데 사용됩니다.A list of options in the form of name[=value][; ] - it is used for specifying secondary options (for example, tracing, tuning). 사용 가능한 옵션에 대한 설명은 아래 표를 참조하십시오.See the table below for a description of the available options.

다음 표에서는 사용 가능한 옵션에 대해 설명합니다.The following table describes the available options.

이름Name 기본값Default MinMin 최대값Max 정적Static DescriptionDescription
추적trace FalseFalse - - FalseFalse 사용 가능한 값은The available values are:

TrueTrue

FalseFalse

onon

offoff
cdc_update_state_intervalcdc_update_state_interval 1010 11 120120 FalseFalse 트랜잭션에 대해 할당된 메모리 청크의 크기(KB)입니다. 트랜잭션 하나가 둘 이상의 청크를 할당할 수 있습니다.The size (in Kbytes) of memory chunks allocated for a transaction (a transaction can allocate more than one chunk). cdc.xdbcdc_config 테이블의 memory_limit 열을 참조하세요.See the memory_limit column in cdc.xdbcdc_config table.
target_max_batched_transactionstarget_max_batched_transactions 100100 11 10001000 TrueTrue SQL Server CT 테이블 업데이트에서 하나의 트랜잭션으로 처리될 수 있는 최대 Oracle 트랜잭션 수입니다.The maximum number of Oracle transactions that can be processed as one transaction in SQL Server CT tables update.
target_idle_lsn_update_intervaltarget_idle_lsn_update_interval 1010 00 11 FalseFalse 캡처된 테이블에서 활동이 없을 때 lsn_time_mapping 테이블을 업데이트하는 간격(초)입니다.The interval (in seconds) for updating the lsn_time_mapping table when the captured tables have no activity.
trace_retention_periodtrace_retention_period 2424 11 24312431 FalseFalse 추적 테이블에서 메시지를 유지하는 시간입니다.The amount of time (in hours to keep messages in the trace table).
sql_reconnect_intervalsql_reconnect_interval 22 22 36003600 FalseFalse SQL ServerSQL Server에 연결하기 전에 대기할 시간(초)입니다.The amount of time (in seconds) to wait before reconnecting to SQL ServerSQL Server. 이 간격은 SQL ServerSQL Server 클라이언트 연결 제한 시간과 함께 사용됩니다.This interval is used in addition to SQL ServerSQL Server client’s connect timeout.
sql_reconnect_limitsql_reconnect_limit -1-1 -1-1 -1-1 FalseFalse 최대 SQL ServerSQL Server 다시 연결 횟수입니다.The maximum number of SQL ServerSQL Server reconnections. 기본값 -1은 프로세스가 중지될 때까지 재연결을 시도함을 의미합니다.The default -1 means that the process tries to reconnect until it stops.
cdc_restart_limitcdc_restart_limit 66 -1-1 36003600 FalseFalse 대부분의 경우 CDC Service는 비정상적으로 종료된 CDC 인스턴스를 자동으로 다시 시작합니다.In most cases, the CDC service restarts an abnormally ended CDC instance automatically. 이 속성은 인스턴스를 다시 시작하기 위해 서비스가 중지되는 오류가 발생하는 시간당 횟수를 정의합니다.This property defines after how many failures per hour the service stops to restart the instance. 값이 -1이면 인스턴스를 항상 다시 시작합니다.The value -1 means that the instance should be always restarted.

구성 테이블을 업데이트한 후에 인스턴스를 다시 시작하도록 서비스가 반환됩니다.The Service returns to restart the instance after any update of the configuration table.
cdc_memory_reportcdc_memory_report 00 00 10001000 FalseFalse 매개 변수 값이 변경된 경우 CDC 인스턴스는 추적 테이블에 메모리 보고서를 인쇄합니다.If the value of the parameter was changed, the CDC Instance prints its memory report on the trace table.
target_command_timeouttarget_command_timeout 600600 11 36003600 FalseFalse SQL ServerSQL Server에서 사용되는 명령 제한 시간입니다.Command timeout working with SQL ServerSQL Server.
source_character_setsource_character_set - - - TrueTrue Oracle 데이터베이스 코드 페이지 대신 특정 Oracle 인코딩을 사용하도록 설정할 수 있습니다.Can be set to a specific Oracle encoding to be used instead of the Oracle database codepage. 문자 데이터에서 사용 중인 실제 인코딩이 Oracle 데이터베이스 코드 페이지에 표현된 것과 다를 때 사용할 수 있습니다.This may be of use when the actual encoding the character data is using is different than the one expressed by the Oracle database codepage.
source_error_retry_intervalsource_error_retry_interval 3030 11 36003600 FalseFalse 여러 오류(예: 연결 오류, 시스템 테이블 간의 일시적인 동기화 부족)에 대해 다시 시도하기 전에 사용됩니다.Used before retry on several errors such as a connection error or temporary lack of synchronization between system tables.
source_prefetch_sizesource_prefetch_size 100100 11 1000010000 TrueTrue 사전 인출 일괄 처리의 크기입니다.Size of the prefetch batch.
source_max_tables_in_querysource_max_tables_in_query 100100 11 1000010000 TrueTrue 테이블을 필터링하지 않고 Oracle 로그 읽기로 전환하기 전에 WHERE 절에 허용되는 최대 테이블 수입니다.Maximum number of tables in WHERE clause before switching to reading the Oracle log without table filtering.
source_read_retry_intervalsource_read_retry_interval 22 11 36003600 FalseFalse EOF에서 Oracle 트랜잭션 로그 읽기를 다시 시도하기 전에 원본에서 대기하는 시간입니다.The amount of time the source waits before trying to read the Oracle transaction logs on EOF again.
source_reconnect_intervalsource_reconnect_interval 3030 11 36003600 FalseFalse 원본 데이터베이스에 다시 연결하려고 시도하기 전에 대기하는 시간(초)입니다.How long (in seconds) to wait before trying to re-connect to the source database.
source_reconnect_limitsource_reconnect_limit -1-1 -1-1 FalseFalse 원본 데이터베이스를 다시 연결하는 최대 횟수입니다.The maximum number of the source database reconnections. 기본값 -1은 프로세스가 중지될 때까지 다시 연결하려고 시도하는 것을 의미합니다.The default -1 means that the process tries to reconnect until it is stopped.
source_command_timeoutsource_command_timeout 3030 11 36003600 FalseFalse Oracle에 적용되는 연결 제한 시간입니다.Connection timeout working with Oracle.
source_connection_timeoutsource_connection_timeout 3030 11 36003600 FalseFalse SQL ServerSQL Server에 적용되는 연결 제한 시간입니다.Connection timeout working with SQL ServerSQL Server.
trace_data_errorstrace_data_errors TrueTrue - - FalseFalse Boolean입니다.Boolean. True 이면 데이터 변환과 잘림 오류를 기록합니다.True indicates to log data conversion and truncation errors.
CDC_stop_on_breaking_schema_changesCDC_stop_on_breaking_schema_changes FalseFalse - - FalseFalse Boolean입니다.Boolean. True 이면 주요 스키마 변경이 감지되는 경우에 중지합니다.True indicates to stop when breaking schema change is detected.

False 이면 미러 테이블과 캡처 인스턴스를 삭제합니다.False indicates to drop the mirror table and capture instance.
source_oracle_homesource_oracle_home - - FalseFalse CDC 인스턴스가 Oracle에 연결하는 데 사용할 특정 Oracle 홈 경로 또는 Oracle 홈 이름으로 설정할 수 있습니다.Can be set to a specific Oracle Home path or an Oracle Home Name that the CDC instance will use to connect to Oracle.

cdc.xdbcdc_statecdc.xdbcdc_state

이 테이블에는 Oracle CDC 인스턴스의 지속된 상태에 대한 정보가 포함되어 있습니다.This table contains information about the persisted state of the Oracle CDC Instance. 캡처 상태는 복구 및 장애 조치 시나리오에서 상태 모니터링에 대해 사용됩니다.The capture state is used in recovery and fail-over scenarios and for health monitoring.

다음 표에서는 cdc.xdbcdc_state 테이블 열에 대해 설명합니다.The following table describes the cdc.xdbcdc_state table columns.

항목Item DescriptionDescription
상태status 현재 Oracle CDC 인스턴스에 대한 현재 상태 코드입니다.The current status code for the current Oracle CDC Instance. 상태는 CDC의 현재 상태를 설명합니다.The status describes the current state for the CDC.
sub_statussub_status 현재 상태에 대한 추가 정보를 제공하는 두 번째 수준 상태입니다.A second level status that provides additional information about the current status.
activeactive 부울 값이며 다음과 같습니다.A Boolean value that can be:

0: Oracle CDC 인스턴스 프로세스가 활성 상태가 아닙니다.0: The Oracle CDC Instance process is not active.

1: Oracle CDC 인스턴스 프로세스가 활성 상태입니다.1: The Oracle CDC Instance process is active.
errorerror 부울 값이며 다음과 같습니다.A Boolean value that can be:

0: Oracle CDC 인스턴스 프로세스가 오류 상태가 아닙니다.0: The Oracle CDC Instance process is not in an error state.

1: Oracle CDC 인스턴스가 오류 상태입니다.1: The Oracle CDC Instance is in an error state.
status_messagestatus_message 오류 또는 상태에 대해 설명하는 문자열입니다.A string that provides a description of the error or status.
timestamptimestamp 캡처 상태를 마지막으로 업데이트한 시간(UTC)이 포함된 타임스탬프입니다.The timestamp with the time (UTC) that the capture state was last updated.
active_capture_nodeactive_capture_node Oracle 트랜잭션 로그를 처리 중인 Oracle CDC Service 및 Oracle CDC 인스턴스를 현재 실행 중인 호스트의 이름입니다. 호스트는 클러스터 내의 노드일 수 있습니다.The name of the host (the host can be a node on a cluster) that is currently running the Oracle CDC Service and the Oracle CDC Instance (which is processing the Oracle transaction logs).
last_transaction_timestamplast_transaction_timestamp 마지막 트랜잭션이 변경 테이블에 기록된 시간(UTC)이 포함된 타임스탬프입니다.A timestamp with the time (UTC) when the last transaction that was written to the change tables.
last_change_timestamplast_change_timestamp 원본 Oracle 트랜잭션 로그에서 최신 변경 레코드를 읽은 시간(UTC)이 포함된 타임스탬프입니다.A timestamp with the time (UTC) when the most recent change record was read from the source Oracle transaction log. 이 타임스탬프를 통해 CDC 프로세스의 현재 대기 시간을 식별할 수 있습니다.This timestamp helps to identify the current latency of the CDC process.
transaction_log_head_cntransaction_log_head_cn Oracle 트랜잭션 로그에서 읽은 최신 CN(변경 번호)입니다.The most recent change number (CN) read from the Oracle transaction log.
transaction_log_tail_cntransaction_log_tail_cn 다시 시작하거나 복구할 때 Oracle CDC 인스턴스의 위치를 변경할 Oracle 트랜잭션 로그의 CN(변경 번호)입니다.The change number (CN) on the Oracle transaction log where the Oracle CDC Instance repositions to in case of a restart or recovery.
current_cncurrent_cn 원본 데이터베이스에 있는 것으로 알려진 최신 CN(변경 번호)입니다.The most recent change number (CN) known to be in the source database.
software_versionsoftware_version Oracle CDC Service의 내부 버전입니다.The internal version of the Oracle CDC Service.
completed_transactionscompleted_transactions CDC를 마지막으로 다시 설정한 이후에 처리된 트랜잭션의 수입니다.The number of transactions processed since the CDC was last reset.
written_changeswritten_changes SQL ServerSQL Server 변경 테이블에 기록된 변경 레코드의 수입니다.The number of change records written to the SQL ServerSQL Server change tables.
read_changesread_changes 원본 Oracle 트랜잭션 로그에서 읽은 변경 레코드의 수입니다.The number of change records read from the source Oracle transaction log.
staged_transactionsstaged_transactions cdc.xdbcdc_staged_transactions 테이블에서 준비된 현재 활성 트랜잭션 수입니다.The number of currently active transactions that are staged in the cdc.xdbcdc_staged_transactions table.

cdc.xdbcdc_tracecdc.xdbcdc_trace

이 테이블에는 CDC 인스턴스 작업에 대한 정보가 포함되어 있습니다.This table contains information about the operation of the CDC instance. 이 테이블에 저장되는 정보에는 오류 레코드, 주목할 만한 상태 변경 및 추적 레코드가 포함됩니다.Information stored in this table includes error records, notable status changes, and trace records. cdc.xcbcdc_trace 테이블을 사용할 수 없는 경우에도 정보를 사용할 수 있도록 오류 정보는 Windows 이벤트 로그에도 기록됩니다.Error information is also written to the Windows event log to ensure that the information is available if the cdc.xcbcdc_trace table is unavailable.

다음 표에서는 cdc.xdbcdc_trace 테이블 열에 대해 설명합니다.The following table describes the cdc.xdbcdc_trace table columns.

항목Item DescriptionDescription
timestamptimestamp 추적 레코드가 기록된 정확한 UTC 타임스탬프입니다.The exact UTC timestamp when the trace record was written.
유형type 다음 값 중 하나가 포함됩니다.Contains one of the following values.

errorERROR

INFOINFO

추적TRACE
nodenode 레코드가 기록된 노드의 이름입니다.The name of the node on which the record was written.
상태status 상태 테이블에서 사용되는 상태 코드입니다.The status code that is used by the state table.
sub_statussub_status 상태 테이블에서 사용되는 하위 상태 코드입니다.The sub-status code that is used by the state table.
status_messagestatus_message 상태 테이블에서 사용되는 상태 메시지입니다.The status message that is used by the state table.
데이터data 오류 또는 추적 레코드에 페이로드가 포함되는 사례에 대한 추가 데이터입니다(예: 손상된 로그 레코드).Additional data for cases when the error or trace record contains a payload (for example, a corrupted log record).

cdc.xdbcdc_staged_transactionscdc.xdbcdc_staged_transactions

이 테이블에는 큰 트랜잭션 또는 장기 실행 트랜잭션에 대한 변경 레코드가 트랜잭션 커밋 또는 롤백 이벤트가 캡처될 때까지 저장됩니다.This table stores change records for large or long-running transactions until the transaction commit or rollback event is captured. Oracle CDC Service는 캡처된 로그 레코드를 트랜잭션 커밋 시간을 기준으로 정렬한 다음 각 트랜잭션에 대한 시간순으로 정렬합니다.The Oracle CDC Service orders captured log records by transaction commit time and then by chronological order for each transaction. 동일한 트랜잭션에 대한 로그 레코드는 트랜잭션이 종료될 때까지 메모리에 저장되었다가 대상 변경 테이블에 기록되거나 삭제(롤백의 경우)됩니다.Log records for the same transaction are stored in memory until the transaction ends and then are written to the target change table or discarded (in case of a rollback). 사용 가능한 메모리 양이 제한되므로 대형 트랜잭션은 트랜잭션이 완료될 때까지 cdc.xdbcdc_staged_transactions 테이블에 기록됩니다.Because there is a limited amount of memory available, large transactions are written into the cdc.xdbcdc_staged_transactions table until the transaction is complete. 트랜잭션은 오래 동안 실행될 경우 준비 테이블에도 기록됩니다.Transactions are also written to the staging table when they run for a long time. 따라서 Oracle CDC 인스턴스를 다시 시작할 때 Oracle 트랜잭션 로그에서 이전 변경 사항을 다시 읽을 필요가 없습니다.Therefore, when the Oracle CDC Instance is restarted, the old changes do not need to be re-read from the Oracle transaction logs.

다음 표에서는 cdc.xdbcdc_staged_transactions 테이블 열에 대해 설명합니다.The following table describes the cdc.xdbcdc_staged_transactions table columns.

항목Item DescriptionDescription
transaction_idtransaction_id 준비 중인 트랜잭션의 고유 트랜잭션 식별자입니다.The unique transaction identifier of the transaction being staged.
seq_numseq_num 현재 트랜잭션에 대한 xcbcdc_staged_transactions 행의 번호입니다(0부터 시작).The number of xcbcdc_staged_transactions row for the current transaction (starting with 0).
data_start_cndata_start_cn 이 행에 있는 데이터의 첫 번째 변경에 대한 CN(변경 번호)입니다.The change number (CN) for the first change in the data in this row.
data_end_cndata_end_cn 이 행에 있는 데이터의 마지막 변경에 대한 CN(변경 번호)입니다.The change number (CN) for the last change in the data in this row.
데이터data 트랜잭션에 대해 준비된 변경 사항이며 BLOB 형태입니다.The staged changes for the transaction in the form of a BLOB.

참고 항목See Also

Change Data Capture Designer for Oracle by AttunityChange Data Capture Designer for Oracle by Attunity