代码改变世界

随笔分类 -  数据库技术(Oracle)

ORACLE不可见索引(Invisible Indexes)

2017-09-18 21:46 by 潇湘隐者, 5903 阅读, 收藏,
摘要: 不可见索引概念 不可见索引(Invisible Index)是ORACLE 11g引入的新特性。不可见索引是会被优化器忽略的不可见索引,除非在会话或系统级别上将OPTIMIZER_USE_INVISIBLE_INDEXES初始化参数显式设置为TRUE。此参数的默认值是FALSE。如果是虚拟索引是为了合理、科学新增索引而设计的,那么不可见索引就是为了合理、科学的删除索引而设计的。为什么这样说... 阅读全文

ORACLE虚拟索引(Virtual Index)

2017-09-15 16:10 by 潇湘隐者, 1896 阅读, 收藏,
摘要: ORACLE虚拟索引(Virtual Index) 虚拟索引概念 虚拟索引(Virtual Indexes)是一个定义在数据字典中的假索引(fake index),它没有相关的索引段。虚拟索引的目的是模拟索引的存在而不用真实的创建一个完整索引。这允许开发者创建虚拟索引来查看相关执行计划而不用等到真实创建完索引才能查看索引对执行计划的影响,并且不会增加存储空间的使用。如果我们观察到优化器生成... 阅读全文

ORACLE NLS_DATE_FORMAT设置

2017-09-14 09:01 by 潇湘隐者, 8455 阅读, 收藏,
摘要: 最近在ORACLE里面设置NLS_DATE_FORMAT日期时间格式时遇到了一些问题,顺便整理一下。以防以后忘记时,能顺速翻阅。 1:在会话级别设置nls_date_format对应的日期格式。 使用alter session set nls_date_format='xxxx'设置只会影响当前会话的。这个对所有工具(SQL*Plus、SQL Developer)都能生效。 ... 阅读全文

ORACLE归档日志比联机重做日志小很多的情况总结

2017-09-06 15:05 by 潇湘隐者, 3335 阅读, 收藏,
摘要: ORACLE归档日志比联机重做日志小很多的情况 前几天一网友在群里反馈他遇到归档日志比联机重做日志(redo log)小很多的情况,个人第一次遇到这种情况,非常感兴趣,于是在一番交流沟通后,终于弄清楚了情况,顺便将这方面的资料整理于此!也是一个总结、学习过程! 归档日志比联机重做日志小很多,出现这种情况的原因有很多,我们可以从下面这几方面着手检查,一一排除确认。 1:检查参数A... 阅读全文

ORACLE获取SQL绑定变量值的方法总结

2017-09-04 23:27 by 潇湘隐者, 18795 阅读, 收藏,
摘要: 本文总结一下ORACLE数据库中如何获取SQL绑定变量值的方法,在SQL优化调优过程中,经常会用到这方面的知识点。在此梳理、总结一下,方面日后查找、翻阅。 方法1:查询V$SQL V$SQL视图中的BIND_DATA字段用来存储绑定变量的值,但是从这个视图查询绑定变量的值,有很大的局限性: 1: 它的记录频率受_cursor_bind_capture_interval隐... 阅读全文

ORACLE SEQUENCE跳号总结

2017-09-01 00:02 by 潇湘隐者, 2851 阅读, 收藏,
摘要: 在ORACLE数据库中,序列(SEQUENCE)是使用非常频繁的一个数据库对象,但是有时候会遇到序列(SEQUECNE)跳号(skip sequence numbers)的情形,那么在哪些情形下会遇到跳号呢? 事务回滚引起的跳号 不管序列有没有CACHE、事务回滚这种情况下,都会引起序列的跳号。如下实验所示: SQL> create sequence my_seq... 阅读全文

ORACLE中seq$表更新频繁的分析

