Alessandro Guimarães – Oracle Blog

June 25, 2008

Onde está o 11.1.0.7

Filed under: banco de dados — Tags: — agleite @ 7:56 pm

Pequeno delay da Oracle com relação ao 11.1.0.7 . Infelizmente tem um Bug o 6686309 – COBOL RUNTIME ORA-1400 AND RUNTIME 114 ERROR PASSING ARRAY TO ANONYMOUS BLOCK –  e ao que parece é corrigido apenas neste release. o 11.1.0.7 já existe provavelmente está em QA. Para download tu já sabes apenas o 11.1.0.6.

Entretanto existe uma correção para HP-UX PA-RISC (64-bit). Mas o Base Release pra este patch eh o 10.2.0.3

Amanhã vou estar aplicando o Bundle 21p para o 10.2.0.3 e ver se corrige . Muito embora eu duvide

June 19, 2008

Oracle BAM

Filed under: Uncategorized — agleite @ 5:43 pm

Mike…

Download =>  Release 10.1.3.3

Documentação => aqui

Demonstração => aqui

Oportunidades de negocio => Aqu…err…hum…!???

Upgrade Direto para o 10g

Filed under: banco de dados — Tags: — agleite @ 1:23 am

Alguem chega pra você e diz : “Olha, temos que migrar nosso banco pra 10g, é possivel. E estamos mudando a plataforma também”

Você responde prontamente : “Claro !”

Então vais olhar a matriz de compatibilidade abaixo :

Migração possivel de ... para Oracle10g Release 2 (10.2.0.x.0):
================================================================
Oracle8i Release 3: 8.1.7.4.0
Oracle9i Release 1: 9.0.1.4.0 ( 9.0.1.5.0 para iAS infrastructure)
Oracle9i Release 2: 9.2.0.4.0 ( 9.2.0.8.0 recomendado)
Oracle10g Release 1: 10.1.0.2.0 (10.1.0.5.0 recomendado)

E se pergunta : Cadê o Oracle 8i Release 2: 8.1.6

Pois é. Tu não tens como fazer upgrade direto. Tu não tens o cd de instalação do 8.1.7.4. Tu não tens a media necessaria para aquele sistema operacional. E ainda que tivesses era impossivel em termos de espaço em disco fazer esta migração.Sem falar na janela. Uma pra migrar pra 8.1.7.4 e outra pra o 10g. Em resumo : Tu não tens nada.

Sinceramente, não vejo o por que de não poder fazer um export e import direto do 8.1.6 para o 10.2. A Oracle faz uma ressalva : uma vez que a versão 8.1.7 (8.1.7.4 patchset ) é o ultimo release 8i , provavelmente qualquer problemas com dicionario de dados estaria resolvido. Sei…

Se o problema seria com relaçao ao dicionario, como então explicar que eu posso fazer uma upgrade direto do 8.0.6 para 10.1.0 ….vai entender.

No entanto parece que a limitação apenas se impõe ao modo FULL=Y do export. Portanto um export parcial FROMUSER=TOUSER, funcionaria.

Para evitar reclamações. Import parcial para 9.2.0.4 e DBUA para 10.2

É isso.

June 18, 2008

Por que as máquinas nunca dominarão o Mundo

Filed under: banco de dados — Tags: — agleite @ 6:41 pm

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.

BigFile Tablespaces

Filed under: banco de dados — Tags: — agleite @ 1:52 am

As tablespaces Big Files tendem a se tornar padrão em bancos de dados de storage high end e principalmente pelo uso do ASM (Automatic Storage Management).

Como o nome já diz, as bigfiles tablespaces, consistem de um único arquivo grande (!!).

Para evitar problemas de performance estas tablespaces devem ser criadas em file systems que suportem crescimento dinamicos e striping de arquivos (distribuindo o I/O) , caracteristicas essas nativas do ASM. Além disso a única forma de expandir uma tablespace bigfile, é expandindo seu datafile. Sem um gerenciador de volumes, o tamanho do datafile fica restrito ao disco no qual ele reside.

Para criar :

SQL > CREATE BIGFILE TABLESPACE muitogrande;

Se o ASM estiver sendo utilizado, o datafile vai estar distribuido em todo disk group.

Utilizando-se um tamanho de bloco 8k, em uma única tablespace pode-se armazenar até 32 terabytes Se o bloco for de 32K juntamente com o maximo número de datafiles (65,536), o limite chega a 8 exabytes.

Com um DB_FILES menor pode-se inclusive observar uma possivel diminuiçao da SGA ;).

A tablespace default do banco é a SMALLFILE. Se quiseres alterar :

SQL > ALTER DATABASE SET DEFAULT BIGFILE TABLESPACE;

June 17, 2008

Comando SQL Válido

Filed under: banco de dados — Tags: , — agleite @ 8:41 pm

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

Filed under: banco de dados — Tags: , — agleite @ 7:17 pm

[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

Filed under: banco de dados — Tags: — agleite @ 7:12 pm

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.

cursor_space_for_time | Sem Valor

Filed under: banco de dados — Tags: — agleite @ 6:44 pm

Se você ainda nao viu a nota do Metalink 565424.1, o parâmetro cursor_space_for_time parameter será desprezado no Oracle 10.2.0.5 and 11.1.0.7.

Uma ótima noticia, uma vez que provavelmente irá diminuir o número de DBAs “experts” que alteram este parametro para true sempre que eles vem algum tipo de contenção na shared pool ou na library cache.

Por outro lado, spin_count se tornou um parametro não documentado a muito tempo atras, mas ainda é muito utilizado, portanto eu não ficaria muito surpreso se o mesmo acontecesse a um digamos futuro _cursor_space_for time

Blog at WordPress.com.