--UNDO表空间汇总

--查看全部的表空间名字

SELECT NAME FROM V$TABLESPACE;

--创建新的UNDO表空间,并设置自己主动扩展參数;

 CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE 'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\UNDOTBS02.DBF' SIZE 10M REUSE AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;

--注意:在OPEN状态下某些时刻仅仅能用一个UNDO表空间。假设要用新建的表空间,必须切换到该表空间:

ALTER SYSTEM SET UNDO_TABLESPACE = UNDO2;

--改动为自己主动管理

ALTER SYSTEM SET UNDO_MANAGEMENT = AUTO SCOPE = SPFILE;



改动UNDO的表空间管理方式为MANUAL ALTER SYSTEM SET UNDO_MANAGEMENT = MANUAL SCOPE = SPFILE;

--改动



--等待原UNDO表空间全部UNDO SEGMENT OFFLINE;

SELECT USN,

       XACTS,

       STATUS,

       RSSIZE / 1024 / 1024 / 1024,

       HWMSIZE / 1024 / 1024 / 1024,

       SHRINKS

  FROM V$ROLLSTAT

 ORDER BY RSSIZE;

--删除表空间

DROP TABLESPACE UNDO1 INCLUDING CONTENTS AND DATAFILES;

--更改UODO表空间的大小

ALTER DATABASE DATAFILE '/U2/ORADATA/SPRING/UNDOTBS01.DBF' RESIZE 1024M;



SELECT TABLESPACE_NAME, SEGMENT_TYPE, OWNER, SEGMENT_NAME

  FROM DBA_EXTENTS

 WHERE FILE_ID = 8

   AND 565129 BETWEEN BLOCK_ID AND BLOCK_ID + BLOCKS - 1;



1, 暂时表空间的主要作用: 索引CREATE或REBUILD; ORDER BY 或 GROUP BY; DISTINCT 操作; UNION 或 INTERSECT 或 MINUS; SORT - MERGE JOINS; ANALYZE.

  SELECT USERNAME, TEMPORARY_TABLESPACE FROM DBA_USERS;

查看默认暂时表空间

  SELECT *

    FROM DATABASE_PROPERTIES

   WHERE PROPERTY_NAME = 'DEFAULT_TEMP_TABLESPACE';

--建立暂时表空间



CREATE TEMPORARY TABLESPACE TEMP_DATA TEMPFILE '/ORACLE/ORADATA/DB/TEMP_DATA.DBF' SIZE 50M



CREATE TEMPORARY TABLESPACE TEMP TEMPFILE '/U02/ORADATA/ORCL/ORCL/TEMP01.DBF' SIZE 6144M, '/U02/ORADATA/ORCL/ORCL/TEMP02.DBF' SIZE 6144M;



--改动暂时表空间的大小

ALTER DATABASE TEMPFILE '/U2/ORADATA/SPRING/TEMP_DATA.DBF' RESIZE 1024M;



CREATE TEMPORARY TABLESPACE TEMP1 TEMPFILE '/U02/ORADATA/ORCL/ORCL/TEMP101.DBF' SIZE 4056M;



--改动数据库的默认暂时表空间

ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP1;



--删除暂时表空间

DROP TABLESPACE TEMP INCLUDING CONTENTS AND DATAFILES;



--清理暂时表空间

ALTER TABLESPACE TEMP SHRINK SPACE KEEP 20M;

--自己主动将表空间的暂时文件缩小到最小可能的大小

ALTER TABLESPACE TEMP SHRINK TEMPFILE ’ / U02 / ORACLE / DATA / LMTEMP02.DBF’;



2, 暂时表空间过大,又一次暂时表空间的详细步骤汇总:



1.创建中转暂时表空间 CREATETEMPORARYTABLESPACETEMP1 TEMPFILE '/ORACLE/ORADATA/SECOOLER/TEMP02.DBF' SIZE 512M REUSE AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED;



2.改变缺省暂时表空间为刚刚创建的新暂时表空间TEMP1 ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP1;

验证用户的暂时表空间为TEMP1



  SELECT USERNAME, TEMPORARY_TABLESPACE FROM DBA_USERS;



3.删除原暂时表空间 DROP TABLESPACE TEMP INCLUDING CONTENTS AND DATAFILES;



4.重建暂时表空间 CREATE TEMPORARY TABLESPACE TEMP TEMPFILE '/ORACLE/ORADATA/SECOOLER/TEMP01.DBF' SIZE 512M REUSE AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED;



5.重置缺省暂时表空间为新建的TEMP表空间 ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP;

验证用户的暂时表空间为TEMP



  SELECT USERNAME, TEMPORARY_TABLESPACE FROM DBA_USERS;



