精华内容
下载资源
问答
  • 把在临时表空间组中所有的临时表空间剔除后,临时表空间组会自动删除: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
    展开全文
  • 1、如果临时表空间不是默认临时表空间以及默认临时表空间组成员,直接执行如下语句 drop tablespace temp1 including contents and datafiles cascade constraint; -- including contents 删除包含内容 and data...

    1、如果临时表空间不是默认临时表空间以及默认临时表空间组成员,直接执行如下语句

     drop tablespace temp1
    including contents
    and  datafiles 
    cascade constraint;
    
    --  including contents 删除包含内容   and  datafiles 表示物理文件也删除  不再需要我们进入系统进行手工删除金数据文件。
    --cascade constraint  表示连参照完整性约束一起删除。如果其他表空间中的约束引用了要被删除的表空间的主键 --和唯一约束,则必须指定这个选项,否则删除表空间,会报告错误
    

    2、查看是否是默认临时表空间

    SELECT t.property_name, t.property_value
      FROM database_properties t
     WHERE t.property_name = 'DEFAULT_TEMP_TABLESPACE';
    

    3、查看是否是默认临时表空间组成员

     SELECT t.*
       FROM dba_tablespace_groups t, database_properties db
      WHERE t.group_name=db.property_value
      and db.property_name='DEFAULT_TEMP_TABLESPACE';
    

    在这里插入图片描述
    看到默认临时表空间组为TEMPGRP,组内成员为TEMP,TEMP2,TEMP3,TEMP4个临时表空间。
    4、如果需要删除临时表空间是默认临时表空间
    需要创建或者设置另外一个表空间为默认临时表空间。
    创建默认临时表空间

    --先创建临时表空间
    create temporary tablespace temp02   tempfile' /data/dmis/tmpdata/temp101.dbf' size 1024M autoextend on;
    --修改默认表空间为新创建的临时表空间
    alter database default temporary tablespace temp02;
    

    然后再删除原来的临时表空间

     drop tablespace temp1
    including contents
    and  datafiles 
    cascade constraint;
     
    

    5、删除临时表空间是默认临时表空间组
    此时需要将该临时表空间从临时表空间组中移除

      alter tablespace temp1 tablespace group '';
    

    然后再执行删除

    执行删除后,发现删除语句长时间执行没有结果,估计是有其他进程在使用该临时表空间

    通过如下语句进行判断

    --获取 相应saddr
    select USERNAME,SESSION_ADDR,SQL_ID,TABLESPACE,CONTENTS,BLOCKS from v$sort_usage;
    
    --根据saddr 获取session   SID SERIAL# 
    SELECT INST_ID,
               sid,
               serial#,
               USERNAME,
               STATUS,
               MACHINE,
               SQL_ID,
               EVENT,
               (SYSDATE - LOGON_TIME) * 86400 AS "s",
               LAST_CALL_ET
      FROM gv$session
     WHERE saddr = #SESSION_ADDR;
    --杀掉使用临时表空间进程
     alter system kill session '#sid,#SERIAL' immediate;
    

    再执行删除。
    然后可以通过如下语句查看,该临时表空间以及表空间文件是否删除

    select  t.file_name,t.tablespace_name from  dba_temp_files t;
    
    展开全文
  • 由于操作系统空间不足,客户需要清理删除临时表空间,测试环境模拟场景进行操作。 一、前期环境准备 SQL> create temporary tablespace temp_b tempfile '/11.2.0.4/app/oracle/oradata/tt11204/temp_b.dbf' ...

    由于操作系统空间不足,客户需要清理删除临时表空间,测试环境模拟场景进行操作。

    一、前期环境准备

    SQL>  create temporary tablespace temp_b tempfile '/11.2.0.4/app/oracle/oradata/tt11204/temp_b.dbf' size 10m;
    Tablespace created.
    SQL> alter user yang temporary tablespace temp_b;
    SQL>conn yang/yang
    执行如下SQL报错,临时表空间不足

    SQL> select * from dba_objects,dba_segments order by 1,2,3,4,5,6

    ORA-01652: unable to extend temp segment by 128 in tablespace TEMP_B

    select file_name,file_id,tablespace_name,bytes/1024/1024/1024,blocks,status,AUTOEXTENSIBLE from dba_temp_files

    
    

    FILE_NAME FILE_ID TABLESPACE_NAME BYTES/1024/1024/1024 BLOCKS STATUS AUTOEX
    ------------------------------------------------------------ ---------- -------------------- -------------------- ---------- -------------- ------
    /11.2.0.4/app/oracle/oradata/tt11204/temp01.dbf 1 TEMP .028320313 3712 ONLINE YES
    /11.2.0.4/app/oracle/oradata/tt11204/temp_b.dbf 3 TEMP_B .009765625 1280 ONLINE NO

    对临时表空间自扩展后

    SQL> alter database tempfile '/11.2.0.4/app/oracle/oradata/tt11204/temp_b.dbf' AUTOEXTEND On;
    再次执行
    SQL> select * from dba_objects,dba_segments order by 1,2,3,4,5,6
    修改用户默认表空间,与实际情况进行模拟还原
    SQL> alter user yang temporary tablespace temp;

     

     二、问题现象准备

    以下为实际操作步骤
    
    查询临时表空间组 NULL
    SQL> select * from dba_tablespace_groups;
    SQL> select property_value from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';
    TEMP 数据库默认临时表空间
    
    SQL> select username,TEMPORARY_TABLESPACE from dba_users where ACCOUNT_STATUS='OPEN' order by 2;
    USERNAME             TEMPORARY_TABLESPACE
    -------------------- ------------------------------
    SYSTEM               TEMP
    SYS                  TEMP
    TEST                 TEMP
    TT                   TEMP
    TESTA                TEMP
    YANG                 TEMP
    ZABBIX               TEMP
    SCOTT                TEMP
    8 rows selected.

    SQL> select file_id,tablespace_name,bytes/1024/1024/1024 from dba_temp_files

    FILE_ID TABLESPACE_NAME BYTES/1024/1024/1024
    ---------- -------------------- --------------------
    1 TEMP .028320313
    2 TEMP_B .009765625   通过上述查询可以发现,数据库不存在临时表空间组,默认临时表空间是TEMP,而另一个表空间temp_b并无人使用,因此进行删除回收空间。

    删除临时表空间一直hang住,也不报错ALERT无任何有效信息

    SQL> drop tablespace temp_b including contents and datafiles;

     

    三、问题处理

    新开session 查询event
    SQL>  select INST_ID,sid,serial#,USERNAME,STATUS,MACHINE,SQL_ID,EVENT,(sysdate-LOGON_TIME)*86400 as "s",LAST_CALL_ET from

    gv$session where status='ACTIVE' and username is not null; INST_ID SID SERIAL# USERNAME STATUS MACHINE SQL_ID EVENT s LAST_CALL_ET ------- ------ ------- -------------------- ---------- -------------------- -------------------- ------------------------------ ------- ------------ 1 11 19289 SYS ACTIVE enmo 2ymxxw3mapxd9 SQL*Net message to client 5 0 1 72 621 SYS ACTIVE enmo 9mzfur1h8f49p enq: TS - contention 1203 77

    可以发现等待事件
     enq: TS - contention 

    SQL> select sid,username,event,sql_id,BLOCKING_SESSION from gv$session where sid=72;

    SID USERNAME EVENT SQL_ID BLOCKING_SESSION
    ------ -------------------- ------------------------------ -------------------- ----------------
    72 SYS enq: TS - contention 9mzfur1h8f49p 66

    SQL> select INST_ID,sid,serial#,USERNAME,STATUS,MACHINE,SQL_ID,EVENT,(sysdate-LOGON_TIME)*86400 as "s",LAST_CALL_ET from gv$session where sid=66;

    INST_ID SID SERIAL# USERNAME STATUS MACHINE SQL_ID EVENT s LAST_CALL_ET
    ------- ------ ------- -------------------- ---------- -------------------- -------------------- ------------------------------ ------- ------------
    1 66 1 ACTIVE enmo smon timer 828829 828830

    
    
    Dropping Temporary Tablespace Hangs Up Due To TS Enqueue Contention (文档 ID 2299966.1)

    当临时段存在被使用的情况时,临时段将被保护,无法被删除。

    SQL>  select USERNAME,SESSION_ADDR,SQL_ID,TABLESPACE,CONTENTS,BLOCKS from v$sort_usage

    USERNAME SESSION_ADDR SQL_ID TABLESPACE CONTENTS BLOCKS
    -------------------- ---------------- -------------------------- --------
    SYS 00000000F57220D0 c61dmq2mac2m9 TEMP TEMPORARY 128
    YANG 00000000F57D9550 c5zk3pjstds2b TEMP_B TEMPORARY 17152

    找到使用临时段的session kill

    问题处理。


    SQL> select INST_ID,sid,serial#,USERNAME,STATUS,MACHINE,SQL_ID,EVENT,(sysdate-LOGON_TIME)*86400 as "s",LAST_CALL_ET from gv$session where saddr='&SESSION_ADDR ';

    SQL>alter system kill session 'sid,serial#' immediate;

     

    转载于:https://www.cnblogs.com/lvcha001/p/11349141.html

    展开全文
  • 把在临时表空间组中所有的临时表空间剔除后,临时表空间组会自动删除: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>

    AAffA0nNPuCLAAAAAElFTkSuQmCC

    作者:思庄学习中心

    链接:https://www.jianshu.com/p/fd5fe806cd63

    展开全文
  • 把在临时表空间组中所有的临时表空间剔除后,临时表空间组会自动删除:SQL> select * from dba_tablespace_groups;GROUP_NAME TABLESPACE_NAME------------------------------ ------------------------------...
  • ---创建临时表空间: /* Formatted on 2009/11/20 16:03 (Formatter Plus v4.8.7) */ CREATE TEMPORARY TABLESPACE temp001 TEMPFILE '/opt/oracle/oradata/orcl/temp001.dbf' SIZE 200m AUTOEXTEND ON NEXT ...
  • 今天在本机数据库做测试的时候当删除临时表空间时hang住了,等了好久没见反应, 后面果断kill退出会话重来删除成功。经分析遭遇Bug 15913577,真是够背,欲知详细,请容我一一道来。 1、删除表空间,一直处于....
  • 删除临时表空间,或者收缩临时表空间经常会出现表空间占用等情况。 下面我们就对这种情况进行处理, 首先查找被锁的sid: SELECT a.INST_ID,b.TABLESPACE , b.segfile# , b.segblk# , ROUND ( ( ( b.blocks * ...
  • 删除临时表空间(drop temporary tablespace) 不能直接删除数据库的默认临时表空间,但是我们可以把另外一个临时表空间切换成默认临时表空间,然后删除原先的临时表空间 Step01:查看数据库的默认临时...
  • 现象: 新建一个临时表空间mytemp 然后将其改为默认临时表空间后,执行一条带order by的查询语句,查询...将mytemp临时表空间删除时,发现这条语句一直处于等待状态,然后将刚刚执行查询语句的会话结束, 则该语句立即...
  • 删除Oracle临时表空间,或者收缩临时表空间经常会出现表空间占用等情况。 下面我们就对这种情况进行处理, 首先查找被锁的sid:删除Oracle临时表空间,或者收缩临时表空间经常会出现表空间占用等情况。下面我们就对...
  • 删除临时表空间一直处于等待状态

    千次阅读 2013-04-24 20:05:39
    执行一条带order by的查询语句,查询出结构后,修改默认临时表空间为原来的temp,然后执行 drop tablespace mytemp including contents and datafiles 将mytemp临时表空间删除时,发现这条语句一直处于等待状态,然后将...
  • 本文介绍一种删除ORACLE临时表空间的方法。 一 启动任务管理器。在任务管理器​中服务栏中选中OracleServiceORCL并停止该服务停止OracleServiceORCL服务二 找到要删除临时表空间,右键删除。三 此时重新用PLSQL...
  • 创建临时表空间  create temporary tablespace stbss_tmp tempfile 'E:\oracle\product\10.2.0\oradata\orcl\stbss_temp01.dbf' size 32m autoextend on next 32m maxsize 2048m extent management ...
  • ORA-12906: 不能删除默认的临时表空间 所以 我又新建一个temp_data 临时表空间(如上代码),想把它设为默认(如下),最后删掉temp临时表空间。 alter database default tablespace temp_data; ORA-...
  • 本文介绍一种删除ORACLE 临时表空间的方法。 一 启动任务管理器。在任务管理器​中服务栏中选中 OracleServiceORCL并停止该服务 停止OracleServiceORCL服务 二 找到要删除临时表空间,右键删除。 三 ...
  • 查看临时表空间的使用情况: SELECT USERNAME, SESSION_NUM, SESSION_ADDR FROM V$SORT_USAGE; 找出是哪个会话: SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE SERIAL#=SESSION_NUM; OR SELECT SID, ...
  • 事故原因如下:今天早上查看表空间利用率时发现一oracle8i数据库宕机了操作完後过段时间導致數據庫當機。查询警告日志发现大量的关于数据文件的临时读取错误。 原来一同事因磁盘空间达到95%,去清理临时数据和log时...
  • 以下的操作是用数据库的sys超级用户操作刚开始打算把临时表空间的数据文件重新缩小就好了执行:SQL> alter database tempfile2 '/oracle/oms/oradata/temp/temp01.db...
  • 删除用户 drop user userName cascade; 删除表空间 drop tablespace tablespaceName including ...删除临时表空间 alter database tempfile 'D:\app\liuxuan\oradata\orcl\tablespaceNameTEMP.DBF' drop i...
  • --查表空间使用率情况(含临时表空间) 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)....
  • 进入 ORACLE临时表空间的清理 --查看使用率 column TablespaceName format a40 heading 'Tablespace Name' column TotalUsedBytes format 9,999,999,999 heading 'File Sizes|(K)' column Tot...
  • 临时表空间

    2016-02-18 16:45:18
    3.> 不能显示的创建和删除临时表空间组,即当第一个临时表空间分配给临时表空间组时临时表空间组自动创建,当最后一个临时表空间从临时表空间组退出时临时表空间组自动删除。 2.临时表空间组的优势  默
  • ---创建临时表空间: /* Formatted on 2009/11/20 16:03 (Formatter Plus v4.8.7) */CREATE TEMPORARY TABL
  • 临时表空间 1是一个磁盘空间 2用于存储用户排序或汇总时产生的临时数据 3默认所有用户的临时表空间是temp 4与临时表空间对应的是临时文件,非基本表空的数据文件 5.用户操作结束后,临时文件的临时数据会被系统...
  • ORACLE删除与增加临时表空间方法:

    千次阅读 2011-08-08 14:44:50
    增加临时表空间方法: alter tablespace temp2 add temp...删除临时表空间方法: 先查看临时表空间下的数据文件: select tablespace_name, file_name, bytes / 1024 / 1024 from dba_temp_files --------

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,107
精华内容 442
关键字:

删除临时表空间