Seguem alguns coments e adendos :

--- Em oracle_br@yahoogrupos.com.br, "Jemerson Dutra" <[EMAIL PROTECTED]> 
escreveu
> 
> 5 DISCOS 
> SCSI 1OK RPM

ok, 10k RPMs é o padrãozão em hds SCSI, normal . Só tinha perguntado 
porque já vi uns hds com menos (7500, tipicamente) serem oferecidos, 
e não era disco refurbished, era novo mesmo! Blz.

> Independentes

Como eu disse, talvez um array ajudasse, mas já que é uma opção cara 
e que implica em re-feitura de ambiente, em princípio vamos deixá-la 
pra uma próxima, se mais nada ajudar.

> 1 controladora SCSI

Esse ponto pode pegar, por melhor que seja a controladora, não é 
certo que ela consiga atender  simultaneamente e eficientemente os 
vários "pedidos" dos vários discos, que provavelmente devem ser 
simultâneos ou quase. Bem, os testes que vc vai fazer vão dar dicas a 
respeito, se o select em tabelas independentes do sistema demorar 
demais, a gente pensa mesmo é em subsistema de I/O afogado, de 
repente os discos ficm "esperando" disponibilidade da controladora, 
mas antes de palpitar vamos ver no que resultam os testes...
 Já que vc vai fazer mesmo, seria legal vc fazer uma vez com o banco 
startado mas sem sistema rodando, uma vez com o sistema ativo mas com 
poucos (ou nenhum) usuários conectados, e finalmente uma outra vez em 
uso normal. Lembre também que o que nos interessa aqui é 
tentar "validar" a hipótese de hardware de I/O com probs (talvez de 
dimensionamento), então a idéia é tentar minimizar a influência de 
outras fatores, como caches e rede, assim o teste deveria ser 
executado DIRETAMENTE no sqlplus do servidor Oracle, conectando como 
sqlplus userdonodastabelas/senha (sem o @string, queremos conexão 
local), , peça um SET TIME ON TIMING ON no sqlplus, e antes de cada 
execução manda um ALTER TABLESPACE nomedatablespaceondeestãoastabs  
OFFLINE e um ALTER TABLESPACE nomedatablespaceondeestãoastabs  
ONLINE , pra  que seja feito basicamente só PIO (não estamos  zerando 
utilização de caches, óbvio, já que forçosamente cada bloco após lido 
por um SELECT ** tem que ** ir pro cache e cada bloco tem n 
registros), mas estamos diminuindo a "participação" do cache nesse 
timing.
 
> 
> MULTIBLOCK_READ ??? (chiappa, novamente onde vejo exatamente qual o 
> maximo permitido pelo meu servidor?)

Existem outras maneiras, mas como normalmente isso é uma quantidade 
de blocos que totaliza 1Mb, ou coisa do tipo, pra vc saber é testar, 
vc cria uma tablespace LMT uniform size de 10Mb, cria nela uma tabela 
qquer com PCTFREE 1 PCTUSED 99 e com várias centenas de milhares de 
linhas, e faz um trace 10046 level 12 de uma sessão fazendo 
SELECT /*+ FULL */ * from nomedatabela, isso resulta num 
arquivo .TRC  que entre muitas outras vai ter linhas do tipo :

WAIT #3: nam='db file scattered read' ela= 249287 p1=41 p2=4234 p3=nnn

nnn é a quantidade de blocos que ele pôde ler duma vez, 
db_file_multiblock_read_count deve ter o maior dos nnn que vc achar 
no arquivo.

> 
> 
> TABLESPACE LMT system-allocated

Imagino que sejam TODAS as tablespaces (dados, índices, etc) lmt 
system-alloc, certo ? ok, isso já elimina de cara a chance de 
fragmentação , então . Para explicar uma eventual ineficiência em I/O 
resta a possibilidade de high-water  muito alto, ou PCTFREE/PCTUSED 
incorretos, mas vamos por partes , vamos ver os testes antes de 
avançar por aí.

> 
> LOGS:
> 6 REDOLOGS DE 50MB NESSE DISCO 5 (O MAIS ACESSADO)

essa info é importante, os log files estão no disco que está sendo 
mais acessado, hmmm. Será que não são eles que estão causando esse 
acesso todo ? Além do log_checkpoint_interval (que iirc vc já disse 
que estava com 10000, e eu sugeri aumentar isso), como estão os 
demais (ie, log_checkpoints_to_alert e log_checkpoint_timeout) ?? 
Será que está havendo troca de log files constantemente ? Normalmente 
isso fica registrado no alert_nn.log do servidor, veja lá...
 A idéia normalmente é vc ter um arquivo de log bem grande (se hoje 
vc está com 50 Mb, tente recriá-los com 200 Mb), e ter um 
log_checkpoint_interval muito grande e log_checkpoint_timeout como 
zero, para tentar influenciar a qtdade de redo, o manual "Oracle9i 
Database Performance Tuning Guide and Reference" no cap. 17 - 
Configuring Instance Recovery Performance no link "Reducing 
Checkpoint Frequency to Optimize Runtime Performance"  fala um pouco 
disso...


> 
> TEMP:
> 2 DATAFILES DE 500MB NESSE DISCO 5 ( O MAIS ACESSADO)

datafiles ou tempfiles ????? DEVERIA ser tempfiles, deveria ser 
tablespace lmt (suponho que seja), e tira isso desse disco mais 
acessado, bota num outro menos, talvez no que tem o SO...

> 
> select * from v$sga;
> NAME                      VALUE
> -------------------- ----------
> Fixed Size               741816
> Variable Size         536870912
> Database Buffers       50331648
> Redo Buffers            2191360

Como tinha dito em outra msg, sobe aí o block buffer pra coisa da 
centena de Mbs. 
> 
> vou colar mais tarde o resultado do teste das tabelas.
> 
> Jemerson
> Obs: acrescentei mais 2 gb de ram e a maquina deu uma melhorada 
nada 
> absurdo mas o suficiente para diminuir a pressao.

Cara, se vc subiu a RAM experimente subir bem aí também o 
sort_area_size, pra algumas dezenas de Mbs talvez. Não lembro se vc 
estava setando hash_area_size ou não, se estiver remova esse param 
que ele assume 2x sort-area_size, é suficiente normalmente. Vamos ver 
se isso te ajuda, e não deixe de mandar os testes, especificando em 
que situação foi executado cada um, o select usado e os scripts de 
CREATE e de INSERTs das tabelas, pra se preciso a gente reproduzir 
também e termos uma base de comparação entre máquinas.

[]s

 Chiappa
 





--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
__________________________________________________________________
O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o 
link do mesmo para evitar trafego(pedidos) desnecessário. 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a