SELECT a.tb_name 表空間名稱,
c.contents 類型,
c.extent_management 區管理,
b.total / 1024 / 1024 表空間大小m,
(b.total - a.free_sp) / 1024 / 1024 已使用m,
a.free_sp / 1024 / 1024 剩餘m,
substr((b.total - a.free_sp) / b.total * 100, 1, 5) 利用率
FROM (SELECT tablespace_name tb_name, SUM(nvl(bytes, 0)) free_sp
FROM dba_free_space
GROUP BY tablespace_name) a,
(SELECT tablespace_name tb_name, SUM(bytes) total
FROM dba_data_files
GROUP BY tablespace_name) b,
(SELECT tablespace_name tb_name,
contents contents,
extent_management extent_management
FROM dba_tablespaces) c
WHERE a.tb_name = b.tb_name
AND c.tb_name = b.tb_name;sql
create temporary tablespace TEMP3 TEMPFILE '/opt/oracle/oradata/cuss/TEMP2.dbf' size 20m reuse autoextend off;
SQL>alter database default temporary tablespace "TEMP2" 一個TEMP3文件,初始大小1G,每次增加200M,最大限制爲4G。 SQL>
create temporary tablespace TEMP3 TEMPFILE '/opt/oracle/oradata/cuss/TEMP3.dbf' size 1000m reuse autoextend on next 200m maxsize 4000m;
把缺省臨時表空間指向這個新建的TEMP3。 SQL>alter database default temporary tablespace "TEMP3"
刪除原有的臨時表空間文件和操做系統中的對應物理文件,釋放磁盤空間
SQL>drop tablespace temp2 including contents and datafiles; 從新作exp導出,導出成功。至此調整結束。
select TABLESPACE_NAME from dba_tablespaces; session
select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files; oracle
select se.username,
se.sid,
su.extents,
su.blocks * to_number(rtrim(p.value)) as Space,
tablespace,
segtype,
sql_text
from v$sort_usage su, v$parameter p, v$session se, v$sql s
where p.name = 'db_block_size'
and su.session_addr = se.saddr
and s.hash_value = su.sqlhash
and s.address = su.sqladdr
order by se.username, se.sid;app
select a.property_name, a.property_value from database_properties a where a.property_name like '%DEFAULT%';spa
create temporary tablespace dinpay_temp02 tempfile '/opt/app/oracle/oradata/dinpay/dinpay_temp02.dbf' size 2048m autoextend on next 50m maxsize unlimited;操作系統
create temporary tablespace temp2 tempfile '/u01/app/oracle/oradata/devdb/temp02.dbf' size 100m autoextend on next 10m maxsize unlimited;hash
create temporary tablespace temp1 tempfile '/u01/app/oracle/oradata/devdb/temp01.dbf' size 100m autoextend on next 10m maxsize unlimited;it
create temporary tablespace temp2 tempfile '/opt/app/oracle/oradata/dinpay/temp02.dbf' size 1024m autoextend on next 100m maxsize unlimited;io
alter database default temporary tablespace dinpay_temp02; table
alter database default temporary tablespace temp02;
alter tablespace temp2 tempfile offline;
drop tablespace DINPAY_TEMP02 including contents and datafiles cascade constraints;
--若是以前的臨時表空間還有用戶在使用,使沒法刪除的
SELECT se.username, se.SID, se.serial#, se.sql_address, se.machine, se.program, su.TABLESPACE,
su.segtype, su.CONTENTS FROM v$session se, v$sort_usage su
WHERE se.saddr = su.session_addr
and tablespace= 'TEMP2';
alter system kill session '415,7451';
alter tablespace temp1 tempfile offline;
alter tablespace DINPAY_TEMP tempfile online;
alter database tempfile '/u02/database/ORADB/temp/ORADB_tempORADB.dbf' resize 106M;
SELECT 'alter database tempfile ''' || a.name || ''' resize ' || b.siz || 'M;' resize_command
FROM v$tempfile a,
(SELECT ceil(tmsize.maxblk * bk.value / 1024 / 1024) siz
FROM (SELECT nvl(MAX(segblk#), 128) maxblk FROM v$sort_usage) tmsize,
(SELECT VALUE FROM v$parameter WHERE NAME = 'db_block_size') bk) b;
select s.name tbsname, t.name, (t.bytes / 1024 / 1024) mb, t.status
from v$tablespace s, v$tempfile t
where s.ts# = t.ts#;
SELECT sess.SID, segtype, blocks * 8 / 1000 "MB", sql_text
FROM v$sort_usage sort, v$session sess, v$sql SQL
WHERE sort.SESSION_ADDR = sess.SADDR
AND SQL.ADDRESS = sess.SQL_ADDRESS
ORDER BY blocks DESC;
SELECT temp_used.tablespace_name, total - used as "Free", total as "Total", round(nvl(total - used, 0) * 100 / total, 3) "Free percent" FROM (SELECT tablespace_name, SUM(bytes_used) / 1024 / 1024 used FROM GV_$TEMP_SPACE_HEADER GROUP BY tablespace_name) temp_used, (SELECT tablespace_name, SUM(bytes) / 1024 / 1024 total FROM dba_temp_files GROUP BY tablespace_name) temp_total WHERE temp_used.tablespace_name = temp_total.tablespace_name;