Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 GoldenGate ERROR OGG-00868 Преобразование типа данных  [new]
Влад2020
Member

Откуда:
Сообщений: 1
Коллеги, привет. Прошу помощи

Дали задание разобраться и настроить OGG между MSSQL2016 и MSSQL2016.

настроил все по
http://docs.oracle.com/en/middleware/goldengate/core/12.3.0.1/goldengate-sqlserver-cdc-replication/
+ первоначальная загрузка данных. Те настройки стандартные.

На тестовой таблице все заработало.
create table dbo.testtable (cola int primary key, colb int);

Когда решил сделать на реальной таблице сразу выпала ошибка.
Вернулся к тестовому примеру и снова выпала та же самая ошибка.

Версия:

Oracle GoldenGate Command Interpreter for SQL Server
Version 12.3.0.1.180821 OGGCORE_12.3.0.1.0OGGBP_PLATFORMS_180806.2339
Windows x64 (optimized), Microsoft SQL Server on Aug  7 2018 18:27:18
Operating system character set identified as windows-1251.


Мой алгоритм запуска:

- запуск менеджера на источнике
ggsci>START MGR

- запуск менеджера на приемнике
ggsci>START MGR

- запуск EXTRACT на источнике
ggsci>START EXTRACT ext

- запуск PUMP на источнике
ggsci>START EXTRACT pump

- запуск EXTRACT на источнике (начальная загрузка данных)
ggsci>START EXTRACT init_ext

- проверяю начальную загрузку данных + статус
ggsci>INFO EXTRACT init_ext - вижу что данные перекачены и статус STOPED

- пытаюсь запустить REPLICAT на приемнике

ggsci>START REPLICAT rep и тут теперь вываливается ошибка


Source Context :
  SourceModule            : [ggdb.oledb.db]
  SourceID                : [../gglib/ggdbodbc/dboledb.cpp]
  SourceMethod            : [OleDB::LogError]
  SourceLine              : [2028]
  ThreadBacktrace         : [17] elements
                          : [D:\OGGT\gglog.dll(??1CContextItem@@UEAA@XZ)]
                          : [D:\OGGT\gglog.dll(?CreateMessage@CMessageFactory@@QEAAPEAVCMessage@@PEAVCSourceContext@@IZZ)]
                          : [D:\OGGT\gglog.dll(?

_MSG_Pointer@@YAPEAVCMessage@@PEAVCSourceContext@@HPEBXW4MessageDisposition@CMessageFactory@@@Z)]
                          : [D:\OGGT\replicat.exe(_ggTryDebugHook)]
                          : [D:\OGGT\replicat.exe(_ggTryDebugHook)]
                          : [D:\OGGT\replicat.exe(_ggTryDebugHook)]
                          : [D:\OGGT\replicat.exe(<ggTryDebugHook)]
                          : [D:\OGGT\replicat.exe(ERCALLBACK)]
                          : [D:\OGGT\replicat.exe(_ggTryDebugHook)]
                          : [D:\OGGT\replicat.exe(ERCALLBACK)]
                          : [D:\OGGT\replicat.exe(_ggTryDebugHook)]
                          : [D:\OGGT\replicat.exe(_ggTryDebugHook)]
                          : [D:\OGGT\replicat.exe(_ggTryDebugHook)]
                          : [D:\OGGT\replicat.exe(ERCALLBACK)]
                          : [D:\OGGT\replicat.exe(CommonLexerNewSSD)]
                          : [C:\Windows\System32\KERNEL32.DLL(BaseThreadInitThunk)]
                          : [C:\Windows\SYSTEM32\ntdll.dll(RtlUserThreadStart)]

2020-04-17 13:12:05  ERROR   OGG-00868  Преобразование типа данных varchar в тип данных datetime привело к выходу значения за пределы 

диапазона.
Server: TargetSQL
Native Error: 242, 242
State: 3, 22007
Class: 10
Выполнение данной инструкции было прервано.
Server: TargetSQL
Native Error: e25, e25
State: 1, 01000
Class: 0.

2020-04-17 13:12:05  ERROR   OGG-01668  PROCESS ABENDING.


В исходной таблице полей с типом данных datetime нет. Переделал несколько раз настройку убирая из таблицы постепенно различные типы данных.
Теперь да же с исходной таблицей
 
create table dbo.testtable (cola int primary key, colb int);

ошибка не пропала. replicat не запускается.
17 апр 20, 15:49    [22118105]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: GoldenGate ERROR OGG-00868 Преобразование типа данных  [new]
Hummel86
Member

Откуда:
Сообщений: 1
Добрый день. Скорее всего проблема возникает при вставке в таблицу checkpoint.
В этом можно убедится запустив трассировщик (Profiler) или создать расширенное событие на стороне MSSQL.
Oracle GG не мог выполнить запрос:

INSERT INTO [dbo].[chptable]
(group_name , group_key , current_dir , create_ts , last_update_ts , seqno , rba , audit_ts , version)
VALUES
('RACCOUNT', 773566399, 'C:\app\GG_WIN19', '2021-04-23 05:57:29', current_timestamp, 0, 0, NULL, 1)

Если точнее то не проходила конвертации '2021-04-23 05:57:29' в datetime.
Причина ошибки - настройка региональных параметров в MSSQL. MSSQL не может сконвертировать дату в формате ODBC.

Варианты лечения:
1. "Играть" с региональными настройками в БД MSSQL
2. Попробовать настроить работу GG не через драйвер ODBC
3. Вставить строку вручную: изменить '2021-04-23 05:57:29' на '20210423 05:57:29' и выполнить insert самостоятельно.
4. Что то другое... Пока не придумал.

В моем случае, помог вариант 3. Но это плохое решение.
23 апр 21, 06:51    [22312897]     Ответить | Цитировать Сообщить модератору
 Re: GoldenGate ERROR OGG-00868 Преобразование типа данных  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 19050
Hummel86
не проходила конвертации '2021-04-23 05:57:29' в datetime.
Причина ошибки - настройка региональных параметров в MSSQL. MSSQL не может сконвертировать дату в формате ODBC.

1. Убедитесь, что в конфиге replicat правильно сконфигурирован тип данных для указанного атрибута.

https://docs.oracle.com/en/middleware/goldengate/core/19.1/gghdb/understanding-whats-supported-sql-server.html#GUID-E39BD0EF-3A04-4E6B-A619-94507BF89E1C
https://docs.oracle.com/en/middleware/goldengate/core/19.1/gghdb/understanding-whats-supported-sql-server.html#GUID-E39BD0EF-3A04-4E6B-A619-94507BF89E1C
Supported SQL Server Data Types
The following data types are supported for capture and delivery, unless specifically noted in the limitations that follow:
...
Date and Time Data Types
(date, datetime2, datetime, datetimeoffset, smalldatetime, time)


2. На худой конец, replicat может быть сконфигурирован для явного применения функций к атрибутам
https://docs.oracle.com/goldengate/1212/gg-winux/GWURF/gg_parameters156.htm#GWURF660

Сообщение было отредактировано: 23 апр 21, 12:36
23 апр 21, 12:34    [22313115]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить