Oi, colega : q eu saiba, o melhor lugar onde é descrita a tecnologia é mesmo a documentação Oracle, EM ESPECIAL o manual "Server Concepts", mas também algo no "Admin Guide". Dos muitos pontos aí expostos, penso q você TEM que deixar claro as principais diferenças do Oracle em relação à maioria dos outros BDs :
a) LOCKS : no Oracle leituras NUNCA são bloqueadas por locks, e leituras NUNCA bloqueiam nada. Assim, ao contrário de outros DBs , MESMO que no momento usuários estejam alterando/usando registros, um relatório gerencial (que só faça SELECT) vai terminar sem problemas, E com dados consistentes. Da mesma maneira, se se disparar uma consulta, mesmo que ENORME, o banco não vai por NENHUM lock, permitindo portanto que outros usuários alterem as informações. Isso é vital se você vai ter grande número de usuários processando simultaneamente (em outros DBs, você precisa de locks até para leitura, o controle interno disto acaba sendo oneroso para a máquina e limita FORTEMENTE a escalabilidade).
b) consistência de leitura : numa decorrência de a) , no Oracle AUTOMATICAMENTE há consistência d eleitura. Assim, uma query que começou, digamos, no dia 26/12/2001 às 13:00:01, quando terminar vai "enxergar" os dados como estavam no dia 26/12/2001 às 13:00:01, MESMO QUE após isso outros usuários tenham COMITado, DELETADO, alterado, etc. Em outos DBs, para se ter isso o programador TEM que fazer locks nessa programa que faz leituras, caindo nas desvantagens de a).
c) independência de plataforma : PRINCIPALMENTE no SQL Server, mas também em outros DBs você está limitado drasticamente à escolha de plataformas possíveis, ao passo que no Oracle você pode optar por Windows NT, Linux (várias distros), UNIX (vários), AIX ou mainframes. Assim, se hoje você está usando, digamos, NT, e amanhã você esbarrou numa das limitações do SO (como número máximo de discos, CPUs, etc), SE o seu banco for Oracle você consegue migrar facilmente, se for outro banco a migração vai variar de difícil a IMPOSSÍVEL.
d) adaptabilidade : praticamente TODOS os principais aspectos do BD Oracle são configuráveis/controláveis, o que permite um altíssimo grau de ajuste à sua máquina/aplicação em particular. Isto não poderia ser diferente, dado o item c) - de modo a conseguir independência de SO/hardware, o Oracle cria e usa o seu próprio cache, a sua PRÒPRIA área de memória, etc .
e) confiabilidade : TODOS os itens acima estão presentes desde as versões iniciais do banco Oracle , há quase 20 anos - obviamente esse códio está MUITO mais depurado do que BDs que implementaram estas características há um ou dois releases atrás.
Alguns diferenciais do Oracle - Isso é um espanto!
- dr_gori
- Moderador
- Mensagens: 5018
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
O texto abaixo foi retirado a muito tempo de um grupo de emails de Oracle. Foi escrito pelo Chiappa em resposta a um cara que estava colocando em dúvida o oracle... Eu estava iniciando com Oracle naquela época. (Não precisa dizer que eu quase chorei quando li o texto abaixo, heheh). Compartilho com vocês)
Editado pela última vez por dr_gori em Sáb, 20 Jan 2007 2:59 pm, em um total de 1 vez.
Em relação ao ítem B, não deveria ser citado que, se a área de Rollback não for suficiente para se guardar todos os inserts,updates e deletes que forem feitos enquanto teu Select está rodando, o mesmo cairá por :
ORA-01555: snapshot too old: rollback segment numb
Ou estou enganado?
ORA-01555: snapshot too old: rollback segment numb
Ou estou enganado?
- dr_gori
- Moderador
- Mensagens: 5018
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Exato! De acordo com manual de erros, isso deve ser solucionado da seguinte forma:

Ou seja, aumente a area de rollback!Action: Use larger rollback segments.

-
- Rank: Programador Júnior
- Mensagens: 22
- Registrado em: Ter, 19 Mai 2009 12:40 pm
- Localização: Curitiba - PR
Izanette: o que ele citou foi a respeito de SELECT, que nenhum Select gera
Lock, e ele sempre tem um retorno.
Esse erro de "snapshot too old" NÃO acontece quando se faz select, e sim com inserts, deletes e updates, conforme você mesma falou.
Uma outra maneira de resolver esse problema é colocar commits parciais.
Por exemplo: é comum dar esse erro de snapshot too old se rodar um script que tenha 10 mil inserts consecutivos, com commit somente no final deles.
Se der o erro, inclua commits intercalados, a cada 500 inserts, por exemplo.
Abraço
Lock, e ele sempre tem um retorno.
Esse erro de "snapshot too old" NÃO acontece quando se faz select, e sim com inserts, deletes e updates, conforme você mesma falou.
Uma outra maneira de resolver esse problema é colocar commits parciais.
Por exemplo: é comum dar esse erro de snapshot too old se rodar um script que tenha 10 mil inserts consecutivos, com commit somente no final deles.
Se der o erro, inclua commits intercalados, a cada 500 inserts, por exemplo.
Abraço
- fbifabio
- Moderador
- Mensagens: 199
- Registrado em: Ter, 22 Fev 2011 1:51 pm
- Localização: São Paulo - SP
- Contato:
Pessoal,
Aproveito para compartilhar links que eu achei muito interessantes, que falam sobre Oracle e que fazem comparações entre Oracle e outros BD´s:
- http://www.delicious.com/fbifabio/Vis%C3%A3o_Geral
[]s
Fábio Prado
www.fabioprado.net
Aproveito para compartilhar links que eu achei muito interessantes, que falam sobre Oracle e que fazem comparações entre Oracle e outros BD´s:
- http://www.delicious.com/fbifabio/Vis%C3%A3o_Geral
[]s
Fábio Prado
www.fabioprado.net
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes