20xxoracle数据库维保 招标文件

时间:2024.5.9

第一部分 项目须知

一、项目编号:

二、采购项目名称:20xx年度oracle数据库续保

三、采购方式:公开招标

四、采购内容、数量及参数要求:

服务(或售后服务)要求:

乙方应提供原厂级别7×24(即每周 7个工作日,每天24小时,2小时内到达现场.)全天技术支持服务,并根据甲方的需要提供现场支持服务。具体服务时间由甲方需求决定。服务内容包括:

1. 1.健康检查。ORACLE工程师定期(最小频率为1个月)到用

户现场,对数据库系统进行例行健康检查,并提交报告,根

据健康检查的内容对数据库进行优化。检查的内容应包括但

不限于以下内容:

1.1 容错检查,检查并分析系统日志及跟踪文件,发现并排

除数据库及应用系统的错误隐患;

1.2 检查数据库及应用系统的配臵健康情况;

1.3 发现并排除数据库系统错误隐患;

1.4 检查数据库系统是否需要应用最新的补丁集;

1.5 检查数据库空间的使用情况,协助进行数据库空间的规

划管理;

1.6 检查数据库备份的完整性;

1.7 监控数据库性能、数据库运行状态、运行效率、是否存

在安全隐患;

1.8 备份方式是否合理、备份数据是否可恢复;

1.9 提供系统健康检查报告;

2

2. 2. 数据库及应用系统性能调优。数据库及应用系统的性能调

整一般包括,但不局限于如下内容:

2.1 利用工具采集系统运行时的各项监控数据;

2.2 分析系统主要的性能瓶颈;

2.3 分析系统、网络、应用软件及数据库等各方面资源的使用情况;

2.4 确定系统性能现状及性能调整的目标;

2.5 定位系统中出现的性能瓶颈;

2.6 测试验证针对性能瓶颈进行的改进方案;

2.7 产生基于ORACLE最佳应用准则的性能调整建议报告;

2.8 适用于当前商业规则的Oracle 软件配臵;

2.9 为客户提供实施问题的解决方案;

2.10 为客户进行现场技能讲解传授;

2.11 ORACLE工程师在现场调优数据库性能和应用性能;

2.12 给用户提供完整的性能调整报告和解决方法;

2.13 现场紧急救援与灾难恢复。管理局数据库宕机、数据块损坏等影响业务不能进行的问题时,只要用户认为必要,

Oracle技术支持工程师应在接到邀请后乘最快交通工具2小

时内到达用户现场,并提出问题解决方案,在4小时内使应用恢复正常(根据故障级别不同,处理时间可酌情商榷)。

2.14 确保本次保修范围内所有ORACLE数据库的正常运行。

2.15 如有新安装ORACLE数据库,乙方负责安装。

2.16 安装有ORACLE数据库的主机双机(RAC)安装与调试。

3. 乙方协助甲方完善数据库备份恢复策略,提供完整的备份恢复策略方案,在甲乙双方协商确定并进行实施。

3

4. 签订合同后进行一次ORACLE数据库的健康检查,并提交一份此次维保项目的具体实施方案。

5. 出现灾难性故障时现场协助系统和数据的恢复工作,保障数据库系统的正常运行。

6. 配合甲方实施数据迁移。

7. 配合甲方进行数据库整体规划。

8. 配合甲方实施整体数据库安全方案。

9. 免费提供必要的数据库补丁升级安装服务。

10.技术支持:负责解答甲方提出的问题,提供维护技术人员联系方式,无限次电话及邮件支持,必要时现场响应并及时解决。有条件可提供ORACLE METALINK网上帐号。

11. 巡检与培训服务:

11.1 提供特殊时段(如:结账日、春节、劳动节、国庆节、

年终、系统停机维护、数据集中及用户认为必须的重要时段)的服务,以及产品安装、系统变更和迁移等的现场支持服务。

11.2 每月一次例行巡检即预防性维护并提供例行巡检报

告。

11.3 每次处理ORACLE数据库故障后提交报告。

11.4 每季度一次健康性检查,全面进行容错检查,检查并

分析系统日志及跟踪文件,发现并排除数据库及应用系统的错误隐患,并提供季度巡检报告,甲方签署后方可进行季度付款。

11.5 在维保期内如遇到乙方不能解决的问题,甲方有权请

其他公司进行解决,产生的费用全部由乙方负担。

11.6 每半年并进行一次维护工作总结,并提交报告书;

11.7 乙方在服务年度期满前十五天应通知甲方,并完成年

度现场维护,提供年度服务总结报告。

4

11.8 所有的检查报告乙方均按照甲方要求进行装订,并于

当月末三日内交送甲方负责人员。

4 安装调试过程中接受用户技术人员的技术监督,听取合理

意见。

5 提供本地化的服务团队,快速响应客户需求, 7×24小时

设备保修及技术支持服务。

6 保密条款:中标公司将与甲方签署数据保密协议,严格遵

循保密协议,凡涉及客户的机型配臵、IP地址、生产经营数据、软件等信息不得向第三方泄露,维护过程中如需涉及客户系统的数据信息,必须先通过客户方认可,维护工作的数据信息(无论是打印或介质上的数据信息)不得带离客户工作现场。

维保地点:

乙方应在合同签订后将按照合同中约定的条款到甲方所在地:XXXX(即本合同履行地)进行数据库健康检查以及后续维保巡检工作,乙方中标后5个工作日内向甲方提交年度维保方案,方案经过甲方审核通过后进行一次数据库健康检查与调优工作,并于签订合同后10日内完成,并提交正式装订的检查报告。

付款时间和方式:

按季度付款。

每季度末进行完数据库季度巡检后提交巡检报告,经甲方检查合格后通知乙方开具增值税#5@p,付本季度款额,具体条款按合同执行。

维保期

甲乙双方签订合同后约定具体维保时间,满1个自然年后结束维保,乙方对所提供的服务应承诺一年内接到甲方维护需求通知后2小时内到达现场。

5

第二部分、供应商须知

一、报名条件:

1、在中华人民共和国境内注册,具有独立承担民事责任的能力;

2、投标供应商注册资金不少于300万元,系统集成三级及以上资质;

3、必须有采购项目所必需的设备、专业技术或服务能力;

4、具有良好的商业信誉和健全的财务会计制度;

5、参加本次采购活动前三年内,经营活动中没有违法违规记录;

6、需必备开具增值税#5@p的能力。

7、本项目不接受联合投标。

8、投标公司必须在甲方所在地有技术团队支持。

9、投标单位必须是ORACLE重要合作伙伴及服务供应商,有强大技术支持团队。

10、投标单位应具备丰富的ORACLE维保服务经验,能够确保所投标项目的正常、有效运行。

11、所有投标项目必须执行国家有关系统及数据库维保服务的相关规定,确保维保服务质量。在ORACLE数据库维保项目中没有不良纪录。

12、要求公司在数据库行业服务经验四年以上。

