Bom, é o seguinte : primeiro, como recentemente falado aqui mesmo no 
Fórum, afora alguns casos internos via de regra o bd Oracle ** sempre 
** coloca em cache (RAM) os blocos que leu do disco, e a partir daí 
quaisquer alterações de quaisquer registros que estejam nesse bloco 
SEMPRE vão ser feitas em RAM, até o bloco sair do cache por qquer 
motivo (MESMO após um COMMIT o bloco ainda CONTINUA no cache, até o 
Oracle o re-passar pra disco, o que é feito em background, 
lentamente, uns poucos blocos pro vez).   Assim sendo, a ** única ** 
garantia que o banco tem de conseguir recuperar as informações 
alteradas e já comitadas se cair a força e a RAM ir pro chapéu é o 
REDO, que esse sim constantemente vai pra disco E após um COMMIT 
obrigatoriamente vai pra disco, PORTANTO vc só consegue bypassar o 
REDO apenas nos POUCOS casos onde a operação que estiver sendo feita 
não seja de alteração, mas sim de criação de blocos novos, é o caso 
do INSERT /*+ APPEND */ por exemplo.

 Então as suas respostas são :
 
 a) se vc estiver fazendo QUALQUER operação afora INSERT /*+ APPEND 
*/ e uma poucas outras listadas nos manuais, OBRIGATORIAMENTE VAI ser 
gerado redo, esteja ou não a tabela ou a tablespace como LOGGING ou 
NOLOGGING, esteja ou não o banco em modo archive, é INESCAPÁVEL. 
Notar também que além da operação ser di tipo permitido, as tabelas 
envolvidas TEM QUE estarem marcadas como NOLOGGING pro "bypass" 
acontecer.
 
 b) as opções de storage de uma tablespace (como PCTFREE, PCTUSED, 
LOGGING, etc, etc, etc) são apenas um DEFAULT, que será usado APENAS 
no momento da criação da tabela que reside na tablespace, SE a 
tablespace está como NOLOGGING mas na hora da criação da tabela FOI 
especificado LOGGING, obviamente FOI passado um valor portanto o 
DEFAULT da tablespace ** não ** será usado, a tabela será criada como 
especificado. Vice-versa, se a tablespace tem LOGGING como o default 
dela, foi criada assim, MAS a tabela foi criada como NOLOGGING, 
NOLOGGING é o que estará marcado na tabela, portanto SE e QUANDO for 
feita uma operação que permita bypass nela, o redo será bypassado.
 
 []s
 
  Chiappa
  
--- Em oracle_br@yahoogrupos.com.br, Fábio Gibon - Comex System 
<[EMAIL PROTECTED]> escreveu
>
> Se eu tiver uma situação que realmente não vou usar o banco em modo 
archive, então seria mais produtivo eu criar os tablespaces com a 
opção nologging ? E se eu criar um tablespace como nologging e as 
tables dele estiverem como logging, gera redolog ou não ?
> 
> abraços
>  
> Fábio Henrique Gibon
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>







--------------------------------------------------------------------------------------------------------------------------
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