2017-08-30 12:04 by 潇湘隐者, 1591 阅读, 收藏,
摘要: 在分析ORACLE的AWR报告时,发现SQL ordered by Executions(记录了按照SQL的执行次数排序的TOP SQL。该排序可以看出监控范围内的SQL执行次数)下有一个SQL语句执行非常频繁,一个小时执行了上万次: update seq$ set increment$=:2, minvalue=:3, maxvalue=:4, cycle#=:5, order$=:6, c... 阅读全文

ORACLE Index Lookup索引访问路径总结

2017-08-23 10:11 by 潇湘隐者, 1024 阅读, 收藏,
摘要: 在ORACLE中,索引访问/查找(Index Lookup)路径有五种方式,分别为INDEX UNIQUE SCAN、INDEX RANGE SCAN、INDEX FULL SCAN、INDEX FAST FULL SCAN 、INDEX SKIP SCAN。下面通过一些案例介绍、总结一下这五种索引访问路径。本文是总结这方面的知识点,所以文中一些地方参考、引用了参考资料中的部分内容。详细、具体... 阅读全文

ORACLE实际执行计划与预估执行计划不一致性能优化案例

2017-08-19 16:16 by 潇湘隐者, 4278 阅读, 收藏,
摘要: 在一台ORACLE服务器上做巡检时,使用下面SQL找出DISK_READ最高的TOP SQL分析时,分析过程中,有一条SQL语句的一些反常现象,让人觉得很奇怪: SELECT SQL_ID, SQL_TEXT, DISK_READS, BUFFER_GETS, PARSING_SCHEMA_NAME, EXECUTION... 阅读全文

ORACLE等待事件:SQL*Net message from client & SQL*Net message to client

2017-08-15 08:26 by 潇湘隐者, 19943 阅读, 收藏,
摘要: 在ORACLE当中有两个很常见的等待事件“SQL*Net message from client”与“SQL*Net message to client”,两者有点区别,下面整理这方面的资料如下: SQL*Net message from client 表示服务端等待着Cilent发来请求让它处理,这时就会产生SQL*Net message from client等待事件。 ... 阅读全文

ORA-1652: unable to extend temp segment by 128 in tablespace xxx Troubleshootin

