Oracle_表空间的过大处理方法

  • 格式:docx
  • 大小:563.53 KB
  • 文档页数:2

--临时表空间满时的处理方法

1.增加临时文件: 不建议设置为自增长 导致把磁盘给撑满

SQL> ALTER TABLESPACE TEMP ADD TEMPFILE '/oracle/oradata/itpuxdb/temp02.dbf' SIZEE 10M

AUTOEXTEND OFF;

2.修改临时文件: 可以将原来的数据文件改大一点 如:

SQL> ALTER DATABASE TEMPFILE '/oracle/oradata/itpuxdb/temp02.dbf' RESIZE 100M;

3.收缩Shrinking临时表空间

SQL> ALTER TABLESPACE temp SHRINK SPACE KEEP 20M; 收缩表空间

SQL>

ALTER TABLESPACE temp SHRINK TEMPFILE '/oracle/oradata/itpuxdb/temp02.dbf';

收缩文件

数据库重启后,会自动释放temp表空间

默认临时表空间TEMP的过大的重建流程

如果删除不了 查询哪些sql在使用临时表空间,开启另外一个session查询

SQL> select

ername,se.sid,se.serial#,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 ='db_block_size' and su.session_addr=se.saddr and s.hash_value=su.sqlhash and s.address=su.sqladdr order by ername,se.sid;

如果列出存在的,则通过以下语句 杀掉这些sid与serial 【注意:1是系统进程 不能乱杀】

SQL> alter system kill session '187,12619';

SYSTEM 与 SYSAUX 表空间满了怎么办?

1.添加表空间

2.把system或者sysaux表空间的信息 迁移到其它表空间