日常工作使用work.txt内容

1.数据库版本
select * from v$instance
2.库物理logic结构
(1).重做日志
select * from v$log;
所在位置:
select * from v$logfile
select a.group#,b.member,a.bytes/1024/1024 as "size(MB)"
from v$log a,v$logfile b
where b.group#=a.group#
order by a.group#
(2).物理文件存放位置
select * from dba_data_files
(3).逻辑表空间查看
select * from dba_tablespaces //bigfile/segment man/type/status
(4)段和表空间关系
select * from dba_extents /partion/
select * from dba_segments
(5)查看临时表空间
select * from dba_temp_files
select * from v$tempfile
(6)undo表空间
select * from dba_undo_extents
3.查看用户默认平空间和临时平空间
select * from dba_users
4.数据库每月增长量
select to_char(creation_time,'RRRR MONTH')"MONTH",
SUM(BYTES)/1024/1024/1024 "GROWTH SIZE"
FROM SYS.V_$DATAFILE
WHERE CREATION_TIME>SYSDATE-365
GROUP BY to_char(creation_time,'RRRR MONTH')
5.数据文件每月成长量
select a.ts# as "tablespace number",
b.name as "tablspace name",
to_char(a.creation_time,'RRRR MONTH') "MONTH",
SUM(A.BYTES)/1024/1024/1024 "GROWTH SIZE"
FROM SYS.V_$DATAFILE A,SYS.V_$TABLESPACE B
WHERE A.CREATION_TIME>SYSDATE-365
AND A.TS#=B.TS#
GROUP BY A.TS#,B.NAME,TO_CHAR(A.CREATION_TIME,'RRRR MONTH')
6.查看警告日志文件
show parameter dump
检查近段时间告警日志有什么异常
ORA-00600或ORA-07445(留意)
上下班都检查次
7.了解重启过程,重启计划,错误
8.系统资源检查
CPU 内存 I/O
资源消耗规律(eg.月底,月中)
系统繁忙时间和繁忙度
CPU使用率规律
第三方监控软件
9.查看数据库当前等待事件
(空闲与非空闲等待事件)
锁,索引,DDL
10.处理方法
1、看系统资源,资源是否耗尽
CPU使用100%,内存快用完了,用了大量的swap,是否有异常进程,这些异常进程是oracle还是其他应用程序
2、看等待事件,看系统正处于什么状况
3、看告警日志
11.backup/restore
当前库是不是有备份
采用什么方法备份
用oracle的rman?exp/imp?冷备?
还是用第三方工具?netbackup?
还是直接用存储镜像备份?
备份的周期?多长备份一次?备份一次需要多长时间?备份到磁带库还是硬盘上?


表空间的剩余用量:
SET LINESIZE 120
select a.tablespace_name,
sum((a.tots)/1024/1024) "total size",
sum((a.sumb)/1024/1024) "total free size",
sum(a.sumb)*100/sum(a.tots) "pct_free",
sum(a.largest) "max free size",
sum(a.chunks) "free extent number"
from (select tablespace_name,
0 tots,
sum(bytes) sumb,
max(bytes) largest,
count(*) chunks
from dba_free_space a
group by tablespace_name
union
select tablespace_name,sum(bytes) tots,0,0,0
from dba_data_files
group by tablespace_name)a
group by a.tablespace_name
ORDER BY 4;

