Um pouco de Humor
October 1, 2009
September 8, 2009
September 2, 2009
11g R2 | Factors…Features…Promessas
No 11g Release 2 Overview, algumas promessas da 11g Release 2 me chamaram a atenção:
• reduce server costs by a factor of 5,
• reduce storage requirements by a factor of 12,
• improve mission critical system performance by a factor of 10,
• increase DBA and Developer productivity by a factor of 2
Aumentar a produtivade do DBA e do Developer por um fator de 2. Dobrar...”yeah rigth”
Imagine você falando para sua equipe de Dba’s .
- Caros, sabe aquele lance de banco auto-gerenciavel do 10g? Seguinte : o 11g R2 é mais auto-gerenciavel ainda. Você precisa de 50% menos de tempo para gerenciar um db 11g. Alegrem-se. Vocês vão ter mais tempo livre
Neste momento olhando para a equipe me lembro daquela frase famosa: “I sense great fear in you Dba”
Continuando.
O fato é que a combinação de automação de tarefas e os “inteligentes” mentores (advisors) dentro do banco vai fazer com que os Dba’s passem menos tempo nas tarefas corriqueiras de administração e possam “gastar” o tempo livre administrando mais bancos.
Por outro lado você também pode pensar que a equipe de Dba’s vai diminuir em 50%
Ah tem também a nova tecnologia de “hybrid columnar compression”. Mas parece que está disponivel apenas para o Exadata Storage Server.Como podemos ver na mensagem de erro abaixo:
ORA-64307: hybrid columnar compression is only supported in tablespaces residing on Exadata storage
Cause: An attempt was made to use hybrid columnar compression on unsupported storage.
Action: Create this table in a tablespace residing on Exadata storage or use a different compression type.
É isso. Boas ou más noticias ? Como diria mestre oogway..“There is just news. There is no good or bad.”
December 29, 2008
PLS-00101 | Piada Pronta
O que não falta na Oracle é bom humor. Tava olhando o “Oracle® Database Error Messages: 10g Release 2 (10.2)” Quando vi esta mensagem de erro:
PLS-00101: reserved for future use
Cause: This error message is not used yet. (Heh, heh, that”s a joke, son.)
Action: none
Embora tenha sido reservada para uso futuro, de alguma forma ela aparece neste manual. Aproveitei e fui olhar o mesmo manual, só que na versão 11g e… não tem este erro lá.
Quem sabe ela aparece no 12g
June 18, 2008
Por que as máquinas nunca dominarão o Mundo
Se você tiver oportunidade ver um query gerada por maquina, não estou falando de um Cyberdyne Systems T-800 ou do Mainframe da Matrix, mas de uma coisa chamada OLAP API vai entender o por que.
Ahn… e o que é uma OLAP API ?, você pode perguntar. Não sei, mas provavelmente é descendente do SAGENT.
June 17, 2008
Comando SQL Válido
Ve este comando :
Por que o comando abaixo, aparentemente invalido fuciona ? Uma vez que não existe coluna ou numero “1.x” . No entanto o comando funciona
SQL> SELECT 1.x
2 FROM dual;
X
———-
1
Pelo header da coluna temos uma dica . O Oracle considerou x um alias. Vamos tirar o “x” e ver o que acontece.
SQL> SELECT 1. FROM DUAL;
1.
———-
1
Funciona como esperado, “1.” é tratado como número (1. = 1.0)
No entanto a pergunta permanece. Como é que o Oracle divide a string “1.x” e decide que “x” é a coluna e “1.” é a parte numerica, considerand-se que não existem espaços entre 1. e X. Você, preguiçoso padwan, poderia responder que as vezes…as vezes.. espaços em branco são opcionais.
Embora esta resposta pareça a melhor – (certamente muito bem vinda em momentos de tensão em salas de aula) – me parece, o que acontece é que o string tokenizer (infelizmente não da pra traduzir ) utilizado pelo Oracle SQL parser , é suficientemente inteligente para não confiar que espaços em branco são delimitadores de token. Talvez até use analise de classes de caracteres para entender onde uma literal termina e o próximo token (como o alias de coluna) começa.
Portanto é possivel escrever um comando SQL válidos sem nenhum espaço em branco. Por exemplo:
SQL> select*from”DUAL”;
D
-
X
SQL> select”DUMMY”FROM”DUAL”;
D
-
X
Bom a informação acima, não tem nenhuma aplicação prática (a não ser que seu teclado esteja quebrado). De qualquer forma ilustra como trabalha internamente e a flexibilidade do Oracle SQL Analisador de Texto.
P.S Muito embora :
SQL> select 1.dummy from “dual”"1″;
select 1.dummy from “dual”"1″
*
ERRO na linha 1:
ORA-03001: recurso não-implementado
Seja Feliz
[oracle@orcl bdump]$ oerr tns 0000
00000, 00000, “Not An Error”
// *Cause: Everything is working as it should.
// *Action: Don’t worry: Be happy.
Portanto, se você acha que algum amigo seu está triste, desolado, desconsolado, tipo que ele lá achando que aos 29 anos está descontinuado, manda um TNS 0000 pra ele
[12235] | Eu já sabia
Erro lá no background dump dest
Oracle program name: oracle@orcl
*** 2008-06-17 16:19:02.850
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [12235], [], [], [], [], [], [], []
E o que temos como definição do erro : ORA-600 [12235] “Oracle process has no purpose in life !”
Err..nenhuma novidade.
