zoukankan      html  css  js  c++  java
  • Oracle 临时表空间满!

    Oracle 临时表空间慢是因为有大量的排序数据或其他临时数据占用造成的,也就是说如果一个有上千万天的记录你的临时空间又很小这个时候你只要select * 也许马上就就会满掉!解决此类问题的办法是为临时表空间增加临时文件,但是有时候你的临时表空间足够大但是仍然让频繁的查询占用满那怎么办?修改SQL语句呗!呵呵临时解决就是把目前的临时表空间替换掉!

    1.查看临时文件的使用/剩余空间
    col tablespace_name format a10
    select * from v$temp_space_header;

    TABLESPACE    FILE_ID BYTES_USED BLOCKS_USED BYTES_FREE BLOCKS_FREE RELATIVE_FNO
    ----------        ----------    ----------    -----------    ----------    -----------            ------------
    TEMP                1     1048576           128   156237824         19072              1

    2.查看当前用户所属的临时表空间 
    SQL> select username ,temporary_tablespace from dba_users;
      USERNAME    TEMPORARY_TABLESPACE
      -----------         ------------------------------
      SYS                TEMP1
      SYSTEM         TEMP1
      DBSNMP         TEMP1
      HUJINPEI         TEMP1
      ALAN1             TEMP1
      PERFUSER     TEMP1
      ALAN2             TEMP1
      MYUSER          TEMP1
      OUTLN            TEMP1
      WMSYS           TEMP1

      已选择10行。

    3.查看当前有那些临时文件。 
    SQL> select name from v$tempfile;
         NAME
         ----------------------------------------
       /opt/oracle/oradata/ictest/temp1_01.dbf
      

    4.重新建立一个临时表空间:
    SQL> create temporary tablespace temp
      2 tempfile '/opt/oracle/oradata/ictest/temp01.dbf' size 1000M ;
          
           临时表空间已创建  
    SQL> alter tablespace temp add tempfile '/opt/oracle/oradata/ictest/temp02.dbf' size 1000M;

    5.将建好的TEMP表空间设置为数据库默认的临时表空间:
    SQL> alter database default temporary tablespace temp;

      数据库已更改。  

    SQL> select username,temporary_tablespace from dba_users;
      USERNAME     TEMPORARY_TABLESPACE
      ------------         ---------------------------
      SYS                TEMP
      SYSTEM         TEMP
      DBSNMP        TEMP
      HUJINPEI        TEMP
      ALAN1            TEMP
      PERFUSER     TEMP
      ALAN2           TEMP
      MYUSER         TEMP
      OUTLN         TEMP
      WMSYS          TEMP

      已选择10行。

    6.DROP掉旧的TEMP1的表空间: 

    SQL> drop tablespace temp1 including contents and datafiles;
         表空间已丢弃。

  • 相关阅读:
    Django的日志操作,记录一下自己的使用
    初学jupyter 与爬虫
    mysql的库名或者表名带空格不能删除的问题
    Linux的vim命令的快捷键
    DjangoORM相关(多表操作)
    DjangoORM相关(单表操作)
    Django模板
    Django URL相关
    Monkeyrunner学习记录之运行模拟器
    Monkeyrunner学习记录之环境搭建
  • 原文地址:https://www.cnblogs.com/storymedia/p/4436184.html
Copyright © 2011-2022 走看看