行ROWID越小离块尾越近?
ROWID越小离数据块尾部就越近吗? 且看“伪无可用空间UPDATE-孙悟空遁出五指山” [@more@]
2月29日 今天你报错了吗?
Ping一下自己的Blog: 当前时间2012年2月29日,趁这时机闲来无事将所有和DATETIME有关的脚本干跑了一下,果然有个小小的礼物。[@more@]Ping一下自己的Blog: 当前时间2012年2月29日,趁这时机闲来无事将所有和DATETIME有关的脚本干跑了一下,果然有个小小的礼物。具体脚本就不现丑了,用以下两个查询表现一下吧: SQL1: select sysdate - interval '1' year from dual; 你感觉这SQL能执行吗? ORA-01839 等着你。 SQL2: select sysdate - interval '4' year from dual; 那这句呢? 感谢好友李鑫的提醒,原来SQL92您老
BUFFER SORT是BUFFER却不是SORT
用AUTOTRACE查看执行的计划的同学常问到执行计划里的BUFFER SORT是什么意思,这里为什么要排序呢?BUFFER SORT不是一种排序,而是一种临时表的创建方式。BUFFER是执行计划想要表达的重点,是其操作: 在内存中存放一张临时表。SORT修饰BUFFER,表示具体在内存的什么地方存放临时表: 在PGA的SQL工作区里的排序区。至少有一种方法可以说服对此表示怀疑的人们,就是查询V$SQL_PLAN_STATISTICS_ALL.PROJECTION字段。将STATISTICS_LEVEL设置为ALL先,然后执行真-排序命令,比如:select hire_date,salary from hr.employees order by hire_date然后查看其
旧贴重提 ACS 11.2
自适应式游标共享测试(11.2) http://blogs.oracle.com/toddbao/entry/112 3/4/5三个月实在是....忙。[@more@]
11gR2的表空间配额
Go to My Oracle Blog 11g的表空间配额阿,你怎么就这样的走了...这下好了,随便建了。和谐了。 [@more@] SYS@br//scripts> create user yushuji identified by hexie;User created. Elapsed: 00:00:00.05 SYS@br//scripts> grant create session,create table to yushuji; Grant succeeded. Elapsed: 00:00:00.05 SYS@br//scripts> @showPrivs yushuji ########################## Direct System Privileges: ########################## 1: CREATE SESSION 2: CREATE TABLE ##################
在DBA_TABLES里找不到被DROP的表
Go to My Oracle Blog DBA_TABLES里当然找不到已经被drop的表啦,因该到DBA_RECYCLEBIN里去看看。 可是,有学生问我,DBA_TABLES里有一个名为DROPPED的列,为什么不能用select table_name from dba_tables where dropped='YES'来查看被删除的表?结果大家都知道,当然不行。 答案比较有趣,看一下DBA_TABLES的定义:[@more@] CREATE OR REPLACE FORCE VIEW "SYS"."DBA_TABLES" ("OWNER", "TABLE_NAME", "TABLE SPACE_NAME", "CLUSTER_NAME", "IOT_NAME", &quo
Oracle 存储过程 (DBMS_ALERT)
Go to My Oracle BlogDBMS_ALERT特点:1. 基于事务的提交触发告警。虽然这个包名字中没有transaction,但这是它最大的特点。2. 等待告警的应用在等到告警之前处于等待状态,最长1000天。3. 应用可以同时等待多个告警,应用可以被其中任意一个告警唤醒(通过dbms_alert.waitany)。 [@more@] 应用A等待应用B的场景: 应用A: create table dropme (message varchar2(100)) / declare v_message varchar2(100); v_status number; begin dbms_alert.register('alert1'); loop --完成任务后再回到等待状态
JDeveloper,我的Log Window呢?
Go to My Oracle Blog 本周在Linux上使用JDeveloper 10.1.3.4.0,经常遇到Log Window或Component Palette突然消失的情况, [@more@]在View里也选择不出来,很困扰。 最后发现居然是这些Window自动收缩为高和宽一个像素。打开$JDEV_USER_DIR 目录下system/oracle.ide.XXX/windowlayout.xml文件,找到并修改相应的<panel>元素,修正 @width和@height属性就解决问题了。 但还是不时发生收缩的问题。很恶搞。 在Windows上用JDeveloper 这么多年,还从来没遇到过这样有喜感的惊喜。 Todd Go to My Oracle Blog
OCM 11g 考试通过 + OU Guru Week 巡讲顺利结束
Go to My Oracle Blog 11g OCM的升级考试比较刺激,需要多准备一下的。 巡讲结束了,又有时间回到“正常”的工作中来=) [@more@]为了不让此更完全心情化,附上常用的的ASH脚本一个,11g以前是用case实现的,发现11g之后能用pivot,杀掉不少字符。用途么不用多 解释的,凡是使用过Enterprise Manager的活动会话数(Avg Active Session Count)工具的人都懂的。 -- 数据库版本至少为11g set echo off set verify off alter session set nls_date_format='HH24:MI'; select * from (select nvl(wait_class,'CPU') a
Oracle University Guru Week
Go to My Oracle Blog 好久不更新了。。。 4月底至5月初,OU将在北京、上海和深圳举办三场数据库性能讲座。OU方面的主讲人是我。其他主讲人还有盖国强和Arup Nanda。我相信会比较精彩。[@more@]活动链接: http://www.oracle.com/global/cn/education/promotions/guruweek_fy10q4.htm Todd Go to My Oracle Blog
Oracle RAC 的连接时负载均衡 (二)
Go to My Oracle Blog 又有人说Oracle RAC的负载均衡只能依据会话数,我开始有点受不了一次又一次的解释了,上一次在10g RAC上证明过了,这一次在11g上再证明一次,先来一个根据会话数的,再来一个根据操作平均响应时间的。对比一下,还能不明白?>_< [@more@] 11.1RAC的连接时负载均衡: 一: 根据会话数 二: 根据操作执行响应时间 # 数据库名: RDBB # RAC节点: eg7714, eg7562 # 客户端: eg7970 # 创建测试用户和表: RDBB1> create user racuser identified by oracle; User created. R
RAC One Node (11gR2) Omotion在线迁移 update
Go to My Oracle Blog 2月3日,我将在Oracle University主持一个关于RAC One Node新功能的简短讲座。个人认为这是单节点数据库实现Rolling Patch的最佳方案了。目前此功能仅在Linux上提供。 待结束之后再把相关内容添加于此。讲义内容[@more@]======RAC One Node初始化和Omotion迁移演示====== 忙,终于有时间更新一下了。以下是RAC One Node数据库安装、初始化和通过Omotion脚本在线迁移例程的演示记录。 首先,按照常规RAC的安装方式安装11gR2的Grid和Oracle Home。在这里我准备了一套三个节点的11gR2的 RAC,
RAC One Node (11gR2)
Go to My Oracle Blog 2月3日,我将在Oracle University主持一个关于RAC One Node新功能的简短讲座。个人认为这是单节点数据库实现Rolling Patch的最佳方案了。目前此功能仅在Linux上提供。 待结束之后再把相关内容添加于此。 RAC One Node初始化和Omotion迁移步骤: http://toddbao.itpub.net/post/41112/496643 Todd[@more@]
通过Oracle File Adapter和FTP Adapter实现文件复制功能,保持文件名不变(10g 10.1.3.X)
Go to My Oracle Blog 此文中的操作对File Adapter和FTP Adapter均适用,为了方便我只用File Adapter举例。 File Adapter是Oracle提供的诸多技术Adapter之一,可以轻而易举得实现对文件的读写操作,在SOA应用中发挥着整合传统应用系统的作用。[@more@]昨天在一次不经意的谈话中得知,有一个很简单的需求,看上去通过File Adapter实现应该没有任何难度,却困扰着客户3年有余:用File Adapter在特定目录下读取文件,把读取的文件写入另一个目录,文件名保持不变。 就是这个"文件名保持不变"的配置,在JDeveloper的File Ada
Oracle 11g的表空间加密
Go to My Oracle Blog 由于显而易见的原因,10.2引入的TDE功能对列加密之后,导致相关索引丧失了对不等式的判断能力。 [@more@]如下: ENCRYPTIONDEMO@fmw//scripts> create table tde_table(id number encrypt no salt,na me varchar2(30)) 2 ; Table created. Elapsed: 00:00:00.11 ENCRYPTIONDEMO@fmw//scripts> begin 2 for i in 1..20000 loop 3 insert into tde_table values (i,i); 4 end loop; 5 commit; 6 end; 7 / PL/SQL procedure successfully completed. ENCRYPTIOND
ORACLE_SID正确,但还是Connected to an idle instance
Go to My Oracle Blog 很多人都可能在Unix-Like的操作系统上遇到过这样的问题:ORACLE_HOME和ORACLE_SID的设置是正确的,实例也启动了,但通过sqlplus / as sysdba连接时还是报告"Connected to an idle instance",这是怎么回事? 这问题很有可能是因为启动实例的用户会话的ORACLE_HOME变量和想通过"sqlplus / as sysdba"连接实例的用户会话的ORACLE_HOME变量差一个后缀正斜杠"/"。[@more@]因为当你用sqlplus / as sysdba时,Oracle使用ORACLE_HOME和ORACLE_SID来判断你要连接哪个实例。 Oracle允许在不
Oracle RAC的负载均衡 (一)
Go to My Oracle Blog 此次日志旨在证明Oracle RAC是可以依据除了会话数之外的其他要素(在这里测试SERVICE_TIME)实现负载均衡的。此功能依赖LBA(Load Balancing Advisory) [@more@]不要在生产库上测试,发生任何问题概不负责。 0) 两个节点edolraclin49a,edolraclin49b. [oracle@edolraclin49a oracle]$ uname -r 2.4.21-27.ELsmp 1) 首先,创建一个Service,名为SERV,并且如下定义参数: goal=>DBMS_SERVICE.GOAL_SERVICE_TIME,clb_goal=>DBMS_SERVICE.CLB_GOAL_SHORT *Note: 可以先用DBCA创建,然后再用DB
ADF Model: DBSequence(讨论一)
Go to My Oracle Blog 刚开始使用ADF的同学基本都会问这样一个问题: 以HR schema为例: 如果列EMPLOYEE_ID的值由数据库端的Sequence负责产生,并且Sequence由Insert触发器调用,那么在中间层创建Employee的业务逻辑中当然不必考虑为此列赋值。 结果是,在ADF Faces或是JSF页面上进行创建Employee操作之后,发现EMPLOYEE_ID是一个负数,而所使用Sequence不产生负数。数据库内的值正常。 为了避免发生中间件Cache和数据库不同步的情况,需要了解Oracle专门为Sequence+Trigger这样的搭配制作的一个domain class: oracle.jbo.domain.DBSe
DB_FILES初始化参数
Go to My Oracle Blog DB_FILES: 数据库最多能容纳的数据文件数量,不包括临时文件。 本来没觉得这个参数有什么奇怪。 昨晚在OTN上有人提问, 此怪到底包不包含临时文件?回答了还不算,还要问怎么证明,想了个让问者满足的办法: SQL> select id1 from v$lock where type='MR'; ID1 ---------- 1 2 3 4 5 6 7 8 202 203 其中1至8为数据文件编号,202和203是两个临时文件编号,为什么是202和203?因为我的DB_FILES