3、查看谁在用暂时表空间

  SELECT SE.USERNAME,

         SE.SID,

           SE.SERIAL#,

           SE.SQL_ADDRESS,

           SE.MACHINE,

           SE.PROGRAM,

           SU.TABLESPACE,

          SU.SEGTYPE,

           SU.CONTENTS  FROM V$SESSION SE,

           V$SORT_USAGE SU   WHERE SE.SADDR = SU.SESSION_ADDR;

4、查看暂时表空间TEMP空暇情况

  SELECT TABLESPACE_NAME,

         FILE_ID,

         BYTES_USED / 1024 / 1024,

         BYTES_FREE / 1024 / 1024

    FROM V$TEMP_SPACE_HEADER;



5, 详细到某个SID暂时表空间使用情况

  SELECT B.TABLESPACE,

         B.SEGFILE#,

         B.SEGBLK#,

         B.BLOCKS,

         B.BLOCKS * 32 / 1024 / 1024,

         A.SID,

         A.SERIAL#,

         A.USERNAME,

         A.OSUSER,

         A.STATUS,

         C.SQL_TEXT,

         B.CONTENTS

    FROM V$SESSION A, V$SORT_USAGE B, V$SQL C

   WHERE A.SADDR = B.SESSION_ADDR

     AND A.SQL_ADDRESS = C.ADDRESS(+)

   ORDER BY B.BLOCKS                  DESC

            

                             在创建用户时,

            有一个默认的表空间的參数. 能够通过查看视图DATABASE_PROPERTIES能够看到对应的信息.

            

             SELECT A.PROPERTY_NAME, A.PROPERTY_VALUE

               FROM DATABASE_PROPERTIES A

              WHERE A.PROPERTY_NAME LIKE '%DEFAULT%';





6, /*查看暂时表空间整体使用情况*/

  SELECT TMP_TBS.TABLESPACE_NAME,

         SUM(TMP_TBS.TOTAL_MB) TOTAL_MB,

         SUM(USED_TOT.USED_MB) USED_MB,

         SUM(USED_TOT.USED_MB) / SUM(TMP_TBS.TOTAL_MB) * 100 USED_PERSENT

    FROM (SELECT TABLESPACE_NAME, SUM(BYTES) / 1024 / 1024 TOTAL_MB

            FROM DBA_TEMP_FILES

           GROUP BY TABLESPACE_NAME) TMP_TBS,

         (SELECT TMP_USED.TABLESPACE,

                 SUM(TMP_USED.BLOCKS * PARA.DB_BLOCK_SIZE) / 1024 / 1024 USED_MB

            FROM V$SORT_USAGE TMP_USED,

                 (SELECT VALUE DB_BLOCK_SIZE

                    FROM V$PARAMETER

                   WHERE NAME = 'DB_BLOCK_SIZE') PARA

           GROUP BY TMP_USED.TABLESPACE) USED_TOT

   WHERE TMP_TBS.TABLESPACE_NAME = USED_TOT.TABLESPACE(+)

   GROUP BY TMP_TBS.TABLESPACE_NAME;



7, /*查看暂时表空间中排序段和数据段的使用情况*/

  SELECT TMP_TBS.TABLESPACE_NAME,

         USED_TOT.SEGTYPE TEMP_SEG_TYPE,

         SUM(TMP_TBS.TOTAL_MB) TOTAL_MB,

         SUM(USED_TOT.USED_MB) USED_MB,

         SUM(USED_TOT.USED_MB) / SUM(TMP_TBS.TOTAL_MB) * 100 USED_PERSENT

    FROM (SELECT TABLESPACE_NAME, SUM(BYTES) / 1024 / 1024 TOTAL_MB

            FROM DBA_TEMP_FILES

           GROUP BY TABLESPACE_NAME) TMP_TBS,

         (SELECT TMP_USED.TABLESPACE,

                 TMP_USED.SEGTYPE,

                 SUM(TMP_USED.BLOCKS * PARA.DB_BLOCK_SIZE) / 1024 / 1024 USED_MB

            FROM V$SORT_USAGE TMP_USED,

                 (SELECT VALUE DB_BLOCK_SIZE

                    FROM V$PARAMETER

                   WHERE NAME = 'DB_BLOCK_SIZE') PARA

           GROUP BY TMP_USED.TABLESPACE, TMP_USED.SEGTYPE) USED_TOT

   WHERE TMP_TBS.TABLESPACE_NAME = USED_TOT.TABLESPACE(+)

   GROUP BY TMP_TBS.TABLESPACE_NAME, USED_TOT.SEGTYPE;