确认数据文件的使用量:
select
d.tablespace_name tablespace,
d.file_name filename,
d.bytes "total file size",
nvl((d.bytes-s.bytes),d.bytes) "used size",
trunc(((nvl((d.bytes-s.bytes),d.bytes))/d.bytes)*100) PCT_USED
FROM sys.dba_data_files d,
v$datafile v,
(select file_id,sum(bytes) bytes
from sys.dba_free_space
group by file_id)s
where (s.file_id(+)=d.file_id)
and (d.file_name=v.name)
union
select d.tablespace_name tablespace,
d.file_name filename,
d.bytes "total file size",
nvl(t.bytes_cached,0) "used size",
trunc((t.bytes_cached/d.bytes)*100) pct_used
from sys.dba_temp_files d,v$temp_extent_pool t,v$tempfile v
where (t.file_id(+)=d.file_id)
and (d.file_id=v.file#);

查看数据库缓冲快区的HIT RATIO
select 1-(phy.value/(cur.value+con.value)) "cache hit ratio",
round((1-(phy.value/(cur.value+con.value)))*100,2) "ratio"
from v$sysstat cur,v$sysstat con,v$sysstat phy
where cur.name='DB BLOCK GETS'
AND CON.NAME='CONSISTENT GETS'
AND PHY.NAME='PHYSICAL READS'

确认使用者使用PGA的大小
select username,name,value
from v$statname n,v$session s,v$sesstat t
where s.sid=t.sid
and n.statistic#=t.statistic#
and s.type='USER'
AND S.USERNAME IS NOT NULL
AND N.NAME='SESSION PGA MEMORY'
AND USERNAME NOT LIKE 'SYSTEM'
AND T.VALUE>30000;

查看前10名使用CPU用量的联机
select *
from (select
'p',
s.sid,
s.status,
t.value/100/60 "cpu time",
floor(last_call_et/60) "last call et",
to_char(s.logon_time,'mm/dd hh24:mi') "logon time",
s.username,
s.process,
p.spid,
s.module,
s.machine,
s.sql_hash_value
from v$sesstat t,v$session s,v$process p
where t.statistic#=12
and s.sid=t.sid
and s.paddr=p.addr
and s.type='USER'
and s.sql_hash_value!=1425819161
union
select
'N',
s.sid,
s.status,
t.value*-1/100/60 "cpu time",
floor(last_call_et/60) "last call et",
to_char(s.logon_time,'mm/dd hh24:mi') "logon time",
s.username,
s.process,
p.spid,
s.module,
s.machine,
s.sql_hash_value
from v$sesstat t,v$session s,v$process p
where t.statistic#=12
and s.sid=t.sid
and s.paddr=p.addr
and s.type='USER'
and s.sql_hash_value!=1425819161
and t.value<0
order by 4 desc)
where rownum<11;

查询前10名排序量最大使用者联机
select *
from (select s.sid,
s.status,
b.spid,
s.sql_hash_value sesshash,
u.sqlhash sorthash,
s.username,
u.tablespace,
sum(u.blocks*p.value/1024/1024)mbused,
sum(u.extents) noexts,
u.segtype,
s.module||' - '||s.program proginfo
from v$sort_usage u,v$session s,v$parameter p,
v$process b
where u.session_addr=s.saddr
and p.name='DB_BLOCK_SIZE'
and b.addr=s.paddr
group by s.sid,
s.status,
b.spid,
s.sql_hash_value,
u.sqlhash,
s.username,
u.tablespace,
u.segtype,
s.module||' - '||s.program
order by 8 desc,4)
where rownum<11;

查询前10名数据库等待事件
select *
from(select event,total_waits,time_waited,average_wait
from v$system_event
where event not like '%IPC%'
AND EVENT NOT LIKE 'SQL*NET%'
AND EVENT NOT LIKE 'PIPE%'
AND EVENT NOT LIKE 'NULL%'
AND EVENT NOT LIKE 'WAKEUP%'
AND EVENT NOT LIKE 'PX%'
AND EVENT NOT LIKE '%TIMER%'
ORDER BY 3 DESC)
WHERE ROWNUM<11;

查询前10名使用CURSOR最多的使用者联机
select * from (
select s.sid,
v0.value cum_open_cursors,
v1.value cur_open_cursors,
v2.value cache_hits,
v3.value cache_count,
v4.value hard_parse,
v5.value-v4.value soft_parse,
s.osuser,s.machine,
nvl(s.module,s.program) proginfo
from v$sesstat v0,v$sesstat v1,v$sesstat v2,v$sesstat v3,
v$sesstat v4,v$sesstat v5,
v$session s
where v0.statistic#=2
and v0.sid=s.sid
and v1.statistic#=3
and v1.sid=s.sid
and v2.statistic#=191
and v2.sid=s.sid
and v3.statistic#=192
and v3.sid=s.sid
and v4.statistic#=180
and v4.sid=s.sid
and v5.statistic#=179
and v5.sid=s.sid
order by 3 desc,7 desc)
where rownum<11;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值