网站首页 > 技术文章 正文
概述
今天续一下之前讲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、内存和其他性能方面就介绍到这了,后面再介绍下怎么检查数据库安全方面,感兴趣的朋友可以关注下!
猜你喜欢
- 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的收费,决定弃购!
- 2024-11-07 oracle故障处理-业务处理慢数据库CPU使用率低resmgr:cpu quantum
- 2024-11-07 Oracle 中查找 CPU 使用最多的会话或 SQL 查询
你 发表评论:
欢迎- 617℃几个Oracle空值处理函数 oracle处理null值的函数
- 610℃Oracle分析函数之Lag和Lead()使用
- 599℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 595℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 591℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 582℃【数据统计分析】详解Oracle分组函数之CUBE
- 572℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 560℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- PageHelper - 最方便的 MyBatis 分页插件
- 面试二:pagehelper是怎么实现分页的,
- MyBatis如何实现分页查询?(mybatis-plus分页查询)
- SpringBoot 各种分页查询方式详解(全网最全)
- 如何在Linux上运行exe文件,怎么用linux运行windows软件
- 快速了解hive(快速了解美国50个州)
- Python 中的 pyodbc 库(pydbclib)
- Linux搭建Weblogic集群(linux weblogic部署项目步骤)
- 「DM专栏」DMDSC共享集群之部署(一)——共享存储配置
- 故障分析 | MySQL 派生表优化(mysql pipe)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)