quarta-feira, 21 de agosto de 2013

Quais tabelas e campos estão vazios?

Você já precisou gerar uma estatística do seu banco de dados levantando quais tabelas ou campos estão vazios?

Eu já!

Como fazer?

- Confeccione sua instrução SQL, por exemplo

1- Para saber quais tabelas estão vazias, ou seja, zero registro:
SELECT TABLE_NAME, NUM_ROWS
FROM ALL_TABLES
WHERE OWNER = 'INFORME_SEU_OWNER' and NUM_ROWS = 0
ORDER BY TABLE_NAME;

2- Para saber quais campos estão vazios, ou seja, NULL:
SELECT TABLE_NAME, COLUMN_NAME, NUM_NULLS
FROM ALL_TAB_COLUMNS
WHERE OWNER = 'SDE_GIGE' and NUM_NULLS > 0
ORDER BY TABLE_NAME;

É isso, até a próxima!

terça-feira, 12 de março de 2013

Problemas na instalação do Oracle 11g XE

CENÁRIO/AMBIENTE:
Windows 7 64bits
Oracle Database 11g Express Editon 32bits

PROBLEMA:
Ao tentar instalar o Oracle 11g XE no Windows 7 ocorrem inúmeros erros.

ERROS ASSOCIADOS:
Erro na instalação com arquivo KEY_XE.reg
ORA-01031
ORA-01034
ORA-12638
ORA-12514
ORA-27101

SOLUÇÃO:
1- "Executar como administrador" o instalador do oracle

2- Quando apresentar o erro do KEY_XE.reg, anotar o caminho da mensagem de erro, confirmar a mensagem
C:\Users\[nome_usuario]\AppData\Local\Temp\{D9CFC6C9-BC1B-42D7-B834-C88EC110E8FF}\

3- Concluir a instalação do Oracle

4- Entrar no registro do Windows e trocar "DISK1" pelo caminho anotado no item 2
Entrar no registro do windows.
Executar\Regedit
Localizar o caminho HKEY_CLASSES_ROOT\Installer\Products\266B7A503A089BE4EAD1986A429434C1\SouceList\Media

5- Incluir o diretório de instalação do Oracle no PATH
SET PATH=%PATH%;C:\ORACLEXE

6- Para fazer a conexão precisa alterar o SID que por default será "XE", mas caso precise conultar pode-se encontrar o nome da conexão no arquivo TNSNAMES.
SET ORACLE_SID=XE

7- Alterar a variável de ambiente HOME igual ao HOME que está no arquivo LISTNER.ORA
SET ORACLE_HOME=C:\oraclexe\app\oracle\product\11.2.0\server

8- Alterar o arquivo SQLNET.ORA, se for o caso, de
AUTHENTICATION_SERVICES= (NTS)
para
AUTHENTICATION_SERVICES= NONE

9- Parar e iniciar o Oracle

10- Fazer testes de conexão

SQL> conn sys/admin as sysdba
Conectado.