Ler um datafile com o DD – II

Há tempos atrás, fiz um post, sobre como ler dados de um datafile com o utilitário dd, porém, devido recentemente descobri um particularidade 🙂 …

No 1º post que fiz sobre este tema criei uma tabela, inseri alguns dados e obtive os dados com o DD, no entanto, ao voltar a fazer testes, com uma tabela diferente, não conseguia extrair os dados. Como o teste anterior era com a versão da BD anterior era uma 10gR2 e agora estava a usar uma 11gR2, pensei que poderia ter alguma diferença.

Vamos ver os testes:

1 – Com base em uma tabela que eu tinha, fiz o select para obter o Block Id em que os dados das colunas A e B estão armazenados:

2 – Com a informação do block id, vamos ver o que DD nos mostra:

Como podemos ver, os valores das colunas A e B não são apresentados 🙂

3 – Como a coluna B é um varchar2(2), decidi aumentar a capacidade:

4 – Realizei update na linha A=9995 e atualizei o campo B com uma string maior, para poder comparar o comportamento:

5 – Agora se eu fizer o DD novamente 🙂

Agora a string que realizei o update já é visível.

Quando a string é pequena, de alguma forma, a informação não é visível.

6 – Para explorar mais este comportamento, fiz mais alguns updates, para comparar:

Agora com o DD, podemos ver as linhas AAA e MAIOR, porém a linha AA (row 1) não foi retornada.

Com o output, vi que o tamanho de bytes retornado controlado pelo comando strings é o que limita a visualização. E a partir do 3 byte (tamanho da string na BD), com a virgula que aparece forma o 4 byte, que é o default do comando strings, que no fundo, é um interpretador.

http://en.wikipedia.org/wiki/Strings_(Unix)

“Strings are recognized by looking for sequences of at least 4 (by default) printable characters terminating in a NUL character. Some implementations provide options for determining what is recognized as a printable character, which is useful for finding non-ASCII and wide character text.”

Conclusão:

Nada como ler o man dos comandos com alguma atenção 🙂 🙂 🙂

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s