Oracle性能优化
思考v
不为外物所动之谓静,不为外物所实之谓虚
展开
-
Oracle 绑定变量
oracle 中,对于一个提交的sql语句,存在两种可选的解析过程, 一种叫做硬解析,一种叫做软解析.一个硬解析需要经解析,制定执行路径,优化访问计划等许多的步骤.硬解释不仅仅耗费大量的cpu,更重要的是会占据重要的们闩(latch)资源,严重的影响系统的规模的扩大(即限制了系统的并发行), 而且引起的问题不能通过增加内存条和cpu的数量来解决。之所以这样是因为门闩是为了顺序访转载 2015-02-28 09:06:11 · 525 阅读 · 0 评论 -
Oracle11g MEMORY(SGA+PGA)的自动管理
1、查看spfile位置show parameter spfile; 2、备份spfile create pfile='/oracle/PID/bak/spfileECP.ora 'from spfile; 3、设置动态管理参数自动管理注意共享测试设置(如果内存15G 共享内存不能超过8G左右)alter system setpga_aggregate_tar原创 2015-07-08 11:39:49 · 6058 阅读 · 0 评论 -
数据库优化
客户反映数据库时快时慢,数据库版本11.2.0.4.0,操作系统RHEL5U5,查看数据库的活动会话,发现基本100%的SQL都在同一条SQL,而且大多都是latch: row cache objects等待。01SQL> select inst_id,username,sql_id,event from gv$session where username is n原创 2015-07-07 09:45:17 · 731 阅读 · 0 评论 -
查看Oracle日志情况
SELECT TO_CHAR(first_time, 'MM/DD') DAY, SUM(DECODE(TO_CHAR(first_time, 'HH24'), '00', 1, 0)) H00, SUM(DECODE(TO_CHAR(first_time, 'HH24'), '01', 1, 0)) H01, SUM(DECODE(TO_CHAR(原创 2015-07-07 11:20:14 · 1330 阅读 · 0 评论 -
使用ORACLE在线重定义将普通表改为分区表
客户有张大表,在设计的时候是分区表,按全宗号分了77个分区,最近发现对这张表查询速度明显比之前慢了许多,经过分析发现这张表的分区不见啦,变成了普通表,问了看法人员才知道,原来他对这张表做了好多次ALTER TABLE XX RENAME和CREATE TABLE XX AS SELECT *操作,由于CREATE TABLE AS(CTAS)操作只会建立同样的表结构而不会建立分区,导致这张表由分区原创 2015-07-07 10:04:40 · 591 阅读 · 0 评论 -
SQL优化_高水位线导致的性能问题
今天晨会,开发人员说SIT数据库有一张表,之前查询很快就能返回结果,现在需要5分钟才能返回结果,需要协助查找原因并优化,数据库版本11.2.0.4 64 bit for linux,SQL语句如下:1select * FROM TB_XXXX a where EDIFLAG'99' and SITE_NO='C07' and rownum转载 2015-07-07 09:54:14 · 2823 阅读 · 0 评论 -
Oracle 区 EXTENT
Oracle的基本概念extent,理解Oracle的基本知识原理,通过实验加深的对基本概念的理解,为后期学习数据优化打下坚实的基础。什么是extent,一次分配的,连续的,oracle块。建立表时分配新的区(extent)(10g),11g中不会立刻分配区,只有插入了第一条数据后才会分配区。注意版本的区别。conn system/managergrant select any原创 2015-04-29 11:40:34 · 1061 阅读 · 0 评论 -
Oracle 重建索引的必要性
索引重建是一个争论不休被不断热烈讨论的议题。当然Oracle官方也有自己的观点,我们很多DBA也是遵循这一准则来重建索引,那就是Oracle建议对于索引深度超过4级以及已删除的索引条目至少占有现有索引条目总数的20% 这2种情形下需要重建索引。近来Oracle也提出了一些与之相反的观点,就是强烈建议不要定期重建索引。本文是参考了1525787.1并进行相应描述。 1、重建索引的理由转载 2015-02-28 15:42:52 · 500 阅读 · 0 评论 -
Oracle SQL的优化
SQL的优化应该从5个方面进行调整:1.去掉不必要的大型表的全表扫描2.缓存小型表的全表扫描3.检验优化索引的使用4.检验优化的连接技术5.尽可能减少执行计划的CostSQL语句:是对数据库(数据)进行操作的惟一途径;消耗了70%~90%的数据库资源;独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低;可以有不同的转载 2015-02-28 09:22:13 · 531 阅读 · 0 评论 -
根据top进程抓取oracle数据库耗费资源的sql语句
oracle数据库连接业务系统,而有些sql语句的执行严重影响了oracle的性能,就如同mysql的慢查询一样,mysql可以开启慢查询日志定位这些造成数据库性能下降的语句,而oracle同样可以做到,而且有过之而无不及。 下面举例说明 首先用root用户登陆核心应用系统,su - oracle 执行命令 topas 可以查看到如下信息:转载 2015-02-28 14:05:40 · 740 阅读 · 0 评论 -
log file sync(日志文件同步) 与 Log file parallel write 等待事件
log file sync(日志文件同步)等待事件具有一个参数:buffer#。在Oracle Database 10g中,这种等待事件位于Commit等待下面。当处理log file sync等待事件时,注意下面的思想: ◎ log file sync 等待时间和事务中指(提交或回滚)相关 ◎ 当进程在log file sync事件上花费大量时间时,这通常表明过多的提交或转载 2015-02-28 14:16:25 · 590 阅读 · 0 评论 -
ORACLE调整归档日志大小
SQL> select GROUP# ,members,BYTES/1024/1024 size_M,STATUS,ARCHIVED from v$log;原创 2016-03-15 15:39:47 · 6922 阅读 · 0 评论