知识大全 ORACLE临时表空间的清理
Posted 空间
篇首语:当筵意气临九霄,星离雨散不终朝。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ORACLE临时表空间的清理相关的知识,希望对你有一定的参考价值。
ORACLE临时表空间的清理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
ORACLE临时表空间的清理
查看使用率
column TablespaceName format a heading Tablespace Name
column TotalUsedBytes format heading File Sizes|(K)
column TotalFreeBytes format heading Free Bytes|(K)
column FreeRatio format heading Free|(%)
column TotalExtensibleBytes format heading Extensible|Sizes (K)
column TotalExtends format heading Ext
pute sum label Total: of TotalFreeBytes TotalUsedBytes TotalExtensibleBytes on report
break on report
select b TablespaceName
round(sum(b UsedByte) / ) TotalUsedBytes
round(sum(a FreeByte) / ) TotalFreeBytes
round(sum(b ExtensibleByte) / ) TotalExtensibleBytes
round(sum(a FreeByte + b ExtensibleByte) * / sum(b UsedByte + b ExtensibleByte) ) FreeRatio
sum(a Extend) TotalExtends
from (select sum(bytes) FreeByte
count(*) Extend
file_id FileID
tablespace_name TablespaceName
from dba_free_space
group by file_id
tablespace_name
union all
select sum(bytes_free) FreeByte
count(*) Extend
file_id FileID
tablespace_name TablespaceName
from v$temp_space_header
group by file_id
tablespace_name) a
(select decode(autoextensible YES decode(sign(maxbytes bytes) maxbytes bytes ) ) ExtensibleByte
bytes UsedByte
file_id FileID
tablespace_name TablespaceName
from dba_data_files
union all
select decode(autoextensible YES decode(sign(maxbytes bytes) maxbytes bytes ) ) ExtensibleByte
bytes UsedByte
file_id FileID
tablespace_name TablespaceName
from dba_temp_files) b
where b FileID = a FileID(+) and
b TablespaceName= a TablespaceName(+)
group by b TablespaceName;
正常来说 在完成Select语句 create index等一些使用TEMP表空间的排序操作后 Oracle是会自动释放掉临时段a的 但有些有侯我们则会遇到临时段没有被释放 TEMP表空间几乎满的状况 甚至是我们重启了数据库仍没有解决问题 这个问题在论坛中也常被网友问到 下面总结一下 给出几种处理方法
法一 重启库
库重启时 Smon进程会完成临时段释放 TEMP表空间的清理操作 不过很多的时侯我们的库是不允许down的 所以这种方法缺少了一点的应用机会 不过这种方法还是很好用的
法二 Metalink给出的一个方法
修改一下TEMP表空间的storage参数 让Smon进程观注一下临时段 从而达到清理和TEMP表空间的目的
SQL>alter tablespace temp increase ;
SQL>alter tablespace temp increase ;
法三 我常用的一个方法 具体内容如下
使用如下语句a查看一下认谁在用临时段
SELECT username
sid
serial#
sql_address
machine
program
tablespace
segtype
contents
FROM v$session se
v$sort_usage su
WHERE se saddr=su session_addr
那些正在使用临时段的进程
SQL>Alter system kill session sid serial# ;
把TEMP表空间回缩一下
SQL>Alter tablespace TEMP coalesce;
法四 使用诊断事件的一种方法 也是被我认为是 杀手锏 的一种方法
确定TEMP表空间的ts#
SQL>select ts# name from sys ts$ ;
TS# NAME
SYSYEM
RBS
USERS
* TEMP
TOOLS
INDX
DRSYS
执行清理操作
SQL>alter session set events immediate trace name DROP_SEGMENTS level ;
说明
temp表空间的TS# 为 * So TS#+ =
其它
出现如上问题的原因我认为可能是由于大的排序超出了TEMP表空间的空间允许范围引起的 也可能包含着其它的异常的因素
观注TEMP等这些空间的状态是Dba日常职责之一 我们可以通过Toad Object Browser等这些工具办到 也可以用如下的语句
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 *
)
) 使用比
F TOTAL_BYTES 空闲空间(M)
F MAX_BYTES 最大块(M)
FROM (SELECT TABLESPACE_NAME
ROUND(SUM(BYTES) / ( * ) ) TOTAL_BYTES
ROUND(MAX(BYTES) / ( * ) ) MAX_BYTES
FROM SYS DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F
(SELECT DD TABLESPACE_NAME
ROUND(SUM(DD BYTES) / ( * ) ) TOT_GROOTTE_MB
FROM SYS DBA_DATA_FILES DD
GROUP BY DD TABLESPACE_NAME) D
WHERE D TABLESPACE_NAME = F TABLESPACE_NAME
cha138/Article/program/Oracle/201311/18994相关参考
Oracle临时表空间过大问题解决 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 查询数据库服务
Oracle性能优化:收缩临时表空间 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 当排序操作重
Oracle中的临时表用法汇总 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!语法 在Oracle
Oracle临时表优化查询速度 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 前言 目前所
ORACLE临时表的应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 前言 目前所有使用Or
Oracle临时表用法的经验心得 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 文章主要介绍的是
回收临时表空间ORA-03297解决 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!今天发现临时表空
Oracle临时表的几种好用方案介绍 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 以下的文章主
Oracle数据库中的临时表用法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 这篇文章主要介绍
OracleTemp临时表空间处理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Tempora