摘要:
在Windows Server 2012平台使用命令启动监听服务时遇到了TNS-12560 & TNS-00530错误。 C:\Users>lsnrctl start GEW_LISTENER LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 01-MAR-2018 12:05 :10 Copyright ... 阅读全文
随笔分类 - 数据库技术(Oracle)
ORACLE透明网关访问SQL Server配置总结
2018-03-01 11:42 by 潇湘隐者, 4753 阅读, 收藏,
摘要:
透明网关概念 ORACLE透明网关(Oracle Transparent Gateway)可以解决ORACLE数据库和非ORACLE数据库交互数据的需求。在一个异构的分布式环境中,通过ORACLE透明网关可以访问其他类型数据库,例如DB2,SQL Server、Sybase....。这个类似于SQL Server里面的LINKED SERVER可以直接访问异构的数据库环境,由于Window... 阅读全文
ORACLE ASMM与AMM的总结
2018-01-05 15:04 by 潇湘隐者, 7157 阅读, 收藏,
摘要:
概念对比介绍 相信有些人会对ORACLE当中的AMM(Automatic Memory Management)与ASMM(Automatic Shared Memory Management)有些迷惑或混淆,不清楚两者的异同,本文会从几个方面来总结一下两者的异同。如有不足或疏漏之处,敬请指正! 从ORACLE发布的版本历史(时间轴)来看,ORACLE的内存管理的大致历程如下: OR... 阅读全文
RMAN还原时注意set newname时文件名不要有空格
2017-11-08 15:56 by 潇湘隐者, 2631 阅读, 收藏,
摘要:
今天遇到一个非常奇怪的现象,查看ORACLE数据库的一个文件,明明这个文件是存在的,但是使用ls -lrt 查看都显示这个文件不存在。很是纳闷! 后面发现在终端输入文件名后并使用tab键时,发现文件后其实是有空格(不可见字符)。如下截图所示: [oracle@ehvlnx02 ~]$ ls -lrt /u01/oradata/SCM2/system01.dbfls: /u01/ora... 阅读全文
ORA-04028: cannot generate diana for object xxx
2017-11-02 14:16 by 潇湘隐者, 881 阅读, 收藏,
摘要:
在ORACLE数据库(10.2.0.5.0)上修改一个包的时候,编译有错误,具体错误信息为"ORA-04028: cannot generate diana for object xxx"。 Warning: Package Body created with compilation errors. SQL> show error;Errors for PACKAGE BODY XXXX... 阅读全文
ORACLE不可见索引(Invisible Indexes)
2017-09-18 21:46 by 潇湘隐者, 5817 阅读, 收藏,
摘要:
不可见索引概念 不可见索引(Invisible Index)是ORACLE 11g引入的新特性。不可见索引是会被优化器忽略的不可见索引,除非在会话或系统级别上将OPTIMIZER_USE_INVISIBLE_INDEXES初始化参数显式设置为TRUE。此参数的默认值是FALSE。如果是虚拟索引是为了合理、科学新增索引而设计的,那么不可见索引就是为了合理、科学的删除索引而设计的。为什么这样说... 阅读全文
ORACLE虚拟索引(Virtual Index)
2017-09-15 16:10 by 潇湘隐者, 1840 阅读, 收藏,
摘要:
ORACLE虚拟索引(Virtual Index) 虚拟索引概念 虚拟索引(Virtual Indexes)是一个定义在数据字典中的假索引(fake index),它没有相关的索引段。虚拟索引的目的是模拟索引的存在而不用真实的创建一个完整索引。这允许开发者创建虚拟索引来查看相关执行计划而不用等到真实创建完索引才能查看索引对执行计划的影响,并且不会增加存储空间的使用。如果我们观察到优化器生成... 阅读全文
ORACLE NLS_DATE_FORMAT设置
2017-09-14 09:01 by 潇湘隐者, 8341 阅读, 收藏,
摘要:
最近在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 潇湘隐者, 3285 阅读, 收藏,
摘要:
ORACLE归档日志比联机重做日志小很多的情况 前几天一网友在群里反馈他遇到归档日志比联机重做日志(redo log)小很多的情况,个人第一次遇到这种情况,非常感兴趣,于是在一番交流沟通后,终于弄清楚了情况,顺便将这方面的资料整理于此!也是一个总结、学习过程! 归档日志比联机重做日志小很多,出现这种情况的原因有很多,我们可以从下面这几方面着手检查,一一排除确认。 1:检查参数A... 阅读全文
ORACLE获取SQL绑定变量值的方法总结
2017-09-04 23:27 by 潇湘隐者, 18652 阅读, 收藏,
摘要:
本文总结一下ORACLE数据库中如何获取SQL绑定变量值的方法,在SQL优化调优过程中,经常会用到这方面的知识点。在此梳理、总结一下,方面日后查找、翻阅。 方法1:查询V$SQL V$SQL视图中的BIND_DATA字段用来存储绑定变量的值,但是从这个视图查询绑定变量的值,有很大的局限性: 1: 它的记录频率受_cursor_bind_capture_interval隐... 阅读全文
ORACLE SEQUENCE跳号总结
2017-09-01 00:02 by 潇湘隐者, 2799 阅读, 收藏,
摘要:
在ORACLE数据库中,序列(SEQUENCE)是使用非常频繁的一个数据库对象,但是有时候会遇到序列(SEQUECNE)跳号(skip sequence numbers)的情形,那么在哪些情形下会遇到跳号呢? 事务回滚引起的跳号 不管序列有没有CACHE、事务回滚这种情况下,都会引起序列的跳号。如下实验所示: SQL> create sequence my_seq... 阅读全文
ORACLE中seq$表更新频繁的分析
2017-08-30 12:04 by 潇湘隐者, 1571 阅读, 收藏,
摘要:
在分析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 潇湘隐者, 1001 阅读, 收藏,
摘要:
在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 潇湘隐者, 4229 阅读, 收藏,
摘要:
在一台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 潇湘隐者, 19818 阅读, 收藏,
摘要:
在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 潇湘隐者, 2761 阅读, 收藏,
摘要:
当收到告警信息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 潇湘隐者, 6039 阅读, 收藏,
摘要:
前阵子遇到一个案例,需要将数据库中的几个表从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 潇湘隐者, 7455 阅读, 收藏,
摘要:
在修改表字段的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 潇湘隐者, 55439 阅读, 收藏,
摘要:
在ORACLE数据库中,NUMBER(P,S)是最常见的数字类型,可以存放数据范围为10^-130~10^126(不包含此值),需要1~22字节(BYTE)不等的存储空间。P 是Precison的英文缩写,即精度缩写,表示有效数字的位数,最多不能超过38个有效数字。S是Scale的英文缩写,表示从小数点到最低有效数字的位数,它为负数时,表示从最大有效数字到小数点的位数。有时候,我们在创建表的时候,... 阅读全文
ORACLE中死锁的知识点总结
2017-06-01 12:20 by 潇湘隐者, 21217 阅读, 收藏,
摘要:
死锁的概念 什么是死锁呢? 其实我们生活中也有很多类似死锁的例子。 我先举一个生活中的例子:过年回家,父亲买了一把水弹枪,儿子和侄子争抢着要先玩,谁也不让谁,拆开包装后,一个抢了枪, 一个逮住了子弹和弹夹。两个都争着要先玩,但是都互不相让。结果两个人都玩不了。如果儿子要先玩,就必须让侄子把子弹和弹夹给他,如果侄子要先玩,就必须让儿子把枪给侄子。他们就这样对峙了十几分钟,互不相让。 ... 阅读全文