dba管理

 

1. ORACLE中查看當前系統中鎖表狀況 
select * from v$locked_object 
能夠經過查詢v$locked_object拿到sid和objectid,而後用sid和v$session鏈表查詢是哪裏鎖的表,用v$session中的objectid字段和dba_objects的id字段關聯,查詢詳細的鎖表狀況。linux

查詢SQL以下: 
select sess.sid, 
       sess.serial#, 
       lo.oracle_username, 
       lo.os_user_name, 
       ao.object_name, 
       lo.locked_mode 
  from v$locked_object lo, dba_objects ao, v$session sess, v$process p 
where ao.object_id = lo.object_id 
   and lo.session_id = sess.sid;sql

查詢是什麼SQL引發了鎖表的緣由,SQL以下: 
select l.session_id sid, 
       s.serial#, 
       l.locked_mode, 
       l.oracle_username, 
       s.user#, 
       l.os_user_name, 
       s.machine, 
       s.terminal, 
       a.sql_text, 
       a.action 
  from v$sqlarea a, v$session s, v$locked_object l 
where l.session_id = s.sid 
   and s.prev_sql_addr = a.address 
order by sid, s.serial#;數據庫

2. ORACLE解鎖的方法 
alter system kill session ’146′;  –146爲鎖住的進程號,即spidsession

 

三、啓動oracleoracle

在linux oracle用戶下執行:spa

  一、$>sqlolus /nolog日誌

         SQL> conn /as sysdbablog

      二、查看實例名進程

         show parameter instance_name;terminal

      三、若是沒有 環境變量沒有配置ORACLE_SID的,則須要

         export ORACLE_SID=orcl

  四、啓動數據庫

     SQL>startup

 

四、查看監聽狀態和啓動關閉監聽

  lsnrctl status ---查看監聽狀態

  lsnrctl start ---啓動監聽  lsnrctl stop ---關閉監聽

相關文章
相關標籤/搜索