查詢表空間名稱和大小
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 order by file_name;
具體的方法是查詢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
如果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 ...
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 ...
Oracle查詢鎖表sql,解除鎖表sql
oracle查詢鎖表sql,解除鎖表sql 注 查詢鎖表語句,根據資料庫使用者進行查詢 select l.session id sid,s.serial l.locked mode,l.oracle username,s.user l.os user name,s.machine,s.termina...