powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / голденгейт - как передать справочник, спрятав код?
8 сообщений из 8, страница 1 из 1
голденгейт - как передать справочник, спрятав код?
    #39700881
AlexVin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
oracle 12.2 ggms 12.3

возникла задача отдавать голденгейтом из оракла данные двух таблиц
Код: plsql
1.
2.
table1(id pk,code,stolb1,stolb2,..)
table2(code pk,pole1,pole2,..)


table2 - справочник, связь к table1 1-n по code
проблема в том, что сами значения code отдавать нельзя
и нельзя вносить изменения в структуру таблиц
как можно выкрутиться, чтоб на приемнике связность таблиц сохранилась?

самим гг на источнике их можно объединить типо как вьюшка или мат-вьюшка?
...
Рейтинг: 0 / 0
голденгейт - как передать справочник, спрятав код?
    #39701001
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите функцию ogg_sha1
...
Рейтинг: 0 / 0
голденгейт - как передать справочник, спрятав код?
    #39701029
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexVinсамим гг на источнике их можно объединить типо как вьюшка или мат-вьюшка?
Полагаю, что требование "отдавать значения code нельзя" с высокой вероятностью означает, что помещать code в trail тоже нельзя, ибо почитать сами trail на приемнике вполне себе возможно.
И тут остается два пути: либо прикручивать к OGG TDE, либо (что надежнее, кмк) просто физически не выпускать чувствительные данные за пределы источника.

По MV: Вообще OGG поддерживает репликацию MV при выполнении ряда условий.
автор1.7.2.4 Limitations of Support for Materialized Views
Materialized views are supported by Extract in classic and integrated modes with the following limitations.

Materialized views created WITH ROWID are not supported.

The materialized view log can be created WITH ROWID.

The source table must have a primary key.

Truncates of materialized views are not supported. You can use a DELETE FROM statement.

DML (but not DDL) from a full refresh of a materialized view is supported. If DDL support for this feature is required, open an Oracle GoldenGate support case.

For Replicat the Create MV command must include the FOR UPDATE clause

Either materialized views can be replicated or the underlying base table(s), but not both.

Но что-то мне подсказывает, что пункт "The source table must have a primary key." не позволит без кульбитов отработать условие "сами значения code отдавать нельзя".
Я бы рассмотрел вариант с промежуточной схемой на источнике, где любым приемлемым способом (с учетом объемов и частоты изменений) будет строиться регулярная табличка требуемой структуры, которая и уедет в ГГ после замены атрибута code, к примеру, суррогатным ключом.
Впрочем, в варианте с промежуточной схемой на источнике круг возможных решений ограничивается лишь фантазией и квалификацией исполнителей.
...
Рейтинг: 0 / 0
голденгейт - как передать справочник, спрятав код?
    #39701032
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous,

На самом деле, у одного заказчика, имя которого не следует называть, задача реализована именно через OGG_SHA1.
Достаточно неплохая схема
...
Рейтинг: 0 / 0
голденгейт - как передать справочник, спрятав код?
    #39701037
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinНа самом деле, у одного заказчика, имя которого не следует называть, задача реализована именно через OGG_SHA1.
Достаточно неплохая схема
Ну только если прикрутить на extract.
Однако у хешей есть врожденный недостаток - иногда они совпадают , причем отследить такое событие без исходного значения достаточно сложно.
Соглашусь, что не все данные одинаково ценны, но все-таки я бы поостерегся...
...
Рейтинг: 0 / 0
голденгейт - как передать справочник, спрятав код?
    #39701042
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousAlexander RyndinНа самом деле, у одного заказчика, имя которого не следует называть, задача реализована именно через OGG_SHA1.
Достаточно неплохая схема
Ну только если прикрутить на extract.
Однако у хешей есть врожденный недостаток - иногда они совпадают , причем отследить такое событие без исходного значения достаточно сложно.
Соглашусь, что не все данные одинаково ценны, но все-таки я бы поостерегся...1) Прикручивать лучше на pump
2) Реализованный в OGG_SHA1 алгоритм 160 битный. Вероятность совпадения есть, конечно, но она мала.
...
Рейтинг: 0 / 0
голденгейт - как передать справочник, спрятав код?
    #39701050
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Ryndin1) Прикручивать лучше на pump
2) Реализованный в OGG_SHA1 алгоритм 160 битный. Вероятность совпадения есть, конечно, но она мала.
1) Памп - тоже extract :)
2) Я не говорю, что она высока. Но не нулевая и такая коллизия крайне сложно детектируется.
...
Рейтинг: 0 / 0
голденгейт - как передать справочник, спрятав код?
    #39701128
Мутаген
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если справочники действительно не хочется показывать, то SHA1 без salt не подходит. Набор возможных значений ограничен и может быть вычислен довольно просто, в том числе по Rainbow table
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / голденгейт - как передать справочник, спрятав код?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]