Banco de Dados

26 jul, 2013

Quais são os erros mais comuns em bancos de dados?

Publicidade

Olá, pessoal. Neste artigo, vou abordar uma dúvida importante e que pode ajudar quem está começando a trabalhar com banco de dados: quais são os erros retornados pelo SBGD mais comuns?

Todo banco de dados possui alguma linguagem na qual os comandos devem ser enviados por meio de alguma ferramenta console. Geralmente essa linguagem conta com elementos padrão do SQL e também com outros elementos adicionais que são específicos do banco de dados. De qualquer forma, sempre que um comando não consegue ser executado ou algum outro tipo de problema ocorre, é de responsabilidade do SGBD retornar uma mensagem de erro junto com o código.

Geralmente essa mensagem de erro está em inglês, apesar de existirem alguns trabalhos de tradução para o português. Além disso, todas as mensagens de erro devem estar devidamente descritas e apresentadas na documentação oficial do banco de dados.

O profissional que trabalha há algum tempo com um determinado SGBD acaba decorando quais são as principais mensagens de erros, suas causas e soluções. Contudo, isso não quer dizer que estas são as mensagens de erro mais comuns que estão sendo retornadas para todos os usuários. Como professor e profissional que trabalha produzindo recursos educacionais, me interesso por saber que tipos de erros e dificuldades as pessoas que trabalham com bancos de dados estão presenciando. Isso pode me auxiliar e guiar na escrita de futuros artigos e materiais educativos para a comunidade.

Bem, surge então a questão: como descobrir quais são as principais mensagens de erros que estão atrapalhando a vida de quem trabalha com banco de dados? Para responder a essa pergunta, decidi utilizar o Google e o Bing (os principais buscadores) e verificar quais são os termos mais populares em pesquisas associadas a códigos de erro do SQL Server, Oracle, MySQL e PostgreSQL.

Quando utilizamos buscadores para obter esse tipo de informação, devemos tomar alguns cuidados. Os resultados de buscas populares variam muito, dependendo de fatores como data da pesquisa, histórico de navegação, se você está logado em alguma rede social (ou com o cookie gravado), qual é o seu navegador e outros. Esse comportamento mostra que os pesquisadores atuais são projetados para utilizar todos os recursos ao seu alcance para lhe fornecerem os melhores resultados e também as propagandas customizadas e que possivelmente ao encontro do que alguém com o seu perfil se interessaria.

Para coletar os dados, fiz uma pesquisa em 10/07/2013 por alguns termos específicos, como o formato da mensagem de erro retornado pelo banco de dados. A pesquisa foi realizada utilizando o navegador Firefox após a limpeza de dados do histórico, cache, cookies e favoritos. Os resultados coletados são de acordo com o que o buscador mostrou diretamente na baixa de texto como sugestão de pesquisa e foram separados por bancos de dados e navegador.

SQL Server

Buscador: Google
Termo pesquisado: sql server error
Resultado: apresentado na Figura 1

Figura1_SQLServerError Figura 1. Sugestões de pesquisa pelo termo sql server error no Google

Comentários: O principal erro retornado pela pesquisa, de código 18456, é um erro de autenticação: um login foi enviado para o Sql Server e ele não foi aceito, pois pode ser que o login ou a senha estejam errados. Provavelmente essa mensagem é popular, porque quem está trabalhando com o SQL Server pode não ter um login/senha válido ou o SQL Server está sendo executado no modo Windows Authentication, no qual não se deve indicar um login/senha, pois o SQL Server utiliza o usuário logado que iniciou o programa. O erro 40 acontece por causa de problemas de conectividade; O erro 233 acontece porque o SQL Server não está configurado para receber conexões remotas; O erro 17058 acontece porque o serviço do SQL Server não consegue iniciar sem ler os arquivos de log.

Buscador: Bing
Termo pesquisado: sql server error
Resultado: apresentado na Figura 2

Figura2_SQLServerError_BINGFigura 2. Sugestões de pesquisa pelo termo sql server error no Bing

Comentário: O erro 1222 representa um timeout de lock; o erro 2 também está associado a configurações de conexão remota no SQL Server; o erro 3241 é um erro de restauração de banco de dados; o erro 53 é outro erro associado à conexão remota no SQL Server. Já o erro 0x0015 é um erro de um componente do Delphi que teve problemas de conexão com o SQL Server.

Buscador: Google
Termo pesquisado: Server: Msg
Resultado: apresentado na Figura 3

Figura3 SQLServer_msg
Figura 3. Sugestões de pesquisa pelo termo Server: Msg no Google

Comentário: O erro 8152 acontece porque houve uma tentativa de armazenar um string grande em um tipo de dados menor do que ele e houve uma truncagem de dados; o erro 7391 está associado a problemas de transações distribuídas,e o erro 18452 é um erro de tentativa de login sem a associação com um usuário no Windows.

Buscador: Bing
Termo pesquisado: Server: Msg
Resultado: apresentado na Figura 4

Figura4_SQLServer_msg_BING
Figura 4. Sugestões de pesquisa pelo termo Server: Msg no Bing

Comentário: O erro 3270 é associado a problemas com o restore de um backup, e o erro 823 é uma mensagem de erro indicando que possivelmente ocorreu algum problema com o hardware.

Comentário geral do SQL Server: Nota-se que nem sempre os buscadores Bing e Google retornam os mesmos erros e que há uma presença grande de códigos de erro associados a problemas de login. Outro ponto interessante é que a maioria dos problemas é relacionada a aspectos de administração do banco de dados e não tanto de programação.

