1.0 oracle中表被锁,处理方法 select t4.object_name, t3.spid, t1.oracle_username, t1.os_user_name from v$process t3, v$session t2, v$locked_object t1, dba_objects t4 where t3.addr in (t2.paddr) and t2.sid in (t1.session_id) and t1.object_id = t4.object_i
在Oracle中有很多锁,通过v$lock_type视图可以查看Oracle中所有类型的锁,在本篇文章中我们熟悉一下TM和TX锁的类型 SQL> select * from v$lock_type where type in ('TM','TX'); TYPE NAME ID1_TAG ID2_TAG IS_USER DESCRIPTION -------- --------------- ------------------ ------------------- ------- ------
Oracle通过锁来实现数据库的并发控制 Oracle Database automatically locks a resource on behalf of a transaction to prevent other transactions from doing something that requires exclusive access to the same resource. The database automatically acquires different type
查询数据库的锁表情况语句如下: SELECT p.spid,a.serial#, c.object_name,b.session_id,b.oracle_username,b.os_user_name FROM v$process p,v$session a, v$locked_object b,all_objects c WHERE p.addr=a.paddr AND a.process=b.process AND c.object_id=b.object_id 如果表因为某些情况出现死
运行下列SQL,找出数据库的serial#,执行结果如下图所示 SELECT T2.USERNAME, T2.SID, T2.SERIAL#, T2.LOGON_TIME FROM V$LOCKED_OBJECT T1, V$SESSION T2 WHERE T1.SESSION_ID = T2.SID ORDER BY T2.LOGON_TIME; 然后运行下列SQL关闭锁表的Session,其中sid和serial#是查到的导致锁表的session alter system kill
使用pl/sql创建package CREATE OR REPLACE PACKAGE FirstPage is type outlist is ref cursor; Procedure p_get( maxrow in number, minrow in number, return_list out outlist ); function f_get(str in varchar2)return varchar2; END FirstPage; CREATE OR REPLACE pack
SELECT dd.* FROM dba_dependencies dd WHERE NAME <> referenced_name AND referenced_type <> 'TABLE' AND dd.referenced_type = 'PACKAGE' AND dd.referenced_name LIKE '%CUX%' AND NAME = 'CUX_PACKAGE_NAME' 此SQL并未实现递归,若要实现完整递归,请自行尝试.
--以下几个为相关表SELECT * FROM v$lock;SELECT * FROM v$sqlarea;SELECT * FROM v$session;SELECT * FROM v$process ;SELECT * FROM v$locked_object;SELECT * FROM all_objects;SELECT * FROM v$session_wait; ------------------------------------------------------------