当前位置:  数据库>oracle

Linux系统Oracle Temp01.dbf不断变大应该这样解决

    来源: 互联网  发布时间:2017-06-25

    本文导语: Oracle安装在CentOS系统上,系统磁盘空间本身不是很大,运行一段时间后发现Oracle的临时表空间占用磁盘越来越大,以至于系统处于崩溃的边缘,解决该问题的方法如下: 第一步:alter database tempfile '/opt/oracle/oradata/orcl/temp01.dbf' dro...

Oracle安装在CentOS系统上,系统磁盘空间本身不是很大,运行一段时间后发现Oracle的临时表空间占用磁盘越来越大,以至于系统处于崩溃的边缘,解决该问题的方法如下:

第一步:
alter database tempfile '/opt/oracle/oradata/orcl/temp01.dbf' drop;
第二步:
alter tablespace temp add tempfile
'/opt/oracle/oradata/orcl/temp01.dbf'
size 2048M reuse autoextend on next 100M;
第三步:
select d.file_name, d.file_id, d.tablespace_name, d.bytes
from dba_temp_files d;
第四步:
alter database tempfile '/opt/oracle/oradata/orcl/temp01.dbf' autoextend off;
(只是为了解决小问题,不深究。)
 
正常来说,在完成Select语句、create index等一些使用TEMP表空间的排序操作后,Oracle是会自动释放掉临时段a的。但有些有侯我们则会遇到临时段没有被释放,TEMP表空间几乎满的状况,甚至是我们重启了数据库仍没有解决问题

在检查centos系统的磁盘空间时,发现临时表空间所在临时数据文件已经达到35G,已经占用了100%。

因为是正式数据库服务器,不能随便重启数据库。

以下的操作是用数据库的sys超级用户操作

刚开始打算把临时表空间的数据文件重新缩小就好了

执行:

SQL> alter database tempfile '/opt/oracle/oradata/orcl/temp01.dbf' resize 10240M;

数据库报错,重新设置的空间大小不能满足需要。

看来需要重新建立新的临时表空间替换当前的表空间了

1、首先查看当前的数据库默认表空间:

SQL>select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';

确认当前的临时表空间为TEMP

2、查看目前临时表空间的大小:

SQL>select file_name,tablespace_name,bytes/1024/1024 "MB",autoextensible from dba_temp_files;

3、创建新的临时表空间:

SQL> create temporary tablespace temp02 tempfile '/opt/oracle/oradata/orcl/temp02.dbf' size 512M;

4、把新建的临时表空间却换成数据库的默认临时表空间

SQL> alter database default temporary tablespace temp02;

5、确认目前数据库的默认临时表空间

SQL>select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';

确认temp02为当前的数据库默认表空间

6、在删除temp临时表空间之前,先把运行在temp临时表空间的sql语句kill掉,这样的sql语句多为排序的语句

SQL>Select se.username,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 p.name='db_block_size' and su.session_addr=se.saddr and s.hash_value=su.sqlhash

and s.address=su.sqladdr

order by se.username,se.sid;

查询出来之后,kill掉这些sql语句:

