Alert Log 文件中记录的与性能有关的信息:
1.ORA-01652,不能扩展临时段;
2.ORA-01653,不能扩展表段;
3.ORA-01650,不能扩展回滚段;
4.ORA-01631,到达了表的最大的Extents;
5.检查点未完成(Checkpoint not complete);
6.线程推进日志序列(Thread n Advanced to Log Sequence n);
7.ORA-01555,快照过旧。
后台跟踪文件
自动生成
相关参数:BACKUPGROUND_DUMP_DEST
事件跟踪文件
设置后生成
相关参数:EVENT, BACKUPGROUND_DUMP_DEST, USER_DUMP_DEST
用户跟踪文件
相关参数:SQL_TRACE,USER_DUMP_DEST, MAX_DUMP_FILE_SIZE
激活用户跟踪的三种方法:
1.实例层次的跟踪:配置参数SQL_TRACE = TRUE | FALSE,然后重启实例;
2.用户层次的自行实置:Alter session set sql_trace = true | false;
3.用户层次的DBA设置:Exec dbms_system.set_sql_trace_in_session(SID, SERIAL#, TRUE | FALSE)
V$视图和DBA_视图
区别:
1.V$视图通常是单数,DBA视图通常是复数,例如V$DATAFILE与DBA_DATA_FILES;
2.当数据库处于Nomout或者Mount时,许多V$视图已经是可用的,而DBA视图必须在数据库处于Open时才可用;
3.V$视图查询出来的数据多小写,DBA视图查询出的数据通常大写,所以在写WHERE条件时需特别小心;
4.V$视图中包含的是自实例启动以来的动态数据,在数据库关闭后会消失,查询V$视图时必须关注时效性,DBA视图中包含的是静态数据;
5.V$视图的基表是X$表,X$表是存在于内存中的虚表,DBA视图的基表是数据字典表,如SYS.OBJ$, SYS.FILE$等,这两种基表都很少有文档。
最常用的V$视图:
表名 描述
V$SGASTAT 显示SGA组件大小的信息
V$EVENT_NAME 显示当前版本的所有等待事件
V$SYSTEM_EVENT 自实例启动已来的等待事件
V$SESSION_EVENT 目前连接会话的等待事件
V$SESSION_WAIT 目前连接会话正在发生的等待事件
V$STATNAME 显示当前版本的所有统计名称
V$SYSSTAT 自实例启动以来的统计
V$SESSTAT 目前连接会话的统计
V$SESSION 目前连接会话的信息
V$WAITSTAT 块竞争的统计
最常用的DBA视图(有些栏位的值需要分析表或索引后才会有值):
表名 描述
DBA_TABLES 表的存储,统计等
DBA_INDEXES 索引的存储,统计等
INDEX_STATS 索引的深度和键值的离散度等
DBA_DATA_FILES 数据文件的命名,位置,大小
DBA_SEGMENTS 段的相关信息
DBA_HISTOGRAMS 表,索引的柱状图定义信息
Oracle 提供的脚本和包
下面提到的脚本都位于%ORACLE_HOME%\RDBMS\ADMIN目录下,有些只需运行一次,有些需要每次都运行。
·UTLBSTAT.SQL 和 UTLESTAT.SQL
这些脚本的功能绝大部分已被STATSPACK所取代。
· STATSPACK
Ø 配置STATSPACK:在SQL*Plus下运行spcreate.sql,这个脚本运行时调用另外三个脚本(spcusr.sql,spctab.sql,spcpkg.sql),运行过程中会询问perfstat方案的密码,默认表空间和临时表空间,可以通过这三个脚本的运行日志(spcusr.lis,spctab.lis,spcpkg.lis)查看配置是否成功。
Ø perfstat方案的默认表空间需要有足够的空间来容纳目前的对象和将来的快照数据;
Ø 查看日志如果发现有错误,运行spdrop.sql来清除已创建的对象,然后重新运行spcreate.sql;
Ø 配置成功后生成快照有两种方法:手工运行exec statspack.snap; 运行spauto.sql脚本,创建job来定时生成快照;
Ø 生成性能报表:运行spreport.sql脚本,脚本运行过程中要求输入三个参数:开始快照号,结束快照号,报表名;两次选择的快照号需要是在实例的一次运行期间的不同点的快照,否则就没有参考意义;
Ø statspack报表含有各个方面的性能数据,如何理解这些数据贯穿整本书。
阅读(1221) | 评论(0) | 转发(0) |