Oracle一个典型行列转换的几种实现方法

Oracle一个典型行列转换的几种实现方法

假如有如下表,其中各个i值对应的行数是不定的

SQL> select * from t;

         I A          D
---------- ---------- -------------------
         1 b          2008-03-27 10:55:42
         1 a          2008-03-27 10:55:46
         1 d          2008-03-27 10:55:30
         2 z          2008-03-27 10:55:55
         2 t          2008-03-27 10:55:59

要获得如下结果,注意字符串需要按照D列的时间排序:

1  d,b,a
2  z,t

这是一个比较典型的行列转换,有好几种实现方法

[继续阅读全文]

2008中国ORACLE数据库精英工程师评选

又一次数据库方面的选秀活动,去看了一下,大致的方式还是和两年前的那个CSDN主办IBM赞助的“2006年中国首届杰出数据库工程师评选”差不多吧,CSDN和IBM搞了一次就偃旗息鼓了,估计也觉着吃力不太讨好。毕竟某一个具体技术的关注度,不能和超女快男来类比。而那一次还包容了DB2,Oracle,MS SQL Server等各个数据库的专家,加上CSDN在中国开发社区的影响力,应该还是有不少人关注的,最终评选出来的也确实都是业内的精英。

这一次Oracle一家来搞,面本来就窄了许多。而试着注册了一下,发现要正式参与还得有CSI,要么就要交30块钱,我看Oracle这次是傻到家了,做为一个推广活动,自然是参与度越高越好,这还没开始没知名度没关注度,就开始自己牛B了一把,加了这么多限制和门槛。不至于这么惨淡经营,要靠30块的门票来请人出考题做评委吧,呵呵。

而且,放着Itpub这么有影响力的社区坐旁观席,却搞了个诸禄网做主持人,还非得要注册他们家论坛,里面冷清得一个月也没几个帖子。嗯,有一个回帖说:“哈,还有人发言啊,不错”。

我很不看好你哦,2008中国ORACLE数据库精英工程师评选。

安装Oracle10g Clusterware遇到的一点问题

在vmware上安装一个双节点的Redhat Linux + Oracle10g RAC + ASM的测试环境,按照Oracle官方网站的安装指南,基本都很顺利,只是在clusterware的安装过程中碰到一点小问题。在执行root.sh脚本时,一直卡在Startup will be queued to init within 90 seconds.过不去,手动执行/etc/init.d/init.cssd start也是同样的问题,两个节点都是同样的情况。重装了三次后终于发现问题所在,就是在前面指定ocr和voting disk的location的时候,我填入的是soft link而不是raw设备的路径,改成类似/dev/raw/raw1的字符设备路径就ok了,本来想建个link比较易于识别的,郁闷。

[继续阅读全文]

通过NFS执行RMAN恢复遭遇ORA-27054

下午同时做两个备库,一个9.2.0.6,一个10.2.0.3的,都是通过NFS直接将主库的RMAN备份挂到备库相同路径。然后通过rman来restore。

9206的一切正常,10203报错:

ORA-19870: error reading backup piece /bak/rmanbak/NinGoo/0ija94hs_1_1_18.bak
ORA-19505: failed to identify file "/bak/rmanbak/NinGoo/0ija94hs_1_1_18.bak"
ORA-27054: NFS file system where the file is created or resides is not mounted with correct options
Additional information: 6

Metalink上一查,又碰到bug了。10g的bug真的不是一般的多,随便做个什么操作都可能碰到,晕死。昨天晚上RAC又出了点小毛病,一个节点down掉后无法mount,在其他节点测试,发现控制文件和某些数据文件都无法读取,trace出来一直在做gc domain validation等待,估计由于节点异常宕掉导致某些资源锁无法释放了,没办法只有重启所有节点,而且由于控制文件无法读写,还只能shutdown abort,剩最后一个节点的时候shutdown immediate成功。

10gR2通过NFS执行rman备份恢复都可能碰到这个Bug 5146667,描述详见Note:424785.1,临时解决方法,可以修改nfs的mount参数(不同的平台参数可能不一样),或者设置10298事件,或者打相关patch。查了下patch好像只有Solaris平台的…

event='10298 trace name context forever, level 32'