|
|
|
голденгейт - как передать справочник, спрятав код?
|
|||
|---|---|---|---|
|
#18+
oracle 12.2 ggms 12.3 возникла задача отдавать голденгейтом из оракла данные двух таблиц Код: plsql 1. 2. table2 - справочник, связь к table1 1-n по code проблема в том, что сами значения code отдавать нельзя и нельзя вносить изменения в структуру таблиц как можно выкрутиться, чтоб на приемнике связность таблиц сохранилась? самим гг на источнике их можно объединить типо как вьюшка или мат-вьюшка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2018, 12:55 |
|
||
|
голденгейт - как передать справочник, спрятав код?
|
|||
|---|---|---|---|
|
#18+
Посмотрите функцию ogg_sha1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2018, 16:54 |
|
||
|
голденгейт - как передать справочник, спрятав код?
|
|||
|---|---|---|---|
|
#18+
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, к примеру, суррогатным ключом. Впрочем, в варианте с промежуточной схемой на источнике круг возможных решений ограничивается лишь фантазией и квалификацией исполнителей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2018, 17:50 |
|
||
|
голденгейт - как передать справочник, спрятав код?
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous, На самом деле, у одного заказчика, имя которого не следует называть, задача реализована именно через OGG_SHA1. Достаточно неплохая схема ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2018, 17:56 |
|
||
|
голденгейт - как передать справочник, спрятав код?
|
|||
|---|---|---|---|
|
#18+
Alexander RyndinНа самом деле, у одного заказчика, имя которого не следует называть, задача реализована именно через OGG_SHA1. Достаточно неплохая схема Ну только если прикрутить на extract. Однако у хешей есть врожденный недостаток - иногда они совпадают , причем отследить такое событие без исходного значения достаточно сложно. Соглашусь, что не все данные одинаково ценны, но все-таки я бы поостерегся... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2018, 18:03 |
|
||
|
голденгейт - как передать справочник, спрятав код?
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousAlexander RyndinНа самом деле, у одного заказчика, имя которого не следует называть, задача реализована именно через OGG_SHA1. Достаточно неплохая схема Ну только если прикрутить на extract. Однако у хешей есть врожденный недостаток - иногда они совпадают , причем отследить такое событие без исходного значения достаточно сложно. Соглашусь, что не все данные одинаково ценны, но все-таки я бы поостерегся...1) Прикручивать лучше на pump 2) Реализованный в OGG_SHA1 алгоритм 160 битный. Вероятность совпадения есть, конечно, но она мала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2018, 18:12 |
|
||
|
голденгейт - как передать справочник, спрятав код?
|
|||
|---|---|---|---|
|
#18+
Alexander Ryndin1) Прикручивать лучше на pump 2) Реализованный в OGG_SHA1 алгоритм 160 битный. Вероятность совпадения есть, конечно, но она мала. 1) Памп - тоже extract :) 2) Я не говорю, что она высока. Но не нулевая и такая коллизия крайне сложно детектируется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2018, 18:23 |
|
||
|
голденгейт - как передать справочник, спрятав код?
|
|||
|---|---|---|---|
|
#18+
Если справочники действительно не хочется показывать, то SHA1 без salt не подходит. Набор возможных значений ограничен и может быть вычислен довольно просто, в том числе по Rainbow table ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2018, 20:59 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39701042&tid=1883474]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
22ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 348ms |

| 0 / 0 |
