|
|
|
Golden Gate COMMITTIMESTAMP WITH TIMEZONE
|
|||
|---|---|---|---|
|
#18+
Добрый день! Есть источник данных допустим находиться во Владивостоке часовой пояс +11 час время там 18:33 В Москве время, где находиться целевой сервер 11:33 часовой пояс +4 когда используется @GETENV ("GGHEADER", "COMMITTIMESTAMP") время записывается 11:33 +4 , а должно записываться 18:33 +11 как это можно сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2012, 11:36 |
|
||
|
Golden Gate COMMITTIMESTAMP WITH TIMEZONE
|
|||
|---|---|---|---|
|
#18+
windwsДобрый день! Есть источник данных допустим находиться во Владивостоке часовой пояс +11 час время там 18:33 В Москве время, где находиться целевой сервер 11:33 часовой пояс +4 когда используется @GETENV ("GGHEADER", "COMMITTIMESTAMP") время записывается 11:33 +4 , а должно записываться 18:33 +11 как это можно сделать?Для COMMITTIMESTAMP не требуется делать преобразования самостоятельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2012, 12:09 |
|
||
|
Golden Gate COMMITTIMESTAMP WITH TIMEZONE
|
|||
|---|---|---|---|
|
#18+
Александр, вот именно что COMMITTIMESTAMP сам делает преобразование времени, а мне это не нужно, необходимо чтобы время которое приходило оставалось таким же как и было на источнике. а COMMITTIMESTAMP его автоматически преобразует к времени, целевого сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2012, 12:16 |
|
||
|
Golden Gate COMMITTIMESTAMP WITH TIMEZONE
|
|||
|---|---|---|---|
|
#18+
windwsАлександр, вот именно что COMMITTIMESTAMP сам делает преобразование времени, а мне это не нужно, необходимо чтобы время которое приходило оставалось таким же как и было на источнике. а COMMITTIMESTAMP его автоматически преобразует к времени, целевого сервера.Он не преобразует его ко времени источника. Он все времена приносит в GMT. Насколько я знаю TIMESTAMP WITH TIMEZONE можно только реплицировать. Т.е. если вы сами такое поле заполняете в таблице(например, триггером), то это можно перетаскивать OGG ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2012, 12:32 |
|
||
|
Golden Gate COMMITTIMESTAMP WITH TIMEZONE
|
|||
|---|---|---|---|
|
#18+
А какова цель этого танца? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2012, 12:33 |
|
||
|
Golden Gate COMMITTIMESTAMP WITH TIMEZONE
|
|||
|---|---|---|---|
|
#18+
Такие требования.. Я так понимаю что параметр @GETENV ("GGHEADER", "COMMITTIMESTAMP") должен выводить время которое находится на источннике? у меня почему-то COMMITTIMESTAMP переводит время на время которое находится на таргете. И не знаю что с этим сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2012, 12:39 |
|
||
|
Golden Gate COMMITTIMESTAMP WITH TIMEZONE
|
|||
|---|---|---|---|
|
#18+
аwindwsТакие требования.. Я так понимаю что параметр @GETENV ("GGHEADER", "COMMITTIMESTAMP") должен выводить время которое находится на источннике? у меня почему-то COMMITTIMESTAMP переводит время на время которое находится на таргете. И не знаю что с этим сделать.Не совсем так. Он переводит время во временную зону +0:00. Допустим у вас есть источник и приемник: 1. Источник в Москве, временная зона +3:00 и время COMMIT 3:00 ночи 2. Приемник в Екатеринбург, временная зона +5:00 и время COMMIT 5:00 ночи При правильной настройке в обоих случаях в COMMITTIMESTAMP вы получите 0:00. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2012, 12:54 |
|
||
|
Golden Gate COMMITTIMESTAMP WITH TIMEZONE
|
|||
|---|---|---|---|
|
#18+
зоны, конечно -3:00 и -5:00 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2012, 12:55 |
|
||
|
Golden Gate COMMITTIMESTAMP WITH TIMEZONE
|
|||
|---|---|---|---|
|
#18+
Александр, ну все таки как правильно сделать, чтобы время было правильно в целевой таблице? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2012, 13:43 |
|
||
|
Golden Gate COMMITTIMESTAMP WITH TIMEZONE
|
|||
|---|---|---|---|
|
#18+
windwsДобрый день! Есть источник данных допустим находиться во Владивостоке часовой пояс +11 час время там 18:33 В Москве время, где находиться целевой сервер 11:33 часовой пояс +4 когда используется @GETENV ("GGHEADER", "COMMITTIMESTAMP") время записывается 11:33 +4 , а должно записываться 18:33 +11 как это можно сделать?Ну решите влоб. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2012, 14:19 |
|
||
|
Golden Gate COMMITTIMESTAMP WITH TIMEZONE
|
|||
|---|---|---|---|
|
#18+
windwsДобрый день! Есть источник данных допустим находиться во Владивостоке часовой пояс +11 час время там 18:33 В Москве время, где находиться целевой сервер 11:33 часовой пояс +4 когда используется @GETENV ("GGHEADER", "COMMITTIMESTAMP") время записывается 11:33 +4 , а должно записываться 18:33 +11 как это можно сделать? Есть желание понять, откуда вы взяли, что COMMITTIMESTAMP пишется с таймзоной? Код: plsql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2012, 16:27 |
|
||
|
Golden Gate COMMITTIMESTAMP WITH TIMEZONE
|
|||
|---|---|---|---|
|
#18+
Alexander RyndinwindwsАлександр, вот именно что COMMITTIMESTAMP сам делает преобразование времени, а мне это не нужно, необходимо чтобы время которое приходило оставалось таким же как и было на источнике. а COMMITTIMESTAMP его автоматически преобразует к времени, целевого сервера.Он не преобразует его ко времени источника. Он все времена приносит в GMT. Насколько я знаю TIMESTAMP WITH TIMEZONE можно только реплицировать. Т.е. если вы сами такое поле заполняете в таблице(например, триггером), то это можно перетаскивать OGG Александр, что вы имеете в виду, под "он все времена переносит в GMT"? GG переносит времена так, как они были записаны в redo.log, а там может быть все что угодно, и не обязательно это GMT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2012, 16:29 |
|
||
|
Golden Gate COMMITTIMESTAMP WITH TIMEZONE
|
|||
|---|---|---|---|
|
#18+
BarkovskywindwsДобрый день! Есть источник данных допустим находиться во Владивостоке часовой пояс +11 час время там 18:33 В Москве время, где находиться целевой сервер 11:33 часовой пояс +4 когда используется @GETENV ("GGHEADER", "COMMITTIMESTAMP") время записывается 11:33 +4 , а должно записываться 18:33 +11 как это можно сделать? Есть желание понять, откуда вы взяли, что COMMITTIMESTAMP пишется с таймзоной? Код: plsql 1. 2. 3. 4. есть в целевой таблице создать поле timestamp with timezone, тогда параметр COMMITTIMESTAMP будет писать туда еще и тамйзону. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2012, 17:05 |
|
||
|
Golden Gate COMMITTIMESTAMP WITH TIMEZONE
|
|||
|---|---|---|---|
|
#18+
Я так и думал. COMMITTIMESTAMP тут тогда вообще ни при чем. Вам надо курить логику работы TIME ZONE. Вы записываете значение типа DATE в поле с тайм зоной, естественно, что это трактуется как время в таймзоне оракловой сессии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2012, 17:09 |
|
||
|
Golden Gate COMMITTIMESTAMP WITH TIMEZONE
|
|||
|---|---|---|---|
|
#18+
BarkovskyAlexander Ryndinпропущено... Он не преобразует его ко времени источника. Он все времена приносит в GMT. Насколько я знаю TIMESTAMP WITH TIMEZONE можно только реплицировать. Т.е. если вы сами такое поле заполняете в таблице(например, триггером), то это можно перетаскивать OGG Александр, что вы имеете в виду, под "он все времена переносит в GMT"? GG переносит времена так, как они были записаны в redo.log, а там может быть все что угодно, и не обязательно это GMT.в редо время пишется в gmt. по другому я не видел. Естестверно гг сам время не переводит, но по факту он приносит время в гринвиче ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2012, 18:05 |
|
||
|
Golden Gate COMMITTIMESTAMP WITH TIMEZONE
|
|||
|---|---|---|---|
|
#18+
Собственно, примерно это мне нужно было, когда я спрашивала вот здесь: http://www.sql.ru/forum/actualthread.aspx?tid=930119 Пока ничего лучше хардкода не придумалось... К сожалению, у меня на тестовой среде и таргет и источник в одной таймзоне, но я не увидела приведения к GMT. Alexander Ryndin, точно он его приводит?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2012, 18:19 |
|
||
|
Golden Gate COMMITTIMESTAMP WITH TIMEZONE
|
|||
|---|---|---|---|
|
#18+
Получается, голденгейт получает зону из операционной системы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2012, 18:25 |
|
||
|
Golden Gate COMMITTIMESTAMP WITH TIMEZONE
|
|||
|---|---|---|---|
|
#18+
Lga-EgПолучается, голденгейт получает зону из операционной системы?Барковский правильно сказал - это делает не GG, а сама СУБД Oracle. А так да, СУБД берет информацию из настроек ОС, чтобы понять насколько нужно сдвинуть время, чтобы получить GMT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2012, 19:18 |
|
||
|
Golden Gate COMMITTIMESTAMP WITH TIMEZONE
|
|||
|---|---|---|---|
|
#18+
Alexander RyndinBarkovskyпропущено... Александр, что вы имеете в виду, под "он все времена переносит в GMT"? GG переносит времена так, как они были записаны в redo.log, а там может быть все что угодно, и не обязательно это GMT.в редо время пишется в gmt. по другому я не видел. Естестверно гг сам время не переводит, но по факту он приносит время в гринвиче Склонен не согласиться с вами. Тесткейс приводить времени мало, но на 99% процентов уверен, что COMMITTIMESTAMP - это время OS, оно же sysdate. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2012, 11:21 |
|
||
|
Golden Gate COMMITTIMESTAMP WITH TIMEZONE
|
|||
|---|---|---|---|
|
#18+
Вот, что нарылось. Я вижу одной последних записей в текущем трейле: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Админ гайд говорит, что в логдампе время локальное, но в GMT формате (надо полагать так они называют отображение без таймзоны). admin guideIO Time - The timestamp of the commit record, in local time of the source system, in GMT format. All records in a transaction will have the same commit timestamp. The combination of IO Time and AuditRBA uniquely identifies data from a given transaction. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2012, 12:51 |
|
||
|
Golden Gate COMMITTIMESTAMP WITH TIMEZONE
|
|||
|---|---|---|---|
|
#18+
выяснилось, что ГГ перед сохранением COMMITTIMESTAMP (он же "IO Time" в logdump) в трейл, переводит время в часовую зону, в которой сам же и запущен. причем поля с типом TIMESTAMP, оставляет без изменений, что на мой взгляд является очень старнным было бы логично, и наверное даже полезно, если бы все времена приводились к другой зоне проверил следующим образом остановил и запустил экстракт два раза с явным указанием переменной TZ в первом случае UTC, во втором UTC-3 (Москва) каждый раз выполняя апдейт двух полей Код: sql 1. 2. 3. 4. 5. 6. Код: sql 1. Код: sql 1. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Код: sql 1. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2018, 19:16 |
|
||
|
Golden Gate COMMITTIMESTAMP WITH TIMEZONE
|
|||
|---|---|---|---|
|
#18+
Если это 12.2, то он ещё и приносит информацию о временной зоне самой базы данных. А время коммита он случаем не в utc переводит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2018, 23:28 |
|
||
|
Golden Gate COMMITTIMESTAMP WITH TIMEZONE
|
|||
|---|---|---|---|
|
#18+
да кстати версия ГГ 12.1.2.1.0, версия БД 12.1.0.2.0 подробности версии *********************************************************************** Oracle GoldenGate Capture for Oracle Version 12.1.2.1.0 OGGCORE_12.1.2.1.0_PLATFORMS_140727.2135.1_FBO Linux, x64, 64bit (optimized), Oracle 12c on Aug 7 2014 10:40:21 Copyright (C) 1995, 2014, Oracle and/or its affiliates. All rights reserved. Starting at 2018-01-27 14:55:44 *********************************************************************** Operating System Version: Linux Version #2 SMP Wed Nov 25 13:51:41 PST 2015, Release 3.8.13-98.7.1.el7uek.x86_64 Node: ol7-121.localdomain Machine: x86_64 Database Version: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production PL/SQL Release 12.1.0.2.0 - Production CORE 12.1.0.2.0 Production TNS for Linux: Version 12.1.0.2.0 - Production NLSRTL Version 12.1.0.2.0 - Production Да ГГ переводит время в UTC, но проблема в том, что только COMMITTIMESTAMP, а поля типа DATE и TIMESTAMP оставляет как есть. Причем если запускать сам logdump, то отображение "IO Time" изменяется в зависимости от переменной TZ, с которой запущен logdump. А поля DATE и TIMESTAMP отображаются как есть в UTC. и в заголовке трейла вижу информацию о временной зоне Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2018, 10:07 |
|
||
|
Golden Gate COMMITTIMESTAMP WITH TIMEZONE
|
|||
|---|---|---|---|
|
#18+
на самом деле COMMITTIMESTAMP не так важен что делать со обычными полями типа DATE и TIMESTAMP? как заставить ГГ конвертировать их к другой зоне? получается что только через "MACRO #add_hours"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2018, 10:22 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=37747158&tid=1884521]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 386ms |

| 0 / 0 |
