Monthly Archives: April 2012

Database Firewall安全手册总结

Firewall安全手册更多的内容偏重于图形化工具的配置。 文档内容并不算太多,而且绝大部分操作都是基于控制台的操作,看来FireWall的使用偏向于OEM类型,将更多的设置和实现通过图形化完成,而DBA习惯的命令行方式的配置并没有介绍。 除了介绍管理控制台之外,文档还描述了如何配置和使用分析器、审计过程和角色、访问和查看流量日志以及产生防火墙报告等。

Posted in BOOKS | Leave a comment

数据库VIP地址无法访问(二)

客户的数据库出现VIP地址无法访问的情况。 这一篇描述问题的解决。 数据库VIP地址无法访问(一):https://yangtingkun.net/?p=798 上一篇通过诊断找到了问题的原因,由于VIP绑定网卡的错误,导致VIP可能漂移到PRIVATE网卡上,从而导致VIP地址对于外部服务器不可见。 找到原因后,解决其实很简单,只需要改正VIP错误的配置即可,简单的代码类似下面的示例: oracle@racdb1 $ srvctl config nodeapps -n racdb1 –a VIP EXISTS.: /racdb1-vip/10.8.60.201/255.255.255.0/aggr1:aggr2 oracle@racdb1 $ srvctl config nodeapps -n racdb2 –a VIP EXISTS.: /racdb2-vip/10.8.60.202/255.255.255.0/aggr1:aggr2oracle@racdb1 $ srvctl config nodeapps -n racdb1 –a VIP exists.: /racdb1-vip/10.8.60.201/255.255.255.0/aggr1:aggr2 oracle@racdb1 $ srvctl … Continue reading

Posted in ORACLE | Tagged , , , , | Leave a comment

数据库VIP地址无法访问(一)

客户的数据库出现VIP地址无法访问的情况。 这一篇描述问题的诊断。 客户的RAC环境重建后,发现两个节点的VIP都无法访问,开始认为是网络问题,但是随后发现整个RAC重启后,其中一个节点的VIP可以访问,而另一个节点的VIP仍然无法访问,因此判断可能是RAC本身的问题。 听到问题描述后,第一个判断是否VIP没有启动,登录数据库服务器后进行了检查: oracle@racdb1 $ lsnrctl STATUS LSNRCTL FOR Solaris: Version 10.2.0.4.0 – Production ON 18-APR-2012 10:22:02 Copyright (c) 1991, 2007, Oracle. ALL rights reserved. Connecting TO (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) STATUS OF the LISTENER ———————— Alias LISTENER_RACDB1 Version TNSLSNR FOR Solaris: … Continue reading

Posted in ORACLE | Tagged , , , , , , | 1 Comment

数据泵的跨版本问题

数据泵在10g刚推出的时候,跨版本的问题并不明显,而等到11.2推出之后,数据泵同样存在处理跨版本的问题。 Oracle原始的EXP/IMP导出、导入工具的扩版本特性对于从8/9版本就接触数据库的人来说,应该是基本常识了——低版本导出,目标版本导入。 而对于数据泵来说,很多人并没有意识到这一点,事实上数据泵如果从低版本导出,高版本导入是不需要额外处理的,而大多数的需求不是版本相同,就是版本升级,因此很多人没有注意到数据泵的版本问题。 不过如果数据泵从高版本导入大低版本,如果不加处理,就会出现下面的错误: [orat1@hpserver2 ~]$ expdp test/test dumpfile=d_tmp:tab1.dp TABLES=tab1 Export: Release 11.2.0.3.0 – Production ON Mon Apr 27 09:50:10 2012 Copyright (c) 1982, 2011, Oracle AND/OR its affiliates. ALL rights reserved. Connected TO: Oracle DATABASE 11g Enterprise Edition Release … Continue reading

Posted in ORACLE | Tagged , , , , , | Leave a comment

号码连续分段问题

客户有一个判断号码连续的问题,这种问题用分析函数解决是比较有代表性的。 表结构和数据为: SQL> SELECT * FROM tab1; ID CA REG ———- — — 100 11 S 101 11 S 102 11 N 103 11 N 104 11 N 105 0 S 106 0 S 107 0 S 108 0 N … Continue reading

Posted in ORACLE | Tagged , , , | Leave a comment