13、投标人需提供HPUX、数据库认证工程师证书 3个以上,OCP工程师1个及以上,并能提供HPUX及ORACLE维保项目实施的证明至少三份(合同复印件)

14、投标商需提交对所有技术条款的满足程度进行点对点应答,提供虚假材料的供应商将被拒绝。

二、供应商应仔细阅读招标文件的所有内容,并保证所提供的全 6

部材料的真实性,以确保对招标文件做出实质性响应。

三、招标方如果对供应商的资质或履约可能性等关键要素有异议,可对供应商进行现场、实地考察。

四、供应商必须保证在中标后严格按招标方的要求提供产品或服务。

五、任何供应商违反本招标文件相关条款的行为将可能导致投标无效,招标方有权立即取消其参与资格。

六、如招标方对所有供应商的报价有重大异议或供应商低于三家时,招标方有权决定重新招标。

七、招标结束后除证件原件外的投标文件将由招标方保留作存档用。

八、招标期间,招标项目发生重大变化时,招标方保留最终解释权。招标方在授予合同时有权对招标文件中规定的数量或服务予以增加或减少。

九、根据采购项目和具体情况,招标人认为有必要,可以组织召开标前答疑会或组织报名供应商对项目现场进行考察。答疑会或进行现场考察的时间,招标人将电话通知所有报名的供应商。供应商考察现场所发生的一切费用由供应商自己承担。如招标人没有统一安排答疑会或者现场考察,供应商自行考虑现场考察的必要性,并在开标前与招标人联系。

凡已经进行过现场考察或未主动要求进行现场考察的投标人,视为已知晓完成投标项目所需的全部条件已具备和成立,不存在涉及投标和合同方面的任何问题。

十四、投标文件编制要求

1、投标文件的语言

2、计量单位

7

3、报价货币

4、知识产权

5、报价部分

投标供应商按照招标文件要求填写“报价明细表”。

5.1投标供应商的报价是投标供应商响应招标项目要求的全部工作内容的价格体现,包括投标供应商完成本项目所需的一切费用。

5.2投标供应商每种货物只允许有一个报价,并且在合同履行过程中是固定不变的,任何有选择或可调整的报价将不予接受,并按无效报价处理。

6、技术部分

投标供应商按照招标文件要求做出的技术应答,主要是针对招标项目的技术指标、参数和技术要求做出的实质性响应和满足。投标供应商的技术响应包括但不仅限于下列内容:

6.1计划开、竣工日期和施工进度;

6.2详细的技术指标和参数;

6.3技术方案、项目实施方案;

6.4技术要求偏离表;

6.5产品彩页资料;

6.6产品工作环境条件;

6.7产品验收标准和验收方法;

6.8产品验收清单(注明各部件的品名、数量、价格、规格型号和原产地或生产厂家);

6.9投标供应商认为需要提供的文件和资料。

7、商务部分

投标供应商按照招标文件要求提供的有关资质证明文件及优惠承诺。包括但不仅限于下列内容:

8

7.1投标函;

7.2投标供应商企业法人营业执照副本、税务登记证副本复印件;

7.3投标供应商组织机构代码证复印件;

7.4法定代表人授权书原件;

7.5授权代表身份证复印件;

7.6投标供应商近两年度财务报表、纳税证明等;

7.7证明投标货物的合格性和投标供应商资格符合招标文件规定的证明文件;

7.8投标供应商承诺给予招标人的各种优惠条件(优惠条件事项不能包括采购项目本身所包括涉及的采购事项。投标供应商不能以“赠送、赠予”等任何名义提供货物和服务以规避招标文件的约束。否则,投标供应商提供的投标文件将作为无效投标处理,投标供应商的投标行为将作为以不正当手段排挤其他供应商认定);

7.9证明投标供应商业绩和荣誉的有关材料;

7.10商务条款偏离表;

7.11 ORACLE原厂授权书

7.12其他投标供应商认为需要提供的文件和资料。

8、售后服务

投标供应商按照招标文件中售后服务要求作出的积极响应和承诺。包括但不仅限于下列内容:

8.1售后服务机构网点清单、服务电话和维修人员名单(加盖公章);

8.2说明投标产品的保修时间、保修期内的保修内容与范围、维修响应时间等。

8.3其他有利于用户的服务承诺。

9

9、投标文件格式

9.1 投标供应商应严格按照招标文件规定填写相关内容。

9.2投标文件应当按照报价、技术、商务部分的要求作出实质性响应,招标人对于没有格式要求的,供应商可以自行编写。

9.3投标文件应打印或用不退色的墨水书写。投标文件应字迹清楚、内容齐全、表达清楚,不应有涂改增删处。如修改,修改处须有法定代表印章。

10、投标文件的密封和标注

10.1 投标供应商应在投标文件正本和副本的封面上注明投标供应商名称、招标编号、项目名称。

10.3 所有外层密封袋的封口处应粘贴牢固,并加盖密封章(投标供应商印章)。

10.4 未按以上要求进行密封和标注的投标文件将被拒绝。 十五、开标与评标须知

10


第二篇:oracle巡检 手册


Oracle巡检手册

第一部分数据库状态监控

首先检查oracle的log,在sqlplus中:

show parameter background_dump_dest;

select * from v$diag_info;

可以得到日志路径

1:检查oracle 监听lsnrtcl status

   Ps –ef|grep ora

2:检查oracle初始化参数

Select * from v$parameter;

3:检查oracle实例状态

Select instance_name,version,status,database_status from v$instance;

select inst_id,instance_name,host_name,VERSION,TO_CHAR(startup_time,'yyyy-mm-dd hh24:mi:ss')startup_time,status,archiver,database_status FROM gv$instance;

4:检查后台进程状态:

select name,Description From v$BGPROCESS Where Paddr<>'00'  

5:查看系统全局区SGA信息

 select * from v$sga;

6: 查看SGA各部分占用内存情况:

select * from v$sgastat; 

select request_misses,request_failures from v$shared_pool_reserved;

比较好的状态:REQUEST_MISSES REQUEST_FAILURES为0或者接近0

REQUEST_MISSES REQUEST_FAILURES

-------------- ----------------

0                                                        0

7:查看系统SCN号

select (select dbms_flashback.get_system_change_number from dual)scn,current_scn,scn_to_timestamp(current_scn)from v$database;

8:检查数据库状态:

select name,log_mode,open_mode,platform_name from v$database;

select inst_id,dbid,name,to_char(created,'yyyy-mm-dd hh24:mi:ss')created,log_mode,to_char(version_time,'yyyy-mm-dd hh24:mi:ss')version_time,open_mode from gv$database;

第二部分:数据库空间监控

检查表空间使用率

select A.tablespace_name, (1 - (A.total) / B.total) * 100 used_percent 

from (select tablespace_name, sum(bytes) total 

from dba_free_space 

group by tablespace_name) A, 

(select tablespace_name, sum(bytes) total 

from dba_data_files 

group by tablespace_name) B 

where A.tablespace_name = B.tablespace_name;

检查system表空间内的内容

select distinct (owner) 

from dba_tables 

