随笔分类 -  Oracle

摘要:Oracle关于ARCHIVELOG DELETION POLICY的配置解释以及RMAN-08137/RMAN-08591的原因探究 前言 关于ARCHIVELOG DELETION POLICY的配置和解释,百度答案存在很多的问题,大部分都描述不准确甚至是错误的。 于是花了将近3天在官网寻找答案 阅读全文
posted @ 2021-03-03 09:50 PiscesCanon 阅读(4341) 评论(0) 推荐(1)
摘要:Oracle Logminer的测试使用 前言 版本:11.2.0.4.0 几个月前生产帮忙业务追溯数据异常时候用了下,一直想出个总结拖到现在。 实验 对 logminer强需求的要求开启附加日志,不开启会有一个问题下边实验会讲。 alter database add supplemental lo 阅读全文
posted @ 2021-02-25 16:27 PiscesCanon 阅读(713) 评论(0) 推荐(0)
摘要:Oracle间隔分区(interval分区)的分区字段无法为NULL值 前言 年前在对测试大表做在线重定义的实验的时候,对时间字段做分区字段并且为interval分区时,发现报错。 后来发现这是因为interval分区的分区字段无法为NULL值。 实验演示 如下为脚本: create table i 阅读全文
posted @ 2021-02-24 17:19 PiscesCanon 阅读(756) 评论(0) 推荐(0)
摘要:Oracle绑定变量类型为timestamp导致V$SQL_BIND_CAPTURE不显示值 前言 版本:11.2.0.4.0 今天做优化发现一条问题SQL存在绑定变量,其中存在绑定变量类型为timestamp无法通过V$SQL_BIND_CAPTURE或者dba_hist_sqlbind查询到值, 阅读全文
posted @ 2021-02-22 17:04 PiscesCanon 阅读(635) 评论(0) 推荐(0)
摘要:震惊!!!Oracle SQL语句中竟然支持中文括号?? Oracle中文指令指日可待[狗头]。 看看下边的结果吧(看图片的会比较明显,里边是中文的括号)。 16:49:20 ZKM@zkm(413)> merge into (select * from t1 where stu_id = '000 阅读全文
posted @ 2021-02-20 17:42 PiscesCanon 阅读(1342) 评论(0) 推荐(0)
摘要:Oracle Merge into中修改表的限制条件位置的区别 前言 版本:11.2.0.4.0 说明:不讨论有insert子句的情况 对于样例语句如下: merge into t1 using t2 on (t1.id = t2.id) when matched then update set t 阅读全文
posted @ 2021-02-20 17:26 PiscesCanon 阅读(582) 评论(0) 推荐(0)
摘要:Oracle根据local_listener注册service_name在所有监听的ip端口上 以单节点为例,默认local_listener为空,即便指定了local_listener的值,并且ip为实际的ip地址。 Oracle还是所有监听的地址上去注册service_name。 实验数据就不贴 阅读全文
posted @ 2021-02-20 09:42 PiscesCanon 阅读(364) 评论(0) 推荐(0)
摘要:Oracle如何迁移、管理、清除Audit数据(AUD$和FGA_LOG$表) 前言 版本:11.2.0.4.0。 Oracle 11G中没特殊要求还是要建议关闭审计功能:alter system set audit_trail = none scope=spfile sid='*'; 由于默认审计 阅读全文
posted @ 2021-02-19 15:38 PiscesCanon 阅读(3948) 评论(0) 推荐(1)
摘要:Oracle 颠覆认知的无函数处理限定条件字段也可以用上函数索引 前言 之前搞SQL优化过程中,遇到一个限定条件为where create_time >= sysdate - 7之后用上函数索引的情况,这个索引创建之初使用了trunc(create_time)做了处理。 这个就有点颠覆我之前的认知了 阅读全文
posted @ 2021-02-07 14:16 PiscesCanon 阅读(200) 评论(1) 推荐(0)
摘要:Oracle qb_name导致SPM绑定的执行计划错乱 前言 最近生产在为SQL使用SPM绑定执行计划的时候,出现执行计划错乱的问题。 以前都是可以成功绑定的,此次出现问题后查看对应SQL_HANDLE和PLAN_NAME的执行计划发现,该执行计划并非我想要的执行计划。 以前绑过好几条都是成功的, 阅读全文
posted @ 2021-02-05 11:28 PiscesCanon 阅读(324) 评论(0) 推荐(0)
摘要:Oracle "WARNING Subscription for node down event still pending"报错处理 前言 发现一单节点有大量信息如下: 处理 根据MOS文档:Non-RAC or Standalone Only 'WARNING Subscription for 阅读全文
posted @ 2021-01-26 10:36 PiscesCanon 阅读(998) 评论(0) 推荐(0)
摘要:Oracle where条件中substr(字段,1,?)='XXX...'建议改写为like 前言 类似where中substr(name,1,2)='AB'会导致name上的普通索引一定无法使用。 案例 原SQL语句如下(经过处理): INSERT INTO XXXX_XXXXXXXXX_TMP 阅读全文
posted @ 2021-01-25 15:57 PiscesCanon 阅读(2704) 评论(0) 推荐(0)
摘要:Oracle timestamp类型是否可以直接和日期类型比较大小 前言 一般时间戳的字段比较范围用time >= to_timestamp来。 今天发现一条SQL,发现时间戳类型的字段使用了CAST作类型转换为DATE类型,然后在去和DATE类型做比较。 这样做导致了无法使用该字段上的索引,后来建 阅读全文
posted @ 2021-01-05 22:59 PiscesCanon 阅读(7408) 评论(0) 推荐(0)
摘要:Oracle Hash Join被驱动表被访问0次的另外一种情况 前言 遇到了这样子的情况,HJ中驱动表满足条件的有大于0行的数据,但是被驱动表却一次都不访问,如下执行计划所示。 | Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time 阅读全文
posted @ 2021-01-05 21:44 PiscesCanon 阅读(134) 评论(0) 推荐(0)
摘要:Oracle外连接的执行计划中没有出现OUTER的例子 前言 以左连接为例子,主要是被CBO改为为内连接了。 这里有人曾经也有这个疑问:一个奇怪的执行计划(为什么不是HASH JOIN OUTER 关联) 环境构造 create table a (id number,name varchar2(20 阅读全文
posted @ 2021-01-04 23:08 PiscesCanon 阅读(150) 评论(0) 推荐(0)
摘要:Oracle外连接中on和where的区别 前言 慢慢接触SQL优化,必然会涉及到CBO的内容以及SQL改写的东西。 这不,最近遇到左连接中on和where条件的问题,花了点时间搞清楚了。 首先,网上百度是有答案的,但是只能让你记住结论,无法明白理解透彻,所以还是要自己做实验,把每个有疑问的点尽量都 阅读全文
posted @ 2020-12-30 22:47 PiscesCanon 阅读(893) 评论(0) 推荐(1)
摘要:Oracle隐性转换导致访问索引的逻辑读增加 前言 最近生产遇到隐性转换仍旧可以使用索引的问题,具体探究可以查看Oracle索引字段发生隐式转换仍然能够使用索引。 其中,也有另外一个问题,那就是在发生索引字段的隐性转换的情况下,索引访问的逻辑读增多。 具体描述 不发生隐性转换的: Plan hash 阅读全文
posted @ 2020-11-05 09:38 PiscesCanon 阅读(211) 评论(0) 推荐(0)
摘要:Oracle索引字段发生隐式转换仍然能够使用索引 前言 最近在优化SQL过程中,发现执行计划中,某张表使用了索引但是根据执行计划谓词信息部分,发现该索引字段被隐式转换了。 在我以前的认知中,索引字段被隐式转换后是用不了索引的,因此自己构造如下实验做测试。 环境构造 14:43:47 SYS@zkm( 阅读全文
posted @ 2020-11-04 15:02 PiscesCanon 阅读(489) 评论(0) 推荐(0)
摘要:Oracle自己写的找出索引体积比表大的索引 排除掉默认的用户: set line 500 col index_name for a35 col table_name for a35 with d as (select di.owner, di.index_name, ds.bytes idx_mb 阅读全文
posted @ 2020-11-02 08:52 PiscesCanon 阅读(258) 评论(0) 推荐(0)
摘要:关于Doc ID 317441.1提供的查看当前使用临时表空间的SQL存在的问题 How Do You Find Who And What SQL Is Using Temp Segments (Doc ID 317441.1) 对于10.1以上的版本,该文档提供如下SQL查询,稍微改造了下。 SE 阅读全文
posted @ 2020-10-29 15:03 PiscesCanon 阅读(280) 评论(0) 推荐(0)