检查其余的表空
select a .表空间名称,可用/总计* 100%可用,可用/1024/1024 & quot;免费(M)& quot;从
(select sum(bytes) free,tablespace _ name from DBA _ free _ space group by tablespace _ name)a,
(select sum(bytes) total,tablespace _ name from DBA _ data _ files group by tablespace _ name)b
其中a .表空间名称=b .表空间名称
按pct_free排序;
删除表空间temp1,包括内容和数据文件;
在日常维护工作中,经常会遇到数据错误。
一般表都是锁着的,空不够用,表不能展开,数据库被一些写的很差的sql占用。
下面是一些常用的sql脚本。希望对你有帮助。
(但是我没有整理这个。)
-增加临时表的大小空
alter temporary tablespace temp add tempfile '/opt/Oracle/oradata/ora 9/temp 10 . DBF '大小1000M
-检查表格中的单词数。
select ' select count(1 from ' | | tname | | ';'从标签,其中tname不像“%BIN%”
-回滚段监控
选择n.usn回滚段id,
名词(noun的缩写)NAME回滚段名称,
用户操作系统用户,
南用户名用户名,
S.sID会话ID,
卢比范围回滚段扩展时间,
rs包装,
rs.rssize/1024/1024 & quot;use空MBytes)& quot;,
Rs.status回滚段状态
从v$rollname n,v$rollstat rs,v$session s,v$transaction t
其中t.addr = s.taddr(+)
rs.usn(+) = n.usn
t.xidusn(+) = n.usn
/*和rs.status = 'ONLINE'*/
按rs.rssize排序
-回滚段事务查询
select s.sid,s.serial#,t.start_time,t.xidusn,s.username
从v $会话s,v $事务t,v $滚动统计r
其中s.saddr=t.ses_addr
t.xidusn=r.usn
and((r . curext = t . start _ uext-1)or
((r.curext=r.extents-1,t . start _ uext = 0));
-锁监控
SELECT b.os_user_name操作系统用户,
oracle_username ORACLE用户,
会话标识,
工艺流程号,
A.object_name对象名称
子对象名称子对象名称,
D.machine客户端机器,
d .锁定等待,锁定等待,
d .状态会话状态,
D.d.schemaname数据库对象的名称,
终端终端名称,
程序终端程序名,
D.logon_time登录时间
从数据库管理员对象a,v $锁定对象b,v $会话d
-,v $锁定c
其中a .对象标识=b .对象标识
并且b.session_id=d.sid
选择a .用户名,a.sid,a .序列号,b.id1
从v $会话a,v $锁b
其中a.lockwait = b.kaddr
选择a .用户名,a.sid,a .序列号,b.id1
从v $会话a,v $锁b
b.id1在哪里
(选择不同的e.id1
从v $会话d,v $锁定e
其中d.lockwait = e.kaddr)
并且a.sid = b.sid
并且b .请求= 0
本文链接:http://www.123down.cn/gonglue/227292.html