ORACLE關於鎖表查詢的部分SQL

2021-06-26 08:02:49 字數 2976 閱讀 9231

--查詢表空間名稱和大小

select upper (f.tablespace_name) "表空間名",

d.tot_grootte_mb "表空間大小(m)",

d.tot_grootte_mb - f.total_bytes "已使用空間(m)",

to_char (round ((d.tot_grootte_mb - f.total_bytes) / d.tot_grootte_mb * 100, 2), '990.99') "使用比",

f.total_bytes "空閒空間(m)",

f.max_bytes "最大塊(m)"

from ( select tablespace_name,

round (sum (bytes) / (1024 * 1024), 2) total_bytes,

round (max (bytes) / (1024 * 1024), 2) max_bytes

from sys.dba_free_space

group by tablespace_name) f,

( select dd.tablespace_name,

round (sum (dd.bytes) / (1024 * 1024), 2) tot_grootte_mb

from sys.dba_data_files dd

group by dd.tablespace_name) d

where d.tablespace_name = f.tablespace_name

order by 4 desc;

--檢視資料庫引起鎖表的sql語句:

select a.username,

a.machine,

a.program,

a.sid,

a.serial#,

a.status,

c.piece,

c.sql_text

from v$session a,

v$sqltext c

where a.sid in (select distinct t2.sid

from v$locked_object t1,

v$session t2

where t1.session_id = t2.sid)

and a.sql_address = c.address(+)

order by c.piece;

--檢視資料庫鎖的情況必須要有dba許可權,可以使用一下sql 語句:

select object_id, session_id, locked_mode from v$locked_object;

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;

--殺掉程序

alter system kill session 'sid,serial#';

--檢視連線數

select count (*) from v$session;

--檢視併發連線數

select count(*) from v$session where status='active';

--檢視連線的程序

select sid, serial#, username, osuser from v$session;

--檢視資料庫使用的裸裝置

select *

from dba_data_files

order by file_name;

select *

from dba_temp_files

order by file_name;

select *

from v$controlfile

order by file_name;

select *

from v$logfile;

--具體的方法是查詢dba_data_files,dba_temp_files,v$controlfile和v$logfile看這四類檔案具體占用的裸裝置

--查詢所有使用者表使用大小的前三十名

select * from (select segment_name,bytes from dba_segments where owner = user order by bytes desc ) where rownum <= 30;

--以下的sql語句列出當前資料庫建立的會話情況:

select sid,serial#,username,program,machine,status from v$session;

--如果dba要手工斷開某個會話,則執行:

alter system kill session 'sid,serial#';

--注意,上例中sid為1到7(username列為空)的會話,是oracle的後台程序,不要對這些會話進行任何操作。

--查詢表空間有那些表:

select table_name from all_tables where tablespace_name= 'temp';

ORACLE關於鎖表查詢的部分SQL

查詢表空間名稱和大小 select upper f.tablespace name 表空間名 d.tot grootte mb 表空間大小 m d.tot grootte mb f.total bytes 已使用空間 m to char round d.tot grootte mb f.total ...

關於鎖表查詢的部分SQL

查詢表空間名稱和大小 select upper f.tablespace name 表空間名 d.tot grootte mb 表空間大小 m d.tot grootte mb f.total bytes 已使用空間 m to char round d.tot grootte mb f.total ...

ORACLE鎖表查詢

select rule lpad decode l.xidusn 0,3,0 l.oracle username user name,o.owner,o.object name,o.object type,s.sid,s.serial from v locked object l,dba objec...