Oracle单实例情况下的library cache pin的问题模拟与问题分析 參考自: WAITEVENT: "library cache pin" Reference Note (文档 ID 34579.1) How to Find the Blocker of the 'library cache pin' in a RAC environment? (文档 ID 780514.1) 本机环境:Oracle 10.2.0.5 x86-64bit for RHEL5.8 x86-…
Library cache是Shared pool的一部分,它几乎是Oracle内存结构中最复杂的一部分,主要存放shared curosr(SQL)和PLSQL对象(function,procedure,trigger)的信息,以及这些对象所依赖的table,index,view等对象的信息. Library cache需要解决三个问题: 1.快速定位的问题:Library cache中对象众多,Oracle如何管理这些对象,以便服务进程可以迅速找到他们需要的信息.比如某个服务进程需要迅速定位…
一,介绍 lodding... 二,安装前环境配置 01,依赖包的安装: yum install binutils-* yum install compat-libstdc++-* yum install elfutils-libelf-* yum install elfutils-libelf-devel-* yum install elfutils-libelf-devel-static-* yum install gcc-* yum install gcc-c++-* yum instal…
在想了解Oracle单实例数据可和RAC数据库前,请确保你已经知道了数据库和实例的关系,如果不了解,请参考Oracle 数据库实例和数据库. 单实例数据库模式 单实例模式下,一个数据库只能通过一个实例进行访问 RAC(Real Application Clusters)集群模式下,共享数据库文件,一个数据库生成多个相同的实例被用户访问.…
Oracle Study之--Oracle 单实例11.2.0.1.0升级到11.2.0.3.0 系统环境: 操作系统:RedHat EL6(64位) Oracle:    Oracle 11gR2 Oracle 11.2.0.1 单实例升级到11.2.0.3 Oracle 升级的步骤都差点儿相同,先升级Oracle software,然后升级Oracle instance. Oracle 11.2.0.2的patchset No 是:10098816. 关于该Patchset 的下载地址,參考…
Oracle Library Cache 的 lock 与 pin 说明 一. 相关的基本概念 之前整理了一篇blog,讲了Library Cache 的机制,参考: Oracle Library cache 内部机制 说明 http://blog.csdn.net/tianlesoftware/article/details/6629869 在这个机制中,没有详细讲library 上的lock 和pin.这2个概念对DB 的理解非常重要. 所以单独拿出来,进行说明. 根据hellodba 和…
关于library cache相关的LATCH非常多,名称差不多,我相信一些人对这些概念还是有些晕,我之前也有些晕,希望此文可以对这些概念有个更为清晰的理解,本文主要学习library cache pin 前期相关文章 http://blog.itpub.net/9240380/ 结论 1,library cache pin是用于并发的一种特殊锁,它不是LATCH2,library cache pin适用于正在执行存储过程时,不能同时去编译存储过程,后者则会产生此等待事件,目的即防止并发修改存储…
外键约束列并没有导致大量建筑指数library cache pin/library cache lock 清除一个100大数据表超过一百万线,发现已经运行了几个小时: delete B001.T_B11; 由下面的SQL跟踪,发现经常发生library cache pin和library cache lock的等待,怀疑有大量的recursive sql在运行.于是对这个session做了10046: 发现有大量的例如以下SQL运行,每删除1行T_B11,都会运行以下2条SQL一次, PARSI…
怎么发现RAC环境中的'library cache pin'等待事件的堵塞者(Blocker) 參考自 How to Find the Blocker of the 'library cache pin' in a RAC environment? (文档 ID 780514.1) 本文不做翻译.全文转载: Applies to: Oracle Database - Enterprise Edition - Version 9.2.0.1 to 11.1.0.7 [Release 9.2 to…
内容如下: 今天接到同事的电话,说他的一个存储过程已经run了一个多小时了,还在继续run,他觉得极不正常,按道理说不应该run这么长时间. 我说那我去看一下吧. 这个库是一个AIX上的10.2.0.4,我采集了一下问题时间段的AWR报告: 从AWR报告结果里我们可以看出在出问题的时间段,系统在经历严重的library cache pin以及library cache lock等待. 根据Load Profile的信息,看出导致上述library cache pin和library cache…
Doc ID 1476663.1) To Bottom In this Document   Purpose   Troubleshooting Steps   Brief Definition:   Problem Confirmation:   Library Cache Pin   Cursor Pin S wait on X   Improving Performance of Library cache pin or Pin S wait on X   Measuring Succes…
select sid,event,p1raw from v$session_wait where event like 'library cache pin%'; select sql_text from v$sqlarea where hash_value=(select sql_hash_value from v$session where sid=164); 通过以下SQL可以从 x$kglob得到正在pin的对象:select kglnaown,kglnaobj,kglnadlk fro…
library cache pin大部分都是因为编译存储过程造成的 查找造成问题的数据库对象(一般为存储过程) SELECT * FROM v$session_wait WHERE event = 'library cache pin' ORDER BY p1raw; SELECT kglnaown "Owner", kglnaobj "Object" FROM x$kglob WHERE kglhdadr = 'p1raw'; 一般是因为在编译的过程中,有大量的程…
一.引入问题 帮朋友在CentOS上安装一个10g的Oracle,结果朋友的CentOS版本是6.2的版本,最新的一个版本,不过Linux上基本都差不多,所以按照以前的步骤,迅速的操作起来,结果遇到N多以前没有遇到过的错误.安装被迫中断,尝试忽略之前的错误,又会遇到其他的错误. 64位 linux平台下Oracle安装文档 http://blog.csdn.net/tianlesoftware/article/details/6062816 如何搭建一个数据库服务器平台 http://blog.…
Oracle 官网有关单实例迁移到RAC的一个步骤说明: How to Convert 10g Single-Instance database to 10g RAC using Manual Conversion procedure [ID 747457.1] http://blog.csdn.net/tianlesoftware/archive/2010/12/09/6065903.aspx   RMAN 备份异机恢复 并创建新DBID http://blog.csdn.net/tianle…
在网上查了好多这方面的例子,但是似乎说的都不准确,在咨询朋友后终于实现了本机不安装oracle 的情况下,在windows系统上实现连接服务器上的数据库,现在贴出来与大家共享. 首先,我们需要一个PL/SQL 工具,网上有许多资源,这里就不重复给出,安装完,打开就会有如下界面,开始的时候只会有用户名和密码,如图:  接下来我们需要下载 :instantclient-basic-nt-12.1.0.1.0 (1).zip,这里我提供下载地址:http://pan.baidu.com/s/1skRw…
13.5 恢复临时文件 临时文件没有也不应该备份.通过V$TEMPFILE可以找到所有的临时文件. 此类文件的损坏会造成需要使用临时表空间的命令执行失败,不至于造成实例崩溃或session中断.由于临时表空间不用保存永久性数据,所以RMAN不会对其备份,一旦损坏采用的恢复策略是替换或者重建. SQL> ALTER TABLESPACE TEMP ADD TEMPFILE ... 13.6 恢复在线重做日志 所谓恢复在线日志是指其损坏后,创建新的日志取代受损的日志,最终的目的是能够让LGWR进程和…
索引就好象一本字典的目录.凭借字典的目录,我们可以非常迅速的找到我们所需要的条目.数据库也是如此.凭借Oracle数据库的索引,相关语句可以迅速的定位记录的位置,而不必去定位整个表. 虽 然说,在表中是否创建索引,不会影响到Oracle数据库的使用,也不会影响数据库语句的使用.这就好像即使字典没有目录的话,用户仍然可以使用它一 样.可是,若字典没有目录,那么可想而知,用户要查某个条目的话,其不得不翻遍整本字典.数据库也是如此.若没有建立相关索引的话,则数据库在查询记录的 时候,不得不去查询整个表…
今天这一章要紧接上一讲中的东西,本章中创建基于单表操作的CRUD与GetList操作,此示例中以Visitor表为范例,为了创建一点测试数据我们先弄个Add方法吧 继续在上次的IVisitorOperation接口类中添加add,delete,update,query与getList接口方法,如下所示: /* * 基础查询 */ public Visitor basicQuery(int id); /* * 添加访问者 */ public int add(Visitor visitor); /*…
Oracle多实例运行,单个实例就是一个数据库!,一个数据库对应多个实例是RAC Linux建立oracle的实例步骤: 1.在linux服务器的图形界面下,打开一个终端,输入如下的命令: xhost +   ###远程调用图形化的 2.切换到oracle 用户: su - oracle 3.指定要建立数据库实例SID   export ORACLE_SID=test 4.使用DBCA工具建立实例     dbca 5.手工启动两个实例 su - oracle lsnrctl start   #…
 概述:     C#通过使用ADO的方式在未安装Oracle数据库的前提下,客户端程序远程访问服务器,会出现:“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”问题,本文讲述如何通过简单方式快速实现免安装客户访问Oracle数据库,以解决当前问题.  第一步:下载Instant Client 文件 1.去Oracle官网下载Instantclient. 我是在这里下载Instantclient的:http://www.oracle.co…
13.3无备份恢复控制文件 没有备份恢复控制文件其实就是在nomount状态,create control创建一个新的控制文件. dba必须知道4个信息才能正确的创建:数据库名.在线日志路径及其大小.在线的可读/写数据文件路径.数据库字符集 其中指定数据库字符集是为了在打开数据库之前执行recover tablespace  ..或restore tablespace时可以正确解析表空间名称 --之前在dsi系列介绍了使用bbed查看数据文件头的方式来确定字符集,数据库名等方法. --maxlo…
一般在使用plsql时,会结合oracle客户端来使用,这样方便把数据库连接信息添加到plsql中.不过oracle客户端软件有点庞大,安装起来不太方便,所以在网上找到一种不依赖oracle客户端来使用plsql的方法. 1.准备 虽然不用oracle客户端,但是也要用到一个工具包--instantclient,可以到oracle官网下载(https://www.oracle.com/technetwork/topics/winsoft-085727.html) 2.具体操作步骤 (1)把下载好…
一.初始化数据库11张quartz表:qrtz_*   先从官网下载好quartz2.3.0包:http://www.quartz-scheduler.org/downloads/ 解压后进入目录:quartz-2.3.0-SNAPSHOT\src\org\quartz\impl\jdbcjobstore 得到22种数据库的11张qrtz_*表的初始化SQL,这里列举几个经典的数据库文件:tables_oracle.sql.tables_mysql_innodb.sql.tables_sqlSe…
linux中启动网卡报错:Error: Connection activation failed: Connection 'eth0' is not available on the device eth0 at this time. 在重启linux网络服务的时候提示: Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/2 并且产生报错: Error: Connection activation f…
13.1 恢复密码文件 密码文件(linux 为例)在$ORACLE_HOME/dbs目录下,文件名的前缀是orapw,后接数据库实例名. [oracle@DSI backup]$ cd /u01/app/oracle/product/11.2.0/db_1/dbs/ -rw-r----- 1 oracle oinstall     1536 Jul 25 10:15 orapworcl 该文件只为两个权限服务:SYSDBA和SYSOPER 密码文件的丢失或损坏导致需要访问该文件的相关操作都失败…
首先下载instantclient 可以到oracle官网下载,要注册账号,一定要下对应版本的,要不然不成功, 10G,11G版的,我已经传上来了,免费下载:正在上传中,稍等 配置文件tnsnames.ora 这个一个地方一般都放(network/ADMIN),只有在pl/sql ----->tools-->proferences...------>connection----> oracle home(empty is autodetect) 写上tnsnames.ora的路径(…
一.下载instantclient_11_2,可去oracle官网进行下载. 二.解压缩下载的instantclient_11_2,将instantclient_11_2目录拖放到C:\Program Files\目录下(可自定义). 三.添加环境变量如下: 1)变量名:ORACLE_HOME 变量值:D:\Program Files\instantclient_11_2 2)变量名:TNS_ADMIN 变量值:D:\Program Files\instantclient_11_2 3)变量名:…
1.用oracle用户登录如果要再次安装, 最好先做一些备份工作.包括用户的登录脚本,数据库自动启动关闭的脚本,和Listener自动启动的脚本.要是有可能连创建数据库的脚本也保存下来 2.使用SQL*PLUS停止数据库[oracle@yoon oracle]$ sqlplus /nologSQL> connect / as sysdbaSQL> shutdown immediateSQL> exit 3.停止Listener[oracle@yoon oracle]$ lsnrctl s…
一,开篇 此篇操作承接上文,必须完成DG实例搭建完成方可有执行以下内容的实例 二,切换物理备库 one. oracle01库命令 select switchover_status from v$database; alter database commit to switchover to physical standby; 注意: 上面 switchover_status 的值如果是 TO STANDBY,可以直接 switchover,如果是 sessions active,则需要在 swi…