性能优化
文章平均质量分 72
文档搬运工
这个作者很懒,什么都没留下…
展开
-
ORA-40216: feature not supported
查看官网,没有任何说明。查看MOS,该功能适用于exadata。在配置该选项的时候,报错。原创 2024-06-14 08:35:59 · 387 阅读 · 0 评论 -
ASH是否可以生成备库的ASH
也可以生成主库的,在执行ASH会话的时候,会选择S或者P。生成备库或者主库的ASH报告,默认是生成备库的。ASH报告是否可以生成备库的ASH报告。以下是在备库上执行ASH报告的过程。原创 2022-11-07 11:10:14 · 272 阅读 · 0 评论 -
write complete waits等待事件
参考文档:cause :solution:原创 2022-10-24 17:20:45 · 339 阅读 · 0 评论 -
直接路径读及_small_table_threshold
- 将表缩小(注意高水位,_small_table_threshold 参数的单位是block,虽然delete掉了数据,但是高水位线下还有很多空块,表段中显示还是有很多块),再次查看,是否会有直接路径读 ,发现没有直接路径读了,直接路径读数据一直停留在133818 ,move后,表段有90个块,小于阈值_small_table_threshold的1605个块。-- 关闭掉,通过在会话层面关闭掉直接路径读,再次执行语句,看是否还有直接路径读,发现直接路径读还是100296,没有变化。原创 2022-10-21 15:28:42 · 775 阅读 · 0 评论 -
[记录]记录一次处理数据库主机top负载过高的问题
rdbms 11.2.0.4参考文档:Alert Log: Shutdown Waiting for Active Calls to Complete (文档 ID 1039389.6)ORA-00445: Background Process "xxxx" Did Not Start After 120 Seconds (文档 ID 1345364.1)现象:数据库主机top负载过高top负载如下:从上面的top命令中,可以看到:1 负载较高2 %us, %sy都较高原创 2022-04-06 11:36:56 · 1017 阅读 · 0 评论 -
数据库sqlplus连接及启动很慢
RDBMS 19.14 ,实际是从11.2.0.4升级到12.2.0.1,再升级到19c。现象:1 通过sqlplus /nolog连接的时候,很慢,大约7秒以上2 startup 启动数据库,也很慢,大约26秒左右-- 之前连接,大约7秒左右[oracle@redhat762100 ~]$ sqlplus /nologSQL*Plus: Release 19.0.0.0.0 - Production on Tue Mar 8 14:32:30 2022Version 19.14原创 2022-03-08 15:26:49 · 1552 阅读 · 0 评论 -
enq: TX - row lock contention的模拟与总结
参考文档:Waits for 'Enq: TX - ...' Type Events - Transaction (TX) Lock Example Scenarios (Doc ID 62354.1)"enq: TX - row lock contention" Reference Note (Doc ID 1966048.1)Document 1476298.1 Resolving Issues Where 'enq: TX - row lock contention' Waits are Occ原创 2022-01-19 17:01:16 · 320 阅读 · 0 评论 -
enq: IV - contention、enq: PS-contention
rdbms 11.2.0.4参考文档:RAC 12c DDL的性能问题:节点的CPU数量不同导致大量的"enq: IV - contention" (Doc ID 2440133.1)CPU count change, "enq: PS-contention" (Doc ID 2548314.1)--两个节点的rac,将在虚拟机中,将其中一个节点的cpu设置为3,另一个节点cpu设置为1将其中一个节点的私网网络限制为租用线路T1(1.544Mbps),另一个节点的私网不限制。主要是为了测试以原创 2022-01-11 11:39:13 · 865 阅读 · 0 评论 -
no_expand和use_concat
RDBMS:Database Release Update Revision : 19.11.2.0.211019 (33153989)参考文档:(4条消息) 查询转换之 or expansion_文档搬运工-CSDN博客Query Transformations (oracle.com)InORexpansion, the optimizer transforms a query block containing top-level disjunctions into the for...原创 2021-12-04 11:06:55 · 475 阅读 · 0 评论 -
使用coe_load_sql_profile.sql固定执行计划
参考文档:Directing Plans with Baselines/Profiles Using coe_load_sql_baseline.sql / coe_load_sql_profile.sql (shipped with SQLT) (Doc ID 1400903.1)-- 在emp上创建索引BB@test>create index i_emp_ename on emp(ename);Index created.BB@test>-- 收集统计信息e.原创 2021-12-01 20:37:13 · 1181 阅读 · 0 评论 -
index full scan 和index fast full scan
index full scan和index fast full scan的比较原创 2021-11-21 11:00:52 · 1667 阅读 · 0 评论 -
index_join提示
RDBMS 12.2.0.1Index_joinindex_join把同一个表上的索引合并在一起,在查询的时候,只需要访问这些索引就可以了,省略了回表这个动作。参考文档:Optimizer Access Paths (oracle.com)8.3.7Index Join ScansAn index join scan is a hash join of multiple indexes that together return all columns requested by a q.原创 2021-11-20 20:47:28 · 790 阅读 · 0 评论 -
记录一次生产数据库的(性能)故障处理过程--(下)
接着 上一篇记录一次生产数据库的(性能)故障处理过程--(上) 继续。大约过了2天,客户有提出,备库上不能查询了,查询不到数据了。(神马意思?备库不同步了?查询满了,搞不清楚客户的意思)咨询客户的操作,客户说不停在尝试查询数据,甚至关闭了监听器(额,查询不到数据,和关闭监听器有啥关系)。因为一个大型的生产数据库,本人意识到了问题,赶快告诉客户,别关监听。否则主备不同步,引起大问题 。客户要求远程查看;远程的时候,客户立马又关闭远程了,说要修改个参数((⊙o⊙)…,这个是什么操作...... 搞不原创 2021-04-09 17:19:46 · 274 阅读 · 0 评论 -
记录一次生产数据库的(性能)故障处理过程--(上)
最近碰到一个生产系统的(性能)故障处理过程。比较典型,记录下来。生产数据库架构:两个节点的RAC、单实例文件系统的Data guard。应用上做了主备的读写分离,写操作在主库,读操作大部分在备库。RDMBS: 12.2.0.1 (SGA 300G、PGA 100G,启用了大页面)OS : Oracle Linux 7 (具体是7的那个版本 ,没有留意 哈 ),CPU 144 Core,Momory 512G 。挺强悍的机器。一 、主要问题:1 客户提出主库在上午9点多的时候,...原创 2021-04-09 16:37:31 · 748 阅读 · 0 评论 -
等待事件enq: RO - fast object reuse、enq: CR - block range reuse ckpt
RDBMS 12.2.0.1在AWR中出现等待事件enq: RO - fast object reuse、enq: CR - block range reuse ckpt、log buffer space等。分析这些等待事件,主要原因还是做了大量的drop 和truncate,引起了主要的等待事件enq: RO - fast object reuse,引发的等待事件enq: CR - block range reuse ckpt和log buffer space。关于这些引起这些等待事件的.原创 2021-03-05 16:05:27 · 2299 阅读 · 0 评论 -
[转载]WAITEVENT: “read by other session“ Reference Note (Doc ID 732891.1)
参考文档:WAITEVENT: "read by other session" Reference Note (Doc ID 732891.1)"read by other session" Reference NoteThis is a reference note for the wait event "read by other session" which includes the following subsections:Brief definition Individual转载 2021-01-22 10:11:31 · 171 阅读 · 0 评论 -
Oracle RAC 等待事件gc buffer busy release 、gc buffer busy acquire
RDBMS11.2.0.4前几天碰到的。行锁、集群类等待事件。查看时间段内的ASH会话,可以看到隐去该事件的SQL语句。MOS WAITEVENT: "gc buffer busy acquire/release " Reference Note (Doc ID 2256780.1) 有对该类问题有详细的说明。以下内容转载自官方微信号。 (本次等待事件处理方式,采用其他方法,没有使用官方微信的这种方式)https://mp.weixin.qq.com/s?__biz=..原创 2020-11-06 15:36:53 · 887 阅读 · 0 评论 -
enq: RO - fast object reuse \ CR - block range reuse ckpt
RDBMS 12.2.0.1在AWR中看到enq: RO - fast object reuse 和 CR - block range reuse ckpt等待事件,但是不是很多。查询了一些文档,整理出来。enq: RO - fast object reuse ,是和drop / truncate动作有关。官方文档:Resolving Issues Where 'enq: RO - fast object reuse' Contention Seen During Drop or Trunc原创 2020-10-20 15:52:52 · 946 阅读 · 0 评论 -
使用exists改写查询提高效率
####在12.2.0.1中测试,语句1和语句2的测试效果一样。语句3和语句4的测试效果不一样,使用exists效果更好。####在查询时,使用exists代替表连接有很大的优势。即,将多表连接的查询修改为使用exists操作符的子查询。####只有当select语句没有选择子查询对应表中的任何列时才能做此重写 。-- 语句1select empno, ename, job from scott.emp, scott.dept where scott.emp.deptno = scott原创 2020-09-20 10:21:13 · 704 阅读 · 0 评论 -
合适的索引与执行计划
RDBMS12.2.0.1-- 创建测试用的表create table t2 as select * from dba_objects ; SYS@test>select count(*) from t2; COUNT(*)---------- 113246208-- 测试内容1 查询不使用索引select object_name from t2 where object_id=2;2 查询使用where条件中的索引select object_name fr原创 2020-09-19 17:33:00 · 93 阅读 · 0 评论 -
OPTIMIZER_INDEX_COST_ADJ 参数
参考文档:https://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams170.htm#REFRN10143https://docs.oracle.com/en/database/oracle/oracle-database/12.2/tgsql/influencing-the-optimizer.html#GUID-C1C85DEA-3583-40FE-B5BB-6AC8F76FFE34-- 创建测试用的表create tab原创 2020-09-04 16:36:53 · 532 阅读 · 0 评论 -
Index Clustering Factor
参考文档:https://docs.oracle.com/database/121/CNCPT/indexiot.htm#CNCPT1181Clustering Factor (Doc ID 39836.1)Index Clustering FactorThe index clustering factor measures row order in relation to an indexed value such as employee last name. As the degree原创 2020-09-03 11:06:59 · 176 阅读 · 0 评论 -
使用dbms_profiler 调试PL/SQL 性能
目的: 调查PL/SQL(8.1级以上)的性能参考文档:Performance of New PL/SQL Features (Doc ID 104377.1)Using DBMS_PROFILER (Doc ID 97270.1)https://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_profil.htm#ARPLS67481-- 安装在sys账号下执行$ORACLE_HOME/rdbms/admin/profload.sql...原创 2020-08-03 10:56:06 · 308 阅读 · 0 评论 -
SQL Profile的使用
## 2020-06-04 测试 SQL PROFILE 。## 步骤## 1 创建SQL Tuning Task## 2 执行SQL Tuning Task## 3 查看SQL Tuning进度## 4 查看SQL Tuning结果## 5 接受SQL Tuning给的SQL PROFILE建议--创建测试表t1conn hr/hrcreate table t1 (n number);declare begin for i in 1..10000 loop inser原创 2020-06-04 10:39:56 · 401 阅读 · 0 评论 -
SQL Access Advisor的使用
原文地址:https://docs.oracle.com/en/database/oracle/oracle-database/12.2/tgsql/sql-access-advisor.html#GUID-816A7103-440D-4AB8-8ED5-BD4DBDEBB283-- 先放一张图--- 创建sql tuning setconn sh/sh SET SERVE...原创 2019-03-21 15:03:45 · 760 阅读 · 0 评论 -
使用SQL Tuning advisor对SQL语句进行调优
原文地址:https://docs.oracle.com/en/database/oracle/oracle-database/12.2/tgsql/sql-tuning-advisor.html#GUID-35C7B77F-5CB1-45EC-A48D-10C1E47CC7BE-- sql tune advisor的步骤1 create tuning task2 execute tu...原创 2019-03-21 12:57:23 · 695 阅读 · 0 评论 -
SQL Tuning set -- 从游标获取SQL
原文地址:https://docs.oracle.com/en/database/oracle/oracle-database/12.2/tgsql/managing-sql-tuning-sets.html#GUID-91D1B886-A6D7-40B8-93D5-112B8C6E6AFE其实,这个话题是一道OCM考试题,只是考试的时候,考场环境会提供已经做好的sql set ,只需要数据泵...原创 2019-03-20 15:37:25 · 560 阅读 · 0 评论 -
【转载】在Oracle中如何调整 I/O 相关的等待
原文地址:http://www.eygle.com/archives/2011/11/oracle_io_tuning.html作者:eygle |English 【转载时请标明出处和作者信息】|【恩墨学院 OCM培训传DBA成功之道】链接:http://www.eygle.com/archives/2011/11/oracle_io_tuning.html本文主要介绍的是在出现了I/O竞争等待的...转载 2018-05-30 07:35:13 · 314 阅读 · 0 评论 -
绑定变量和游标 ,及绑定变量窥探
原文地址:https://docs.oracle.com/en/database/oracle/oracle-database/12.2/tgsql/improving-rwp-cursor-sharing.html#GUID-971F4652-3950-4662-82DE-713DDEED317C-- 进行3个查询,不使用绑定变量SYS@test>SELECT SUM(salar...原创 2019-03-18 16:33:05 · 289 阅读 · 0 评论 -
扩展统计信息 - extended statistics
原文地址:https://docs.oracle.com/en/database/oracle/oracle-database/12.2/tgsql/managing-extended-statistics.html#GUID-BD0F0B71-DD8B-44A0-888E-495830FC09A4-- 为什么要使用组合列的统计信息 。文档中有说明 。-- 查询表sh.customer...原创 2019-03-13 16:35:52 · 739 阅读 · 0 评论 -
绑定变量窥探测试
RDBMS 12.2.0.1-- 绑定变量的执行计划 ,和正常的语句是一样的create table t5 as select * from dba_objects;var v_name varchar2(30)exec :V_name:='T5' select * from t5 where object_name=:V_name;select sql_id,address,...原创 2019-04-16 11:16:09 · 221 阅读 · 0 评论 -
高水位线对执行计划的影响
RDBMS 12.2.0.1-- 创建表,插入32W行数据create table t8 as select * from dba_objects;BB@test>create table t8 as select * from dba_objects;Table created.BB@test>insert into t8 select * from t8;81...原创 2019-04-16 14:11:56 · 316 阅读 · 0 评论 -
SQL 执行计划的查看
原文地址: 《SQL 优化最佳时间 - 构建高效率Oracle数据库的方法与技巧》END转载 2019-04-15 12:48:30 · 852 阅读 · 0 评论 -
Oracle 直方图的相关知识- 何时创建直方图 & 创建什么类型的直方图
RDBMS : 12.2.0.1原文地址:https://docs.oracle.com/en/database/oracle/oracle-database/12.2/tgsql/histograms.html#GUID-92C94E9C-AE31-4135-86A0-3BE1A541BB36-- 直方图的自动创建create table sales2 as select *...原创 2019-03-11 12:54:23 · 349 阅读 · 0 评论 -
人工干预优化器的统计信息
原文地址:https://docs.oracle.com/en/database/oracle/oracle-database/12.2/tgsql/controlling-the-use-of-optimizer-statistics.html#GUID-87A26DD9-E2C1-41E3-9EF0-D141F44F0968设置优化器的统计信息,从而欺骗优化器,让优化器走不同的执行计划(这...原创 2019-03-14 13:36:54 · 150 阅读 · 0 评论 -
Pending statistics
原文地址:https://docs.oracle.com/en/database/oracle/oracle-database/12.2/tgsql/controlling-the-use-of-optimizer-statistics.html#GUID-8FF503A2-5E50-4054-AC3A-5672343BDFE3说明,在调优SQL的时候,验证统计信息对执行计划的影响,可以考虑先...原创 2019-03-14 13:29:40 · 244 阅读 · 0 评论 -
表的三大连接之 NESTED LOOPS JOINS
-- 表的连接顺序-- 构造数据drop table t1 cascade constraints purge;drop table t2 cascade constraints purge;create table t1 (id number not null,n number, contents varchar2(4000));create table t2 (id number not...原创 2018-07-04 11:21:14 · 260 阅读 · 0 评论 -
表的主键与外键
-- 主外键-- 主键本身就是一种索引 -- 创建主外键表create table t1 (id number,name varchar2(30));alter table t1 add constraint t1_pk primary key(id);create table t2 (id number,fid number,name varchar2(30));alter table ...原创 2018-07-10 21:10:59 · 832 阅读 · 0 评论 -
索引回表的优化
建立测试用表create table t as select * from dba_objects;create index idx_t_objectid on t(object_id);查看执行计划select * from t where object_id<10;ZBB@test>select * from t where object_id<10;8 rows s...原创 2018-07-10 10:15:59 · 1805 阅读 · 0 评论 -
单列表select count(*) / 索引 等效率
测试,当一个表中,只有一个列的时候,查询count(*), 使用和不使用索引的时候,那个效率高一些?-- 结论,使用索引反而会效率低一些。因为索引中不仅存在的有列的值,还有rowid,索引段相对来说大一些,所以走索引效率低。IO大 测试用表ZBB@test>desc t11 Name Null? Type -...原创 2018-07-10 08:52:30 · 1768 阅读 · 0 评论