专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

ORACLE表空间监控及管理大全,工作参考用

ins518 2024-11-01 13:31:58 技术文章 9 ℃ 0 评论

ORACLE,linux下

查询当前用户具有表空间的使用率情况:

SELECT a.tablespace_name "表空间名",

total/1024/1024/1024 表空间大小,

free/1024/1024/1024 表空间剩余大小,

(total - free)/1024/1024/1024 表空间使用大小,

ROUND((total - free) / total, 4) * 100 "使用率 %"

FROM (SELECT tablespace_name, SUM(bytes) free

FROM DBA_FREE_SPACE

GROUP BY tablespace_name) a,

(SELECT tablespace_name, SUM(bytes) total

FROM DBA_DATA_FILES

GROUP BY tablespace_name) b

WHERE a.tablespace_name = b.tablespace_name;

--查看各表占用空间,其中PARTITIONED = 'NO' 为非分区表:

select segment_name, (sum(bytes)/1024/1024) Mbytese

from user_segments u1, user_tables u2

where u1.segment_name = u2.TABLE_NAME

and u2.PARTITIONED = 'NO'

HAVING (sum(bytes)/1024/1024) > 40

group by segment_name;

一般来说system表空间是系统表空间,不需要很大,如果占用很大,需要查哪个占用的,

-- 可通过如下语句查看一下是不是有应用的段放到了SYSTEM中:

select OWNER,SEGMENT_NAME,SEGMENT_TYPE,BYTES from DBA_SEGMENTS where TABLESPACE_NAME='SYSTEM' and OWNER not in ('SYS','SYSTEM');

--通过如下查询语句查看找出系统表空间中占用空间最多的Top9对象

SELECT *

FROM (SELECT BYTES, segment_name, segment_type, owner

FROM dba_segments

WHERE tablespace_name = 'SYSTEM'

ORDER BY BYTES DESC)

WHERE ROWNUM < 10

一般是记录审计记录的aud$表占用了system很大的空间。

备份后truncate掉AUD$,问题临时解决。记得oracle11.2可以把aud$迁移到普通的表空

间。

表空间扩容(得先确保磁盘空间够)

select * from dba_data_files where tablespace_name='DATALIST';--先找出这个表空间的文件

ALTER TABLESPACE DATALIST ADD DATAFILE '/oradata3/datalist-17.dbf' SIZE 10G;

--再增加一个数据文件,一般要按序号增加

重建UNDO表空间:

1. 创建新的undo表空间

CREATE UNDO TABLESPACE "UNDOTBS"

DATAFILE '/oradata1/dbnms/undotb01.dbf' SIZE 4096m;

2.切换UNDO表空间为新的UNDO表空间

alter system set undo_tablespace=UNDOTBS2;

或者修改init文件,重启数据库

3.删除原来的undo表空间

drop tablespace UNDOTBS1 including contents;

回缩临时表空间:

1、 使用如下语句查看一下认谁在用临时段

SELECT s.username, s.sid, s.serial#, s.sql_address, s.machine, s.program, su.tablespace, su.segtype, su.contents

FROM v$session s, v$sort_usage su

WHERE s.saddr = su.session_addr;

2、 那些正在使用临时段的进程

Alter system kill session '489,266';

3、把TEMP表空间回缩一下

Alter tablespace TEMP coalesce;

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表