"Impossível" Debugar

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
Tinho
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 317
Registrado em: Seg, 16 Nov 2009 4:50 pm
Localização: São Paulo - SP

Gente é praticamente impossível debugar um processo aqui no ambiente de trabalho. Estou utilizando o Oracle 9, Windows XP SP3 e ferramenta PL/SQL Developer 7.

Deve ter alguma coisa errada! Não sei o que faço toda vez que tento debugar um objeto demora uma eternidade, o objeto parece estar lockado e eu tenho que ficar aguardando a utilização (liberação) do mesmo para conseguir prosseguir com minha análise e quando eu vou ver já passou metade do dia.

Isto associado a um banco extremamente lento e com restrições "excessivas". Por exemplo, limite de consulta as tabelas do dicionario de dados em produção, não poder fazer um Explain Plan, a falta de acesso a DBLinks para migração de dados do ambiente de produção para desenvolvimento, estrutura de tabelas e objetos desatualizados em desenvolvimento, usuários compartilhados com limite curto de acesso (conexão), toda a vez que você manda cancelar uma operação em andamento demora muito isso quando não trava.

Qual é o problema? É "normal" (acho que não)? Como resolver? É possível estruturar uma arquiterura a nível de administração para solucionar estes conflitos? Seria alinhar serviços de infra-estrtura com a administração do banco?

Além de procurar uma ajuda gostaria de compartilhar o descontetamento de trabalhar em um ambiente onde as coisas parecem não funcionar e ainda lhe cobram eficiência. Já se depararam com situação parecida? Eu sei que não existe o ambiente perfeito mas como é o ambiente onde vocês trabalham? Existe um jeito de tentar minimizar a morosidade do trabalho? Ou propor alguma melhoria? Se não, ainda dá aquela impressão: "Ah se o banco não funciona não é culpa minha... - então não faço nada", sabe? Não é isso o que eu quero! Como posso me resguardar?

Att.,
marlonsc
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 10
Registrado em: Ter, 28 Ago 2012 4:33 pm
Localização: São Paulo
Contato:

Tinho, boa noite,

Este é um problema clássico em separar funções de banco de desenvolvimento e produção.

Sds,

Marlon Costa
http://www.marlonscdba.com
Tinho
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 317
Registrado em: Seg, 16 Nov 2009 4:50 pm
Localização: São Paulo - SP

É, não sei, eu não sou DBA e tenho apenas noção básica de arquitetura do Oracle e algums rotinas administrativas, mas se tratando de um banco de dados relacional em um ambiente transacional não é possível separar, fragmentar um ambiente por usuários de acordo com suas operações de modo que uma conexão não interfira na outra?

Neste mesmo caso que relatei anteriormente, o que eu fiz para tentar solucionar temporariamente o problema foi renomear as assinaturas e as chamadas dos objetos teoricamente lockados. Resolver, resolve, mas como tem muitas packages aninhadas, junto com functions e procedures toda vez que eu entro em um objeto que está lockado eu tenho que parar o processo recompilá-lo com o novo nome e iniciar novamente, então acaba sendo inviável além de muito moroso.

Embora tenha feito a alteração dos nomes fui informado que os mesmos são chamados pelos seus sinônimos. Mas se eu altero o nome de um objeto que possui um sinonimo, o sinonimo vai ficar valido para o novo nome do objeto? Outra, se eu altero a onde é feita a chamada do objeto, invocando-o pelo nome, neste caso eu estaria ignorando o sinonimo correto?

Att.,
marlonsc
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 10
Registrado em: Ter, 28 Ago 2012 4:33 pm
Localização: São Paulo
Contato:

Se os usuários utilizarem dados ou sistemas diferentes é fácil. Se não for isso você vai precisar mesmo pensar em uma solução escalável e que gere um mínimo bloqueios de objetos:
http://docs.oracle.com/cd/B19306_01/ser ... onsist.htm

Um sinônimo aponta diretamente para um objeto, você pode ter sinônimos publicos e por usuário. É bom você dar uma boa olhada na documentação para entender como eles funcionam:
http://docs.oracle.com/cd/B19306_01/ser ... s_7001.htm

Sds,

Marlon Costa
http://www.marlonscdba.com
Tinho
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 317
Registrado em: Seg, 16 Nov 2009 4:50 pm
Localização: São Paulo - SP

Obrigado Marlon pelas orientações, assim que possível vou verificar a documentação e os links informados.

Apenas para constatar, os objetos em questão são utilizados por diversos usuários e por sistemas diferentes.

Ano que vem pretendo fazer uma formação de DBA com foco em OCA e OCP, além é claro de enteder melhor a arquitetura e administração do banco. E quem sabe posso contrubir mais e melhor ao forum.

Grato.

Abçs.,
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 10 visitantes