- 博客(42)
- 收藏
- 关注
转载 JDBC中语句超时与事务
在JAVA使用JDBC连接数据库进行操作时,有可能为了避免语句运行超时,而设置超时时长。这里有一个问题是,假设一个事务有两条DML SQL语句,会话在执行第一条SQL成功后,执行第二条SQL超时而中止时,事务处于什么样的状态?通常来说,一个SQL报错,只会进行语句级回滚,整个事务不会进行回滚。我们来进行一下测试。测试环境:Oracle 11.2.0.2 for Windows。
2015-05-12 20:31:09
1175
转载 Oracle JDBC中的语句缓存
在Oracle数据库中,SQL解析有几种:硬解析,过多的硬解析在系统中产生shared pool latch和library cache liatch争用,消耗过多的shared pool,使得系统不具有可伸缩性。软解析,过多的软解析仍然可能会导致系统问题,特别是如果有少量的SQL高并发地进行软解析,会产生library cache latch或者是share方式的mutex争用。
2015-05-12 20:24:12
1005
转载 SQL TRACE TKProf报告
SQL TRACE TKProf报告2013/08/25 BY MACLEAN LIU 1条评论在《Maclean教你读Oracle 10046 SQL TRACE》中我介绍了10046 TRACE的阅读以及其中个字段的含义, 接着我们介绍 10046 sql trace的搭档工具TKPROF。 TKPROF是一个可执行文件,自带在Oracle Server
2014-09-26 20:54:52
671
转载 Oracle 10046 SQL TRACE
有同学一直向Maclean反应希望做一期10046 SQL trace的教程, 正好这几天有空 我们就理一理。 为什么我们要使用10046 trace? 10046 trace帮助我们解析 一条/多条SQL、PL/SQL语句的运行状态 ,这些状态包括 :Parse/Fetch/Execute三个阶段中遇到的等待事件、消耗的物理和逻辑读、CPU时间、执行计划等等。
2014-09-26 20:50:14
647
转载 Brain Split
Brain Split? 真正出现脑裂的几率并不高,但确实让我们碰上了。2个月前为一套AIX6.1上的10.2.0.4双节点RAC系统做故障测试,主要内容是拔除RAC interconnect网线,测试CRS能否正确处理私有网络挂掉的情况。 正式测试时发现2台主机都没有重启,而两端的CSS都认为对方节点已经down了。这就造成2个节点都以为自身是幸存者,也就是我们说的脑裂(brai
2014-09-17 16:42:43
1114
转载 Oracle RAC Brain Split Resolution
Oracle RAC Brain Split Resolution2011/04/23 byMaclean Liu20条评论大约是一周前,一位资深的Oracle工程师向我和客户介绍RAC中脑裂的处理过程,据他介绍脑裂发生时通过各节点对voting disk(投票磁盘)的抢夺,那些争抢到(n/2+1)数量voting disk的节点就可以survive(幸存)下来,而没有争抢
2014-09-17 16:36:23
758
转载 【Oracle ASM数据恢复】ORA-15038: disk ‘XXXXXXX’ mismatch on ‘Time Stamp’ with Target Disk Group错误解析
如果在mount diskgroup时遇到如下错误,则你有必要读一下这篇文章: SQL> alter diskgroup DATA mount;alter diskgroup DATA mount*ERROR at line 1:ORA-15032: not all alterations performedORA-15040: diskgroup is incompl
2014-09-17 15:56:43
1946
转载 了解更多关于Oracle ASM md_backup md_restore
The md_backup command creates a backup file containing metadata for one or more disk groups.Volume and Oracle Automatic Storage Management Cluster File System (Oracle ACFS) file systeminformation
2014-09-17 15:42:46
914
转载 ORACLE数据库存储结构简介
ORACLE数据库存储结构简介 By Allen Gao on 一月 18, 2013我们知道数据库是存储数据的容器,它的主要功能是保存和共享数据。在这篇文章中,我们对数据库存放数据的基础知识进行了介绍。首先,oracle数据库的存储结构可以分为逻辑存储结构和物理存储结构,对于这两种存储结构,oracle是分别进行管理的。 逻辑存储结构:oracle内部的组织
2014-09-17 15:28:13
847
转载 在AIX上运行RAC时网络方面的一些最佳经验
在AIX上运行RAC时网络方面的一些最佳经验 By JaneZhang(张建英) on 五月 23, 2013在AIX上运行RAC时网络方面的一些最佳经验1. Oracle推荐使用Etherchannel来配置网卡绑定,推荐主/备模式的网卡绑定,主/主(Active/Active)模式不推荐,因为主/备模式更稳定一些。注意:从11.2.0.2开始,Oracle 的集群软件G
2014-09-17 15:25:28
549
转载 Redundant Interconnect with Highly Available IP (HAIP) 简介
Redundant Interconnect with Highly Available IP (HAIP) 简介By JaneZhang(张建英) on 三月 31, 2012 从11.2.0.2开始,Oracle 的集群软件Grid Infrastructure(GI)中新增了Redundant Interconnect with Highly Available I
2014-09-17 15:25:14
627
转载 Oracle 11g修改RAC SCAN IP
Oracle 11g修改RAC SCAN IP 在11gR2中,引入了SCAN(Single Client Access Name)的特性,该特性的好处在于,在数据库与客户端之间,添加了一层虚拟的服务层,就是所谓的scan ip以及scan ip listener,在客户端仅需要配置scan ip的tns信息,通过scan ip listener,连接后台集群数据库。这样,不论
2014-09-17 01:42:30
629
转载 Oracle 11gR2 SCAN 详解
在Oracle 11g R2之前,如果数据库采用了RAC架构,在客户端的tnsnames中,需要配置多个节点的连接信息,从而实现诸如负载均衡、Failover等RAC的特性。因此,当数据库RAC集群需要添加或删除节点时,需要及时对客户端机器的tns进行更新,以免出现安全隐患。在Oracle 11g R2中,为了简化该项配置工作,引入了SCAN(Single Client Acc
2014-09-17 01:38:21
731
转载 RAC环境下的备份与恢复(五)
在前面的几个章节中,简要的介绍了在rac环境下对数据库执行备份和完全恢复,rac环境同单实例环境相比,除了需要备份控制文件,日志文件,数据文件和参数文件外,还需要对ocr和表决盘进行日常备份!下面来简要的介绍下votedisk和ocr的备份和恢复!一:表决盘的备份,Voting disk记录节点成员信息,如包含哪些节点成员、节点的添加删除信息记录,大小为20MB查看voting dis
2014-09-17 00:32:46
606
转载 关于V$OPEN_CURSOR
在之前的一次讨论中,有同行指出V$OPEN_CURSOR中列出的不是OPEN CURSOR而是SESSION CACHED CURSOR,原因是在一次ORA-01000(maximum open cursors exceeded)事故中他没有从V$OPEN_CURSOR中找到大量的打开游标。对于这个问题,我们可以利用JAVA程序做一个演示来说明,以下为JAVA代码:package
2014-09-16 14:07:04
3741
转载 Silent Installation静默安装11gR2 DB SERVER单机并手动建库步骤
静默安装11gR2 DB SERVER单机并手动建库步骤静默安装是在我们无法使用OUI图形界面安装ORACLE DB软件,亦或者我们需要大规模部署该软件时采用的方法。静默安装不要求启动图形界面,仅仅使用命令行即可实施。具体在11gR2单机以silent静默方式安装时,可以省略使用response file,步骤如下:1. 解压安装包,如果你是在Linux上且安装目前最新
2014-09-16 13:48:23
851
转载 如何重命名DB- How to Rename DB_NAME with NID?
如何如何重命名DB- How to Rename DB_NAME with NID? 一般可以Follow 下面的过程: rename database 重命名db,原DB_NAME=MACLEANS 需要修改为MACSHSQL> shutdown immediate;Database closed.Database dismounted.ORACL
2014-09-16 13:42:35
623
转载 AIX 5L安装启动说明书
1 文档目的指导施工人员安装IBM AIX 5L系统。2 系统介绍AIX(Advanced Interactive eXecutive)是IBM开发的一套UNIX操作系统。它符合Open group的UNIX 98行业标准(The Open Group UNIX 98 Base Brand),通过全面集成对32-位和64-位应用的并行运行支持,为这
2014-08-24 16:27:36
976
转载 企业级灾备中心和数据恢复
数据中心的容灾备份和业务连续对公司来说有多重要?我们来看看国外在这方面的一些统计吧:金融业在灾难停机两天内所受损失为日营业额的50%;如果在两星期内无法恢复信息系统,75%的公司将业务停顿,43%的公司将再也无法开业;没有实施灾难备份措施的公司60%将在灾难后2-3年间破产。由此可见灾难恢复对公司正常运行的重要性、必要性和迫切性。 实施数据中心的容灾备份,是企业业务持续运作的要求、同时也
2014-08-24 16:21:07
3002
转载 oracle 性能查看
判断回滚段竞争的SQL语句:(当Ratio大于2时存在回滚段竞争,需要增加更多的回滚段)select rn.name, rs.GETS, rs.WAITS, (rs.WAITS / rs.GETS) * 100 ratiofrom v$rollstat rs, v$rollname rnwhere rs.USN = rn.usn 判断恢复日志竞争的SQL语句:(immediate_con
2014-08-24 16:17:59
891
转载 Oracle日常性能查看
判断回滚段竞争的SQL语句:(当Ratio大于2时存在回滚段竞争,需要增加更多的回滚段)select rn.name, rs.GETS, rs.WAITS, (rs.WAITS / rs.GETS) * 100 ratiofrom v$rollstat rs, v$rollname rnwhere rs.USN = rn.usn 判断恢复日志竞争的SQL语句:(immediate_con
2014-08-24 16:08:07
515
转载 如何用sys as sysdba权限连接数据库进行EXP/IMP
使用sys as sysdba权限进行EXP/IMP与其它用户稍有不同,详细内容如下(摘自metalink)Applies to:Oracle Server - Enterprise Edition - Version: 8.1.7.0 to 10.2.0.0Oracle Server - Personal Edition - Version: 8.1.7.0 to 10.2.0.0Ora
2014-08-24 16:04:15
2229
转载 如何获取Oracle数据库中某表及索引、约束、触发器、对象权限的创
在上一篇文章中,我们知道了如何获取Oracle数据库中某个用户下的所有表、索引、约束、触发器的创建脚本?那么对于数据库中特定的某张表而言,又该如何获取建表语句、及索引、约束、外键约束、触发器、对象权限的创建脚本呢?在这里,给出一个实现上述功能的脚本:
2014-06-25 02:09:40
1055
转载 如何获取Oracle数据库中某个用户下的所有表、索引、约束、触发器
在Oracle数据库中,如何快速获取某个用户下的所有表、索引、约束及触发器的创建SQL语句呢?本文给出一个简单的示例脚本,经过测试,除位于回收站下的对象及只读视图的约束语句不能获取,其它对象基本均可获取CREATE语句。脚本内容如下:
2014-06-25 02:05:26
2909
转载 动态sql(dbms_sql包的使用)
1、执行诸如DDL和DDL语句(select除外) a)打开一个游标 b)分析要执行的语句 c)绑定可能需要的任何输入变量 d)执行语句 e)关闭游标select语句的执行如下:set serveroutput on;declarev_cursorid number;v_selectrecords varchar2(500);
2014-01-18 23:12:58
735
转载 Oracle中清除游标缓存的几种方法
9i以后引入了bind peeking绑定变量窥视特性,但该特性常有帮当忙之嫌,所以有了11g的自适应游标特性。排除因绑定变量窥视造成的因素外,统计信息讹误也会造成执行计划偏差,这时我们就可能需要清除指定游标的缓存信息,从而达到重新解析的目的。下面我们列举几种可以达到清除游标缓存的方法,权作抛砖引玉:1. alter system flush shared_pool;
2014-01-09 01:51:11
2735
转载 脚本:监控数据库中的活跃用户及其运行的SQL
脚本正文:set linesize 120 pagesize 66col c1 for a9col c1 heading "OS User"col c2 for a9col c2 heading "Oracle User"col b1 for a9col b1 heading "Unix PID"col b2 for 9999 justify leftcol b2 heading
2014-01-09 01:39:26
550
转载 利用FORCE_MATCHING_SIGNATURE捕获非绑定变量SQL
做为一个DBA,你大概习惯了定期要抓取数据库中的非绑定变量SQL,这些SQL经常扮演着一箱苹果中蛀虫的角色。看到下列SQL你必定觉得眼熟:SELECT substr(sql_text, 1, 80), count(1) FROM v$sql GROUP BY substr(sql_text, 1, 80)HAVING count(1) > 10 ORDER BY 2是的,以上
2014-01-09 01:35:51
1292
转载 通过设置 session_cached_cursors参数
SCRIPT – to Tune the 'SESSION_CACHED_CURSORS' and 'OPEN_CURSORS' ParametersScript:select 'session_cached_cursors' parameter, lpad(value, 5) value, decode(value, 0, ' n/a', to_char(100 * u
2014-01-09 01:17:23
1192
转载 ORA-4031错误原理及诊断脚本汇总
4031_diag_script.zip1. SGA中的内存池包含不同大小的内存块。当数据库启动时,就有一个大的内存块分配并被hush buckets 里的空闲列表追踪。随着时间推移,随着内存的分配和释放,内存块被按照大小在不同的hush buckets间移动。当SGA里任何一个内存池里出现不能满足内部分配请求的情况时,ORA-04031就出现了。shared pool共享池的管理方式不同
2014-01-09 01:09:34
3458
转载 【性能调优】Oracle AWR报告指标全解析
Hawk Eyes 看AWR的鹰眼= 基础理论夯实+看过500份以上AWR 啥是AWR?===================================================================================================== AWR (Automatic Workload Repository)一堆历史
2014-01-09 00:47:22
10757
转载 在Linux 6上使用UDEV解决RAC ASM存储设备名问题
在《利用UDEV服务解决RAC ASM存储设备名》一文中我推荐了自己写的一个脚本,该脚本会自动生成udev rule规则文件:for i in b c d e f g h i j k ;doecho "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id -g -u -s %p\", RESULT==\"`scsi_id -g -
2014-01-09 00:27:41
930
转载 利用UDEV服务解决RAC ASM存储设备名
在我们介绍了使用ASMLIB作为一种专门为Oracle Automatic Storage Management特性设计的内核支持库(kernel support library)的优缺点,同时建议使用成熟的UDEV方案来替代ASMLIB。这里我们就给出配置UDEV的具体步骤,还是比较简单的:1.确认在所有RAC节点上已经安装了必要的UDEV包[root@rh2 ~]# rpm -qa
2014-01-09 00:16:57
925
转载 Why ASMLIB and why not?
ASMLIB是一种基于Linux module,专门为Oracle Automatic Storage Management特性设计的内核支持库(kernel support library)。长久以来我们对ASMLIB的认识并不全面,这里我们来具体了解一下使用ASMLIB的优缺点。理论上我们可以从ASMLIB API中得到的以下益处:总是使用direct,async IO解决了永
2014-01-09 00:07:48
570
转载 如何诊断ASMLIB故障
虽然我并不推荐你使用ASMLIB绑定设备名, 详见这篇文章《Why ASMLIB and why not?》 。 但大概因为介绍ASMLIB的文章远多于UDEV的缘故, 导致有大量对RAC安装配置不太熟悉的朋友仍执意采用ASMLIB,又因为ASMLIB的配置不算太简单所以在实际安装RAC之前的ASMLIB实施过程中有不少人遇到了问题, 其次在ASMLIB的使用过程中麻烦也不少。这里总结了
2014-01-08 23:57:02
676
转载 Know more about checkpoint
checkpoint 分成很多种 full 、file、thread、parallel query、 object 、incremental 、logfile switch 每一种checkpoint 都有其自身的特性,例如Incremental Checkpoint会要求ckpt 每3s 更新一次controlfile 但是不更新datafile header, 而FULL CHECK
2014-01-08 23:16:31
667
转载 logfile switch causes incremental checkpoint?
不少Oracle的初学者都会因为checkpoint这个知识点而头痛,绝大多数Oracle文档对完全检查点和增量检查点的描述又都略显朦胧;譬如在线日志的切换引起的是完全检查点还是增量检查点这个问题,就有不少的争论。实际上增量检查点与完全检查点有一个显著的区别:完全检查点发生时控制文件和数据文件头中的checkpoint scn都会被更新,而增量检查点发生时只有控制文件中的checkpoint sc
2014-01-08 23:09:54
546
转载 为什么RHEL 6上没有ASMLIB?
为什么RHEL 6上没有ASMLIB? 有些人简单解释为Oracle为了推广自家的Oracle Linux而特意为之,实际上这一评价是不公允的。ASMLIB的特殊性是它有部分Linux Kernel内核级别的组件, 而Kernel的开放与否完全取决于Kernel内核的维护者,对于Red Hat Enterprise Linux而言是Redhat公司。 由于Redhat公司从RHEL 6
2014-01-05 13:32:09
848
转载 Oracle instant client的使用
Oracle instant client的使用 最近重装了操作系统,使用的是Windows7 x64的版本,不准备安装Oracle,于是从官网上看到了Instant Client。 兴冲冲下载了一个64位的版本,instantclient-basic-windows.x64-11.2.0.3.0.zip,配置好后,使用PL/SQL Develpoer却提示无法连接,原因是PLSQ
2014-01-03 11:57:15
1121
转载 利用RMAN检测数据库坏块的脚本
虽然我们也可以通过dbv(db file verify)工具做到对单个数据文件的坏块检测,但是直接使用RMAN的”backup validate check logical database;”结合V$DATABASE_BLOCK_CORRUPTION视图要方便地多。Script:1) $ rman target / nocatalog2) RMAN> run {allocate c
2013-12-27 00:52:37
789
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人