默认TEMP表空间变更
应用场景:由于TEMP表空间自动增涨,在增涨到一定大小会占用大量存储空间,需要对TEMP表空间减小
处理方法: 建立新的TEMP表空间--->将default_temp_tablespace变更为新建立的TEMP表空间--->删除旧的TEMP表空间,清理空间出来。
1、检查TEMP表空间状态
select tablespace_name,file_name ,file_id,bytes/1024/1024 as "size(M)" from dba_temp_files;
2、新建立TEMP表空间
create
temporary tablespace TEMP1tempfile '/usr/ora10g/data/temp01.dbf'size100M
AUTOEXTEND ON NEXT 1m MAXSIZE UNLIMITED;
3、修改数据默认临时表空间为新建立的TEMP空间,检查用户的默认TEMP表空间
alter
database default temporary tablespace temp1;
Select
username,default_temporary;
4、删除旧的TEMP表空间及数据文件
drop tablespace temp
including contents and datafiles;
5、检查操作系统旧的TEMP文件删除情况,空间是否被释放,如果未被释放需要使用 lsof 命令找到deleted的进程,KILL这些进程后空间自动释放
lsof |grep deleted
oracle 9866 oracle 11u
REG 8,7 25005400064 6619320 /usr/oracle
/oradata/oa/temp01.dbf
(deleted)
oracle 16459 oracle 11u
REG 8,7 25005400064 6619320 /usr/oracle
/oradata/oa/temp01.dbf
(deleted)
[root@localhost oa]#
kill -9 9866
[root@localhost oa]#
kill -9 16459
6、旧的TEMP数据文件开始在操作系统中清除
[root@localhost oa]#
df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda5 29G 6.3G
22G 23% /
/dev/sda3 494M 20M
449M 5% /boot
none 1007M 0 1007M
0% /dev/shm
/dev/sda7 97G 84G 7.7G
92% /usr
[root@localhost oa]#
df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda5 29G 6.3G
22G 23% /
/dev/sda3 494M 20M
449M 5% /boot
none 1007M 0 1007M
0% /dev/shm
/dev/sda7 97G 80G 12G 88%/usr
[root@localhost oa]#
df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda5 29G 6.3G
22G 23% /
/dev/sda3 494M 20M
449M 5% /boot
none 1007M 0 1007M
0% /dev/shm
/dev/sda7 97G 77G 16G 84% /usr
[root@localhost oa]#
df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda5 29G 6.3G
22G 23% /
/dev/sda3 494M 20M
449M 5% /boot
none 1007M 0 1007M
0% /dev/shm
/dev/sda7 97G 68G 24G 74% /usr