ORA-8103错误

最近碰到两次ORA-8103错误,简单总结一下。 一次是客户的10.2数据库出现了ORA-600[6002]错误,导致的问题是索引出现了逻辑损坏,本来问题很简单,只需要删除索引并重建,或者通过ONLINE REBUILD方式就可以了。但是索引删除后,扫描这张表出现了ORA-8103错误,这说明错误不仅出现在索引上,在数据块上同样存在逻辑错误,从而导致了前面的ORA-600[6002]错误。 第二个问题是11.2.0.2环境中出现的ORA-8103错误,错误发生在统计信息收集过程中: Fri Mar 30 02:00:00 2012 DBMS_STATS: GATHER_STATS_JOB encountered errors. CHECK the trace file. Errors IN file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_j000_25932.trc: ORA-20011: Approximate NDV failed: ORA-08103: object no longer EXISTSFri Mar 30 02:00:00 2012 DBMS_STATS: GATHER_STATS_JOB encountered errors. Check the … Continue reading

Posted in BUG | Tagged , , , , | Leave a comment

备份导致ORA-245错误

客户的11.2 RAC数据库在备份是出现ORA-245错误。 从告警日志中可以看到错误信息为: Errors IN file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_ora_18335.trc: ORA-00245: control file backup operation failedErrors in file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_ora_18335.trc: ORA-00245: control file backup operation failed 详细TRACE信息为: Trace file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_ora_18335.trc Oracle DATABASE 11g Enterprise Edition Release 11.2.0.2.0 – 64bit Production WITH the Partitioning, REAL … Continue reading

Posted in BUG | Tagged , , , , | Leave a comment

访问ASM的ONNN进程占用大量CPU

客户的11.2 RAC环境中突然一个O002进程占用了100%的CPU,且一直不释放。 导致这个问题的原因应该是通过ASMCMD工具从ASM中拷贝了一个归档日志到本地磁盘,随后就发现一个ora_ [root@node-2 ~]# top top – 21:14:25 up 257 days, 4:33, 2 users, LOAD average: 1.69, 1.70, 1.56 Tasks: 994 total, 2 running, 991 sleeping, 0 stopped, 1 zombie Cpu(s): 2.2%us, 0.1%sy, 0.0%ni, 97.5%id, 0.2%wa, 0.0%hi, 0.0%si, 0.0%st … Continue reading

Posted in BUG | Tagged , , , | Leave a comment

使用kfed出现无法初始化diag的错误

测试环境上使用kfed工具出现错误。 错误信息如下: grid@solaris:~$ kfed ERROR!!! could NOT initialize the diag context grid@solaris:~$ id uid=502(grid) gid=501(dba) grid@solaris:/u02/app/oracle/product/11.2.0/grid/bin$ ./kfed Unable TO run program edgrid@solaris:~$ kfed ERROR!!! could not initialize the diag context grid@solaris:~$ id uid=502(grid) gid=501(dba) grid@solaris:/u02/app/oracle/product/11.2.0/grid/bin$ ./kfed Unable to run program … Continue reading

Posted in ORACLE | Tagged , , , | 1 Comment

DBCA添加节点出现PRKC-1055错误

很早以前写过几篇文章,描述在RAC环境下添加节点的问题,其中在使用DBCA添加节点时,碰到了PRKC-1055错误。 Oracle10203RAC环境添加新节点(六):http://yangtingkun.itpub.net/post/468/493937 运行DBCA在配置好新实例的设置后,在最后运行的时候报错:Failed to create directory “” on “racnode3”, “PRKC-1055: Directory name passed was null”. PRKC-1055: Directory name passed was null。 本来一直认为是Oracle的DBCA处理不当,导致使用OMF存在异常,并最终引发了这个问题。最近Kamus也碰到了这个问题,最终发现是由于参数设置的问题,导致新增节点的目录参数设置和已有节点的参数冲突从而导致了问题。 可以参考文档DBCA Fails With PRKC-1055 While Adding a New Instance to an Existing RAC Database [ID 394519.1]。 简单的说,DBCA会验证目录设置在所有节点上是否存在。可以通过下面的脚本找到所有修改过的参数: SELECT … Continue reading

Posted in ORACLE | Tagged , , | Leave a comment