SQL>alter system kill session '524,778'; (假如某一条运行的sql语句的SID为524,serial#为778)

确认在temp临时表空间中没有运行的sql语句之后,则可以删除temp临时表空间数据文件了

7、删除temp临时表空间

SQL> drop tablespace temp including contents and datafiles;

这样很快就可以删除了临时表空间的数据文件

8、现在temp02临时表空间占据了别人的磁盘空间,需要重新把临时表空间建立在原来的位置,重新建立temp临时表空间

SQL> create temporary tablespace temp tempfile '/opt/oracle/oradata/orcl/temp01.dbf' size 512M autoextend on maxsize 15G;

新建一个512M的自动扩展临时表空间,最大的扩展为15G。

查看新建的temp临时表空间是否正确:

SQL>select file_name,tablespace_name,bytes/1024/1024,maxbytes/1024/1024,autoextensible from dba_temp_files;


9、把新建的temp临时表空间却换成数据库的默认临时表空间

SQL> alter database default temporary tablespace temp;

10、确认目前数据库的默认临时表空间

SQL>select * from database_properties

where property_name='DEFAULT_TEMP_TABLESPACE';

确认temp为当前的数据库默认表空间

11、目前把原来的temp临时表空间变成了512M,把剩余的磁盘空间空了出来,temp02临时表空间就没有用了,删除temp02临时表空间
SQL> drop tablespace temp02 including contents and datafiles;


    
 
 

您可能感兴趣的文章:

  • 我的linux不断在linux命令行处打印如下警告信息,怎么消除?
  • 如何查找 删除 linux不断增加的垃圾日志文件?
  • 安装Linux时,检测硬件时老是不断的重复Disabling IRQ #10!
  • 怎样向linux中的共享内存中持续不断地存放同一种类型的数据,而不进行覆盖
  • linux 写文件会不断消耗内存 删除时又恢复
  • 我的linux程序在运行的时候占用内存不断增大是为什么?
  • 我linux 上 的 C程序为什么虚拟内存(VSZ) 不断增加 一天之后增加好几倍?
  • vmware 下安装 LINUX ENTERPRISE 5 关机时,,,电脑狂叫,,,长鸣声不断........
  • Linux的Memory used不断增加是为什么?
  • 有一定基础后,请问应该先看Linux内核还是驱动呢?
  • 作 Linux/Unix开发 应该从何处入手?致力于Linux开发的迷惑???欢迎讨论。
  • (求助)准备向linux内核方向发展应该有哪些基础???
  • 请教大家一下,linux运维方面的书应该读什么?
  • 对于LINUX学习者来说,应该给LINUX分多大的空间?
  • 我以前没用过linux,现在要用linux,我应该先学些什么?
  • linux应该怎么学呀?
  • linux系统编程基础应该使用哪些书籍?
  • 初学Linux操作系统,应该看什么书?安装什么类型的Linux系统?
  • linux下我想关闭ftp服务。应该杀死那个端口
  • Linux下的命令应该怎么记呢?
  • 请大家介绍一下 linux 1.0 内核应该怎样阅读?
  • 应该选用哪种Linux版本
  • 在安装Linux时"键盘设置"应该选哪种类型的呢?
  • 想学linux编程,应该找哪些相关的资料呀??
  • 疑惑:应该使用那种Linux?
  • 请问Unix和Linux有什么区别?现在应该学哪个好?
  • 嵌入式Linux系统应用程序开发应该怎样入手?
  • 在linux下,要在一台机上同时录音和放音,应该怎么做?
  • 在linux下用c做一个ftp应该学习什么材料
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • secureCRT下Linux终端汉字乱码解决方法
  • 先装LINUX 10后装XP,启动进不了Linux,请问怎么解决?
  • Linux/CentOS下的CST和UTC时间的区别以及不一致的解决方法
  • linux中用ifconfig设置完新ip后,重启linux,ip又恢复到原来的值,怎么解决呀?
  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • linux下使用samba mount windows 网络共享盘后,拔掉网线linux死机该如何解决?
  • Linux 下c++开发error while loading shared libraries问题解决
  • Linux进不去了,请问如何解决?(急~~~)
  • linux/centos安装nginx常见错误及解决办法
  • linux系统编程基础应该使用哪些书籍? iis7站长之家
  • Linux数字声音解决方案 OSS4
  • LINUX下的JAVA串口通讯问题,如能解决,不胜感激
  • linux可以ping通win98,win98却ping不通linux,如何解决?
  • Linux视频解决方案 Heroine Virtual
  • 如何解决安装完linux开机奇慢的问题
  • linux中非正常关机,出现的错误如何解决?
  • Linux下Oracle 10G DBCA等汉字乱码解决方法
  • 如何解决Linux乱码?
  • 虚拟机下linux内鼠标和键盘失灵,如何解决?
  • linux登录错误!帮忙解决啊
  • linux下的vi中的乱码问题(急急急,在线等待!!!!!!,解决问题给高分)
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • Linux c字符串中不可打印字符转换成16进制
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • linux命令大全详细分类介绍及常用linux命令文档手册下载
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3