数据库temp
‘壹’ 数据库中temp是什么意思
数据库中“temp”是全局存储内部对象之一,是用户对象,临时表,临时对象,以及sql Server操作创建的存储过程。
每个数据库实例只有一个tempdb,所以可能存在性能以及磁盘空间瓶颈。各种形式的可用空间及过度饿DDL/DML操作都会导致tempdb负载过重。这会导致运行在服务器上不相干程序运行缓慢或者运行失败。
“tempdb”的一些常见通病如下:
(1)耗完了tempdb的所有存储空间。
(2)读取tempdb时的I/O瓶颈造成的查询运行缓慢。
(3)过度的DDL操作造成在系统表上的瓶颈。
(4)分配竞争。
以上内容参考:网络-tempdb
‘贰’ oracle数据库还原段和TEMP表空间满了各对业务会有什么影响
1、Oracle如果UNDO(撤销)表空间满了,直接导致DML操作等待UNDO释放空间。
2、Oracle如果TEMP满了会出现两种情况:
a. 出现ORA-1652 unable to extend temp segment by 256 in tablespace错误,回滚事务。
b. ORACLE会提早重用temp空间,可能对闪回操作带来影响。
‘叁’ oracle 数据库怎么查看temp表空间使用情况
oracle
数据库里查看表空间使用状况;
oracle表空间的事情状况要经常查看,一般空闲比例过低的时候就应该考虑增大表看空间了。查看方法如下sql:
方法一:
select
dbf.tablespace_name,
dbf.totalspace
"总量(m)",
dbf.totalblocks
as
总块数,
dfs.freespace
"剩余总量(m)",
dfs.freeblocks
"剩余块数",
(dfs.freespace
/
dbf.totalspace)
*
100
"空闲比例"
from
(select
t.tablespace_name,
sum(t.bytes)
/
1024
/
1024
totalspace,
sum(t.blocks)
totalblocks
from
dba_data_files
t
group
by
t.tablespace_name)
dbf,
(select
tt.tablespace_name,
sum(tt.bytes)
/
1024
/
1024
freespace,
sum(tt.blocks)
freeblocks
from
dba_free_space
tt
group
by
tt.tablespace_name)
dfs
where
trim(dbf.tablespace_name)
=
trim(dfs.tablespace_name)
方法二:
select
total.name
"tablespace
name",
free_space,
(total_space-free_space)
used_space,
total_space
from
(select
tablespace_name,
sum(bytes/1024/1024)
free_space
from
sys.dba_free_space
group
by
tablespace_name
)
free,
(select
b.name,
sum(bytes/1024/1024)
total_space
from
sys.v_$datafile
a,
sys.v_$tablespace
b
where
a.ts#
=
b.ts#
group
by
b.name
)
total
where
free.tablespace_name
=
total.name
当发现有的表空间不够的错误时,处理如下:
1:找出该表空间对应的数据文件及路径
select
*
from
dba_data_files
t
where
t.tablespace_name
=
'ard'
2:增大数据文件
alter
database
datafile
'全路径的数据文件名称'
resize
***m
3:增加数据文件
alter
tablespace
表空间名称
add
datafile
'全路径的数据文件名称'
***m
注解:表空间尽量让free百分比保持在10%以上,如果低于10%就增加datafile或者resizedatafile,一般数据文件不要超过2g
‘肆’ Oracle数据库临时表空间用途问题
Oracle临时表空间主要用来做查询和存放一些缓冲区数据。临时表空间消耗的主要原因是需要对查询的中间结果进行排序。重启数据库可以释放临时表空间,如果不能重启实例,而一直保持问题sql语句的执行,temp表空间会一直增长
Oracle临时表空间主要用来做查询和存放一些缓冲区数据。临时表空间消耗的主要原因是需要对查询的中间结果进行排序。
重启数据库可以释放临时表空间,如果不能重启实例,而一直保持问题sql语句的执行,temp表空间会一直增长。直到耗尽硬盘空间。
‘伍’ 数据库的.为什么c盘temp中会产生大量sess
php的session保存文件,由php建立了session却在过期后没有成功删除,于是导致大量文件的积累。
清理方法很简单,新建批处理文件del_temp.bat,其中写入如下命令:
del %TEMP% /s /q *.*
保存后双击运行,即开始进行删除处理(也可直接在cmd命令行中输入执行)
你也可以将其加入开机启动项,以使得每次重启系统后即执行一次删除处理。
‘陆’ 数据库中已存在名为 '#temp1' 的对象.怎样处理呢
exp_valid = 1 and exp_public = 0 and exp_monthly = 0 and convert(var
‘柒’ oracle 数据库怎么查看temp表空间使用情况
查看临时表空间的使用情况(GV_$TEMP_SPACE_HEADER视图必须在sys用户下才能查询)
GV_$TEMP_SPACE_HEADER视图记录了临时表空间的使用大小与未使用的大小
dba_temp_files视图的bytes字段记录的是临时表空间的总大小:
SELECTtemp_used.tablespace_name,
total-usedas"Free",
totalas"Total",
round(nvl(total-used,0)*100/total,3)"Freepercent"
FROM(SELECTtablespace_name,SUM(bytes_used)/1024/1024used
FROMGV_$TEMP_SPACE_HEADER
GROUPBYtablespace_name)temp_used,
(SELECTtablespace_name,SUM(bytes)/1024/1024total
FROMdba_temp_files
GROUPBYtablespace_name)temp_total
WHEREtemp_used.tablespace_name=temp_total.tablespace_name
ORDERBYB.TABLESPACE,B.SEGFILE#,B.SEGBLK#,B.BLOCKS;