oracle表空间查询维护命令大全之三(暂时表空间)史上最全的更多相关文章

  1. oracle表空间查询维护命令大全之中的一个(数据表空间)史上最全

          表空间是数据库的逻辑划分,一个表空间仅仅能属于一个数据库. 全部的数据库对象都存放在建立指定的表空间中.但主要存放的是表, 所以称作表空间.在oracle 数据库中至少存在一个表空间.即S ...

  2. oracle表空间查询维护命令大全之二(undo表空间)

    --undo表空间汇总 --查看全部的表空间名字 select name from v$tablespace; --创建新的UNDO表空间,并设置自己主动扩展參数; create undo table ...

  3. 转载:Oracle RAC日常基本维护命令

    本文转载自: https://blog.csdn.net/tianlesoftware/article/details/5358573 Oracle RAC日常基本维护命令 好文转载, Oracle  ...

  4. Oracle 史上最全近百条Oracle DBA日常维护SQL脚本指令

    史上最全近百条Oracle DBA日常维护SQL脚本指令 https://mp.weixin.qq.com/s?__biz=MjM5MDAxOTk2MQ==&mid=2650281305&am ...

  5. 优秀后端架构师必会知识:史上最全MySQL大表优化方案总结

    本文原作者“ manong”,原创发表于segmentfault,原文链接:segmentfault.com/a/1190000006158186 1.引言   MySQL作为开源技术的代表作之一,是 ...

  6. [No00004F]史上最全Vim快捷键键位图(入门到进阶)vim常用命令总结

    在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行.你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format.使 ...

  7. 【2016年特别福利】史上最全CSS学习资料大全

    css学习篇 [2016年特别福利]史上最全CSS学习资料大全

  8. 史上最全最实用HBuilder快捷键大全

    史上最全最实用HBuilder快捷键大全 一.文件操作二.编辑操作三.插入操作四.转义操作五.选择操作六.跳转操作七.查找操作八.运行九.视图一.文件操作新建菜单: ctrl + N新建: ctrl ...

  9. oracle执行sql查询语句出现错误ORA-00942:表或视图不存在

    情况是这样,A库的用户名和表空间分别为SH , SH 把业务表SH所有数据从A库,导入到B库, 表空间为SH,用户名为SP 在B库里面执行sql查询语句出现错误ORA-00942:表或视图不存在 语句 ...

随机推荐

  1. 在安装mysql出现的错误以及解决方法

    因为手贱更新了一下驱动,结果导致无线网卡出了问题.然而就算是从官网上下载了驱动各种折腾也没有弄好,心里特别堵.无奈只有重装系统这一条路了.这里表示特别难过,因为电脑上东西实在太多了,而且各种环境变量. ...

  2. 《转》Python多线程学习

    原地址:http://www.cnblogs.com/tqsummer/archive/2011/01/25/1944771.html 一.Python中的线程使用: Python中使用线程有两种方式 ...

  3. C++ 指针—02 指针与引用的对照

    ★同样点: ●都是地址的概念: 指针指向一块内存,它的内容是所指内存的地址:而引用则是某块内存的别名. ★不同点: ●指针是一个实体,而引用仅是个别名: ●引用仅仅能在定义时被初始化一次,之后不可变: ...

  4. MySQL JDBC事务处理、封装JDBC工具类

    MySQL数据库学习笔记(十)----JDBC事务处理.封装JDBC工具类 一.JDBC事务处理: 我们已经知道,事务的概念即:所有的操作要么同时成功,要么同时失败.在MySQL中提供了Commit. ...

  5. leetcode解析回文子串拆分

    转载请注明来自souldak,微博:@evagle Given a string s, partition s such that every substring of the partition i ...

  6. UML简单介绍

    UML的全称是统一建模语言:Unified Modeling Language. 是用来为面向对象开发系统的产品进行说明可视化和编制文档的方法. 它是一种标准的图形化建模语言,是面向对象分析与设计的一 ...

  7. HDU 3277Marriage Match III(二分+并查集+拆点+网络流之最大流)

    题目地址:HDU 3277 这题跟这题的上一版建图方法差点儿相同,仅仅只是须要拆点.这个点拆的也非常巧妙,既限制了流量,还仅仅限制了一部分,曾经一直以为拆点会所有限制,原来也能够用来分开限制,学习了. ...

  8. Erlangserver紧内存优化解决方案

    提出的问题:server100万人在线,16G内存快被吃光. 玩家进程占用内存偏高 解决方法: 第一步: erlang:system_info(process_count). 查看进程数目是否正常,是 ...

  9. 使用javaDate类代数据仓库维度表

    使用javaDate类代数据仓库维度表 Date类别: ,返回一个相对日期的毫秒数.精确到毫秒.但不支持日期的国际化和分时区显示. Date 类从Java 开发包(JDK)1.0 就開始进化,当时它仅 ...

  10. svnkit添加节点

    package com.repositoryclient.svnoptions; import org.tmatesoft.svn.core.SVNException; import org.tmat ...