oracle表空间查询维护命令大全之三(暂时表空间)史上最全

--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;

时间: 2024-12-20 12:13:52

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

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

表空间是数据库的逻辑划分,一个表空间只能属于一个数据库.所有的数据库对象都存放在建立指定的表空间中.但主要存放的是表, 所以称作表空间.在oracle 数据库中至少存在一个表空间,即SYSTEM的表空间.一个表空间可以包含多个段,以及区,以及最小的块,同时也可以包含多个数据文件(物理结构). oracle 可以根据表空间对相关的用户配额以及磁盘空间都有极大的保护作用,而且还可以灵活的存放,同时也可以把不同的数据文件分开存放,保证不同数据文件的安全行. 所以在一般数据创建后,就会创建相关的表空间,

oracle表空间查询维护命令大全之三(临时表空间)史上最全

--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状态下某些时

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

表空间是数据库的逻辑划分,一个表空间仅仅能属于一个数据库. 全部的数据库对象都存放在建立指定的表空间中.但主要存放的是表, 所以称作表空间.在oracle 数据库中至少存在一个表空间.即SYSTEM的表空间.一个表空间能够包括多个段.以及区.以及最小的块,同一时候也能够包括多个数据文件(物理结构). oracle 能够依据表空间对相关的用户配额以及磁盘空间都有极大的保护作用,并且还能够灵活的存放.同一时候也能够把不同的数据文件分开存放,保证不同数据文件的安全行. 所以在一般数据创建后,就会创建相

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

--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状态下某些时

史上最全的开发和设计资源大全

史上最全的开发和设计资源大全2016-08-09 技术最前线链接:blog.jobbole.com/104313GitHub 上的 Awesome 系列(资源大全系列),是一个汇总了优秀工具资源的大集合,并由 GitHub 社区用户持续维护和更新.初始的版本都是英文,伯乐在线组织整理了热门资源大全的中文版.目前,中文版的资源列表在 GitHub 总计已经有超过 10,000 star 和 数千 fork .以下是各个开发和设计资源的详细介绍. Java 资源大全 Java资源大全中文版,包括:构

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

史上最全最实用HBuilder快捷键大全 一.文件操作二.编辑操作三.插入操作四.转义操作五.选择操作六.跳转操作七.查找操作八.运行九.视图一.文件操作 新建菜单: ctrl + N新建: ctrl + N关闭: ctrl + w全部关闭: ctrl + shift + w保存: ctrl + s全部保存: ctrl + shift + s刷新: F5属性: Alt + Enter 二.编辑操作 激活代码助手:Alt + /显示方法参数提示: Alt + Shift + ?撤销: Ctrl +

PLSQL_Oracle外部表的概念和使用(案例)(通过外部表直接查询数据文件以节数据库表空间)

2014-08-25 BaoXinjian 一.摘要 ORACLE外部表用来存取数据库以外的文本文件(Text File)或ORACLE专属格式文件. 因此,建立外部表时不会产生段.区.数据块等存储结构,只有与表相关的定义放在数据字典中. 外部表,顾名思义,存储在数据库外面的表. 当存取时才能从ORACLE专属格式文件中取得数据,外部表仅供查询,不能对外部表的内容进行修改(INSERT.UPDATE.DELETE操作). 不能对外部表建立索引.因为创建索引就意味着要存在对应的索引记录.而外部表其

Linux命令大全之三——Linux文档编辑命令,超级全!

本篇文章主要介绍了Linux文档编辑命令.详细整理了各个命令的功能.语法以及参数,很干货~赶紧学起来吧! col 功能说明:过滤控制字符.语 法:col?[-bfx][-l<缓冲区列数>]补充说明:在许多UNIX说明文件里,都有RLF控制字符.当我们运用shell特殊字符">"和">>",把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col指令则能有效滤除这些控制字符.参 数:??-b???过滤掉所有的控制字符,包括RLF和H

ORACLE授权用户查询另一个用户下的表与视图

实际应用中,会遇到在某个用户下需要查询另一个用户下的表数据或视图的情况,然而在没有授权时,会提示无权限操作的错误.那就需要通过授权处理后,再能进行查询操作,下面我们来看看是怎么处理的. 一.系统权限说明: 1.用户权限 CREATE SESSIOIN 连接到数据库 CREATE TABLE    在用户的方案中创建表 CREATE SEQUENCE 在用户的方案中创建序列 CREATE VIEW     在用户的方案中创视图 CREATE PROCEDURE在用户的方案中创建存储过程,函数或包