2017-08-08 22:54 by 潇湘隐者, 2810 阅读, 收藏,
摘要: 当收到告警信息ORA-01652: unable to extend temp segment by 128 in tablespace xxxx 时,如何Troubleshooting ORA-1652这样的问题呢? 当然一般xxx是临时表空间,也有可能是用户表空间。 我们先来模拟一下这个情况,在两个会话窗口执行下面SQL语句,这个视图比较特殊(因为比较懒,不想去构造一个大量消耗临时段的SQ... 阅读全文

ORACLE中修改表的Schema的总结

2017-07-11 11:00 by 潇湘隐者, 6109 阅读, 收藏,
摘要: 前阵子遇到一个案例,需要将数据库中的几个表从USER A 移动到USER B下面,在ORACLE中,这个叫做更改表的所有者或者修改表的Schema。其实遇到这种案例,有好几种解决方法。下面我们通过实验来测试、验证一下。首先准备简单测试数据,如下所示: SQL> CREATE TABLE TEST.KKK( ID INT , NAME VARCHAR2(12) , CONS... 阅读全文

ORA-01440: column to be modified must be empty to decrease precision or scale

2017-06-08 08:26 by 潇湘隐者, 7642 阅读, 收藏,
摘要: 在修改表字段的NUMBER类型的精度或刻度时,你可能会遇到ORA-01440: column to be modified must be empty to decrease precision or scale,下面介绍一下,如何处理这个问题。测试案例如下: SQL> drop table test; Table dropped. SQL>create table test(pro... 阅读全文

ORACLE 中NUMBER类型默认的精度和Scale问题

2017-06-07 16:06 by 潇湘隐者, 55611 阅读, 收藏,
摘要: 在ORACLE数据库中,NUMBER(P,S)是最常见的数字类型,可以存放数据范围为10^-130~10^126(不包含此值),需要1~22字节(BYTE)不等的存储空间。P 是Precison的英文缩写,即精度缩写,表示有效数字的位数,最多不能超过38个有效数字。S是Scale的英文缩写,表示从小数点到最低有效数字的位数,它为负数时,表示从最大有效数字到小数点的位数。有时候,我们在创建表的时候,... 阅读全文

ORACLE中死锁的知识点总结

2017-06-01 12:20 by 潇湘隐者, 21478 阅读, 收藏,
摘要: 死锁的概念 什么是死锁呢? 其实我们生活中也有很多类似死锁的例子。 我先举一个生活中的例子:过年回家,父亲买了一把水弹枪,儿子和侄子争抢着要先玩,谁也不让谁,拆开包装后,一个抢了枪, 一个逮住了子弹和弹夹。两个都争着要先玩,但是都互不相让。结果两个人都玩不了。如果儿子要先玩,就必须让侄子把子弹和弹夹给他,如果侄子要先玩,就必须让儿子把枪给侄子。他们就这样对峙了十几分钟,互不相让。 ... 阅读全文

Linux平台下RMAN异机恢复总结

2017-05-29 16:30 by 潇湘隐者, 20313 阅读, 收藏,
摘要: 下面总结、整理一下RMAN异机恢复这方面的知识点,这篇笔记在个人笔记里面躺了几年了,直到最近偶然被翻看到,遂整理、总结一下。如下所示,个人将整个RMAN异机恢复分为准备工作和操作步骤两大部分。当然,准备工作里面,有些步骤不是必须的,可以跳过或忽略的。这个取决于你的实际环境和你对RMAN异机恢复的熟悉程度。 准备工作 1:了解一下目标服务器与源服务器的操作系统版本信息 需要对比一下目标... 阅读全文

ORACLE关于段的HEADER_BLOCK的一点浅析

2017-05-15 15:27 by 潇湘隐者, 3036 阅读, 收藏,
摘要: 在学习段(segment)、区间(extent)时,对段的HEADER_BLOCK有一些疑问,本文记录一下探究的实验过程以及相关总结,,如有不对的地方,敬请指出。以SCOTT.EMP表为例(下面测试环境为Oracle Database 10g Release 10.2.0.5.0 - 64bit Production): SELECT FILE_ID, BLOCK_ID, ... 阅读全文

关系数据库如何快速查询表的记录数

2017-05-09 15:58 by 潇湘隐者, 17998 阅读, 收藏,
摘要: 在数据库中,很多人员习惯使用SELECT COUNT(*)、SELECT COUNT(1)、SELECT COUNT(COL)来查询一个表有多少记录,对于小表,这种SQL的开销倒不是很大,但是对于大表,这种查询表记录数的做法就是一个非常消耗资源了,而且效率很差。下面介绍一下SQL Server、 Oracle、MySQL中如何快速获取表的记录数。 SQL SERVER 数据库 在S... 阅读全文

ORACLE中关于外键缺少索引的探讨和总结

2017-04-17 15:59 by 潇湘隐者, 4990 阅读, 收藏,
摘要: 在ORACLE数据库中,定义外键约束时,ORACLE是不会自动创建对应索引的,必须手动在外键约束相关的列上创建索引。那么外键字段上是否有必要创建索引呢?如果有必要的话,巡检时,如何找出外键字段上没有创建索引的相关表,并生成对应的索引的脚本呢? 外键缺失索引影响 外键列上缺少索引会带来三个问题,限制并发性、影响性能、还有可能造成死锁。所以对于绝大部分场景,我们应该尽量考虑在外键... 阅读全文

ORA-12514, TNS:listener does not currently know of service requested in connect descriptor案例2

2017-04-12 13:39 by 潇湘隐者, 289194 阅读, 收藏,
摘要: 今天使用SQL Developer连接一台测试服务器数据库(ORACLE 11g)时,遇到了“ORA-12514, TNS:listener does not currently know of service requested in connect descriptor”错误,具体提示如下所示: 执行请求的操作时遇到错误: Listener refused the connection ... 阅读全文
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 20 下一页