- Este tópico contém 18 respostas, 2 vozes e foi atualizado pela última vez 16 anos, 10 meses atrás por
vieri.
-
AutorPosts
-
8 de maio de 2009 às 10:01 pm #86650
vieri
ParticipantePessoal,
tenhu um rac com 2 nós,
e a SGA das duas instâncias,
estava configurada diferente,
não participei do projeto, não sei o porque,
seguindo minha teste ajustei a SGA no nó 2 para ficar igual do nó1,
config padrão SGA_MAX_SIZE com 7Gb e target a mesma coisa
e os outros pools com valor 0 para deixar gerênciamento automatico
tomar as decisões,
a melhora foi íncrivel, o ambiente ficou bem estavel, com as 2 SGA idênticas, no entanto to com uma pulga atrás da Orelha.A consulta abaixo insiste em me mostrar que tenhu 1Gb livre no large pool, contra 16Mb no nó 1.
SQL> select * from gv$SGASTAT where name like ‘%free%’;
INST_ID POOL NAME BYTES
———- ———— ————————– ———-
1 shared pool ksuloi: long op free list 128
1 shared pool message pool freequeue 757568
1 shared pool gcs resource freelist dyn 128
1 shared pool ges deadlock xid freelist 11264
1 shared pool kghx free lists 45136
1 shared pool gcs resource freelist arr 416
1 shared pool free memory 859197416
1 shared pool kglsim free obj list 408
1 shared pool sim kghx free lists 8
1 shared pool kglsim free heap list 408
1 shared pool gcs shadow locks freelist 416
1 shared pool ksr message pool free que 20600
1 shared pool ges enqueue multiple free 1280
1 large pool free memory 16384000
1 java pool free memory 28381376
2 shared pool gcs resource freelist arr 416
2 shared pool gcs resource freelist dyn 128
2 shared pool ksuloi: long op free list 128
2 shared pool kglsim free obj list 408
2 shared pool ksr message pool free que 52560
2 shared pool message pool freequeue 757568
2 shared pool kglsim free heap list 408
2 shared pool kghx free lists 45136
2 shared pool gcs shadow locks freelist 416
2 shared pool sim kghx free lists 8
2 shared pool ges enqueue multiple free 1280
2 shared pool free memory 423518496
2 shared pool ges deadlock xid freelist 11264
2 large pool free memory 1073348608
2 java pool free memory 28349120Meus parâmetros:
SQL> col name for a18
col value for a10
select inst_id,name,value from gv$parameter where name in (‘java_pool_size’,’sga_target’,’shared_pool_size’,
‘db_cache_size’,’large_pool_size’) order by inst_id ;SQL> SQL> 2
INST_ID NAME VALUE
———- —————— ———-
1 sga_target 7566524416
1 java_pool_size 0
1 large_pool_size 0
1 shared_pool_size 0
1 sga_max_size 7566524416
1 db_cache_size 16777216
================================
2 sga_target 7566524416
2 java_pool_size 0
2 large_pool_size 0
2 shared_pool_size 0
2 sga_max_size 7566524416
2 db_cache_size 16777216
alguem faz idéia do que ocorre ?
[]s
10 de maio de 2009 às 1:41 pm #86654Ricardo Portilho Proni
ParticipanteOi Vieri.
Não vejo problema, a memória livre não precisa ser igual nas duas instâncias.
Mas, pelo que vi, vc tem 16MB para o db_chache_size?
11 de maio de 2009 às 5:06 am #86655vieri
ParticipanteNão precisa ser igual,
mas ele não desalocou este 1Gb da sga no large pool,
antes estava com 1gb para o large agora eu zerei,
o Oracle nem ai para isso continuou com 1gb lá….
acho muito extrano…isso 16Mb mas foi apenas para ficar idêntico ao nó1,
mas qdo vc seta um valor com sga no automático, ela apensa garante que este será o mínimo alocado.. não é verdade?mas os 1Gb alocados para o large pool que eu não entendo…
esse 1Gb ta fazendo falta no meu db_cache_size e shared_pool11 de maio de 2009 às 12:28 pm #86656Ricardo Portilho Proni
ParticipanteNão, se vc coloca um valor para o cache, vale esse valor.
Altere ele para zero !E o 1GB ainda está lá pq o Oracle não precisou dele para a shared_pool.
11 de maio de 2009 às 2:39 pm #86657Ricardo Portilho Proni
ParticipanteOi Vieri.
Achei a parte da documentação do 10g que fala sobre isso:
Você está certo, 16mb será o mínimo.
In addition to setting SGA_TARGET to a non-zero value, you must set the value of all automatically sized SGA components to zero to enable full automatic tuning of these components.
Alternatively, you can set one or more of the automatically sized SGA components to a non-zero value, which is then used as the minimum setting for that component during SGA tuning. This is discussed in detail later in this sectionhttp://www.oracle.com/pls/db102/to_URL? … 3sthref383
11 de maio de 2009 às 5:34 pm #86659vieri
ParticipantePerfeito Portilho,
já tinha conhecimento disto, por isso nem esquentei com aquele 16mb lá…
tá ali de figurante na verdade o Oracle ta me alocando uns2Gb para ele,
no node2, mas no node1 ele aloca em torno de 3,
e a única diferença entre eles é a large pool com 1Gb a mais,
que deveria está em outros caches pois é uma base
de WIS ( warehouse information system) Sistem de controle de Armazem
ou seja muita transação simultanea manipulando muitos registros
e bastante relátorio também. Se fosse no momento do backup do Rman
e/ ou tivesse grande requisições de i/o , eu até entenderia,
mas tenho certeza que ele alocou esse 1Gb porque não estava com gerênciamento automático, e ela estava setado para isso…
agora mudei on-line para sga automática e setei ela para zero,
acho que estou esbarrando em alguma limitação que não permite fazer o shrink on-line deste pool, para diminuir o java_pool on-line,
tive que reduzer de 50 em 50Mb se não ele dava erro que não conseguia “desalocate”, no large ele conseguiu de cara 1Gb, não levei muita fé !!É mais ou menos isso ai… quando liberei 1Gb que estava mal config tb no java pool, tive uma melhora global bem notável…
é mais ou
menos isso Portilho..[]s
Viericontinua….
11 de maio de 2009 às 5:43 pm #86660vieri
ParticipanteAcho que este trecho explica… oque acha portilho!
Se for para aumentar um valor que já está alocado, ele aloca sem problemas, agora o contrário ele precisa de um tempo para o algoritimo de otimização da SGA entender que esse pool não precisa mais de todo esse espaço… 🙄
When SGA_TARGET is not set, the automatic shared memory management feature is not enabled. Therefore the rules governing resize for all component parameters are the same as in earlier releases. However, when automatic shared memory management is enabled, the manually specified sizes of automatically sized components serve as a lower bound for the size of the components. You can modify this limit dynamically by changing the values of the corresponding parameters.
If the specified lower limit for the size of a given SGA component is less than its current size, there is no immediate change in the size of that component. The new setting only limits the automatic tuning algorithm to that reduced minimum size in the future. For example, consider the following configuration:
SGA_TARGET = 512M
LARGE_POOL_SIZE = 256M
Current actual large pool size = 284M
In this example, if you increase the value of LARGE_POOL_SIZE to a value greater than the actual current size of the component, the system expands the component to accommodate the increased minimum size. For example, if you increase the value of LARGE_POOL_SIZE to 300M, then the system increases the large pool incrementally until it reaches 300M. This resizing occurs at the expense of one or more automatically tuned components.If you decrease the value of LARGE_POOL_SIZE to 200, there is no immediate change in the size of that component. The new setting only limits the reduction of the large pool size to 200 M in the future.
[]s
😉11 de maio de 2009 às 6:34 pm #86661vieri
Participante3 dias após alteração e nada…
SQL> select inst_id ,pool,sum(bytes/1024/1024) Mbytes from gv$sgastat group by pool,inst_id order by 1,2 ;
INST_ID POOL MBYTES
1 java pool 32 1 large pool 16 1 shared pool 4308,43375 1 2847,99965 2 java pool 32 2 large pool 1024 2 shared pool 4309,55983 2 1839,99965😥
11 de maio de 2009 às 6:40 pm #86662vieri
ParticipanteNesta consutla fica mais claro… 8)
SQL> l
1* select * from gv$sgainfoINST_ID NAME BYTES RESIZEABLE
2 Fixed SGA Size 2084496 No 2 Redo Buffers 14692352 No 2 Buffer Cache Size 1912602624 Yes 2 Shared Pool Size 4513071104 Yes 2 Large Pool Size 1073741824 Yes 2 Java Pool Size 33554432 Yes 2 Streams Pool Size 0 Yes 2 Granule Size 16777216 No 2 Maximum SGA Size 7566524416 No 2 Startup overhead in Shared Pool 201326592 No 2 Free SGA Memory Available 16777216INST_ID NAME BYTES RESIZEABLE
1 Fixed SGA Size 2084496 No 1 Redo Buffers 14692352 No 1 Buffer Cache Size 2969567232 Yes 1 Shared Pool Size 4513071104 Yes 1 Large Pool Size 16777216 Yes 1 Java Pool Size 33554432 Yes 1 Streams Pool Size 0 Yes 1 Granule Size 16777216 No 1 Maximum SGA Size 7566524416 No 1 Startup overhead in Shared Pool 201326592 No 1 Free SGA Memory Available 1677721622 rows selected.
O large_pool é “RESIZEABLE” !!!!
11 de maio de 2009 às 7:05 pm #86663vieri
Participantemais infos…
SQL> alter system set large_pool_size = 100M scope=memory sid=’deprac2′ ;
System altered.
SQL> select inst_id ,COMPONENT,CURRENT_SIZE,MIN_SIZE,MAX_SIZE,USER_SPECIFIED_SIZE,LAST_OPER_TIME,LAST_OPER_MODE,LAST_OPER_TYPE from gv$sga_dynamic_components;
INST_ID COMPONENT CURRENT_SIZE MIN_SIZE MAX_SIZE USER_SPECIFIED_SIZE LAST_OPER_TIME LAST_OPER LAST_OPER_TYP
2 shared pool 4513071104 4294967296 0 0 08/mai/2009 12:29:16 DEFERRED GROW 2 large pool 1073741824 1073741824 0 117440512 STATIC 2 java pool 33554432 33554432 0 0 07/mai/2009 17:46:25 DEFERRED SHRINK 2 streams pool 0 0 0 0 STATIC 2 DEFAULT buffer cache 1912602624 1107296256 0 16777216 08/mai/2009 12:29:16 DEFERRED SHRINK 2 KEEP buffer cache 0 0 0 0 STATIC 2 RECYCLE buffer cache 0 0 0 0 STATIC 2 DEFAULT 2K buffer cache 0 0 0 0 STATIC 2 DEFAULT 4K buffer cache 0 0 0 0 STATIC 2 DEFAULT 8K buffer cache 0 0 0 0 STATIC 2 DEFAULT 16K buffer cache 0 0 0 0 STATIC 2 DEFAULT 32K buffer cache 0 0 0 0 STATIC 2 ASM Buffer Cache 0 0 0 1107296256 STATIC 1 shared pool 4513071104 4294967296 0 0 24/abr/2009 15:12:55 DEFERRED GROW 1 large pool 16777216 16777216 0 0 29/mai/2008 11:28:50 MANUAL SHRINK 1 java pool 33554432 16777216 0 0 29/mai/2008 14:49:53 DEFERRED SHRINK 1 streams pool 0 0 0 0 STATIC 1 DEFAULT buffer cache 2969567232 1107296256 0 16777216 24/abr/2009 15:12:55 DEFERRED SHRINK 1 KEEP buffer cache 0 0 0 0 STATIC 1 RECYCLE buffer cache 0 0 0 0 STATIC 1 DEFAULT 2K buffer cache 0 0 0 0 STATIC 1 DEFAULT 4K buffer cache 0 0 0 0 STATIC 1 DEFAULT 8K buffer cache 0 0 0 0 STATIC 1 DEFAULT 16K buffer cache 0 0 0 0 STATIC 1 DEFAULT 32K buffer cache 0 0 0 0 STATIC 1 ASM Buffer Cache 0 0 0 1107296256 STATIC26 rows selected.
11 de maio de 2009 às 8:08 pm #86664vieri
Participantemesma situação…
http://www.oracle-base.com/forums/viewt … f=1&t=8960
11 de maio de 2009 às 8:08 pm #86665vieri
Participantemesma situação…
http://www.oracle-base.com/forums/viewt … f=1&t=8960
11 de maio de 2009 às 9:27 pm #86668vieri
ParticipanteConsegui !! 8)
Setei todos os pools on-line e voltei a SGA para o manual.
após ela entrar no manual alterei o large_pool e ai sim!!
automagicamente ele fez o resize.O oracle simplemente não consegue fazer o shrink do
large pool com o ASSM ligado ao contrário dos demais pools.
Será porque ele que é pq ele é o único pool
que não é uma lista LRU.Voltei meus parametros ao que era habilitei o ASSM novamente e pimba
agora tudo do jeito que eu queria.SQL> select INST_ID,COMPONENT,CURRENT_SIZE,LAST_OPER_TYPE,LAST_OPER_MODE,LAST_OPER_TIME from GV$SGA_DYNAMIC_COMPONENTS ;
INST_ID COMPONENT CURRENT_SIZE LAST_OPER_TYP LAST_OPER LAST_OPER_T
2 shared pool 4513071104 GROW DEFERRED 08/05 12:29 2 large pool <font color="red"> <font size="4"> (30Mb) 33554432 SHRINK </font></font> MANUAL 11/05 13:40 2 java pool 100663296 SHRINK DEFERRED 11/05 14:00 2 streams pool 0 STATIC 2 DEFAULT buffer cache 2885681152 GROW DEFERRED 11/05 14:00 2 KEEP buffer cache 0 STATIC 2 RECYCLE buffer cache 0 STATIC 2 DEFAULT 2K buffer cache 0 STATIC 2 DEFAULT 4K buffer cache 0 STATIC 2 DEFAULT 8K buffer cache 0 STATIC 2 DEFAULT 16K buffer cache 0 STATICINST_ID COMPONENT CURRENT_SIZE LAST_OPER_TYP LAST_OPER LAST_OPER_T
2 DEFAULT 32K buffer cache 0 STATIC 2 ASM Buffer Cache 0 STATIC 1 shared pool 4513071104 GROW DEFERRED 24/04 15:12 1 large pool 16777216 SHRINK MANUAL 29/05 11:28 1 java pool 33554432 SHRINK DEFERRED 29/05 14:49 1 streams pool 0 STATIC 1 DEFAULT buffer cache 2969567232 SHRINK DEFERRED 24/04 15:12 1 KEEP buffer cache 0 STATIC 1 RECYCLE buffer cache 0 STATIC 1 DEFAULT 2K buffer cache 0 STATIC 1 DEFAULT 4K buffer cache 0 STATICINST_ID COMPONENT CURRENT_SIZE LAST_OPER_TYP LAST_OPER LAST_OPER_T
1 DEFAULT 8K buffer cache 0 STATIC 1 DEFAULT 16K buffer cache 0 STATIC 1 DEFAULT 32K buffer cache 0 STATIC 1 ASM Buffer Cache 0 STATICagora estou com mais uma cicartiz de batalha e entendendo melhor como
fazer manutenção on-line com o ASSM.Se alguem tiver algum comentârio ou quiser debater algo, acho este tema de extrema importância, o RAC não estava “performando’
com a SGA do nó 2 diferente e mal configurada.[]s e fica ai a experiência…
11 de maio de 2009 às 9:35 pm #86669vieri
ParticipanteRepare como o ASSM, após a alteração do large pool
ele passou a alocar este 1Gb que estava desnecessário nele,
todo no buffer cache que antes estava com 1,9Gb e agora 2,9Gb.Isso pra mim é “OVERHEAD”, falha de projeto,
recurso alocado aonde não devia.E o ASSM alterou o buffer cache
de maneira rápida ainda!! agora ele sabe bem oque está fazendo!! só precisou de uma mãozinha…
😆11 de maio de 2009 às 11:24 pm #86672Ricardo Portilho Proni
ParticipanteÉ Vieri, eu já tinha visto comportamentos semelhantes.
Vou testar o uso do gerenciamento automático no 11g e ver se ele melhorou. -
AutorPosts
- Você deve fazer login para responder a este tópico.