网站首页 > 技术文章 正文
概述
今天续一下之前讲oracle日常巡检方面的内容,还有几个方面忘记继续说了,下面主要介绍下平时怎么去检查数据库cpu、I/O、内存性能。
其实记录数据库的cpu使用、IO、内存等使用情况,可以使用vmstat,iostat,sar,top等命令进行信息收集并检查这些信息
1、CPU使用情况
top+M
2、内存使用情况
free -m
3、系统I/O情况
iostat -k 1 3
4、系统负载情况
uptime
5、查看是否有僵死进程
select SPID,USERNAME,TRACEFILE from v$process where addr not in (select paddr from v$session);
有些僵尸进程有阻塞其他业务的正常运行,定期杀掉僵尸进程。
6、检查行链接/迁移
select table_name, num_rows, chain_cnt From dba_tables where owner = 'GZCSS_NWPP' And chain_cnt <> 0;
注:含有long raw列的表有行链接是正常的,找到迁移行保存到chained_rows表中,如没有该表执行../rdbms/admin/utlchain.sql
如果有数据的话就analyze table tablename list chained rows;
可通过表chained_rows中table_name,head_rowid看出哪些行是迁移行
7、定期做统计分析
对于采用Oracle Cost-Based-Optimizer的系统,需要定期对数据对象的统计信息进行采集更新,使优化器可以根据准备的信息作出正确的explain plan。在以下情况更需要进行统计信息的更新:
a. 应用发生变化 b. 大规模数据迁移、历史数据迁出、其他数据的导入等 c .数据量发生变化
查看表或索引的统计信息是否需更新,如:
Select table_name,num_rows,last_analyzed From user_tables where table_name ='T_GD_GGDAB'
select count(*) from T_GD_GGDAB
如num_rows和count(*)行数相差很多,则该表需要更新统计信息,建议一周做一次统计信息收集,如:
exec sys.dbms_stats.gather_schema_stats(ownname=>'GZCSS_NWPP',cascade => TRUE,degree => 4);
8、检查缓冲区命中率
SELECT a.VALUE + b.VALUE logical_reads,
c.VALUE phys_reads,
round(100 * (1 - c.value / (a.value + b.value)), 4) hit_ratio
FROM v$sysstat a, v$sysstat b, v$sysstat c
WHERE a.NAME = 'db block gets'
AND b.NAME = 'consistent gets'
AND c.NAME = 'physical reads';
如果命中率低于90%则需加大数据库参数db_cache_size。
9、检查共享池命中率
select sum(pinhits) / sum(pins) * 100 from v$librarycache;
如低于95%,则需要调整应用程序使用绑定变量,或者调整数据库参数shared pool的大小。
10、检查排序区
select name,value from v$sysstat where name like '%sort%';
如果disk/(memoty+row)的比例过高,则需要调整sort_area_size(workarea_size_policy=false)或pga_aggregate_target(workarea_size_policy=true)。
11、检查日志缓冲区
select name,value from v$sysstat where name in ('redo entries','redo buffer allocation retries');
如果redo buffer allocation retries/redo entries超过1%,则需要考虑增大log_buffer。
关于oracle数据库检查数据库cpu、I/O、内存和其他性能方面就介绍到这了,后面再介绍下怎么检查数据库安全方面,感兴趣的朋友可以关注下!
猜你喜欢
- 2025-09-01 新增支持Win11 Arm,甲骨文开源虚拟机VirtualBox 7.2发布
- 2025-09-01 核心库CPU飙到99%了!我发现很多DBA都不会看日志……
- 2024-11-07 使用Sysbench测试统信UOS或麒麟KYLINOS的CPU性能
- 2024-11-07 Flink oracle cdc - Oracle Logminer
- 2024-11-07 安全与优化并重 甲骨文SPARC M7处理器解析
- 2024-11-07 AMD R7 4750G在java开发中的日常体验
- 2024-11-07 CPU百分百?别慌,教你迅速排查的三种姿势
- 2024-11-07 Oracle正式发布MySQL HeatWave Lakehouse
- 2024-11-07 VMWare向AMD处理器开刀:你核心多,就要多缴费
- 2024-11-07 结合我们公司的需求,看了ORACLE的收费,决定弃购!
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- oracle面试 (55)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)