自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(33)
  • 资源 (1)
  • 收藏
  • 关注

原创 在select运行的过程中删除表会怎样

When I was reading a oracle document, it said that the select action will not put any locks on the table you are reading. That is different from what I thought before. I understand that if a table wer

2014-06-17 16:07:41 270

原创 oracle lock处理

这里不讨论oracle中锁的概念,只是讨论实际情况中遇到锁应该怎么办。

2014-06-17 15:48:20 250

原创 2012年3月28日 周三

9:00 到公司9:00 9:30 整理准备不能晚睡啊9:30 4:00 case4:00 6:30 oracle看了一下午的oracle,状态不好,没看进去什么。更有可能是看错方向了。不过有点收获,明白了v$lock 是个enqueue的视图这个概念。在oracle中,一个transaction去申请一个row上的锁的时候,会发现这个锁已经被另一个transact

2012-03-28 09:18:09 168

原创 2012年3月27日 周二

8:40 到公司8:40 9:10 早餐,新闻,准备9:10 10:50 case10:50 12:00 case1:00 1:30 case1:30 6:30 case今天几乎一直在解决一个case。 case现象是一个weblogic domain在用WLST 去deploy web application的时候,应用只卡在new的状态不前进。但是手动从con

2012-03-27 09:09:01 194

原创 LU solaris patch(1) LU实际操作

回顾LU原理我们知道LU的原理是先创建一个和当前BE(boot enviroment)一模一样的新BE。所谓BE就是当前操作系统的最小化模式。所以可以理解为LU是先创建一个当前操作系统最小化的拷贝。然后对这个拷贝进行patch。这样就不会影响当前的操作系统正常运行。当对新BE的patch完毕后,重启计算机,把计算机切换到patch过的BE上。LU实际操作check lu status

2012-03-26 11:20:57 287

原创 2012年3月28日 周一

8:40 到公司8:40 9:30 早饭,浏览新闻,各项准备工作9:30 9:50 新开这篇博客一大早晨,真正开始学习工作的时间实际上都快10点了。整整一个半小时都在做无谓的事情。尤其是看新闻之类,完全可以放到下午累的时候看。 以后要早点来,8:30到。希望明天8:30到10点这段时间可以改写为8:30  到公司8:30 9:40各项准备工作9:40 10:00工作

2012-03-26 10:07:22 169

原创 2012-03-26 周一

8:40 到公司8:40 9:30早饭,浏览新闻,各项准备工作9:30 9:50新开这篇博客------------一大早晨,真正开始学习工作的时间实际上都快10点了。整整一个半小时都在做无谓的事情。尤其是看新闻之类,完全可以放到下午累的时候看。 以后要早点来,8:30到。希望明天8:30到10点这段时间可以改写为8:30  到公司8:30 9:40各项

2012-03-26 10:01:57 104

原创

8:40到公司8:409:30 早饭,浏览新闻,各项准备工作9:309:50 新开这篇博客------------一大早晨,真正开始学习工作的时间实际上都快10点了。整整一个半小时都在做无谓的事情。尤其是看新闻之类,完全可以放到下午累的时候看。 以后要早点来,8:30到。希望明天8:30到10点这段时间可以改写为8:30 到公司8:309:40

2012-03-26 10:01:07 83

原创 LU solaris patch(1) LU原理

LU是什么?LU patch,顾名思义,在线升级。也就是说不用像传统的升级方式那样,把服务器设置到单用户模式来升级。这样就减少了服务器的down time,减少对业务的影响。我们知道打Patch是像操作系统中添加一些补丁文件,对操作系统会产生较大的改动,为了安全起见,通常要在单用户模式下进行patch,这样是为了保证在patch的过程中不会受到其他用户和进程等的干扰。那么为什么Live

2012-03-23 11:09:22 302

原创 SMF services manager facility

SMF是solaris10中用于管理服务的一个组件。全称是service management facility。原来在solaris9中,很多服务都是由/etc/init.d或者/etc/rc*.d中的脚步来控制启动和关闭,现在这些服务基本上都由SMF来管理。SMF包含一个主进程(也叫做启动器守护进程)和多个受其委托的重新启动器。主进程svc.startd是由init进程启动的。

2012-03-21 17:14:43 115

转载 prefix

源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install),具体的安装方法一般作者都会给出文档,这里主要讨论配置(configure)。Configure是一个可执行脚本,它有很多选项,使用命令./configure –help输出详细的选项列表,如下:-bash-3.00# ./configure --helpUsage: configu

2012-03-19 15:44:43 186

原创 spfile为啥叫服务器参数文件

一直不明白为啥spfile叫服务器参数文件,后来看expert oracle architecture终于明白了。 原来的文本初始化参数文件是可以放在客户端的,而且有时在客户端必须存在。如果是想在客户端启动数据库,那么客户端就一定要有这个参数文件。这样很不方便,会导致的问题是,如果有多个这样的客户端就要有多个这样的参数文件,很难管理。spfile存放在服务器,很方便管理  。这就是为啥强调服务器的

