Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 materialized view snaptime  [new]
Sergej Kisinskij
Member

Откуда:
Сообщений: 13
привет всем,
у меня есть вопрос к теме materialized view в Oracle 10.2. я создаю materialized view на таблицу с параметрами

BUILD IMMEDIATE
REFRESH FORCE ON COMMIT
DISABLE QUERY REWRITE
WITH ROWID

потом делаю на materialized view Log. в этом Log видно какая информация новая, какая была изменена итд. к тому же там есть атрибут snaptime$$, который должен показывать дату когда информация пришла, была удалена итд.

у меня на локальной системе показывает нормальное время. а на тестовой системе стоит 01.10.4000. как я узнал это в Oracle стандартная дата. может кто-то знает что надо поменять, что бы показывало дату изменения?

заранее большое спасибо за помощь.

Сергей
1 июл 09, 16:51    [7364705]     Ответить | Цитировать Сообщить модератору
 Re: materialized view snaptime  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
Materialized View Log - snaptime$$
Ask Tom
and we said...
snaptime$$ is modified upon a refresh and is only used when there are multiple snapshots
defined on a single master
.


When a snapshot refreshes -- it sets this column to the time it did its refresh. That
way, when it refreshes later -- it can skip rows it already did.

Say you have two snapshots S1 and S1. You have a master table M.

You have a snapshot log with:

1 01014000 00:00:00 I N

in it. Say it is now noon on April 4th 2003. S1 was last refreshed at 11am on the same
day. S2 was last refreshed at 9am that morning. S1 refreshes by pulling every change
from the snapshot log where snaptime$$ is greater then 11am April 4th 2003. That record
from the year 4000 is so it gets applied. When S1 is done, the snapshot log would have:

1 04042003 12:00:00 I N

Now at 1pm, S1 refreshes again. Nothing happens -- there are no newer records to
process. At 1:05pm, S2 refreshes. The record in there happened after 9am (S2's last
refresh) so it pulls it. Since S2 is the last snapshot in need of refresh from this
record -- it is removed from the log.

So, snaptime$$ is used to coordinate multiple snapshots using the same log.
2 июл 09, 07:49    [7366504]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить