Oracle 数据库健康状态检查

数据库健康状态检查
使用utl指令、statspack、awr来检查数据库的健康状态


前提:

> show parameter time_ timed_statistics;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
timed_statistics                     boolean     TRUE


1:utl

##在8i之前只有这个方式,当然在后续的版本中还是有这个功能的

$ cd /doiido/oracle/product/11.2.0.1/db_1/rdbms/admin
$ sqlplus / as sysdba
> @utlbstat.sql
> @utlestat.sql

##上面两条指令分别代表了开始时间以及关闭时间,然后会在当前目录下生成一个report.txt文件


2:statspack
##在8i,9i中使用的方法,当然在后续版本中也存在该功能,这个的好处是可以使用JOB去调度它
2.1首先建立一个表空间,也可以不建,但是必须至少有80M的空间
sql> CREATE TABLESPACE statspack DATAFILE '/doiido/oracle/oradata/statspack.dbf' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 500M EXTENT MANAGEMENT local UNIFORM SIZE 128K SEGMENT SPACE MANAGEMENT auto;


2.2进行statspack安装
$ cd /doiido/oracle/product/11.2.0.1/db_1/rdbms/admin
$ sqlplus / as sysdba
@spcreate.sql

##接下来会自动创建一个用户,你需要输入这个用户的的密码,同时还会让你选择默认表空间,默认临时表空间

2.3手动使用statspack生成性能报告。抓取快照,必须2次或更多
sql> conn perfstat/oracle
sql> exec statspack.snap  
sql> exec statspack.snap


2.4生成报告
sql> @spreport.sql
##这里会提示你输入报告的开始和结束的快照ID,注意必须是在同一个没有中断数据库的周期内的连续快照,然后会让你选择报告的名字,也可以选择默认,报告生成默认在当前目录下面

2.5其他功能
(1)如果安装过程出错
必须先用spdrop.sql删除,spcreate.sql创建的相关信息
sql> conn / as sysdba 
sql> @spdrop.sql
sql> @spcreate.sql



(2)将statspack安装成自动执行,每小时抓取一次快照
> @spauto.sql
##检查任务中是否有这个任务,并且可以看到job的ID 
sql> select * from dba_job;
##如果不想自动抓取快照,记下job的ID后执行
sql> conn perfstat/oracle
sql> exec dbms_remove(n)



3:ARW
##在10g之后的版本支持该功能,默认是开启的
$ cd /doiido/oracle/product/11.2.0.1/db_1/rdbms/admin
> @awrrpt.sql
##然后让你选是要什么格式的(默认是html格式的),同样也是要选择开始和结束的快照ID,然后定义输出文件的名字即可,生成也是在当前目录下
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值