oracle进阶与提高

上传人:千****8 文档编号:118605810 上传时间:2019-12-19 格式:PPT 页数:81 大小:223.50KB
返回 下载 相关 举报
oracle进阶与提高_第1页
第1页 / 共81页
oracle进阶与提高_第2页
第2页 / 共81页
oracle进阶与提高_第3页
第3页 / 共81页
oracle进阶与提高_第4页
第4页 / 共81页
oracle进阶与提高_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《oracle进阶与提高》由会员分享,可在线阅读,更多相关《oracle进阶与提高(81页珍藏版)》请在金锄头文库上搜索。

1、ORACLE 进阶与提高,王忠海 2019/12/17,主要内容,数据库优化 RMAN RAC(如果有时间的话),数据库优化,操作系统设置不当 数据库参数设置不当 库结构设计不合理 应用程序语句不当,可能影响数据库性能的原因有哪些?,AIX5.3中操作系统优化,Oracle用户资源限制 操作系统核心参数 补丁,AIX中一些基本的查看资源的命令,如何查看CPU数量 如何查看内存数量 如何查看交换空间 文件系统使用情况,AIX基本命令:版本信息,# oslevel 5.3.0.0 # oslevel -r 5300-07 # oslevel -s 5300-07-01-0748,AIX基本命令:查

2、看CPU信息,# lsdev -Cc processor proc0 Available 00-00 Processor proc2 Available 00-02 Processor proc4 Available 00-04 Processor proc6 Available 00-06 Processor # lsattr -EHl proc0 attribute value description user_settable frequency 2096901000 Processor Speed False smt_enabled true Processor SMT enabled

3、 False smt_threads 2 Processor SMT threads False state enable Processor state False type PowerPC_POWER5 Processor type False,AIX基本命令:查看内存信息,bootinfo r 16318464 # lsdev -Cc memory L2cache0 Available L2 Cache mem0 Available Memory lsattr -EHl mem0 attribute value description user_settable goodsize 159

4、36 Amount of usable physical memory in Mbytes False size 15936 Total amount of physical memory in Mbytes False,AIX基本命令:管理交换空间,查看交换空间 # lsps -a Page Space Physical Volume Volume Group Size %Used Active Auto Type hd6 hdisk0 rootvg 3072MB 1 yes yes lv 设置交换空间 smit chps 交换空间设置建议,文件系统的设置,看看下面的输出。您认为最该调整哪个

5、文件系统大小? # df -m Filesystem MB blocks Free %Used Iused %Iused Mounted on /dev/hd4 256.00 252.12 1% 2353 1% / /dev/hd2 4096.00 2613.59 37% 38138 6% /usr /dev/hd9var 4096.00 4003.59 3% 882 1% /var /dev/hd3 128.00 120.16 5% 1938 1% /tmp /dev/hd1 1024.00 514.95 50% 3742 4% /home 正是tmp文件系统!如果不调整,安装数据库时将无法

6、成功。,AIX5.3核心参数调整,适用范围在AIX5.3-01以上 需要调整的参数:lru_file_repage minperm%、maxperm% 和 maxclient% 等等。 参考文档: 在 AIX 中运行 Oracle的优化技巧.mht,oracle用户的资源限制,修改/etc/security/limits 看一个实例: oracle: fsize = 209715100 data = 20971510 stack = 20971510 core = 20971510 rss = 25165824,AIX中Oracle参数设置,SGA设置建议 SGA不要超过总内存数*maxper

7、m%,回顾:重要的SGA内存参数,Shared_pool_size Db_cache_size Db_keep_cache_size Large_pool_size Log_buffer,回顾:重要的PGA内存参数,PGA_AGGREGATE_TARGET,如何在AIX5.3中将SGA定在内存中?,修改系统参数:v_pinshm 修改Oracle参数:LOCK_SGA 参考文档: 如何在Aix5.3中将Oracle SGA定在内存中.doc,AIX中其他的需要调整的Oracle参数,TIMED_STATISTICS DB_CACHE_ADVICE optimizer_index_caching

