Select OWNER ||','|| SEGMENT_NAME ||','|| SEGMENT_TYPE ||','|| total
from(select OWNER, SEGMENT_NAME, SEGMENT_TYPE, bytes /1024/1024 total
from dba_segments
where TABLESPACE_NAME ='表空间名'orderby bytes /1024/1024desc)where rownum <21;
2、查看用户及默认表空间
select username, default_tablespace
from dba_users
where username ='JT_JUDITSPACE';select segment_name ||','|| segment_type ||','|| TABLESPACE_NAME
from user_segments;selectdistinct TABLESPACE_NAME from user_segments;--查看自己所有的对象是否全存储在自己的默认表空间--alteruser scott quota 1M on system;createtable tt(id int)tablespace system;insertinto tt
select object_id from all_objects where rownum <1000;commit;
3、查看指定表空间文件位置
select FILE_NAME ||','|| TABLESPACE_NAME
from dba_data_files
where TABLESPACE_NAME ='表空间名';select FILE_NAME ||','|| TABLESPACE_NAME
from dba_data_files
where TABLESPACE_NAME ='AUDIT_TABLESPACE';
set pages 500setlines500SELECT 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
GROUPBY TABLESPACE_NAME) F,(SELECT DD.TABLESPACE_NAME,ROUND(SUM(DD.BYTES)/(1024*1024),2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
GROUPBY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDERBY4desc;
(2)查看表空间使用情况
SELECT d.tablespace_name "TB Name",
d.status"Status",
TO_CHAR((a.bytes /1024/1024),'99,999,990.900')"Size (M)",
TO_CHAR(((a.bytes - DECODE(f.bytes,NULL,0, f.bytes))/1024/1024),'99,999,990.900')"Used (M)",((((a.bytes - DECODE(f.bytes,NULL,0, f.bytes))/1024/1024))/((a.bytes /1024/1024)))*100"Percent USED"FROM sys.dba_tablespaces d, sys.sm$ts_avail a, sys.sm$ts_free f
WHERE d.tablespace_name = a.tablespace_name
AND f.tablespace_name(+)= d.tablespace_name
orderby"Percent USED";
(3)查看临时表空间
setlines300SELECT temp_used.tablespace_name,
used as"Used(M)",
total as"Total(M)",(100-round(nvl(total - used,0)*100/ total,3))||'%'"percent Used"FROM(SELECT tablespace_name,SUM(bytes_used)/1024/1024 used
FROM GV_$TEMP_SPACE_HEADER
GROUPBY tablespace_name) temp_used,(SELECT tablespace_name,SUM(bytes)/1024/1024 total
FROM dba_temp_files
GROUPBY tablespace_name) temp_total
WHERE temp_used.tablespace_name = temp_total.tablespace_name;
8、表被锁时解锁脚本
(1)查看临时表空间查看数据库锁,诊断锁的来源及类型:
SELECT OBJECT_ID, SESSION_ID, LOCKED_MODE FROM V$LOCKED_OBJECT;
(2)找出数据库的serial#,以备杀死:
SELECT T2.USERNAME, T2.SID, T2.SERIAL#, T2.LOGON_TIMEFROM V$LOCKED_OBJECT T1, V$SESSION T2
WHERE T1.SESSION_ID = T2.SID
ORDERBY T2.LOGON_TIME;SELECT l.session_id sid,
s.serial#,
l.locked_mode,
l.oracle_username,
l.os_user_name,
s.machine,
s.terminal,
o.object_name,
s.logon_time
FROM v$locked_object l, all_objects o, v$session s
WHERE l.object_id = o.object_id
AND l.session_id = s.sid
ORDERBY sid, s.serial#;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.actionfrom v$sqlarea a, v$session s, v$locked_object l
where l.session_id = s.sid
and s.prev_sql_addr = a.address
orderby sid, s.serial#;