Oracle

Buscador: Google
Termo pesquisado: oracle error
Resultado: apresentado na Figura 5

Figura5_OracleErrorFigura 5. Sugestões de pesquisa pelo termo oracle error no Google

Comentários: O código de erro 12560 é muito conhecido por quem trabalha com erro, e ele está associado a algum problema de conexão. Geralmente é alguma configuração do TNS ou outro tipo de serviço utilizado pelo Oracle para autenticar usuários. Já o erro 1012 está relacionado a conexões remotas no Oracle.

Buscador: Bing
Termo pesquisado: oracle error
Resultado: apresentado na Figura 6

Figura6_OracleError_BING
Figura 6. Sugestões de pesquisa pelo termo oracle error no Bing

Comentário: O erro 29283 indica que o Oracle tentou acessar um arquivo, pasta ou caminho e não conseguiu, provavelmente devido à falta de permissões adequadas; O erro 15000 está relacionado à utilização de um comando inadequado para instâncias RDBMS/ASM. O erro 80040e14 é um erro do driver OLE DB Provider para um ODBC que conecta no Oracle; não consegui obter informações suficientes para indicar o que representa o erro 4135 associado ao Oracle.

Buscador: Google
Termo pesquisado: ora-
Resultado: apresentado na Figura 7

Figura7_ORA-
Figura 7. Sugestões de pesquisa pelo termo ora- no Google

Comentário: O erro ora-12154 é mais um erro relacionado a problemas de conexão do serviço TNS; O erro ora-06512 geralmente é um problema que acontece junto com os outros e está relacionado a alguma exceção que não foi tratada; o erro ora-00904 indica que o Oracle não conseguiu encontrar o identificador (geralmente uma coluna da tabela); o erro ora-06550 é um erro de sintaxe genérico que é acompanhado por outros erros mais específicos.

Buscador: Bing
Termo pesquisado: ora-
Resultado: apresentado na Figura 8

Figura8_ORA- BING
Figura 8. Sugestões de pesquisa pelo termo ora- no Bing

Comentário: Os erros ora-20000 e ora-20001 são erros genéricos associados a problemas de manipulação de strings e são seguidos por outros códigos de erro. Já os erros ora-12541 e ora-12560 são erros relacionados a problemas de conexão com o TNS.

Comentário geral do Oracle: Repetindo o mesmo resultado que o SQL Server, a maioria dos erros do Oracle procurados são relacionados à conexão. Em geral, nota-se que há muita dificuldade na configuração do serviço TNS ou outro e que os erros retornados impedem a conexão. Infelizmente não há uma resposta padrão para resolver esse tipo de erro, e o profissional tem que analisar vários pontos específicos para procurar o problema.

MySQL

Buscador: Google
Termo pesquisado: mysql error
Resultado: apresentado na Figura 9

Figura9_MySQLError
Figura 9. Sugestões de pesquisa pelo termo mysql error no Google

Comentários: O erro 1045 é a mensagem retornada quando um login não consegue acessar o MySQL, e isso geralmente acontece porque o acesso remoto a esse servidor não foi devidamente configurado. O erro 1005 é retornado quando o MySQL não consegue criar a tabela devido a algum problema de sintaxe ou permissão. O erro 150 é relacionado ao mesmo problema do erro 1005; o erro 2006 acontece quando uma conexão detecta que o serviço do MySQL foi parado.

Buscador: Bing
Termo pesquisado: mysql error
Resultado: apresentado na Figura 10

Figura10_MySQLError_Bing
Figura 10. Sugestões de pesquisa pelo termo mysql error no Bing

Comentário: O erro 10061 também está associado a problemas de conexão; o erro 0 é específico do Windows e indica que houve algum problema na instalação do serviço MySQL. O erro 1130 é um erro de conexão remota: o endereço IP não está autorizado a se conectar ao servidor.

Comentário geral do MySQL: Mais uma vez, os principais erros estão associados a problemas de conexão, especialmente devido ao fato de que, por padrão, o MySQL não permite conexões remotas com o servidor, e é preciso conceder permissões especiais e cadastrar os endereços IP (ou intervalo deles) que podem acessar o servidor. Essa medida de segurança é algo específico do MySQL e pode confundir muita gente que está começando a trabalhar com esse software.

PostgreSQL

Buscador: Google
Termo pesquisado: postgresql error
Resultado: apresentado na Figura 11

Figura11_ErroPostgreSQL
Figura 11. Sugestões de pesquisa pelo termo postgresql error no Google

Comentários: A pesquisa pelos erros do PostgreSQL não retornou códigos de erro como no SQL Server, Oracle e MySQL. Contudo, pode-se notar que os dois erros retornados estão relacionados à permissão de acessos a objetos, algum que deve ser concedido com o comando GRANT.

Buscador: Bing
Termo pesquisado: postgresql error
Resultado: apresentado na Figura 12

Figura12_PostgreSQL_Bing
Figura 12. Sugestões de pesquisa pelo termo postgresql error no Bing

Comentário: Aqui temos a tendência de erros relacionados com o coalesce, que é uma função utilizada pare retornar o primeiro parâmetro que não é null. Geralmente utiliza-se essa função para que o valor null não seja retornado pelo usuário, e sim uma mensagem mais amigável indicando a ausência de dados para uma coluna.

Comentário geral do PostgreSQL: Não há muito o que dizer em relação aos erros pesquisados pelo PostgreSQL. Uma hipótese é que provavelmente quem trabalha com esse produto vai primeiro na documentação para depois checar nos buscadores e procurar a resposta para um problema específico.