Boa tarde Rafael!

Bom, vou falar o entendimento que eu tenho - se eu falar alguma coisa
errada conceitualmente, por favor, alguém me corrija até porque quero
sempre aprender mais....


"Abrir" um arquivo pra leitura e/ou escrita do ponto de vista do sistema
operacional eu imagino que seja algo MUITO simples - talvez seja apenas
setar um bit para deixar o arquivo "marcado" como aberto.

Quando vc abre um arquivo TEXTO muito grande no Notepad, por exemplo,
realmente um computador vai demorar MUITO - dando a impressão de que vc
travou a máquina.
Repare que se vc fizer a mesma operação em outros editores - um notepad++
por exemplo, vc vai conseguir abrir arquivos grandes com muito mais
eficácia - a diferença é a inteligência que o software usa para manipular
este arquivo, jogando pra memória a parte que interessa.

Quando falamos de datafiles, eles ficam sim abertos para leitura/gravação,
porém, não é porque o arquivo tem 32GB que ele vai ficar INTEIRO em
memória, ocupando 32GB de RAM.
O SGBD vai fazer a leitura apenas dos trechos que interessam - o datafile
pode ter 32GB, mas ao fazer a leitura de uma tabela, por exemplo, 50MB de
dados já é uma quantidade bem considerável de registros!
Vou jogar um pouco pro alto, vamos supor que seja uma query envolvendo uma
meia dúzia de tabelas... 300MB? 500MB? 500MB se falando de DADOS de
tabelas, ou seja, praticamente somente TEXTO é MUITA, MUITA coisa!

Portanto o SGBD gerencia isso, de forma a trabalhar com esses dados em
memória (quando se tem memória suficiente disponível), mas não joga TUDO
pra memória, joga apenas o que interessa, apenas os dados que precisam ser
lidos.
Pra isso há também algoritmos que decidem se após a leitura esses dados
continuam na memória, e quais dados devem sair da memória quando esta
estiver toda ocupada e precisar dar espaço para novos dados.

Não confunda com um editor de textos, pois quando vc manda abrir um arquivo
texto no Notepad, ele PRECISA ler e carregar o arquivo INTEIRO na memória
pra poder aparecer no seu monitor, correto?
Esse não é o caso de um datafile....

"Ah, mas e se eu precisar rodar um SELECT que leia todos esses 30GB pra uma
tela ou um relatorio gigante?"
Bom, daí é outro caso, outra situação!
Com algo tão monstruoso obviamente a máquina/servidor vai sim ser muito
mais exigido, e talvez vc não tenha memória suficiente, e daí vai rolar
SWAP, paginação, e por aí vai....
Mas daí estamos falando de casos realmente fora do comum.

Esse é o meu entendimento... se eu tiver falado alguma besteira, pessoal,
me corrijam!

E claro, acrescentem mais informações, pois apesar de parecer ser algo
básico, são essas dúvidas conceituais que MUITA gente precisava ter quando
está estudando, isso é muito mais importante do que decorar comandos!



2013/8/26 Rafael Stoever <rstoe...@gmail.com>

> **
>
>
> Boa tarde a todos,
>
> Irei fazer uma analogia sobre um arquivo texto de 10GB e um datafile
> de 10GB e um de 32GB.
> Se efetuarmos a abertura do arquivo de 10GB no sistema operacional
> teremos um problema grande de memoria, podendo ate travar o sistema
> operacional.
>
> Agora a questão são os datafiles grandes 32GB quando abertos pelo
> Oracle para efetuar uma busca muito massiva de dados, ou mesmo somente
> abrir-los, ele poderá ocasionar um problema de performance da mesma forma
> que o editor de texto ?
> Pois ao checar os arquivos abertos pelo Oracle ele fica com o alguns
> datafiles abertos.
>
> Pergunta: O tamanho do arquivo irá influenciar na performance geral da
> maquina quando o oracle for abrir o datafile?
>
> abs
> Rafael Stoever / @rstoever
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

--------------------------------------------------------------------------------------------------------------------------
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  
------------------------------------------------------------------------------------------------------------------------
 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:
    oracle_br-unsubscr...@yahoogrupos.com.br

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


Responder a