- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Oracle10g性能调整与优化
主要内容:收集性能数据、优化SQL语句和应用程序、调整共享池(SharedPool)的性能、调整缓冲区高速缓存(BufferCache)的性能、调整重做有关的性能、共享(多线程)服务器(MTS)、调整磁盘I/O的性能、调整闩(latch)和锁定(lock)、调整操作系统。
报警(Alert日)
第一章 收集性能数据
志文件
报警(Alert)日志文件在c:\oracle\product\10.2.0\admin\erp\bdump目录下:文件名为alert_erp.log。
注意报警(Alert)日志文件中的错误信息:
ORA-01652:在临时表空间中没有足够的空闲空间来进行排序操作。ORA-01653:在表空间中没有足够的空闲空间来存放表。
ORA-01650:在回退段所在的表空间中没有足够的空闲空间来使回退段增长。
ORA-01631:表所占用的空间超过允许的最大值。CheckpointNotComplete。
Snapshottooold。
后台进程跟踪文件:也在c:\oracle\product\10.2.0\admin\erp\bdump目录下。文件名类似于erp_lgwr_2548.trc、erp_arc0_2620.trc、erp_dbw0_3012.trc。
用户跟踪文件:
udump目录下:erp_ora_788.trc文件。其中788为该会话所对应的
ServerProcess的编号,可以通过V$process查得。
设置用户跟踪
实例级跟踪:init.ora参数SQL_TRACE=TRUE。这种方法会产生大量的系统开销。
用户级跟踪:
SQlaltersessionsetsql_trace=true;SQlaltersessionsetsql_trace=false;
DBA跟踪:
SQLexecsys.dbms_system.set_sql_trace_in_session(10,87,true);SQLexecsys.dbms_system.set_sql_trace_in_session(10,87,false);10为会话编号,87为会话序列号。
限制用户跟踪文件的大小:init.ora参数MAX_DUMP_FILE_SIZE。
性能优化视图v$sysstat:数据库启动以来的统计数据。v$system_event:系统中所有会话发生过的等待事件。v$sesstat:所有当前会话的统计数据。
v$session:所有当前的会话。V$session_event:已经发生过的等待事件。V$session_wait:正在发生的等待事件。V$sgastat:SGA内存的统计数据。V$waitstat:对自由列表的争用。
收集性能数据的程序:STATSPACK。
STATSPACK工具的使用
创建一个单独的表空间存放性能数据。大小300M左右。
注意:STATSPACK收集的是默认数据库的数据。用管理员SYS用户登录。
SQL@c:\oracle\product\10.2.0\db_1\rdbms\admin\spcreate.sql
用PERFSTAT用户登录。SQLexecuteSTATSPACK.SNAP;
至少要有两个快照。
用PERFSTAT用户登录,生成报告文件:
SQL@c:\oracle\product\10.2.0\db_1\rdbms\admin\spreport.sql
图形性能工具(WEB方式)
第二章 优化SQL语句和应用程序
测量SQL语句的性能
Tkprof(TraceKernelProfile)工具的使用功能:测量SQL语句的性能。
c:\tkprofc:\oracle\product\10.2.0\admin\ERP\udump\erp_ora_1436.trcc:\bao.txtsys=no
sys=no的含义:不包含递归SQL语句(即访问数据字典的隐含语句)
SQL语句的处理要经过三个阶段:Parse、Execute、Fetch。需要优化的SQL语句:
占用过多的CPU时间。
Parse、Execute、Fetch阶段的时间太长。
从磁盘读太多的数据块,而从内存中读很少的数据块。
访问许多数据块,但只返回几条数据。
TopSQL的使用(WEB方式)TopSQL用来代替Tkprof。
TopSQL可以找出哪些SQL语句的性能差,需要优化。
TopSQL中的数据来源于V$SQL。
T
文档评论(0)