Undesirable Global Cache Statistics
The following are undesirable statistics, or statistics for which the values should always be zero or near-zero.
global cache blocks lost--This statistic reveals any block losses during transfers and high values may indicate network problems. When using an unreliable IPC protocol such as UDP, the value for 'global cache blocks lost' may be non-zero. If this is the case, then the ratio of 'global cache blocks lost' divided by 'global cache current blocks served' plus 'global cache cr blocks served' should be as small as possible. A non-zero value for 'global cache blocks lost' does not necessarily indicate a problem, because Oracle retries the block transfer operation until it is successful. Unlike TCP/IP, UDP/IP is considered unreliable because UDP/IP provides very few error recovery services.
global cache blocks corrupt--This statistic indicates whether any blocks were corrupted during transfers. High values for this statistic indicate an IPC, network, or hardware problem. "
"The Global Cache Blocks Lost Oracle metric event test checks whether a global cache request did not complete due to a timeout. A timeout is caused either by a network communication error or by a high system load."
Blog with ORACLE related posts (mainly PL/SQL programming) and some personal thoughts
Blog com artigos sobre ORACLE (principalmente sobre programação PL/SQL) e alguns pensamentos pessoais.
2006-11-29
2006-11-21
UNION
Já deve ser conhecido mas como é bastante importante do ponto de vista de optimização aqui vai.
select a, b from t1
union all
select c, d from t2
UNION ALL - não elimina duplicados, pelo que é mais rápido que UNION (que elimina os duplicados).
select a, b from t1
union
select c, d from t2
se se pertender eliminar duplicados em cada uma das parte de um union all mas não na união final usar por exemplo o DISTINCT
select distinct a, b from t1
union all
select distinct c, d from t2
regra: Se se souber se antemão que não vamos ter duplicados, ou não é importante eliminar duplicados usar UNION ALL.
select a, b from t1
union all
select c, d from t2
UNION ALL - não elimina duplicados, pelo que é mais rápido que UNION (que elimina os duplicados).
select a, b from t1
union
select c, d from t2
se se pertender eliminar duplicados em cada uma das parte de um union all mas não na união final usar por exemplo o DISTINCT
select distinct a, b from t1
union all
select distinct c, d from t2
regra: Se se souber se antemão que não vamos ter duplicados, ou não é importante eliminar duplicados usar UNION ALL.
Categorias / Labels:
Oracle Blues,
Oracle DB
2006-11-17
Coisas novas previstas para a Oracle 11g
Algumas coisas novas previstas na 11g que vão dar um jeitão:
- updates da base de dados (patchs, e upgrades) em RAC sem downtime!
- possibilidade de usar sequencias sem utilizacao da tabela dual (sequence.nextval).
- cache de resultados de SQL e de PL/SQL ( /*+result_cache*/ )
- Fine Grained Dependancy Tracking - quando se altera uma tabela/procedimento (por exemplo uma nova coluna) não vai invalidar todos os objectos relacionados
- Os DML triggers são mais rápidos e poder-se-á estipular uma ordem de corrida. Poder-se-á mesmo ter triggers que são ao mesmo tempo before after row e statement.
- Novo tipo : SIMPLE_INTEGER mais rápido que o PLS_INTEGER e não pode ser nulo.
- UTL_SMTP, UTL_TCP e UTL_HTTP com implementação de segurança: ainda estou para ver o que isto é exactamente.
- CONTINUE keyword para os loops.
- Oracle Audit Vault - Segurança de dados
- um objecto pode agora estar "disable" e não somente "enabled" e "invalid"
- operações em LOBs mais rápidas - espero bem que sim!!
- Colunas Virtuais - coluns que na realidade são o resultado de funções
create table t (col1 number, col2 number, soma as (c1+c2) virtual;
- updates da base de dados (patchs, e upgrades) em RAC sem downtime!
- possibilidade de usar sequencias sem utilizacao da tabela dual (sequence.nextval).
- cache de resultados de SQL e de PL/SQL ( /*+result_cache*/ )
- Fine Grained Dependancy Tracking - quando se altera uma tabela/procedimento (por exemplo uma nova coluna) não vai invalidar todos os objectos relacionados
- Os DML triggers são mais rápidos e poder-se-á estipular uma ordem de corrida. Poder-se-á mesmo ter triggers que são ao mesmo tempo before after row e statement.
- Novo tipo : SIMPLE_INTEGER mais rápido que o PLS_INTEGER e não pode ser nulo.
- UTL_SMTP, UTL_TCP e UTL_HTTP com implementação de segurança: ainda estou para ver o que isto é exactamente.
- CONTINUE keyword para os loops.
- Oracle Audit Vault - Segurança de dados
- um objecto pode agora estar "disable" e não somente "enabled" e "invalid"
- operações em LOBs mais rápidas - espero bem que sim!!
- Colunas Virtuais - coluns que na realidade são o resultado de funções
create table t (col1 number, col2 number, soma as (c1+c2) virtual;
Categorias / Labels:
Oracle Blues,
Oracle DB
2006-11-16
Escrever no alert log
Para escrever no alert log as tuas msg proprias
dbms_system.ksdwrt(2,'A line of text para o alert log');
Tem de se ter permissão de execute do package
se se usar 1 em vez do 2 vai para o trace file e se se usar 3 vai para os dois :-)
dbms_system.ksdwrt(1,'A line of text para o trace file');
dbms_system.ksdwrt(3,'A line of text para o trace file e para o alert log');
dbms_system.ksdwrt(2,'A line of text para o alert log');
Tem de se ter permissão de execute do package
se se usar 1 em vez do 2 vai para o trace file e se se usar 3 vai para os dois :-)
dbms_system.ksdwrt(1,'A line of text para o trace file');
dbms_system.ksdwrt(3,'A line of text para o trace file e para o alert log');
Categorias / Labels:
Oracle Blues,
Oracle DB
2006-11-15
NULLs nos COUNT
Os nulos não são contados se for especificado a coluna num count!
Então: com COUNT usar sempre (*) or uma coluna da PK
SELECT COUNT (*) FROM A;
COUNT(*)
----------
10
SELECT COUNT (OBS) FROM A;
COUNT(A)
-----------
3
SELECT COUNT (*) FROM A WHERE OBS IS NULL;
COUNT(*)
----------
7
"If you specify 'expr' then COUNT returns the number of rows where 'expr' is not null." -- Oracle SQL Reference
Então: com COUNT usar sempre (*) or uma coluna da PK
SELECT COUNT (*) FROM A;
COUNT(*)
----------
10
SELECT COUNT (OBS) FROM A;
COUNT(A)
-----------
3
SELECT COUNT (*) FROM A WHERE OBS IS NULL;
COUNT(*)
----------
7
"If you specify 'expr' then COUNT returns the number of rows where 'expr' is not null." -- Oracle SQL Reference
Categorias / Labels:
Oracle Blues,
Oracle DB
A saber para optimizar
Passar parametros com IN OUT com NOCOPY -> passa por referencia (por ponteiro) => mais rápido e deve ser obrigatório para passagem de CLOBs, BLOBs! Problema: se o procedimento/função der excepção o valor é mesmo assim modificado!
Assim o processo normal de um IN OUT é que a variavel só é alterada no final da execução (sem raise de excepção) do programa.
No IN não é usado NOCOPY porque já é isso que é efectuado.
usar DETERMINISTIC numa função significa que o seu resultado é igual para o mesmo input => permite o uso de cache
exemplo? uma função de retorna TRUE/FALSE se um dado número inteiro é par ou não: function isPar(x integer) return boolean determinist;
Assim o processo normal de um IN OUT é que a variavel só é alterada no final da execução (sem raise de excepção) do programa.
No IN não é usado NOCOPY porque já é isso que é efectuado.
usar DETERMINISTIC numa função significa que o seu resultado é igual para o mesmo input => permite o uso de cache
exemplo? uma função de retorna TRUE/FALSE se um dado número inteiro é par ou não: function isPar(x integer) return boolean determinist;
Categorias / Labels:
Oracle Blues,
PL/SQL
O que aprendi hoje /What I learned today
Lendo problemas e descobertas de outros ajuda-nos muitas vezes a perceber o que fizemos de errado e conhecer algumas coisas peculiares.
Reading problems and finding of others help us realize what we did wrong and to find some peculiar stuff.
Try this code:
Reading problems and finding of others help us realize what we did wrong and to find some peculiar stuff.
Try this code:
Categorias / Labels:
Bilingue,
Oracle Blues,
PL/SQL,
Tradução
Tom Kyte Mantra
From his Blog :-)
--
--
"You should do it in a single SQL statement if at all possible.
If you cannot do it in a single SQL Statement, then do it in PL/SQL.
If you cannot do it in PL/SQL, try a Java Stored Procedure.
If you cannot do it in Java, do it in a C external procedure.
If you cannot do it in a C external routine, you might want to seriously think about why it is you need to do it…"
Categorias / Labels:
Oracle Blues,
PL/SQL
Vida, oh Vida!
Hoje a rádio teve o prazer de relembrar uma canção anglo-saxonica completamente estúpida, mas que teve sucesso em portugal.
Se fosse em português ninguém ouviria isto!
Talvez se fosse o João Pedro Pais ouvissem , pois ele também tem canções sem nexo!
Os meus amigos já me ouviram vezes sem conta gozar com está canção.
Se fosse em português ninguém ouviria isto!
Talvez se fosse o João Pedro Pais ouvissem , pois ele também tem canções sem nexo!
Os meus amigos já me ouviram vezes sem conta gozar com está canção.
How do you explain to that to a kid?
Desculpem lá não ter traduzido
----
----
A teacher in junior school somewhere... asked the children what was the occupation of their parents
Teacher: George, how old are you?
George : i am 7 years old, miss
Teacher: ..and what is the occupation of your father?
George : he is a dentist, miss
Teacher: ... and what is the occupation of your mother?
George : She is a lawyer, miss
Teacher: Excellent, George.
Teacher kept asking the children, when it was the time for little Susan to answer her teacher's question.
Susan looked a little scaried.
Teacher: And you little Susan
Susan : Yes miss
Teacher: What is the occupation of your father?
Susan : well...
Teacher: ?
Susan : ..he.. he.. he is..
Teacher: ???
Susan : He is working in the post office, delivering mail..
Teacher: Come on Susan, we must be proud of our parent's job. You there little Nick, what's your father's occupation?
Nick stood up, full of pride and replied :
- My father is a pianist in a brothel, miss
Categorias / Labels:
Oracle Blues,
Pessoal,
Rir
2006-11-14
Teste de uma alternativa à tabela DUAL
Encontrei o seguinte artigo e cheguei à conclusão que a alternativa apresentada à tabela DUAL já não oferece as vantagens faladas com (pelo menos) a versão 10.2.0.2 da DB.
Categorias / Labels:
Oracle Blues,
Oracle DB,
PL/SQL
2006-11-13
Onde estão as séries de Ficção Cientifica?
Pois é, nos 3+1 canais (sem cabo) não existe nenhuma série de ficção cientifica.
Temos um grande grupo de séries do estilo "vamos lá descobrir o mistério" (CSI, Dr. House, Números, etc..), mas se bem que essas séries tenham algo de ficção e científico, não apresentam nenhum visão do futuro/presente como as séries de culto "Caminho da Estrelas", Babylon 5, "Star Gate".
Séries tipo Alias, Perdidos e 24 Horas (e a saudosa "Ficheiros Secretos") são intensamente de acção e conspiração e pelo menos têm uma certa sequência, mas fica sempre em mim a insatisfação de uma série com a existência de novos mundos e civilizações.
Antes disto tinhamos só accção "medieval" com a Xenna e o Hercules.
Porquê parece que não há variedade de temas?
Uma serie de Policial, uma serie de conspiração, uma série de ficcão e somente UMA telenovela à noite por canal seria pedir muito?
Há uns meses cheguei a ver uns 2 episódios de uma nova série: 4400 que nunca mais foi emitida. Que aconteceu?
E já agora ...já viram as horas a que as mencionadas séries acima passam?
(Penso que a Perdidos é a única que actualmente dá/dava sem ser depois da meia-noite).
E ao domingo de tarde temos de reaturar o "Dança Comigo"?
Por isso é que gosto do video/DVD...escolhemos o lixo que queremos ver!
Temos um grande grupo de séries do estilo "vamos lá descobrir o mistério" (CSI, Dr. House, Números, etc..), mas se bem que essas séries tenham algo de ficção e científico, não apresentam nenhum visão do futuro/presente como as séries de culto "Caminho da Estrelas", Babylon 5, "Star Gate".
Séries tipo Alias, Perdidos e 24 Horas (e a saudosa "Ficheiros Secretos") são intensamente de acção e conspiração e pelo menos têm uma certa sequência, mas fica sempre em mim a insatisfação de uma série com a existência de novos mundos e civilizações.
Antes disto tinhamos só accção "medieval" com a Xenna e o Hercules.
Porquê parece que não há variedade de temas?
Uma serie de Policial, uma serie de conspiração, uma série de ficcão e somente UMA telenovela à noite por canal seria pedir muito?
Há uns meses cheguei a ver uns 2 episódios de uma nova série: 4400 que nunca mais foi emitida. Que aconteceu?
E já agora ...já viram as horas a que as mencionadas séries acima passam?
(Penso que a Perdidos é a única que actualmente dá/dava sem ser depois da meia-noite).
E ao domingo de tarde temos de reaturar o "Dança Comigo"?
Por isso é que gosto do video/DVD...escolhemos o lixo que queremos ver!
Statler & Waldorf From the Balcony
Lembram-se dos velhotes dos Marretas?
Pois estão de volta a criticar filmesno site movies.com
http://movies.go.com/muppets/index
é de partir o côco, mas é necessário saber inglês!!
São mordazes!!!
Esqueçam os comerciais que aparecem no inicio :-(.
Algumas frases memoráveis deles:
Statler: What would you do if you were a rich man?
Waldorf: I'd buy the network and cancel this show!
Statler: You know, this show really improves with age!
Waldorf: Why? Because the jokes get better?
Statler: No! Because my hearing gets worse!
Statler: What would you do if you were a rich man?
Waldorf: I'd buy the network and cancel this show!
Actualização: foram retirados os videos que já não se encontram disponíveis :-( pois o site já não está disponível :-(
Pois estão de volta a criticar filmes
é de partir o côco, mas é necessário saber inglês!!
São mordazes!!!
Algumas frases memoráveis deles:
Statler: What would you do if you were a rich man?
Waldorf: I'd buy the network and cancel this show!
Statler: You know, this show really improves with age!
Waldorf: Why? Because the jokes get better?
Statler: No! Because my hearing gets worse!
Statler: What would you do if you were a rich man?
Waldorf: I'd buy the network and cancel this show!
Actualização: foram retirados os videos que já não se encontram disponíveis :-( pois o site já não está disponível :-(
Resolver Soduku em PL/SQL
Descobri que já ouve alguém que resolveu fazer um programa para resolver os problemas resolúveis (sem adivinhar) de Soduku.
Isto é usando a lógica natural do jogo.
Isto é usando a lógica natural do jogo.
Categorias / Labels:
Oracle Blues,
PL/SQL
Despertou de um Sonho
Uma das canções escutistas que mais gosto!
Despertou de um Sonho ===================== Sol Dó7 Sol Despertou de um sonho... um homem viu Dó7 Sol Ré9 Mi- E fez nascer em cada olhar a semente Dó Ré Sol Dó9 Da nova alegria, dando a mão a quem precisa Sol Dó9 Sempre certos na divisa Sol Ré9 Mi- Lá- Ré Caminhando monte acima, renovando a vida. Sol Ré Olhar o mundo como ele o vê Sol Ré Queremos ser a imagem de B.P. Dó9 Ré O topo está mais perto dentro de nós Dó9 Ré Vamos levar ao mundo a sua voz Si7 Mi- A sua voz na razão de viver Si7 Mi- O seu viver para construir Lá Ré Deixando o mundo sempre um pouco melhor Lá Ré Sempre Alerta para Servir E... Quando ele olhou, em seu redor Não reparou que a noite agora, Não era tão noite E ao romper de um novo dia Vendo gente que o seguia Fez-se raíz de uma árvore, renovando a vida.
2006-11-08
"Tu és a água viva"
Hoje estou com outra canção na cabeça e não é a "After all there was another" :-).
É uma adaptação de uma canção existente que o coro de que faço parte fez.
"Infunde o Teu espirito em mim Senhor
faz com que se apaixone por mim.
Que queira fazer morada em mim
E assim tenha sabor a Ti.
Tu és a água viva
Tu és a água pura
Inunda-me, inunda-me
E tudo se transformará em Mim.
Então habitarei na terra que é minha
e eu serei o Teu povo
e Tu serás meu Deus."
É uma adaptação de uma canção existente que o coro de que faço parte fez.
"Infunde o Teu espirito em mim Senhor
faz com que se apaixone por mim.
Que queira fazer morada em mim
E assim tenha sabor a Ti.
Tu és a água viva
Tu és a água pura
Inunda-me, inunda-me
E tudo se transformará em Mim.
Então habitarei na terra que é minha
e eu serei o Teu povo
e Tu serás meu Deus."
Fotografia tirada ontem
Ontem apareceu no céu do Porto dois arco-iris e eu tirei-lhes uma fotografias.
Aqui apresento a que acho que ficou melhor.
Categorias / Labels:
Fotografia,
Pessoal,
U.Porto
2006-11-03
Uma Prenda de aniversário
O meu irmão fez anos e dei-lhe um livro:
- "On the Shoulders of Giants" com comentários de Stephen Hawking.
Este foi um daqueles casos em que sem estar a pensar nisso (isto é, que estava-se a aproximar o aniver´sairo do meu irmão) vi o livro na estante da fnac e pensei logo que era o livro certo!
O meu irmão é um cientista nato!
Este livro traz os trabalhos mais importantes de 5 gigantes da Fisica e Astronomia:
Nicolaus Copernicus - On the Revolutions of [the] Heavenly Spheres - que foi o que deu origem à teoria (na altura) do Sol parado e dos planetas em sua orbita
Galileo Galilei - "Dialogues [or Discourses and Mathematical Demonstrations] Concerning Two [New] Sciences" - um marco importante na física
Johannes Kepler - o quinto livro de "Harmonies of the World" - a descoberta de como os planetas orbitam
Sir Isaac Newton - "The Mathematical Priciples of Natural Philosophy", mais conhecido como "The Principia." - que inclui a elaboração das 3 leis do movimento e da lei gravitacional
Albert Einstein - 7 selecções do "The Principles of Relativity: A Collection of Original Papers on the Special Theory of Relativity" - sobre claro a teoria da relatividade e que alterou a compreensão do espaço-tempo.
O meu irmão adorou a prenda e acho que também vou ler algumas partes depois de ele ter "devorado" o livro.
Bom fim de semana e boas leituras
- "On the Shoulders of Giants" com comentários de Stephen Hawking.
Este foi um daqueles casos em que sem estar a pensar nisso (isto é, que estava-se a aproximar o aniver´sairo do meu irmão) vi o livro na estante da fnac e pensei logo que era o livro certo!
O meu irmão é um cientista nato!
Este livro traz os trabalhos mais importantes de 5 gigantes da Fisica e Astronomia:
Nicolaus Copernicus - On the Revolutions of [the] Heavenly Spheres - que foi o que deu origem à teoria (na altura) do Sol parado e dos planetas em sua orbita
Galileo Galilei - "Dialogues [or Discourses and Mathematical Demonstrations] Concerning Two [New] Sciences" - um marco importante na física
Johannes Kepler - o quinto livro de "Harmonies of the World" - a descoberta de como os planetas orbitam
Sir Isaac Newton - "The Mathematical Priciples of Natural Philosophy", mais conhecido como "The Principia." - que inclui a elaboração das 3 leis do movimento e da lei gravitacional
Albert Einstein - 7 selecções do "The Principles of Relativity: A Collection of Original Papers on the Special Theory of Relativity" - sobre claro a teoria da relatividade e que alterou a compreensão do espaço-tempo.
O meu irmão adorou a prenda e acho que também vou ler algumas partes depois de ele ter "devorado" o livro.
Bom fim de semana e boas leituras
Subscribe to:
Posts (Atom)