8、 optimizer_index_cost_adj,大量导入数据前需要做些什么?,是否需要备份? 估计数据量 考虑设置为非归档模式 考虑删除一些索引,导完之后再创建,大量导入数据之后应该做些什么?,分析表。DBMS_STATS.GATHER_SCHEMA_STATS 考虑设置归档 备份,哪些因素最影响性能?,CPU消耗 内存 磁盘IO 排序,提高数据库性能的方法,用更好的硬件! 说服用户将就着用 优化数据库 优化客户端程序,案例:解决CPU 100%占用,步骤一:检查cpu信息:vmstat 步骤二:定位CPU高消耗进程 ps aux|head -1;ps aux|sort +2 -rn|he

9、ad -5,案例:解决CPU 100%占用(续),步骤三:定位有问题的语句 SELECT /*+ ORDERED */ sql_text FROM v$sqltext a WHERE (a.hash_value, a.address) IN ( SELECT DECODE (sql_hash_value, 0, prev_hash_value, sql_hash_value ), DECODE (sql_hash_value, 0, prev_sql_addr, sql_address) FROM v$session b WHERE b.paddr = (SELECT addr FROM v$

10、process c WHERE c.spid = &pid) ORDER BY piece ASC /,案例:解决CPU 100%占用(续),步骤四:定位有问题的会话 SELECT SID,SERIAL#,USERNAME,TERMINAL FROM v$session b WHERE b.paddr = (SELECT addr FROM v$process c WHERE c.spid = &pid) /,案例:解决CPU 100%占用(续),步骤五:采取相关行动 1.杀掉会话 alter system kill session sid,serial#; 2.分析原因,优化SQL语句,最具

11、挑战的工作,为什么要优化?,Oracle SQL调整过程,1.确定由高影响力的SQL 2.抽取和解释SQL语句 3.调整SQL语句,用V$SQLAREA确定影响力高的语句,executions disk_reads buffer_gets sorts,哪些工具可以来查看SQL执行计划,autotrace alter session set sql_trace=true; dbms_system.set_sql_trace_in_session explain plan Etc.,查看语句执行计划的简单办法,Set autotrace on Set autotrace traceonly 前提:

12、存在plan_table表。如果不存在,可执行?/rdbms/admin/utlxplan.sql 执行语句 相关技巧: set timing on set time on,案例:解读sql语句执行计划,SQL select count(*) from lpmnt; COUNT(*) - 1155 Execution Plan - Plan hash value: 3530445977 - | Id | Operation | Name | Rows | Cost (%CPU)| Time | - | 0 | SELECT STATEMENT | | 1 | 3 (0)| 00:00:01 |

13、 | 1 | SORT AGGREGATE | | 1 | | | | 2 | INDEX FAST FULL SCAN| LPMNT_DBID_IDX | 1102 | 3 (0)| 00:00:01 | - Note - dynamic sampling used for this statement Statistics 509 recursive calls 0 db block gets 190 consistent gets 105 physical reads 0 redo size 412 bytes sent via SQL*Net to client 381 bytes r

14、eceived via SQL*Net from client 2 SQL*Net roundtrips to/from client 6 sorts (memory) 0 sorts (disk) 1 rows processed,set autotrace的局限性,必须执行一遍语句,explain plan使用方法,Explain plan set statement_id= into table for ,查看explain plan过的语句的执行计划,先做些格式化工作: set pagesize 1000 col operation format a20 col options format a20 col object_name format a20 col position format 999 执行语句: select lpad( ,2*(level-1)|operation operation,options, object_name,position from plan_table CONNECT BY PRIOR id = parent_id and statement_id=statement_id;,案例:分析winsvr执行的语句,工具:alter system set sql_tr

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业信息化/信息管理

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号