- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle10g性能调整与优化
主要内容:收集性能数据、优化SQL语句和应用程序、调整共享池(Shared Pool)的性能、调整缓冲区高速缓存(Buffer Cache)的性能、调整重做有关的性能、共享(多线程)服务器(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:表所占用的空间超过允许的最大值。
Checkpoint Not Complete。
Snapshot too old。
后台进程跟踪文件:也在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为该会话所对应的Server Process的编号,可以通过V$process查得。
设置用户跟踪
实例级跟踪:init.ora参数SQL_TRACE=TRUE。这种方法会产生大量的系统开销。
用户级跟踪:
SQlalter session set sql_trace=true;
SQlalter session set sql_trace=false;
DBA跟踪:
SQLexec sys.dbms_system.set_sql_trace_in_session(10,87,true);
SQLexec sys.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用户登录。
SQLexecute STATSPACK.SNAP;
至少要有两个快照。
用PERFSTAT用户登录,生成报告文件:
SQL @ c:\oracle\product\10.2.0\db_1\rdbms\admin\spreport.sql
图形性能工具(WEB方式)
优化SQL语句和应用程序
测量SQL语句的性能
Tkprof(Trace Kernel Profile)工具的使用
功能:测量SQL语句的性能。
c:\ tkprof
c:\oracle\product\10.2.0\admin\ERP\udump\erp_ora_1436.trc c:\bao.txt sys=no
sys=no的含义:不包含递归SQL语句(即访问数据字典的隐含语句)
SQL语句的处理要经过三个阶段:Parse、Execute、Fetch。
需要优化的SQL语句:
占用过多的CPU时间。
Parse、Execute、Fetch阶段的时间太长。
从磁盘读太多的数据块,而从内存中读很少的数据块。
访问许多数据块,但只返回几条数据。
Top SQL 的使用(WEB方式)
Top SQL用来代替Tkprof。
Top SQL可以找出哪些SQL语句的性能差,需要优化。
Top SQL 中的数据来源于V$SQL。
Top Sessions的使用(WEB方式)
Top Sessions可以找出哪些会话占用较多的资源。
SQL语句的解释计划(EXPLAIN PLAN)
通过解释计划,
文档评论(0)