2012-03-02 17:01:30 147

原创 高水位线

高水位线高水位线 (HWM)是什么呢?从很多书上得到的解释是这样的,它是oracle一个表的segment中已经使用的空间和从来没使用过的空间(unformatted)的一个分界线。 但实际上这种说法不准确。要考虑两个方面两种情况,一种是ASSM,一种是MSSM。一个segment中HWM之下的空闲空间分配干净了,这时HWM会上移,这样HWM之下就会又分配了一些用于写的数据块。MS

2012-02-29 14:35:02 342

原创 高水位线等问题

写这篇博客的起因只是我想了解一下信息1.一个表中实际存储数据的大小2.一个表中HWM的位置,HWM上面还有多少空余块3.一个表中 low HWM的位置4.dba_tables中blocks和empty_blocks到底代表神马经过一番查证,发帖求教,实验得出以下结论1.表中实际数据的大小需要用平均行的长度*rownum,这个等会儿要上实验过程和结果来看看

2012-02-29 13:38:17 174

原创 low HWM 与 HWM

研究了好久 low HWM到底是个什么东西,存在的意义是什么,最后终于明悟了。low HWM是为了全表扫描的时候提高性能(也许还有其它的作用)。low HWM 存在与ASSM中。 当HWM上移之后, low HWM就会跑到之前HWM那个位置。我们知道HWM上移就意味着之前的空间已经不够了,也就是说HWM下面的空间都写满了。所以,我们可以知道,low HWM下面的空间都是写满了的。这

2012-02-28 15:15:17 498

原创 为SOLARIS增加ip

背景:需要给一台solaris机器添加3个IP问题:该机器只有一个网络接口解决方案:使用虚拟网络接口1.查看网络接口的时候发现只有一个网络接口bash-3.00# ifconfig -alo0: flags=2001000849 mtu 8232 index 1        inet 127.0.0.1 netmask ff000000e1000g0: fla

2012-02-22 11:42:16 390

原创 RAID

遇到过无数次RAID,今天好好总结一下。

2012-02-16 11:47:19 89

原创 rac kill session

今天在数据库里truncate一个表的时候,该表被锁住。通过查找 GV$LOCK 看到了锁住该表的SID。想通过 alter system kill session 'SID,SERAIL#'来kill session。但是提示说 sid不存在。灵机一动,去另外一个实力上kill  session 果然成功。

2012-02-08 17:01:33 198

原创 oracle stored procedure

今天有客户提供了两个procedure的名字,让我帮忙查看是不是存在。按照其说法,这两个procedure应该存在,但是现在需要改成新的名字,他想看看是不是已经改了。于是我就去了dba_objects里面查了,后来发现这种做法很不专业啊,应该去dba_procedures里面查。因为procedure可能是包含在package里面的,这种procedure在dba_object

2012-02-01 10:22:20 376

原创 表连接

nested loop要注意的有两点:1. leading 和 use_nl提示 select /*+ leading(emp) use_nl(dept) */ ename,dname from emp , dept where emp.deptno=dept.deptno;这样会产生nested loop2.db file sequential read 与 db fil

2012-01-29 10:27:13 122

原创 weblogic信息

bash-3.00# cat weblogic.list|grep AI#WLSNAME:DOMAIN:HOST:PORT:NMPORT:ADMIN:UIDAI1feadm1:AI1FE1:cnguatfe1a:7131:7139:AI1feadm1:c21aiAI1fe1a:AI1FE1:cnguatfe1a:7133:7139:AI1feadm1:c21aiAI1fe1b:AI

2012-01-17 14:07:51 86

原创 IN 和 NOT IN 与 NULL

IN 与 EXIST ,  NOT IN 与 NOT EXIST 通常是可以互换的,但有些情况下不可以。比如说如下情况:SELECT COUNT(*) FROM EMP WHERE EMPNO NOT IN (SELECT MGR FROM EMP):这段话的目的是,查找出不是mgr的员工数量,从where条件来看,很符合逻辑。因为如果一个员工的empno不在mgr这一列里存着,那么这个员

2012-01-16 14:59:29 197

原创 数据访问

为了便于研究数据访问,可以从以下两方面来分类:1. 弱选择性2. 强选择性所谓弱选择性,通俗的讲就是选择条件不是很明确,返回数据量较大,通常会采取全表扫描等方式所谓强选择性,通常指选择条件很明确,返回数据量较少,通常会采取索引扫描方式。先看弱选择性下的数据访问:这种访问有很多种,全表扫描,全索引扫描,全分区扫描都算。全表扫描中要注意的性能问题是高水位线的问题。如

2012-01-13 14:51:42 158

原创 oracle 执行计划-2 分析执行计划

