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-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平台的…
sqlplus小窍门:设置输出数据的分割符
默认情况下,sqlplus中执行select输出的结果中,列和列之间是以空格分隔的
colsep " "
这个分隔符可以通过使用SET COLSEP { ” ” | text}命令来自定义
以逗号分隔:
SQL> select object_id,object_name from all_objects where rownum<2;
OBJECT_ID,OBJECT_NAME
----------,------------------------------
20,ICOL$
以|分隔
SQL> select object_id,object_name from all_objects where rownum<2;
OBJECT_ID|OBJECT_NAME
----------|------------------------------
20|ICOL$
以Tab键分隔,这个有点特殊,因为无法直接输入tab键,有个处理的小技巧
SQL> select chr(9) TAB# from dual;
SQL> set colsep "&TAB"
SQL> select object_id,object_name from all_objects where rownum<2;
OBJECT_ID OBJECT_NAME
---------- ------------------------------
20 ICOL$