Pular para o conteúdo

Fóruns Banco de dados Oracle Sessão LGWR Bloqueando outras sessões Sessão LGWR Bloqueando outras sessões

#85297
vieri
Participante

    Esta citação no metalink explica bem oque citei acima e corrige alguns pontos.

    QUESTION

    How does Oracle calculate the LOG_BUFFER size ?

    A big difference can be seen between 10.2.0.3 and 10.2.0.4 when using the same system configuration (in terms of the application and its db objects and datafiles, ram size, number of CPUs etc). In 10.2.0.3 it was set by Oracle to 14M and now in 10.2.0.4 to 1.5M.

    Solution
    ANSWER

    =========

    The LOG_BUFFER size will be set by default, by Oracle internal algorithm.

    In 10G R2, Oracle combines fixed SGA area and redo buffer [log buffer] together.
    If there is a free space after Oracle puts the combined buffers into a granule, that space is added to the redo buffer. Thus you see redo buffer has more space than expected. This is an expected behavior.

    Bug 4930608 documents this :
    “In 10.2 the log buffer is rounded up to use the rest of the granule…
    The granule size can be found from the hidden parameter “_ksmg_granule_size” ”

    In 10G the log_buffer could fall between the log_buffer specified in spfile and the granule size.

    A minimum value can be specified, but Oracle can initialize it with a bigger value, as decided by its internal algorithm.

    Eu aumentario os redos para no máximo 300Mb.
    Se após isso não haver melhoria.

    Qto a undo ,pede para eles diminuir o intervalos entre os commit’s
    se fazem de 1000000 em 1000000 diminui para 10000 em 10000
    coisa do tipo ou como dito acima aumente a undo_retention.

    o alter system está correto.

    mas não lembro se o parâmetro é dinâmico, se tomar erro
    troque por scope=spfile.

    []s