where tablespace_name = 'SYSTEM' 

and owner != 'SYS' 

and owner != 'SYSTEM' 

union 

select distinct (owner) 

from dba_indexes 

where tablespace_name = 'SYSTEM' 

and owner != 'SYS' 

and owner != 'SYSTEM'; 

输出:no rows selected

分析:如果有记录返回,则表明system表空间内存在一些非system和sys用户的对象。应该进一步检查这些对象是否与我们应用相关。

如果相关请把这些对象移到非System表空间,同时应该检查这些对象属主的缺省表空间值。

检查表空间使用率

select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024   "used MB",b.bytes/1024/1024 "free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used" 

from 

(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,  

(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b  

where a.tablespace_name=b.tablespace_name  

order by ((a.bytes-b.bytes)/a.bytes) desc;

9:检查数据库的大小和空间使用情况

select

b.file_id 文件ID号,

b.tablespace_name 表空间名,

b.bytes/1024/1024||'M'字节数,

(b.bytes-sum(nvl(a.bytes,0)))/1024/1024||'M' 已使用,

sum(nvl(a.bytes,0))/1024/1024||'M' 剩余空间,

100 - sum(nvl(a.bytes,0))/(b.bytes)*100 占用百分比

from dba_free_space a,dba_data_files b

where a.file_id=b.file_id

group by b.tablespace_name,b.file_id,b.bytes

order by b.file_id;

根据百分比占用列表

col tablespace format a20

select b.file_id  文件ID,

b.tablespace_name  表空间,

b.file_name     物理文件名,

b.bytes       总字节数,

(b.bytes-sum(nvl(a.bytes,0)))   已使用,

sum(nvl(a.bytes,0))        剩余,

sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比

from dba_free_space a,dba_data_files b

where a.file_id=b.file_id

group by b.tablespace_name,b.file_name,b.file_id,b.bytes

order by sum(nvl(a.bytes,0))/(b.bytes)*100;

# 检查表空间利用情况
SQL> SELECT V1.TABLESPACE_NAME TABLESPACENAME,
       to_char(ROUND(NVL(V1.SPACE,0)))||'(M)' TOTALTABLESPACE,
       to_char(ROUND(NVL(V2.SPACE,0)))||'(M)' FREETABLESPACE,
       ROUND(decode(V1.SPACE,0,0,(V1.SPACE-V2.SPACE)/V1.SPACE)*100,2)||'%'  RATE
  FROM (SELECT TABLESPACE_NAME, SUM(BYTES)/1024/1024 SPACE FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME) V1,
       (SELECT TABLESPACE_NAME, SUM(BYTES)/1024/1024 SPACE FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) V2
 WHERE V1.TABLESPACE_NAME = V2.TABLESPACE_NAME
 ORDER BY V1.TABLESPACE_NAME;

根据最近7天增长情况给出建议

select sum(space_used_total)/1024/1024/1024 "last 7 days db increase - G"
from
dba_hist_seg_stat s,
dba_hist_seg_stat_obj o,
dba_hist_snapshot sn
where
s.obj# = o.obj#
and
sn.snap_id = s.snap_id
and begin_interval_time > sysdate-8
order by
begin_interval_time;

表空间增长情况:

SELECT df.file_id,df.file_name,df.size_mb,NVL (free.maxfree, 0)maxfree_mb,

ROUND (NVL (free.free_mb, 0),2) free_mb, 100 - ROUND (100.0 * NVL (free.free_mb, 0) / df .size_mb, 2) pct_used,

ROUND  (100.0 * NVL (free.free_mb, 0)/df.size_mb,2)  pct_free FROM (SELECT file_id,file_name,tablespace_name,BYTES / 1048576 size_mb FROM dba_data_files) df,

(SELECT file_id,SUM (BYTES) / 1048576 free_mb,TRUNC (MAX  (BYTES / 1024 / 1024),2) maxfree FROM dba_free_space  GROUP BY file_id) free  WHERE df.file_id = free.file_id(+) ORDER BY 7;

列出数据库增长情况:

不包含undo和temp

with tmp as
(select rtime,
sum(tablespace_usedsize_kb) tablespace_usedsize_kb,
sum(tablespace_size_kb) tablespace_size_kb
from (select rtime,
e.tablespace_id,
(e.tablespace_usedsize) * (f.block_size) / 1024 tablespace_usedsize_kb,
(e.tablespace_size) * (f.block_size) / 1024 tablespace_size_kb
from dba_hist_tbspc_space_usage e,
dba_tablespaces f,
v$tablespace g
where e.tablespace_id = g.TS#
and f.tablespace_name = g.NAME
and f.contents not in ('TEMPORARY','UNDO'))
group by rtime)
select tmp.rtime,
tablespace_usedsize_kb,
tablespace_size_kb,
(tablespace_usedsize_kb -
LAG(tablespace_usedsize_kb, 1, NULL) OVER(ORDER BY tmp.rtime)) AS DIFF_KB
from tmp,
(select max(rtime) rtime
from tmp
group by substr(rtime, 1, 10)) t2
where t2.rtime = tmp.rtime;

包含undo和temp

with tmp as
(select min(rtime) rtime,
sum(tablespace_usedsize_kb) tablespace_usedsize_kb,
sum(tablespace_size_kb) tablespace_size_kb
from (select rtime,
e.tablespace_id,
(e.tablespace_usedsize) * (f.block_size) / 1024 tablespace_usedsize_kb,
(e.tablespace_size) * (f.block_size) / 1024 tablespace_size_kb
from dba_hist_tbspc_space_usage e,
dba_tablespaces f,
v$tablespace g
where e.tablespace_id = g.TS#
and f.tablespace_name = g.NAME)
group by rtime)
select tmp.rtime,
tablespace_usedsize_kb,
tablespace_size_kb,
(tablespace_usedsize_kb -
LAG(tablespace_usedsize_kb, 1, NULL) OVER(ORDER BY tmp.rtime)) AS DIFF_KB
from tmp,
(select min(rtime) rtime
from tmp
group by substr(rtime, 1, 10)) t2 where t2.rtime = tmp.rtime

上面是KB:

下面是GB:

with tmp as

(select min(rtime) rtime,

sum(tablespace_usedsize_GB) tablespace_usedsize_GB,

sum(tablespace_size_GB) tablespace_size_GB

from (select rtime,

e.tablespace_id,

(e.tablespace_usedsize) * (f.block_size) / 1024 / 1024 / 1024 tablespace_usedsize_GB,

(e.tablespace_size) * (f.block_size) / 1024 / 1024 / 1024 tablespace_size_GB

from dba_hist_tbspc_space_usage e,

dba_tablespaces f,

v$tablespace g

where e.tablespace_id = g.TS#

and f.tablespace_name = g.NAME)

group by rtime)

select tmp.rtime,

tablespace_usedsize_GB,

tablespace_size_GB,

(tablespace_usedsize_GB -

LAG(tablespace_usedsize_GB, 1, NULL) OVER(ORDER BY tmp.rtime)) AS DIFF_GB

from tmp,

(select min(rtime) rtime

from tmp

group by substr(rtime, 1, 10)) t2 where t2.rtime = tmp.rtime;

列出相关段对象在 快照时间内的使用空间的历史变化信息:

无快照省略此项检测

column owner format a16
column object_name format a36
column start_day format a11
column block_increase format 9999999999

select obj.owner, obj.object_name,
to_char(sn.BEGIN_INTERVAL_TIME,'RRRR-MON-DD') start_day,
sum(a.db_block_changes_delta) block_increase
from dba_hist_seg_stat a,
dba_hist_snapshot sn,
dba_objects obj
where sn.snap_id = a.snap_id
and obj.object_id = a.obj#
and obj.owner not in ('SYS','SYSTEM')
and end_interval_time between to_timestamp('17-FEB-2014','DD-MON-RRRR')
and to_timestamp('25-FEB-2014','DD-MON-RRRR')
group by obj.owner, obj.object_name,
to_char(sn.BEGIN_INTERVAL_TIME,'RRRR-MON-DD')
order by obj.owner, obj.object_name ;

10:检查数据库创建相关信息和归档

Select created,log_mode from v$database;

11: 检查数据库归档信息

Archive log list;

(如有问题执行并上报:alter system set log_archive_dest_1=’localtion=path’ scope=both;)

12:查看归档路径,闪回恢复去大小。

show parameter log_dest;

show parameter log_archive_dest; 

闪回:

select sum (percent_space_used) * 3 / 100 from v$flash_recovery_area_usage;

SELECT substr (name, 1, 30) name, space_limit AS quota, space_used AS used,

space_reclaimable AS reclaimable,  number_of_files  AS files

FROM  v$recovery_file_dest ;

13:查看NLS信息,包括字符集:

select * from nls_database_parameters;

14:检查表空间的名称,状态及大小

select t.tablespace_name,t.status,round(sum(bytes/(1024*1024)),0) ts_size_MB

from dba_tablespaces t,dba_data_files d

where t.tablespace_name = d.tablespace_name

group by t.tablespace_name, t.status;

15:检查每个表空间占用空间大小

Select Tablespace_Name,Sum(bytes)/1024/1024/1024 From Dba_Segments Group By Tablespace_Name;

16:检查表空间物理文件的名称及大小

select tablespace_name,file_id,file_name,

round(bytes/(1024*1024*1024),0)total_space_GB

from dba_data_files

order by tablespace_name;

17:查询表空间剩余大小

select tablespace_name,sum(bytes)/(1024*1024*1024)as free_space_GB

from dba_free_space

group by tablespace_name;

18:检查表空间使用情况

18.1

SELECT A.TABLESPACE_NAME,A.BYTES/1024/1024  TOTAL_GB,B.BYTES/1024/1024/1024

USED_GB,C.BYTES/1024/1024 FREE_GB,

(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"

FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C

WHERE A. TABLESPACE_NAME=B.TABLESPACE_NAME

AND A. TABLESPACE_NAME=C. TABLESPACE_NAME

order by  (C.BYTES*100)/A.BYTES;

有问题

18.2

SELECT D.TABLESPACE_NAME,SPACE "SUM_SPACE(M)",BLOCKS SUM_BLOCKS,SPACE-NVL(FREE_SPACE,0) "USED_SPACE(M)",

  ROUND((1-NVL(FREE_SPACE,0)/SPACE)*100,2) "USED_RATE(%)",FREE_SPACE "FREE_SPACE(M)"

  FROM

  (SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) SPACE,SUM(BLOCKS) BLOCKS

  FROM DBA_DATA_FILES

  GROUP BY TABLESPACE_NAME) D,

  (SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) FREE_SPACE

  FROM DBA_FREE_SPACE

  GROUP BY TABLESPACE_NAME) F

  WHERE  D.TABLESPACE_NAME = F.TABLESPACE_NAME(+);

18.3

set echo          off
set feedback      off
set heading       on
set verify        off
set wrap          on
set trimspool     on
set serveroutput  on
set escape        on
set pagesize 50000
set linesize 275
set long     2000000000

COLUMN status      FORMAT a8                    HEADING 'Status'
COLUMN name        FORMAT a15                   HEADING 'Tablespace Name'
COLUMN type        FORMAT a10                    HEADING 'TS Type'
COLUMN extent_mgt  FORMAT a5                    HEADING 'Ext. Mgt.'
COLUMN segment_mgt FORMAT a9                    HEADING 'Seg. Mgt.'
COLUMN ts_size     FORMAT 99,999.9               HEADING 'Size(in G)'
COLUMN free        FORMAT 99,999.9               HEADING 'Free(in G)'
COLUMN used        FORMAT 99,999.9               HEADING 'Used(in G)'
COLUMN pct_used    FORMAT 99.99               HEADING 'Pct. Used'

BREAK ON report
COMPUTE SUM label "Total: " OF ts_size used free ON report

SELECT
    d.status                                            status
  , d.tablespace_name                                   name
  , d.contents                                          type
  , d.extent_management                                 extent_mgt
  , d.segment_space_management                          segment_mgt
  , NVL(a.bytes, 0)/1024/1024/1024                      ts_size
  , NVL(f.bytes, 0)/1024/1024/1024                      free
  , NVL(a.bytes - NVL(f.bytes, 0), 0)/1024/1024/1024    used
  , TRUNC(NVL((a.bytes - NVL(f.bytes, 0)) / a.bytes * 100, 0))
                                                        pct_used
FROM
    sys.dba_tablespaces d
  , ( select tablespace_name, sum(bytes) bytes
      from dba_data_files
      group by tablespace_name
    ) a
  , ( select tablespace_name, sum(bytes) bytes
      from dba_free_space
      group by tablespace_name
    ) f
WHERE
      d.tablespace_name = a.tablespace_name(+)
  AND d.tablespace_name = f.tablespace_name(+)
  AND NOT (
    d.extent_management like 'LOCAL'
    AND
    d.contents like 'TEMPORARY'
  )
UNION ALL
SELECT
    d.status                                    status
  , d.tablespace_name                            name
  , d.contents                                   type
  , d.extent_management                          extent_mgt
  , d.segment_space_management                   segment_mgt
  , NVL(a.bytes, 0)/1024/1024/1024                    ts_size
  , NVL(a.bytes - NVL(t.bytes,0), 0)/1024/1024/1024   free
  , NVL(t.bytes, 0)/1024/1024/1024                    used
  , TRUNC(NVL(t.bytes / a.bytes * 100, 0))       pct_used
FROM
    sys.dba_tablespaces d
  , ( select tablespace_name, sum(bytes) bytes
      from dba_temp_files
      group by tablespace_name
    ) a
  , ( select tablespace_name, sum(bytes_cached) bytes
      from v$temp_extent_pool
      group by tablespace_name
    ) t
WHERE
      d.tablespace_name = a.tablespace_name(+)
  AND d.tablespace_name = t.tablespace_name(+)
  AND d.extent_management like 'LOCAL'
  AND d.contents like 'TEMPORARY'
ORDER BY  3,9 desc;

19:检查表空间碎块状块

col tablespace name form a25

select tablespace_name, count(*) chunks,

max(bytes)/1024/1024 max_chunk,

sum(bytes)/1024/1024 total_space

from dba_free_space group by tablespace_name;

20:检查回滚段名称,大小,状态

20.1

select segment_name, tablespace_name,r.status,

(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,

max_extents, v.curext CurExtent

From dba_rollback_segs r, v$rollstat v

Where r.segment_id = v.usn(+)

order by segment_name ;

20.2

SELECT

    a.owner || '.' || a.segment_name          roll_name

  , a.tablespace_name                         tablespace

  , TO_CHAR(a.initial_extent) || ' / ' ||

    TO_CHAR(a.next_extent)                    in_extents

  , TO_CHAR(a.min_extents)    || ' / ' ||

    TO_CHAR(a.max_extents)                    m_extents

  , a.status                                  status

  , b.bytes                                   bytes

  , b.extents                                 extents

  , d.shrinks                                 shrinks

  , d.wraps                                   wraps

  , d.optsize                                 opt

FROM

    dba_rollback_segs a

  , dba_segments b

  , v$rollname c

  , v$rollstat d

WHERE

       a.segment_name = b.segment_name

  AND  a.segment_name = c.name (+)

  AND  c.usn          = d.usn (+)

ORDER BY a.segment_name;

21:检查数据库告警文件及大小

21.1:

show parameter background_dump_dest;

21.2:进入目录,查找alert_ORACLE_SID.log, 按日期另存为如:alert_ORACLE_SID20151211.LOG。再打开alert_ORACLE_SID.LOG文件可清除掉里面的内容

22:检查归档日志目录使用情况

show parameter archive log;

show parameter log_archive_dest;

show parameter db_recovery_file_dest;

show parameter recover;

使用

select * from V$FLASH_RECOVERY_AREA_USAGE;

检查使用率,如果占用率很高,应该建议进入rman检查过期归档日志并且删除.

检查一周内每天的生成量:

    select THREAD#, 

           logtime, 

           count(*), 

           round(sum(blocks * block_size) / 1024 / 1024) mbsize 

      from (select THREAD#, 

                   trunc(first_time, 'dd') as logtime, 

                   a.BLOCKS, 

                   a.BLOCK_SIZE 

              from v$archived_log a 

             where a.DEST_ID = 1 

               and a.FIRST_TIME > trunc(sysdate - 7)) 

     group by THREAD#, logtime 

     order by THREAD#, logtime desc;

23:exp dump目录使用情况:

检查空间大小,inod数目

24:检查数据库所在主机,程序所在目录空间使用情况.

查看活动卷组lsvg – o

查看卷组空间:lsvg 卷组名

查看给oracle使用的卷组:lsvg –l 卷组名

第三部分 :数据库性能,资源,对象监控

25:检查控制文件状态

select * from v$controlfile;

26:检查日志文件状态

select * from v$logfile;

27:检查日志组信息:

select * from v$log;

28:检查数据文件状态:

select file_name,status from dba_data_files;

29:检查数据文件存放路径

col file_name format a50

select tablespace_name,file_id,bytes/1024/1024 MB,file_name from dba_data_files order by file_id;

30:检查数据文件自动增长控制

col file_name format a50

select file_name,autoextensible from dba_data_files;

31:检查临时数据文件路径

select file_name from Dba_temp_files;

32:检查闪回恢复区路径

select name from v$recovery_file_dest;

33:检查数据库库对象

select owner, object_type, status, count(*) count# from all_objects group by owner, object_type,status order by owner;

34:检查数据版本:

Select version from PRODUCT_COMPONENT_VERSION where SUBSTR(PRODUCT,1,6)='Oracle';

select * from v$version;

35:检查当前所有对象

select * from tab;

36:检查当前连接用户

show user;

select user from dual;

 ---查询用户会话

select username,serial#, sid from v$session;

1、查询oracle的连接数

select count(*) from v$session;

2、查询oracle的并发连接数

select count(*) from v$session where status='ACTIVE';

3、查看不同用户的连接数

select username,count(username) from v$session where username is not null group by username;

4、查看所有用户:

select * from all_users;

5、查看用户或角色系统权限(直接赋值给用户或角色的系统权限):

select * from dba_sys_privs;

select * from user_sys_privs;

6、查看最大连接数

select value from v$parameter where name = 'processes';

37:检查已有的用户

select username from dba_users;

-查看当前有哪些用户正在使用数据
SELECT osuser, a.username,cpu_time/executions/1000000||'s', sql_fulltext,machine
from v$session a, v$sqlarea b
where a.sql_address =b.address order by cpu_time/executions desc;
select count(*) from v$session #连接数

38:查看连接到数据库的用户和状态

38.1

SELECT username, machine, program, status, COUNT (machine) AS
连接数量
FROM v$session
GROUP BY username, machine, program, status
ORDER BY machine;

38.2

select sid,serial#,username,program,machine,status
from v$session;

38.3:

查看连接到数据库的用户和状态

SELECT s.Osuser Os_User_Name,Decode(Sign(48 - Command),1,To_Char(Command),

'Action Code #' || To_Char(Command)) Action,

p.Program Oracle_Process, Status Session_Status, s.Terminal Terminal,

s.Program Program, s.Username User_Name,

s.Fixed_Table_Sequence Activity_Meter, '' Query, 0 Memory,

0 Max_Memory, 0 Cpu_Usage, s.Sid, s.Serial# Serial_Num

FROM V$session s, V$process p

WHERE s.Paddr = p.Addr

AND s.TYPE = 'USER'

ORDER BY s.Username, s.Osuser;

39: 查看当前会话中的用户和sql状态

SELECT osuser, username, sql_text

FROM v$session a,v$sqltext b

WHERE a.sql_address = b.address

ORDER BY address, piece;

40:查看CPU占用最多的会话

select a.sid,  spid, status,substr(a.program,1,40) prog, a.terminal,

osuser, value/60/100 value

from v$session a, v$process b, v$sesstat c

where c.statistic#=12

and c.sid=a.sid

and a.paddr=b.addr

order by value desc;

41:检查所有表,索引,存储过程,触发器,包,对象等状态。如果存在无效对象,须立即上报

41.1检查索引Blevel〉4的值

set lines 150

select owner,table_name,index_name,index_type,BLEVEL from dba_indexes where BLEVEL = 4;

select owner,object_name,object_type

from dba_objects where status!='VALID'

and owner!='SYS' and owner='SYSTEM';

42:检查当前用户的缺省表空间,临时表空间:

select username,default_tablespace,temporary_tablespace from user_users;

43:检查当前的用户角色:

select * from user_role_privs;

44:检查当前用户的系统权限和表级权限:

select * from user_sys_privs;

select * from user_tab_privs;

45:检查用户下所有的表

Select * from user_tables;

46:检查各个表的大小,按数据对象和大小排序

Select Segment_Name,segment_type, Sum(bytes)/1024/1024 as MB From User_Extents Group By Segment_Name, segment_type order by MB desc;

不排序

Select Segment_Name,Sum(bytes)/1024/1024 MB From User_Extents Group By

Segment_Name order by sum(bytes)/1024/1024 desc;

47:检查指定表的创建时间:

47.1

select object_name,created from user_objects where object name=upper('&table_name');

47.2:

检查表空间碎片

select t.tablespace_name,

 sum(t.bytes),

 max(t.bytes),

 count(*),

 max(t.bytes) / sum(t.bytes) radio

 from dba_free_space t

 group by t.tablespace_name

 order by t.tablespace_name;

48:检查名称包含log的表:

select object_name,object_id from user_objects

where instr(object_name,'LOG')>0;

49:检查某个表的大小

查询有多少表

select table_name,tablespace_name from user_tables;

无特殊要求不用检查

select sum(bytes)/(1024* 1024) as "size(M)" from user_segments

where segment_namesupper('&table_name');

select num_rows * avg_row_len/1024/1024

from user_tables

where table_name = ‘表名大写’

50:检查放在内存中的表:

select table_name,cache from user_tables where instr(cache,'Y')>0;

51:检查索引的个数和类别

select index_name,index_type,table_name from user_indexes order by table_name;

52:检查索引中被索引的字段:

无特殊要求可不用检查

select" from user_ind_columns where index_namo=upper('&index_name');

53:检查索引的大小:

无特殊要求可不用检查

select sum(bytes)/(1024" 1024) as "size(M)" from user_segments

where segment_name=upper('&index_name');

54:检查失效索引:

select owner,table_name,index_name from dba_indexes where status = 'UNUSABLE';

select index_name, owner, table_name, tablespace_name from dba_indexes

where owner not in ('SYS','SYSTEM') and status !='VALID';

55:检查有无失效对象

如果有失效对象,应该立刻上报

55.1

select object_name,object_type,owner, status

from dba_objects

where status !='VALID'

and owner not in ('SYS','SYSTEM')

and object_type in ('TRIGGER','VIEW','PROCEDURE','FUNCTION');

55.2

查看系统中无效对象数个数

SELECT COUNT(*) FROM dba_objects WHERE status = 'INVALID' AND object_name NOT LIKE 'BIN$%' AND object_type NOT IN ('MATERIALIZED VIEW');

55.3

查看无效对象具体信息:

SELECT OBJECT_NAME, OBJECT_TYPE, OWNER, CREATED, LAST_DDL_TIME, TIMESTAMP FROM dba_objects WHERE status = 'INVALID' AND object_name NOT LIKE 'BIN$%' AND object_type NOT IN ('MATERIALIZED VIEW');

56:检查流水号:

select * from user_sequences;

57:检查流水号的使用

select sequence_owner, sequence_name ,min_value, last_number,max_value,  increment_by, cache_size,cycle_flag

from dba_sequences;

检查是否有临近max_value 的sequence

58:查看视图名称

无特别要求不用检查

select view_name from user_views;

59:获取创建视图的DDL语句

无特别要求不用检查

select text from user_views where view_name=upper('&vicw name');

60:查看同义词名称

检查同义词失效

set linesize 1000

SELECT OBJECT_NAME, OBJECT_TYPE, OWNER, CREATED, LAST_DDL_TIME, TIMESTAMP FROM dba_objects WHERE status = 'INVALID';

无特别要求不用检查

60.1

select * from user_synonyms;

60.2

set linesize 1000

SELECT OBJECT_NAME, OBJECT_TYPE, OWNER, CREATED, LAST_DDL_TIME, TIMESTAMP FROM dba_objects WHERE status = 'INVALID';

61:检查某个表的约束条件:

select constraint_name,constraint_type,search_condition, r_constraint_name from user_constraints

where table_name = upper('&table_name');

select c.constraint_name,c.constraint_type,cc.column_name

from user_constraints c,user_cons_columns cc

where c.owncr = upper('&table owner') and c.table_name = upper('&table_name')

and c.owncr = cc.owner and c.constraint_name = cc.constraint_name

order by cc.position;

62:检查全部对象约束

SELECT OWNER, CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME FROM

DBA_CONSTRAINTS

WHERE STATUS='DISABLED';

63:检查触发器状态:

SELECT OWNER,TRIGGER_NAME,TRIGGER_TYPE FROM DBA_TRIGGERS

WHERE STATUS = 'DISABLED'

64:检查函数和过程状态:

select object_name,status from user_objects where object_type='FUNCTION';

select object_name,status from user_objects where object_type='PROCEDURE';

如有无效的须上报

65:监控等待事件

select event,

sum(decode(wait_Time,0,0,1))  "Prev",

sum(decode(wait_Time,0,1,0))  "Curr",

count(*)  "Tot"

from v$session_Wait

group by event

order by 4;

66:数据库相关文件系统I/O:

select substr(a.file#,1,2) "#",

substr(a.name,1,30)"Name",

a.status,

a.bytes,

b.phyrds,

b.phywrts

from v$datafile a,

v$filestat b

where a.file# = b.file#;

67:获取函数和过程的源代码:

如无要求不用查

select text from_all_source where owner=uscr and name=upper('&plsgl_name');

68:检查当前数据库的有几个连接

select username,sid,serial#, machine, status from v$session;

kill掉某SID的进程

alter system kill session 'sid,senal#';

或者

select pro.spid from v$session ses,v$process pro where ses.sid=1(sid号) and ses.paddr=pro.addr;

69:检查定时作业完成的情况

select job,log_user,last_date,failures from dba_jobs;

select  job, this_date, this_sec,next_date, next_sec, failures, what

from dba_jobs where failures !=0 or failures is not null;

70:数据库警告日志检查

%ORACLE BASE%\admin\SID\bdump

71:分析重做日志的切换频率

select * from v$log 

where a.THREAD# = 1

select b.SEQUENCE#, b.FIRST_TIME,

       a.SEQUENCE#, a.FIRST_TIME,

       round(((a.FIRST_TIME-b.FIRST_TIME)*24)*60,2)

from v$log_history a, v$log_history b

where a.SEQUENCE# = b.SEQUENCE#+1

and b.THREAD#=1

order by a.SEQUENCE# desc

select sequence#,first_time,nexttime,round(((first_time-nexttime)*24)*60,2) diff

from (

select sequence#,first_time, lag(first_time) over(order by sequence#) nexttime

from v$log_history

where thread#=1

) order by sequence# desc;

71.1检查redo log日志:

select group#,sequence#,bytes/1024/1024 MB,members,status,first_change# from v$log;

select group#,sequence#,bytes/1024/1024 sizeMB,members,status from v$log;

71.1

SELECT   to_char(first_time, 'yyyy-mm-dd') Day, COUNT (*) switch_times,

         SUM(decode(to_char(first_time, 'hh24'),'00',1,0)) "h0",

         SUM(decode(to_char(first_time, 'hh24'),'01',1,0)) "h1",

         SUM(decode(to_char(first_time, 'hh24'),'02',1,0)) "h2",

         SUM(decode(to_char(first_time, 'hh24'),'03',1,0)) "h3",

         SUM(decode(to_char(first_time, 'hh24'),'04',1,0)) "h4",

         SUM(decode(to_char(first_time, 'hh24'),'05',1,0)) "h5",

         SUM(decode(to_char(first_time, 'hh24'),'06',1,0)) "h6",

         SUM(decode(to_char(first_time, 'hh24'),'07',1,0)) "h7",

         SUM(decode(to_char(first_time, 'hh24'),'08',1,0)) "h8",

         SUM(decode(to_char(first_time, 'hh24'),'09',1,0)) "h9",

         SUM(decode(to_char(first_time, 'hh24'),'10',1,0)) "h10",

         SUM(decode(to_char(first_time, 'hh24'),'11',1,0)) "h11",

         SUM(decode(to_char(first_time, 'hh24'),'12',1,0)) "h12",

         SUM(decode(to_char(first_time, 'hh24'),'13',1,0)) "h13",

         SUM(decode(to_char(first_time, 'hh24'),'14',1,0)) "h14",

         SUM(decode(to_char(first_time, 'hh24'),'15',1,0)) "h15",

         SUM(decode(to_char(first_time, 'hh24'),'16',1,0)) "h16",

         SUM(decode(to_char(first_time, 'hh24'),'17',1,0)) "h17",

         SUM(decode(to_char(first_time, 'hh24'),'18',1,0)) "h18",

         SUM(decode(to_char(first_time, 'hh24'),'19',1,0)) "h19",

         SUM(decode(to_char(first_time, 'hh24'),'20',1,0)) "h20",

         SUM(decode(to_char(first_time, 'hh24'),'21',1,0)) "h21",

         SUM(decode(to_char(first_time, 'hh24'),'22',1,0)) "h22",

         SUM(decode(to_char(first_time, 'hh24'),'23',1,0)) "h23"

 FROM    V$log_history WHERE first_time > trunc (sysdate - 30)GROUP BY ROLLUP

 (TO_CHAR(first_time,'yyyy-mm-dd'));

71.2

SELECT

B.RECID,B.FIRST_TIME,A.FIRST_TIME,ROUND((A.FIRST_TIME-B.FIRST_TIME)*24*60,2)  MINATES

FROM V$LOG_HISTORY A,V$LOG_HISTORY B

WHERE A.RECID=B.RECID +1 AND A.FIRST_TIME>SYSDATE - 20 AND

ROUND((A.FIRST_TIME-B.FIRST_TIME)*24*60,2)<30

ORDER BY A.FIRST_TIME DESC;

71.3:

SELECT  trunc(first_time) "Date",
        to_char(first_time, 'Dy') "Day",
        count(1) "Total",
        SUM(decode(to_char(first_time, 'hh24'),'00',1,0)) "h0",
        SUM(decode(to_char(first_time, 'hh24'),'01',1,0)) "h1",
        SUM(decode(to_char(first_time, 'hh24'),'02',1,0)) "h2",
        SUM(decode(to_char(first_time, 'hh24'),'03',1,0)) "h3",
        SUM(decode(to_char(first_time, 'hh24'),'04',1,0)) "h4",
        SUM(decode(to_char(first_time, 'hh24'),'05',1,0)) "h5",
        SUM(decode(to_char(first_time, 'hh24'),'06',1,0)) "h6",
        SUM(decode(to_char(first_time, 'hh24'),'07',1,0)) "h7",
        SUM(decode(to_char(first_time, 'hh24'),'08',1,0)) "h8",
        SUM(decode(to_char(first_time, 'hh24'),'09',1,0)) "h9",
        SUM(decode(to_char(first_time, 'hh24'),'10',1,0)) "h10",
        SUM(decode(to_char(first_time, 'hh24'),'11',1,0)) "h11",
        SUM(decode(to_char(first_time, 'hh24'),'12',1,0)) "h12",
        SUM(decode(to_char(first_time, 'hh24'),'13',1,0)) "h13",
        SUM(decode(to_char(first_time, 'hh24'),'14',1,0)) "h14",
        SUM(decode(to_char(first_time, 'hh24'),'15',1,0)) "h15",
        SUM(decode(to_char(first_time, 'hh24'),'16',1,0)) "h16",
        SUM(decode(to_char(first_time, 'hh24'),'17',1,0)) "h17",
        SUM(decode(to_char(first_time, 'hh24'),'18',1,0)) "h18",
        SUM(decode(to_char(first_time, 'hh24'),'19',1,0)) "h19",
        SUM(decode(to_char(first_time, 'hh24'),'20',1,0)) "h20",
        SUM(decode(to_char(first_time, 'hh24'),'21',1,0)) "h21",
        SUM(decode(to_char(first_time, 'hh24'),'22',1,0)) "h22",
        SUM(decode(to_char(first_time, 'hh24'),'23',1,0)) "h23"
FROM    V$log_history
group by trunc(first_time), to_char(first_time, 'Dy')
Order by 1

72 检查重做日志命中率:

SELECT

B.RECID,B.FIRST_TIME,A.FIRST_TIME,ROUND((A.FIRST_TIME-B.FIRST_TIME)*24*60,2)  MINATES

FROM V$LOG_HISTORY A,V$LOG_HISTORY B

WHERE A.RECID=B.RECID +1 AND A.FIRST_TIME>SYSDATE - 20 AND

ROUND((A.FIRST_TIME-B.FIRST_TIME)*24*60,2)<30

ORDER BY A.FIRST_TIME DESC;

73:检查重做日志缓冲区

SELECT TO_CHAR(ROUND  ((r.VALUE / e.VALUE)  *  100,  2),'990.99')||

'%'  "redolog buffer retry ratio"

FROM v$sysstat  r,  v$sysstat e WHERE r.NAME='redo buffer allocation

retries'AND e.NAME = 'redo entries';

74:查看资源限制信息

SELECT * FROM v$resource limit;

75:检查尚未建立索引的表:

无特别说明不用查

SELECT /*+ rule */owner, segment_name, segment_type, tablespace_name,

TRUNC (BYTES / 1024 / 1024,  1)  size_mb

FROM dba_segments t

WHERE NOT EXISTS  ( SELECT  'x'  FROM dba_indexes i

WHERE t.owner = i.table_owner

AND t.segment_name = i.table_name)

AND t.segment_type IN  ('TABLE',  'TABLE PARTITION')

AND t.owner NOT IN  ('SYS',  'SYSTEM')

ORDER BY 5 DESC;

76:检查长时间运行的sql语句

76.1

SELECT sql_text  "SQL",  executions "运行次数", buffer_gets /

decode (executions,  0,  1, executions)  / 4000 "响应时间"

FROM v$sql WHERE buffer_gets /decode (executions, 0,1, executions)/ 4000>

10 AND executions > 0;

76.2找出低效sql语句

SELECT EXECUTIONS , DISK_READS, BUFFER_GETS, ROUND

((BUFFER_GETS-DISK_READS)/BUFFER_GETS,  2)  Hit_radio,

ROUND(DISK_READS/EXECUTIONS, 2) Reads_per_run,  SQL_TEXT

FROM V$SQLAREA

WHERE EXECUTIONS > 0 AND BUFFER_GETS > 0 AND

(BUFFER_GETS-DISK_READS)/BUFFER_GETS < 0.8

ORDER BY 4 DESC;

76.3检查最耗费资源的前10条sql语句

SELECT * FROM

  (

   SELECT PARSING_USER_ID

          EXECUTIONS,

          SORTS,

          COMMAND_TYPE,

          DISK_READS,

          sql_text

      FROM  v$sqlarea

     ORDER BY disk_reads DESC

   )

  WHERE ROWNUM<11;

76.3  产看占用IO较大的session

SELECT se.sid,

se.serial#,

pr.SPID,

se.username,

se.status,

se.terminal,

se.program,

se.MODULE,

se.sql_address,

st.event,

st.p1text,

si.physical_reads,

si.block_changes

FROM v$session se,

v$session_wait st,

v$sess_io si,

v$process pr

WHERE st.sid=se.sid

AND st.sid=si.sid

AND se.PADDR=pr.ADDR

AND se.sid>6

AND st.wait_time=0

AND st.event NOT LIKE '%SQL%'

ORDER BY physical_reads DESC

76.4 查询繁忙的进程详细信息

Select sql_address from v$session where sid=XXX;

Select * from v$sqltext where address=XXX

;

77:检查表空间IO

select df.tablespace_name name,df. file_name "file", f.phyrds  "物理读次数

",  f.phyblkrd "'物理读BLOCKS",f.phywrts "物理写",  f.phyblkwrt "物理写

BLOCKS"

from v$filestat f, dba_data_files df

where f.file# = df.file_id

order by df.tablespace_name;

78:检查数据文件IO

select substr(a.file#,1,2)  "#", substr(a.name,1,30)  "Name", a.status,

a.bytes, b.phyrds, b.phywrts

from v$datafile a, v$filestat b where a.file# = b.file#;

79:检查临时表空间IO

SELECT se.username 用户名, se.sid,se.serial#, se.sql_address, se.machine,

se.program,  su.tablespace,

su.blocks*8192/1024/1024 "Used Space(M)",  su.segtype,  su.contents

FROM v$session se,  v$sort_usage su

WHERE se.saddr=su.session_addr;

80:检查锁等待:

SELECT /*+ rule */ lpad(' ',decode (l.xidusn ,0,3,0))||l.oracle_username

User_name,  o.owner,o.object_name,o.object_type,s.sid,s.serial#

FROM v$locked_object l,dba_objects o,v$session s

WHERE l.object_id=o.object_id AND l.session_id=s.sid

ORDER BY o.object_id,xidusn DESC;

81:磁盘ASM状态检查

文件系统的不用查此项

select group_number, name, state, total_mb, free_mb from

v$asm diskgroup;

select * from v$asm_disk;

82:CRS 的检查

crs stat -t

crs stat –ls

ls $ORA_CRS_HOME/bin|grep"crs "|grep -v bin

83:数据库备份状态检查

进入rman,查看备份日志,有无失败。

84:数据库坏块检查:

无特殊要求不用检查

用dbv进行备份有效性验证

select name from v$datafile;

用实际路径代替有下划线的路径

dbv file=/oracleruanko/app/oracle/oracle/product/10.2.0/ruanko/dbs/ruankotest blocksize=8192

也可验证dbf文件有效性

!dbv file=/oracle/ora11gR2/oradata/ticket/users01.dbf

检查log文件有效性:

(2)如果指定logfile参数,检查结果将只记录在日志文件中,屏幕上不显示
  !dbv file=/oracle/ora11gR2/oradata/ticket/users01.dbf logfile=dbv_users01.log

查看log:

ed dbv_users01.log

85:数据库版本,升级信息,补丁包控制

检查补丁包

/usr/sbin/instfix –ia

检查数据库版本和单独补丁

oracle/P01/11202/OPatch/opatch lsinventory

86:检查行迁移

select owner,table_name,num_rows,chain_cnt from dba_tab_statistics where owner = 'SAPP11' and chain_cnt !=0;

'SAPP11'为SID名称

更多相关推荐:
怎样写好research proposal(中文)

大多数学生和刚起步的研究者都不了解什么是研究计划也不知道其重要性简单的说一个人研究计划的好坏决定了其研究的好坏一个构思欠佳的研究计划会毁了整个项目即使它勉强通过了论文答辩委员会另一方面一个高质量的研究计划不仅确...

research proposal范文

Researchproposal1TitleCormacMcCarthysTheRoadandAmericanModernEschatologyOrModernEschatologyofthe21stcentu...

research proposal

DevelopingResearchProposalsHandoutPreparedbyTedZornUniversityofWaikatoThisisahandoutIoftengivetostudentswhenIexpect...

申请文书Research proposal怎么写

申请文书Researchproposal怎么写首先先讨论最常见的SOP无论申请什么学校一定都会要求SOP这份文件通常分以下几个部份大学时期修过课程大学时期研究硕班时期修过课程硕班时期研究课外活动打工或经验毕业后...

怎样写好research proposal

每个学术研究者必须经历的一道关卡就是ResearchProposal的写作它大致对应中文里的开题报告选题报告研究报告是一项研究开始之前的提纲规划和陈述既是为了帮助自己梳理文献整理思路廓清方向也常常是写给相关他人...

怎样写一篇好的research proposal

怎样写一篇好的researchproposal每个学术研究者必须经历的一道关卡就是ResearchProposal的写作它大致对应中文里的开题报告选题报告研究报告是一项研究开始之前的提纲规划和陈述既是为了帮助自...

Research-Proposal-写作格式-20xx (1)

ResearchProposalBandIII20xxResearchProposalSchoolofForeignLanguages20xx031ResearchProposalBandIII20xx2ResearchPropo...

research proposal

ResearchProposal班级学号姓名TheEvolutionofAfricanAmericanLiteraturefromRacialConsciousnesstoSexualConsciousness...

Research Proposal

ResearchProposalTitleAnEmpiricalstudyoftherelationshipbetweendomesticcorporatesocialresponsibilityandcorporatefinan...

应用语言学research proposal

AppliedLinguisticsClass翻译092Number09070320xxName蒋坚荣南通大学外国语学院专业选修课课程作业ResearchProposal专业方向英语翻译学生姓名蒋坚荣学号090...

research Proposal

Title1IntroductionTips1Whatsthesubjectyouhavediscovered2Whatmethodsdoyouintendtoadopt3Whydoyoutakeinteres...

proposal basis 范例

proposalbasis应该是解释你为什么选这个题目有什么意义可以是比较新没有很多前人研究的东西也可以是著名的作品你找到了新的角度或者从个人经历上比较吸引你之类proposalbasis范例1DorisLes...

research proposal (30篇)