当前位置:文档之家› 关于临时表空间的一些整理

关于临时表空间的一些整理


1.3 创 建临时 表的表 空间选 项
从Oracle Databas e11g 版 本1 开 始,可以 在创建全 局临时表 时指定 TABLES PACE子 句。 如果没有 指定表空 间,将在 默认的临 时表空间 中创建全 局临时表 。此外, 还会在与 临时表相 同的临时 表空间中 创建在临 时表中创 建的索引 。
set pagesize 50
col tablespa ce_name for a20
col "Tempfil e name" for a42
set linesize 300 Select f.tablesp ace_nam e,
d.file_na me "Tempfil e name", round((f. bytes_fre e+ f.bytes_u sed) / 1024 /1024, 2) "rotoutnadl (((f. bytes_fre e+ f.bytes_u sed) nvl(p.byt es_used, 0)) / 1024 / 1024, 2) "Free MB" , round(nvl (p.bytes_ used, 0)/ 1024 / 1024, 2)"Used MB", round((ro und(nvl(p .bytes_u sed, 0)/ 1024 /1024, 2)/round( (f.bytes_f ree + f.bytes_u sed) / 1024 / 1024, 2))*100,2 ) as"Used
------------------- --------------------------- ----------TEMP
2088960
1040384
1048576
SQL> select 2088960 /1024/10 24||'M' fromdual ;
2088960 /10 ---------1.99218 75M
从Oracle Databas e11g 版 本1 开 始,可使 用 ALTER
TABLES
PACESH
RINK
SPACE 命令收缩 临时表空 间,也可 以使用 ALTER
TABLES
PACE
SHRINK
TEMPFI LE 命令 收缩临时 文件。对 于这两个 命令,可 以指定可 选的 KEEP 子 句,该子 句定义了 表空间/
注:
可以在 DBA_TA BLES 中 查找用于 存储全局 临时表的 表空间。
如: CREATE TEMPO RARY TABLES PACE temp
TEMPFI LE 'tbs_tem p.dbf' SIZE 600m REUSEA UTOEXT END ON MAXSIZ UNLIMIT ED EXTENT MANAG EMENT LOCAL UNIFOR M SIZE 1m;
SQL> col file_nam e for a50 SQL> select file_nam e fromdba _temp_fil
FILE_NA ME ---------------------------------------------/u- 01/app /oracle/o radata/a nqing/te mp01.db f
如果忽略 KEEP 子 句,则只 要满足其 它存储属 性,数据 库就会尽 可能尝试 收缩表空 间/临时 文件(所 有当前使 用的区的 总空间) 。此操作 需联机执 行。但 是,如果 所分配的 当前使用 的一些区 超出了收 缩估计 值,系统 将等待这 些区被释 放以完成 收缩操作 。
注: ALTER
CREATE GLOBAL TEMPO RARY TABLE temp_ta ble (cvarcha r2(10))
ON COMMIT DELETE ROWS TABLES PACE temp;
二. 示例
2.1 查 看 dba_te mp_fr ee_sp ace
SQL> set lin 160
SQL> col tablespa ce_name for a20 SQL> col tablespa ce_size for 9999999 9S9Q9L9> col allocated _space for 9999999 9999 SQL> col free_spa ce for 9999999 9999
Oracle 11G清理 临时表空 间
分类: Oracle 2014-0411 08:46 1377人阅 读 评论 (0) 收藏 举报
目录 (?)[+]
1. 一 临 时表空间 收缩 1. 1 说 明 2. 2 DBA_TEMP _FREE_SP ACE视图 3. 3 创 建临时表 的表空间 选项 2. 二示 例 1. 1 查 看 dba_temp _free_sp ace 2. 2 执 行temp 表空间的 online shrink 操作 3. 3 shrink 数据文件 4. 4 keep 选 项说明
Tablespa ce altered.
SQL> select * from dba_tem p_free_s pace;
TABLES PACE_N AME TABLES PACE_S IZE ALLOCA TED_SP ACE FREE_S PACE ------------------- --------------------------- --------T-E--MP
--这里直 接被压到 2M了。 Temp 表 空间过小 对性能是 有影响 的,所以 在shrink 时,还是 建议使用 keep 指 定最小值 。
SQL> select 3156131 84/1024/ 1024||'M' from dual;
3156131 84/10 -----------300.992 1875M
SQL>
2.4 keep 选项说 明
KEEP 选 项用来指 定压缩时 表空间或 者数据文 件shrink 的最小 值,如果 没有执行 该命令, 那么表空 间或数据 文件将被 压缩到最 小值。
一. 临时 表空 间收 缩
1.1 说 明
关于 Oracle 的临时表 空间,之 前有整理 过一篇 Blog:
Oracle Temp 临 时表空间 http://b log.csdn .net/tia nlesoftw are/arti cle/deta ils/4697 417
以下操作 会占用大 量的 temporar y:
TABLES PACE_N AME TABLES PACE_S IZE ALLOCA TED_SP ACE FREE_S PACE ------------------- --------------------------- --------T-E--MP
3156131 84 1040384
3145728 00
SQL> alter tablespa ce temp shrink space;
Tablespa ce altered.
SQL> select * from dba_tem p_free_s pace;
TABLES PACE_N AME TABLES PACE_S IZE ALLOCA TED_SP ACE FREE_S PACE
PACE_N AME 表 空间的名 称TABLES
PACE_S IZE 表空 间的总大 小(以字 节为单 位) ALLOCA
TED_SP ACE 已 分配的总 空间(以 字节为单 位),包 括当前已 分配的且 正在使用 中的空间 以及当前 已分配的 且可重用 的空间
FREE_S
PACE 可用的总 空间(以 字节为单 位),包 括当前已 分配的、 可重用的 以及当前 未分配的 空间
1.2 DBA_T EMP_ FREE_ SPAC E视图
该字典视 图是在 Oracle 11g新增 加的视 图,用来 查看表空 间级别的 临时空间 使用率信 息。此信 息是从各 种现有视 图中导出 的。
(1) 列出 临时空间 使用率信 息
(2) 临时 表空间使 用率中心 点
列名 说明
TABLES
1、用 户执行 imp/exp 导入导出 操作时, 会使用大 量的 temporar y段
2、用 户在 rebuild index时
3、执 行create table ...... as 语句 时
4、移 动用户下 的数据到 别的表空 间时
大量的排 序操作可 能会导致 临时表空 间大量增 长。为了 提高性 能,对排 序区进行 物理分配 后,将在 内存中管 理它们以 避免以后 的物理回 收。结 果,磁盘 中包含一 个巨大的 临时文 件,直到 将其删除 。一种可 能的解决 方法是: 使用较小 的文件创 建新的临 时表空 间,并将 这个新的
5242880 00 7340032
5232394 24

SQL> select 5242880 00/1024/ 1024||'M' from dual;
5242 ---500M --这里的 Temp 表 空间是 500M。
2.2 执 行 temp 表空间 的 online shrink 操作:
SQL> alter tablespa ce temp shrink spaceke ep 400M;
SQL> alter tablespa ce temp shrinkte mpfile '/u01/app /oracle/o radata/a nqing/te mp01.db f' keep 300M;
Tablespa ce altered.
相关主题