临时表空间是oracle中的临时表空。临时表空的主要用途是在数据库排序操作、索引管理、视图访问等过程中提供一个临时的操作室空。操作完成后,系统会自动清理。在oracle中需要排序的时候,如果PGA中sort_area_size的大小不够,数据会放入临时表空中进行排序。同时,如果有异常情况,也会放入临时表空。通常,当Select语句和create index完成时,使用temp table 空。但是有时候,我们会遇到这样的情况,临时段没有释放,temp表空快满了,即使重启数据库,问题依然没有解决。
排序非常耗费资源,Temp表空已满。关键是优化你的语句,尽量减少排序。
table 空已满时的处理方法:
一、修改参数(仅适用于8i及以下版本)
修改临时表空之间的存储参数,让Smon进程观察临时段,从而达到清理临时表空之间的目的。
SQL & gt更改表空间温度增加1;
SQL & gt将表空间温度增加0;
第二:杀死会话
1.使用下面的语句A查看谁在使用临时段。
选择se .用户名,se。SID,se.serial#,se.sql_address,se.machine,se.program,su。表空间,
苏. segtype,苏。来自v$session se,v$sort_usage su的内容
其中se.saddr = su.session_addr
2.终止正在使用临时段的进程
SQL & gt更改系统终止会话' sid,序列号';
3.收回临时表空
SQL & gt更改表空间温度联合;
注意:
此方法只能用于字典管理的表空。它位于本地管理表空 (LMT:本地管理的表空间)之间,不需要排序。9i将来只能创建本地管理的表空。
创建表空间测试数据文件' D:\TEST01.dbf '大小为5M的区管理字典
创建表空间测试数据文件“D:\TEST01.dbf”大小为5M的区管理本地;
第三,重启数据库。
当库重新启动时,Smon进程将完成临时段释放和temp table 空之间的清理操作。但是在很多情况下,我们的库是不允许down的,所以这种方法缺少了一些应用机会,但是还是很有用的。
第四,使用诊断事件的方法,这也是最有效的方法。
1.确定临时表空之间的ts#
SQL & gtselect ts#,name from sys . ts $;
TS#名称
- -
0系统
1撤消1
2个系统辅助
3温度
4个用户
5未完成任务2
2.执行清洁操作。
SQL & gtalter session set events“立即跟踪名DROP _ SEGMENTS level 4”;
描述:
表temp 空之间的TS#是3,所以TS#+ 1= 4。
重建临时表空:
临时表空间不能直接删除默认的临时表空,但是我们可以通过以下方法来实现。
准备:查看当前的临时表空间
SQL & gt从v$tempfile中选择名称;
名字
& mdash& mdash& mdash& mdash& mdash& mdash& mdash& mdash& mdash& mdash& mdash& mdash& mdash& mdash& mdash& mdash& mdash& mdash& mdash& mdash& mdash& mdash& mdash
D:\ORACLE\ORADATA\TEST\TEMP01。数据文件
SQL & gt从dba_users中选择username,temporary _ tablespace
用户名临时_表空间
- -
MGMT _视图温度
系统温度
系统温度
DBSNMP温度
SYSMAN温度
1.创建临时中转表空。
创建临时表空间temp 1 TEMPFILE ' E:\ ORACLE \ ORADATA \ ORCL \ temp 02。DBF的尺寸512M在下一个1M MAXSIZE无限制上重复使用AUTOEXTEND
2.将默认的临时表空更改为新创建的新临时表空 temp1。
更改数据库默认临时表空间temp1
3.删除原来的临时表空。
删除表空间temp,包括内容和数据文件;
4.重新创建临时表空
创建临时表空间TEMP TEMPFILE ' E:\ ORACLE \ ORADATA \ ORCL \ TEMP 01。DBF的尺寸512M在下一个1M MAXSIZE无限制上重复使用AUTOEXTEND
5.将默认临时表空重置为新创建的临时表空。
更改数据库默认临时表空间temp
6.删除临时表空房间进行中转。
删除表空间temp1,包括内容和数据文件;
7.如果需要,将用户表空重新指定为重建的临时表空。
更改用户轴临时表空间温度;
看table 空中的语句,在Temp table 空中找不到语句:
SELECT UPPER(F .表空间名称)& quotTable 空 inter-name”,
D.TOT _ GROOTTE _ MB & quot表格之间的大小空",
D.TOT _ GROOTTE _ m B- F . TOTAL _ BYTES & quot;使用空间隔",
TO _ CHAR(ROUND((D . TOT _ GROOTTE _ MB-F . TOTAL _ BYTES)/D . TOT _ GROOTTE _ MB * 100,2),
990.99 ')& quot;使用than”,
F.总字节数& quot在空 free 空"之间,
F.MAX _ BYTES & quot最大块(M)"
FROM(选择表空间名称,
ROUND(SUM(BYTES) / (1024 * 1024),2) TOTAL_BYTES,
ROUND(MAX(BYTES) / (1024 * 1024),2) MAX_BYTES
来自SYS。DBA _空闲空间
GROUP BY表空间名)F,
(选择DD。表空间名称,
ROUND(SUM(DD。字节)/ (1024 * 1024),2) TOT_GROOTTE_MB
来自SYS。数据库管理员数据文件
按DD分组。表空间名称)D
其中D .表空间名称= F .表空间名称
由4 DESC订购
关键词:甲骨文
优侠库网站每天提供最新最热门的安卓手机软件、游戏下载、分享热门手游资讯攻略教程、手机软件教程步骤,专注安卓手机游戏软件下载。本文链接:http://www.123down.cn/gonglue/227436.html