Oracle: простой вопрос

hren
Уже с Приветом
Posts: 507
Joined: 15 May 2002 13:30
Location: Moscow, Russia

Oracle: простой вопрос

Post by hren »

Заранее прошу прощения за странный вопрос:

Пишет ли dbwr в temp (имеются в виду любые типы temporary segments)?

:)
User avatar
JustMax
Уже с Приветом
Posts: 1476
Joined: 05 Dec 2000 10:01
Location: Vilnius -> Bonn

Re: Oracle: простой вопрос

Post by JustMax »

hren wrote:Заранее прошу прощения за странный вопрос:

Пишет ли dbwr в temp (имеются в виду любые типы temporary segments)?

:)


Еще более странный вопрос - а кто же еще ? :) (Имеется ввиду физическая запись на диск). Притом происходит это в нескольких случаях : при checkpoint time-out или при отсутствии памяти (грубо) или при переключении redo-logs. Здесь я, правда, не помню кто обновляет control files - lgwr или dbwr.
vc
Уже с Приветом
Posts: 664
Joined: 05 Jun 2002 01:11

Re: Oracle: простой вопрос

Post by vc »

hren wrote:Заранее прошу прощения за странный вопрос:

Пишет ли dbwr в temp (имеются в виду любые типы temporary segments)?

:)


No, it does not.

VC
Lazy44
Уже с Приветом
Posts: 525
Joined: 01 May 2002 20:29
Location: CT->MA->TX->UT

Post by Lazy44 »

As far as I remember dbwr writes only into permanent tablespaces. User processes writes into temp
vc
Уже с Приветом
Posts: 664
Joined: 05 Jun 2002 01:11

Post by vc »

Lazy44 wrote:As far as I remember dbwr writes only into permanent tablespaces. User processes writes into temp


Close, but not quite there ...

The shadow Oracle process spawned by the user process (not the user process itself) will indeed write to the temp ts.

In addition, the shadow process will write to the 'normal'/permanent ts during index creation/lob operations/ctas and such.

VC
hren
Уже с Приветом
Posts: 507
Joined: 15 May 2002 13:30
Location: Moscow, Russia

Post by hren »

То есть в temp ts и ts типа temp пишет серверный процесс. А в temp segments, которые (простите за тавтологию) временно являются временными, например, до окончания создания индекса, в "нормальных" ts, пишет dbwr?

Кто тогда осуществляет space management для temp? Сами серверные процессы или smon?


2JustMax: дело в том, что запись на диск при сортировках идет мимо кэша (это в явном виде указано в штатной документации), соответственно и запись блоков при нехватке буферов невозможна. Запись по checkpoint или при переключении журналов в случае дисковой сортировки это довольно странная концепция. Собственно поэтому и возник вопрос.
vc
Уже с Приветом
Posts: 664
Joined: 05 Jun 2002 01:11

Post by vc »

hren wrote: А в temp segments, которые (простите за тавтологию) временно являются временными, например, до окончания создания индекса, в "нормальных" ts, пишет dbwr?
.


"...the shadow process[not dbwr] will write to the 'normal'/permanent ts during index creation/lob operations/ctas and such."

VC
hren
Уже с Приветом
Posts: 507
Joined: 15 May 2002 13:30
Location: Moscow, Russia

Post by hren »

Извините, прочитал невнимательно. Итак, dbwr никогда не пишет в temp. Остается только вопрос с реализацией space maanagement'а.
vc
Уже с Приветом
Posts: 664
Joined: 05 Jun 2002 01:11

Post by vc »

hren wrote:Извините, прочитал невнимательно. Итак, dbwr никогда не пишет в temp.


Well, no, I forgot to mention GTTs. DMLs to temporary tables (which are created in temp) are performed as usual, via cache and DBWR.

The cache/dbwr is bypassed for:
sort operations
parallel scans
LOB handling
direct path inserts
index creation
CTAS


hren wrote: Остается только вопрос с реализацией space maanagement'а.


Space management follows the usual path: cache->dbwr.


VC

Return to “Вопросы и новости IT”