分析执行计划在阅读执行计划的时候,往往会感觉无从下手,虽然oracle会把执行计划以一种比较清晰的格式列出来,但如果对执行计划了解不深,阅读起来仍然会很麻烦。 下面的内容就是告诉我们如何读懂执行计划。为了便于阅读执行计划,可以把执行计划中的不同操作分为如下:单独型,非相关联合型,相关联合型。当然,实际情况比较复杂,可能会有些操作没有办法归入这几类,但那些可以当作是特例。先看单独型。

2012-01-11 15:53:57 149

原创 oracle 执行计划-1 获取执行计划

ORACLE 执行计划要处理执行计划,有三步。获取执行计划,解释执行计划,判定执行计划效率。这里我们首先研究获取执行计划。1. 获取执行计划获取执行计划主要有四种方法。*执行SQL语句 explain plan,然后查询结果输出表*查询动态性能视图表,显示缓存在库缓存中的执行计划*查询AWR或者查询statspack表,显示存储在资料库中的执行计划*启动执行计划跟踪功能

2012-01-04 10:46:14 409

原创 oracle 对象统计信息

对象统计信息 对象统计信息的作用是帮助查询优化器选择更好的执行计划。比如,某一个表的索引clustering_factor非常的高,这个时候如果在where条件中指定column between A and B的限定条件来查询,那么查询优化器有两个选择,一个是通过索引做索引范围扫描,另一个是全表扫描。 因为我们知道clustering_factor的值非常高,这时候做索引范围扫描的开销可能

2011-12-31 10:45:04 1102

原创 2011年12月13日 timeout 与 refused windows clipbrd

早晨9:08 上午状态比较好,不能像昨天一样把上午的时间浪费掉,靠下午那点时间来学习。列一下今天应该学习的内容,希望能百分百完成1. oracle performance trouble shooting2. towords3.twilight4.ulimit5.solaris 新加磁盘问题  ------9:10-----以上任务一项都没完成fai

2011-12-13 09:08:16 199

原创 2011年12月12日 logadm

一不小心,发现已经是下午3:20了。今天还没有列工作计划。早晨来了之后浏览新闻,琢磨之前oracle 外键主键锁的问题,慢腾腾的琢磨了大半天。如今快下班了才发现啥都没干。不过还好,总算是把oracle 锁的问题研究的告一段落,明白的差不多了。接下来列一下这一天的工作计划。1. twilight2. 拓词3. oracle performance trouble shooti

2011-12-12 15:19:24 257

原创 主键(primary key)外键(foreign key)之间S锁(lock)的关系

在看oracle concept 的时候发现了这么一个情况。在主表和从表(从表通过外键引用了主表的主键)这样的关系中。如果主表被修改,会在从表上施加一个表级锁(如果从表的外键列没有施加索引的话)。如果在外键上有索引,则不会施加这个锁。不知道为什么。经过测试,发现,确实会施加这么一个表级锁(如果从表的外键列没有施加索引的话)。一个session在修改主表的未被引用记录时,会在从表上施加一个S锁。

2011-12-12 15:00:57 345

原创 SELECT FOR UPDATE 到底是产生RX锁还是RS锁?Oracle文档错误

在上一篇博客中研究锁的时候偶然发现,SELECT * FROM TABLE_NAME FOR UPDATE。 这一条语句在10g的concept文档中还明确的写着会产生RS表级锁。但实际上从9i的高版本数据库开始(起码9.2.0.7.0是的),这条语句产生的锁就已经不是RS锁了。而是RX锁。在8i版本的数据库中测试,这条语句会产生RS锁。但8i 9i 10g 11g 经历了这么多大大小

2011-12-06 16:09:59 661

原创 2011年12月1日 oracle_lock

Oracle锁总结(这里只关心DML锁)首先要明白两个概念,共享锁与排他锁在多用户的数据库系统中,Oracle 使用两种模式的锁:排他锁(exclusive lock)模式:能够阻止共享被加锁的资源。对数据进行修改时必须获得此种模式的锁。第一个排他地对资源加锁的事物是唯一可以对此资源进行修改的事物,直至排他锁被释放。共享锁(share lock)模式:依据操作类型有条件地允许共享被

2011-12-01 17:00:48 317

原创 2011年12月1日 SOLARIS_IP mnttab

Solaris IPsolaris 修改IP问题,可以通过命令修改,也可以通过修改配置文件。通过命令修改的会即时生效,但是重启机器后IP就会被系统中配置文件里的定义重新刷掉。通过修改配置文件来修改IP要重启系统才能生效,但效果是永久的,不会因为重启机器而消失。1.命令改ipifconfig hme0192.168.10.201 up2.配置文件改ip检查/etc/hostn

2011-12-01 13:16:23 194

原创 2011年11月28日 大批量删除数据

今天接触到的一个case是,要删除大量的数据近百万条。如果一次删除会导致undo空间不足。当然如果是truncate就不存在这个问题,因为truncate不会写undo。不过这里需要用delete。我采取的方式是写了下面的一个存储过程。值得注意的地方是 rownum这个删除方式,以前居然不知道CREATE OR REPLACE PROCEDURE delete_qc_ts_eventAS

2011-11-28 18:02:21 147

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除