精华内容
下载资源
问答
  • 最近运行一些查询语句发现特别卡, 后来看了下临时表空间用完。想直接把临时表空间删除,然后重建?不知直接删除是否会产生问题。
  • 进入 ORACLE临时表空间的清理 --查看使用率 column TablespaceName format a40 heading 'Tablespace Name' column TotalUsedBytes format 9,999,999,999 heading 'File Sizes|(K)' column Tot...

    欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 ORACLE临时表空间的清理 --查看使用率 column TablespaceName format a40 heading 'Tablespace Name' column TotalUsedBytes format 9,999,999,999 heading 'File Sizes|(K)' column TotalFreeBytes

    欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入

    ORACLE临时表空间的清理

    --查看使用率

    column TablespaceName format a40 heading 'Tablespace Name'

    column TotalUsedBytes format 9,999,999,999 heading 'File Sizes|(K)'

    column TotalFreeBytes format 9,999,999,999 heading 'Free Bytes|(K)'

    column FreeRatio format 990.99 heading 'Free|(%)'

    column TotalExtensibleBytes format 9,999,999,999 heading 'Extensible|Sizes (K)'

    column TotalExtends format 9999 heading 'Ext'

    compute sum label 'Total:' of TotalFreeBytes TotalUsedBytes TotalExtensibleBytes on report

    break on report

    select b.TablespaceName,

    round(sum(b.UsedByte) / 1024) TotalUsedBytes,

    round(sum(a.FreeByte) / 1024) TotalFreeBytes,

    round(sum(b.ExtensibleByte) / 1024) TotalExtensibleBytes,

    round(sum(a.FreeByte + b.ExtensibleByte) * 100 / sum(b.UsedByte + b.ExtensibleByte), 2) FreeRatio,

    sum(a.Extend) TotalExtends

    from (select sum(bytes) FreeByte,

    count(*) Extend,

    file_id FileID,

    tablespace_name TablespaceName

    from dba_free_space

    group by file_id,

    tablespace_name

    union all

    select sum(bytes_free) FreeByte,

    count(*) Extend,

    file_id FileID,

    tablespace_name TablespaceName

    from v$temp_space_header

    group by file_id,

    tablespace_name) a,

    (select decode(autoextensible, 'YES', decode(sign(maxbytes - bytes), 1, maxbytes - bytes, 0), 0) ExtensibleByte,

    bytes UsedByte,

    file_id FileID,

    tablespace_name TablespaceName

    from dba_data_files

    union all

    select decode(autoextensible, 'YES', decode(sign(maxbytes - bytes), 1, maxbytes - bytes, 0), 0) ExtensibleByte,

    bytes UsedByte,

    file_id FileID,

    tablespace_name TablespaceName

    from dba_temp_files) b

    where b.FileID = a.FileID(+) and

    b.TablespaceName= a.TablespaceName(+)

    group by b.TablespaceName;

    正常来说,在完成Select语句、create index等一些使用TEMP表空间的排序操作后,Oracle是会自动释放掉临时段a的。但有些有侯我们则会遇到临时段没有被释放,TEMP表空间几乎满的状况,甚至是我们重启了数据库仍没有解决问题。这个问题在论坛中也常被网友问到,下面总结一下,给出几种处理方法。

    法一、重启库

    库重启时,Smon进程会完成临时段释放,TEMP表空间的清理操作,不过很多的时侯我们的库是不允许down的,所以这种方法缺少了一点的应用机会,不过这种方法还是很好用的。

    法二、Metalink给出的一个方法

    修改一下TEMP表空间的storage参数,让Smon进程观注一下临时段,从而达到清理和TEMP表空间的目的。

    SQL>alter tablespace temp increase 1;

    SQL>alter tablespace temp increase 0;

    [1] [2]

    test.jsp?url=http%3A%2F%2Fwww.chinaitlab.com%2Fcms%2Fimages%2Flogo14.gif&refer=http%3A%2F%2Foracle.chinaitlab.com%2Finduction%2F841787.html

    f68f2add0b68e4f9810432fce46917b7.png

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!

    展开全文
  • 任何临时表空间都可以 在一个临时 表空间中添加、删除甚至 移动到其他临时表空间组中。临时表空间的好处:1)可以避免在sql查询排序的时候导致的表空间不足的情况,避免hold这个结果,尤其是在 分区表中。...

    83b63de74753dd0fe478e513d3271f93.png

    在一个临时表空间 组中,用户可以定义很多临时表 空间。一个临时表空间组包含至少一个临时表空间,但是没有包含最大个临时表空间个数。注意,临时表空间组的名子和临时表空间的名字必须不相同,不然会出现错误。任何临时表空间都可以 在一个临时 表空间中添加、删除甚至 移动到其他临时表空间组中。

    临时表空间的好处:

    1)可以避免在sql查询排序的时候导致的表空间不足的情况,避免hold这个结果,尤其是在 分区表中。

    2)当一个用户使用多个会话登录 的时候,可以使用不同的临时表空间来提高响应性能。

    3)一个并行操作一个并行服务将有力的利用临时表空间组 。

    一)创建临时表空间组:

    SQL> select file_name,tablespace_name from dba_temp_files;

    FILE_NAME TABLESPACE_NAME

    ------------------------------------------------------------ ------------------------------

    /opt/app/oracle/RHYS/temp01.dbf TEMP

    /opt/app/oracle/RHYS/temp02.dbf TEMP02

    SQL> create temporary tablespace temp03 tempfile '/opt/app/oracle/RHYS/temp03.dbf' size 20M autoextend off tablespace group temp_group01;

    Tablespace created.

    SQL>

    SQL> select * from dba_tablespace_groups;

    GROUP_NAME TABLESPACE_NAME

    ------------------------------ ------------------------------

    TEMP_GROUP01 TEMP03

    SQL>

    二)把临时表空间加入临时表空间组

    SQL> alter tablespace temp tablespace group temp_group01;

    Tablespace altered.

    SQL> select * from dba_tablespace_groups;

    GROUP_NAME TABLESPACE_NAME

    ------------------------------ ------------------------------

    TEMP_GROUP01 TEMP

    TEMP_GROUP01 TEMP03

    SQL> alter tablespace temp02 tablespace group temp_group01;

    Tablespace altered

    SQL>

    SQL> select * from dba_tablespace_groups;

    GROUP_NAME TABLESPACE_NAME

    ------------------------------ ------------------------------

    TEMP_GROUP01 TEMP

    TEMP_GROUP01 TEMP02

    TEMP_GROUP01 TEMP03

    040efc9022a5c2ebf8ad551068fc75a2.png
    展开全文
  • 任何临时表空间都可以 在一个临时 表空间中添加、删除甚至 移动到其他临时表空间组中。临时表空间的好处:1)可以避免在sql查询排序的时候导致的表空间不足的情况,避免hold这个结果,尤其是在 分区表中。...

    在一个临时表空间 组中,用户可以定义很多临时表 空间。一个临时表空间组包含至少一个临时表空间,但是没有包含最大个临时表空间个数。注意,临时表空间组的名子和临时表空间的名字必须不相同,不然会出现错误。任何临时表空间都可以 在一个临时 表空间中添加、删除甚至 移动到其他临时表空间组中。

    临时表空间的好处:

    1)可以避免在sql查询排序的时候导致的表空间不足的情况,避免hold这个结果,尤其是在 分区表中。

    2)当一个用户使用多个会话登录 的时候,可以使用不同的临时表空间来提高响应性能。

    3)一个并行操作一个并行服务将有力的利用临时表空间组 。

    一)创建临时表空间组:

    SQL> select file_name,tablespace_name from dba_temp_files;

    FILE_NAME TABLESPACE_NAME

    ------------------------------------------------------------ ------------------------------

    /opt/app/oracle/RHYS/temp01.dbf TEMP

    /opt/app/oracle/RHYS/temp02.dbf TEMP02

    SQL> create temporary tablespace temp03 tempfile '/opt/app/oracle/RHYS/temp03.dbf' size 20M autoextend off tablespace group temp_group01;

    Tablespace created.

    SQL>

    SQL> select * from dba_tablespace_groups;

    GROUP_NAME TABLESPACE_NAME

    ------------------------------ ------------------------------

    TEMP_GROUP01 TEMP03

    SQL>

    二)把临时表空间加入临时表空间组

    SQL> alter tablespace temp tablespace group temp_group01;

    Tablespace altered.

    SQL> select * from dba_tablespace_groups;

    GROUP_NAME TABLESPACE_NAME

    ------------------------------ ------------------------------

    TEMP_GROUP01 TEMP

    TEMP_GROUP01 TEMP03

    SQL> alter tablespace temp02 tablespace group temp_group01;

    Tablespace altered

    SQL>

    SQL> select * from dba_tablespace_groups;

    GROUP_NAME TABLESPACE_NAME

    ------------------------------ ------------------------------

    TEMP_GROUP01 TEMP

    TEMP_GROUP01 TEMP02

    TEMP_GROUP01 TEMP03

    8fd01eaa2366517426d73bafe5e6a32a.png
    展开全文
  • 把在临时表空间组中所有的临时表空间剔除后,临时表空间组会自动删除:SQL> select * from dba_tablespace_groups;GROUP_NAME TABLESPACE_NAME------------------------------ ------------------------------...

    把在临时表空间组中所有的临时表空间剔除后,临时表空间组会自动删除:

    SQL> select * from dba_tablespace_groups;

    GROUP_NAME TABLESPACE_NAME

    ------------------------------ ------------------------------

    TEMP_GROUP01 TEMP

    TEMP_GROUP01 TEMP02

    SQL> alter tablespace temp02 tablespace group '';

    Tablespace altered.

    SQL> alte tablespace temp tablespace group '';

    SP2-0734: unknown command beginning "alte table..." - rest of line ignored.

    SQL> alter tablespace temp tablespace group '';

    Tablespace altered.

    SQL> select * from dba_tablespace_groups;

    no rows selected

    SQL>

    5)把临时表空间组设置为数据库默认的临时 表空间 组;

    SQL> SELECT * FROM DBA_TABLESPACE_GROUPS;

    GROUP_NAME TABLESPACE_NAME

    ------------------------------ ------------------------------

    TEMP_GROUP01 TEMP

    TEMP_GROUP01 TEMP02

    SQL> ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP_GROUP01;

    Database altered.

    SQL>

    SQL> select * from database_properties where rownum<5;

    PROPERTY_NAME PROPERTY_VALUE DESCRIPTION

    ------------------------------ -------------------------------------------------- ----------------------------------------------------------------------

    DICT.BASE 2 dictionary base tables version #

    DEFAULT_TEMP_TABLESPACE TEMP_GROUP01 Name of default temporary tablespace

    DEFAULT_PERMANENT_TABLESPACE USERS Name of default permanent tablespace

    DEFAULT_EDITION ORA$BASE Name of the database default edition

    SQL>

    6)把一个临时表空间移动到 其他临时表空间中;

    SQL> select * from dba_tablespace_groups;

    GROUP_NAME TABLESPACE_NAME

    ------------------------------ ------------------------------

    TEMP_GROUP01 TEMP

    TEMP_GROUP01 TEMP02

    SQL> alter tablespace temp02 tablespace group temp_group02;

    Tablespace altered.

    SQL> select * from dba_tablespace_groups;

    GROUP_NAME TABLESPACE_NAME

    ------------------------------ ------------------------------

    TEMP_GROUP01 TEMP

    TEMP_GROUP02 TEMP02

    SQL>

    391202c359381d692965f13fea4bafff.png
    展开全文
  • --查表空间使用率情况(含临时表空间) SELECT d.tablespace_name "Name", d.status "Status", TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), '99,999,990.90') "Size (M)", TO_CHAR (NVL (a.BYTES - NVL (f.BYTES, 0)....
  • 任何临时表空间都可以 在一个临时 表空间中添加、删除甚至 移动到其他临时表空间组中。临时表空间的好处:1)可以避免在sql查询排序的时候导致的表空间不足的情况,避免hold这个结果,尤其是在 分区表中。...
  • Oracle 临时表空间切换

    千次阅读 2011-11-21 16:12:45
    最近刚做完SAP归档和数据库重组,数据库重组完后对临时表空间收缩了下,以合理利用资源,步骤如下: 1、建立新的临时表空间 ... 在切换完临时表空间后, 删除旧的临时表空间data file, 发现文件系统仍然
  • 把在临时表空间组中所有的临时表空间剔除后,临时表空间组会自动删除:SQL> select * from dba_tablespace_groups;GROUP_NAME TABLESPACE_NAME------------------------------ ------------------------------...
  • -----创建临时表空间----- create temporary tablespace zhangmingchaotemp tempfile ‘d:\oracle\zhangmingchaotemp.dbf’ -----初始化大小----- size 50m -----自动增长------- autoextend on -----每次扩展...
  • 临时表空间组无法显式创建,当第一个临时表空间分配给该组时自动创建,当组内所有临时表空间被移除时自动删除临时表空间组支持的操作: 可以将临时表空间从一个组移动到另外一个组(如果组不存在,则自动创建)...
  • ( Version 8.1.5.0 to 11.2.0.0) SOLUTION 1) Overview 2) Dropping / Recreating Temporary Tablespace Method 3) Drop Tempfile Command Method - (Oracle9i and higher) Overview In many database ...
  • 现象: 新建一个临时表空间mytemp 然后将其改为默认临时表空间后,执行一条带order by的查询语句,查询...将mytemp临时表空间删除时,发现这条语句一直处于等待状态,然后将刚刚执行查询语句的会话结束, 则该语句立即...
  • 闷,今天一不小心,在给Oracle9i临时表空间添加数据文件的时候,没有指定路径,系统默认将所有的数据文件加在了$ORACLE_HOME/dbs下,晕死,计费的库啊。汗。 赶快处理:(1)为防把用的的默认表空间...
  • 第一步骤:将临时文件offline alter database tempfile xx offline; alter database tempfile xx offline; alter database tempfile xx offline;... 也可以等待一段时间之后,对临时表空间临时文件进行删除即可 。
  • Oracle用户管理是数据库管理员的必备技能,只有数据库管理员才具有创建、修改、删除用户的权限。下面就介绍一下Oracle用户创建、修改、删除的语法和注意点。Oracle创建用户Oracle用户创建是利用具有DBA权限的用户,...
  • 1, Oracle 数据库,临时表空间 FASTTEMP 满,需要清理。 2, 解决方法思考 1, 创建新的临时表空间 FASTTEMP2 及文件 2, 用 FASTTEMP2 替换 FASTTEMP 3, 删除 FASTTEMP 临时表空间及其文件 4, 创建新的临时表空间 ...
  • 任何临时表空间都可以 在一个临时 表空间中添加、删除甚至 移动到其他临时表空间组中。临时表空间的好处:1)可以避免在sql查询排序的时候导致的表空间不足的情况,避免hold这个结果,尤其是在 分区表中。...
  • oracle清理临时表空间

    2019-03-04 11:30:11
    为了防止临时表空间无限制的增加,我采用隔一段时间就重建临时表空间的方法,为了方便,我保留两组语句,轮流执行即可,假定现在临时表空间名称是temp,新建一个tempa表空间,删除temp表空间,方法如下:alter ...
  • oracle下表空间的导出,用户的删除,表空间删除,用户新建,表空间新建,数据导入的shell使用非oracle用户执行该脚本参数说名$1:base表空间的用户名$2:同步表空间的用户名使用场景测试用,base表空间用于升级建立...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 533
精华内容 213
关键字:

oracle临时表空间删除