Estamos usando o software de BI e um banco de dados de repositório instalado no Oracle Enterprise 11gR2.
Alguns desses relatórios em lote tentam acessar uma tabela de banco de dados que ainda pode estar bloqueada. Como posso descobrir se uma tabela do Oracle está bloqueada ou não? Existe alguma instrução SQL exibida como detalhes do histórico para análise?
oracle-11g-r2
locking
business-intelligence
Selahattin
fonte
fonte
Respostas:
A consulta a seguir fornece detalhes de todos os bloqueios.
fonte
O script a seguir pode ser usado para identificar rapidamente todos os objetos de bloqueio em seu sistema Oracle.
Referência: -Dicas de oráculo da Burleson Consulting http://www.dba-oracle.com/t_find_oracle_locked_objects.htm
fonte
Você pode consultar os objetos bloqueados no momento em V $ LOCKED_OBJECT .
No entanto, não há histórico para os bloqueios, o registro de todos os bloqueios causaria uma sobrecarga de desempenho enorme e muitos dados a serem armazenados.
O mais próximo que o banco de dados tem é o histórico de sessões ativas V $ ACTIVE_SESSION_HISTORY , DBA_HIST_ACTIVE_SESS_HISTORY (se você tiver a licença adequada para usá-lo), onde é possível visualizar sessões de bloqueio, instruções e outras informações, mas não tabelas bloqueadas. Caso contrário, você pode tentar consultar as visualizações apropriadas e salvar os dados necessários com seu próprio script personalizado.
fonte
Usando a consulta abaixo, você pode descobrir bloqueios na tabela.
Bloqueios de bloqueio
fonte
Se você deseja liberar o bloqueio no objeto bloqueado, mate a sessão correspondente.
fonte
Você pode verificar o bloqueio da tabela
v$lock
edba_objects
visualizar. A consulta abaixo fornece os detalhes do bloqueio.CONSULTA 2:
Você pode usar a consulta abaixo, que fornecerá mais detalhes. Bloqueio de mesa
fonte