oracle数据库日志查看
操作系统下查看方法:
cd $ORACLE_BASE
cd diag/rdbms/实例名/实例名1
cd trace
tail -100f alert_实例名1.log | less
tail -3000f alert_实例名1.log | less
SFTP工具连接查看:
/u01/app/oracle/diag/rdbms/实例名/实例名1/trace
cd /home/oracle/logs/ --oracle备份运行日志查看
cd /home/oracle/ --oracle生成AWR报告后下载目录
--CPU状态巡检。如果未安装的,使用yum -y install iostat安装。
iostat -c 3 9999
--IO状态巡检
iostat -d -x -k 3 9
rrqm/s: 每秒对该设备的读请求被合并次数,文件系统会对读取同块(block)的请求进行合并 wrqm/s: 每秒对该设备的写请求被合并次数 r/s: 每秒完成的读次数 w/s: 每秒完成的写次数 rMB/s: 每秒读数据量(MB为单位) wMB/s: 每秒写数据量(MB为单位) avgrq-sz:平均每次IO操作的数据量(扇区数为单位) avgqu-sz: 平均等待处理的IO请求队列长度(肯定约低越好) await: 平均每次IO请求等待时间(包括等待时间和处理时间,毫秒为单位) svctm: 平均每次IO请求的处理时间(毫秒为单位) %util: 采用周期内用于IO操作的时间比率,即IO队列非空的时间比率(越低越好,越高性能约差)
--IO巡检。iotop是top和iostat程序的混合体。如果未安装的,使用yum -y install iotop安装。
iotop
--下载AWR报告
进入sqlplus环境以系统管理员连接
@?/rdbms/admin/awrrpt 本实例
@?/rdbms/admin/awrrpti RAC中选择实例号
回车默认生成html类型报告,输入1,默认当天的数据。输入开始和结束号,输入文件名。生成html格式的AWR报告。再使用SFTP在/home/oracle目录下载。
下的AWR报告,用浏览器打开查看。重点查看,SQL ordered by User I/O Wait Time此项,记录了收集时间段的等待时间的TOP SQL
Elapsed Time (s) | Executions | Elapsed Time per Exec (s) | %Total | %CPU | %IO | SQL Id | SQL Module | SQL Text |
---|
Elapsed Time(S): SQL语句执行用总时长,此排序就是按照这个字段进行的。注意该时间不是单个SQL跑的时间,而是监控范围内SQL执行次数的总和时间。单位时间为秒。Elapsed Time = CPU Time + Wait Time
CPU Time(s): 为SQL语句执行时CPU占用时间总时长,此时间会小于等于Elapsed Time时间。单位时间为秒。
Executions: SQL语句在监控范围内的执行次数总计。
Elap per Exec(s): 执行一次SQL的平均时间。单位时间为秒。
% Total DB Time: 为SQL的Elapsed Time时间占数据库总时间的百分比。
SQL ID: SQL语句的ID编号,点击之后就能导航到下边的SQL详细列表中,点击IE的返回可以回到当前SQL ID的地方。
SQL Module: 显示该SQL是用什么方式连接到数据库执行的,如果是用SQL*Plus或者PL/SQL链接上来的那基本上都是有人在调试程序。一般用前台应用链接过来执行的sql该位置为空。
SQL Text: 简单的sql提示,详细的需要点击SQL ID。