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表空间的信息 迁移到其它表空间