怎么查看 oracle中某个表空间里的表名
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么查看 oracle中某个表空间里的表名相关的知识,希望对你有一定的参考价值。
我试了下面的语句 但是总显示【未选定行】
select table_name ,tablespace_name from dba_tables where tablespace_name = 'users';
想问一下 该怎么解决
sql:Select Table_Name, Tablespace_Name From Dba_Tables Where Tablespace_Name = '表空间名字';
解释:通过管理员权限登陆后,查看“Dba_Tables ”表中的字段信息即可完成查询表名操作。备注:表空间名字必须大写。 参考技术A Select Table_Name, Tablespace_Name
From Dba_Tables
Where Tablespace_Name = 'USERS';
'users'得大写才行追问
成功了 谢谢。请问 oracle不是不区分大小写的吗?我创建users表空间的时候,都是用的小写,这是为什么啊?
本回答被提问者采纳查看oracle锁的表名
SELECT * FROM tbl_10 FOR UPDATE;
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;
如果有长期出现的一列,可能是没有释放的锁。
请问是否有方法可以查到某个锁是具体锁到哪个表的呢?谢谢!
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
请问这个为什么会有两个同一个session_id的结果;
1 14728 11961 TBL_PNR_10 290 STAR bill?liu
2 14732 50904 TBL_PNR_10 290 STAR bill?liu
难道一个for update会产生两个锁?
1. 查看被锁的表
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
2. 查看是哪个进程锁的
SELECT sid, serial#, username, osuser FROM v$session where osuser = 'tangpj'
3. 杀掉这个进程 alter system kill session 'sid,serial#'; 参考技术A 查看哪个表被锁
select b.owner,b.object_name,a.session_id,a.locked_mode
from v$locked_object a,dba_objects b
where b.object_id = a.object_id
查看是哪个session引起的
select b.username,b.sid,b.serial#,logon_time
from v$locked_object a,v$session b
where a.session_id = b.sid order by b.logon_time 参考技术B SELECT S.SID SESSION_ID, S.USERNAME, DECODE(LMODE, 0 , ' None ' , 1 , ' Null ' , 2 , ' Row-S (SS) ' , 3 , ' Row-X (SX) ' , 4 , ' Share ' , 5 , ' S/Row-X (SSX) ' , 6 , ' Exclusive ' , TO_CHAR(LMODE)) MODE_HELD, DECODE(REQUEST, 0 , ' None ' , 1 , ' Null ' , 2 , ' Row-S (SS) ' , 3 , ' Row-X (SX) ' , 4 , ' Share ' , 5 , ' S/Row-X (SSX) ' , 6 , ' Exclusive ' , TO_CHAR(REQUEST)) MODE_REQUESTED, O.OWNER || ' . ' || O. OBJECT_NAME || ' ( ' || O.OBJECT_TYPE || ' ) ' , S.TYPE LOCK_TYPE, L.ID1 LOCK_ID1, L.ID2 LOCK_ID2
FROM V$LOCK L, SYS.DBA_OBJECTS O, V$SESSION S
WHERE L.SID = S.SID AND L.ID1 = O. OBJECT_ID
执行上记SQL语句,可以查寻到数据库中的锁的情报.
SESSION_ID, USERNAME, MODE_HELD, MODE_REQUESTED, OBJECT_NAME, LOCK_TYPE, LOCK_ID
分别是 拥有锁的SESSION_ID,拥有锁的USERNAME,锁的执行模式MODE_HELD,锁的请求MODE_REQUESTED,锁所在的数据库对象名
,锁的类型,锁的ID
以上是关于怎么查看 oracle中某个表空间里的表名的主要内容,如果未能解决你的问题,请参考以下文章