Maclean’s Oracle Database Tech Blog Archives

  • 如何使用gdb工具对Oracle系统状态(systemstate)做trace

    当Oracle系统hang住 ,无法使用一切方法登录时 (包括 sqlplus -prelim / as sysdba),我们可以使用gdb调试工具来对 Oracle做系统 dump ,通过 系统 dump信息 判断 具体hang的原因 。 若直接 将 进程 kill 掉,则将失去现场 无法帮助今后避免 这样的hang情况。 要使用gdb 外部工具, 就需要知道目前实例中后台进程的进程号。 我们一般通过 以下命令列出 Oracle 进程:ps -ef|grep <SID> [oracle@rh2 ~]$ ps -ef|grep oraclewebmoney oracle   16996 16995  0 21:55 ?        00:00:00 oraclewebmoney (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq))) 然后启动gdb ,指定Oracle软件中二进制文件 oracle的位置和 进程id [oracle@rh2 udump]$ gdb $ORACLE_HOME/bin/oracle  16996…

  • Oracle database 11g release2发布

    万众期待的11g r2终于掀开了盖头来,作为先行军,linux平台无疑可以让最多专家和用户更好最广泛的测试新版本。 oracle甚至为其使用了独立的域名:www.oracledatabase11g.com,针对新产品使用独立域名的作为并不多见,而该域名目前的pr 值 及 alex排名均甚低。究其根本 可能是一种潮流,类似暴雪的游戏产品均拥有自己独立的域名, 我们可以猜想今后会出现 oracledatabase12[X].com 和 oracledatabase13[X].com。下为11g主页的横幅flash。 在《Oracle announces availability of Oracle Database 11g Release 2》中,Oracle展开了一贯的忽悠伎俩,提出了以下优势:更成熟的网格计算帮助企业减少成本,节约存储成本,更少的无用冗余,自动调优与扩展性(更强大的awr和memeory auto tuning )。 以上优势当然是我们希望的,但现实往往是残酷的。 看到11g 逐渐成熟 走向 更广泛的运用,  则DBA本身需要掌握的 新特性 ,以及 新版本中不同的 “古怪脾性”  ,相信有机会一一体验。。。。

  • 书籍推荐:《Secrets of the Oracle Database》

    Oracle数据库的小秘密,作者是Norbert Debes; 就内容而言并非最internal,换句话说对日常管理还是有用的,当然是对expert而言。 我的博客中翻译了他对AUDIT_SYSLOG_LEVEL解释的若干章节,今后会继续努力。 该书出版已经较长时间,但国内并无任何出版迹象;实际DBA专题类书的销量也不大,始终属于小众类的。 书的内容还是很有价值的,特别是对于几个参数的深入研究和使用perl 尝试相关实验的内容。 附上封面: 附上下载地址:Oracle Secrets. 我们以学习为目的…….

  • 如何确定Oracle软件中是否安装了RAC选项

    1. 首先切换到 $ORACLE_HOME/rdbms/lib目录 2. 运行以下命令:     nm -r libknlopt.a | grep -c kcsm.o 若以上命令返回0,则rac选项未安装,也就是有一部分2进制文件未链接。若返回值大于0,则安装了rac选项。 若希望在不重新安装的前提下启用rac选项,可以如下操作: 在登陆所有节点,并关闭所有实例,以NORMAL或IMMEDIATE方式均可。 停止其他一切资源(包括监听器,ASM实例等) 切换到$ORACLE_HOME/lib目录: 运行命令: make -f ins_rdbms.mk rac_on 附  ins_rdbms.mk 文件

  • RAC动态资源(DRM)管理介绍

    以下文本摘自: metalink doc 390483.1 Subject:  DRM – Dynamic Resource management Doc ID:  390483.1  Type:  BULLETIN Modified Date :  13-JAN-2009  Status:  PUBLISHED In this Document Purpose Scope and Application DRM – Dynamic Resource management DRM – Dynamic Resource Mastering References Applies to: Oracle Server – Enterprise Edition – Version: 10.1.0.2 to 11.1.0 Oracle Server – Standard…

  • 参数cluster_interconnect详细介绍

    以下文本摘自metalink doc: This note attempts to clarify the cluster_interconnects parameter and the platforms on which the implementation has been made. A brief explanation on the workings of the parameter has also been presented in this note. This is also one of the most frequently questions related to cluster and RAC installations on most sites and…

  • 如何跟踪dbca工具,Tracing the Database Configuration Assistant (DBCA)

    以下文档摘自metalink doc : 188134.1 Subject: Tracing the Database Configuration Assistant (DBCA)   Doc ID: 188134.1 Type:  BULLETIN   Modified Date:  09-OCT-2008 Status:  PUBLISHED Purpose ——- The Purpose of this document is to assist in debugging DBCA problems.   Scope & Application ——————- This document is for DBAs and support analysts to troubleshoot DBCA issues. Tracing the…

  • RMAN内部原理介绍

    RMAN实用程序由两部分组成:可执行文件和recover.bsq文件。recover.bsq文件实质上是库文件,可执行文件从recover.bsq文件中析取代码来创建在目标数据库上执行的PL/SQL调用。recover.bsq文件是整个操作的中枢。这两个文件始终保持链接,并从逻辑上构成RMAN客户端实用程序。需要指出的是,recover.bsq文件和可执行文件的版本必须相同,否则就不能正常工作。 RMAN实用程序有一种独特的,有序的,可预测的用法:解释在目标数据库中远程执行的PL/SQL调用中的命令。RMAN的命令语言比较独特,需要具备一定经验才能掌握。实质上,RMAN实用程序完成了我们需要做的所有备份,还原,恢复,和处理备份工作。由可执行解释程序负责解释这些程序命令,并且使这些命令与recover.bsq文件中的PL/SQL块匹配。RMAN随后将这些RPC传递给数据库,并基于用户的请求收集信息。如果命令要求I/O操作(可能是备份或还原操作),RMAN会在返回信息时准备另一个过程块,并将这个过程块传递回目标数据块。这些过程块负责执行OS的系统调用以进行指定的读或写操作。 10.2.0.1版本中的recover.bsq文件

  • 在32位的linux平台上为Oracle配置>1.7GB的SGA

    在没有任何附加改动的情况下,32位linux上Oracle对SGA的默认配置最大为1.7GB 。在微小改动的情况下,可以分配最大占用2.7GB RAM空间的SGA。如果大小要超过4GB就要做其他改动。 注意{运行hugemem kernel模式时,相应的限制分别是2.7GB和3.7GB。由于hugemem内核存在额外开销,因此只有在系统RAM不低于16GB的情况下才运行hugemem内核。} 为了分配大于1.7GB小于2.8GB的SGA,在Oracle启动时必须减小基地址,称之为映射基地址(mapped base)。可以采取下面的步骤减少基地址的映射: (1)  cd $ORACLE_HOME/rdbms/lib (2)利用genksms命令创建一个汇编文件: genksms  -s 0x15000000 > ksms.s (3)生成对象文件 make -f    ins_rdbms.mk  ksms.o (4)生成Oracle可执行文件: make -f ins_rdbms.mk ioracle 接下来需要做的事把共享内存参数SHMMAX增加到1.7~2.7GB,并用新编译生成的代码启动Oracle。 为了使用大于2.7GB的SGA,采用以下方法。 创建RMAN磁盘,RAM磁盘创建完毕后,使用间接数据缓冲区(indirect data buffer)配置Oracle。它本质是Oracle用于数据库块缓冲区的RAM磁盘文件。使用RAM磁盘可以避开所有的32位限制。 安装了ramfs类型的文件系统可以创建RMAN磁盘。Red Hat ES 3.0之前使用shmfs,在3.0后则用ramfs创建,使用一下语法: umount /dev/shm mount -t ramfs ramfs /dev/shm chown oracle:dba  /dev/shm 将下面内容加入文件/etc/security/limits.conf中: oracle soft  memlock 3145728 oracle soft memlock 3145728 如果用ssh登陆系统,将下面一行加入到/etc/init.d/ssh中:…

  • 10.2.0.1 db console启动失败问题一例

    帮网友诊断10.2.0.1数据库安装后配置EM的问题一例,主要是在EM启动过程中遇到了错误,日志如下: 2009-7-7 20:11:39 oracle.sysman.emcp.EMConfig perform 严重: 启动 Database Control 时出错 有关详细资料, 请参阅 oracle\product\10.2.0\db_1\cfgtoollogs\dbca\orcl\emConfig.log 中的日志文件。 2009-7-7 20:11:39 oracle.sysman.emcp.EMConfig perform 配置: Stack Trace: oracle.sysman.emcp.exception.EMConfigException: 启动 Database Control 时出错 at oracle.sysman.emcp.EMDBPostConfig.performConfiguration(EMDBPostConfig.java:569) at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:181) at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:150) at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:155) at oracle.sysman.assistants.util.em.EMConfiguration.run(EMConfiguration.java:430) at java.lang.Thread.run(Thread.java:534) 出现错误的java stack call是EMDBPostConfig说明em db repository 已经完成配置在尝试启动EM,但此时出现了问题。 实际造成该问题的有多种可能性,这里列举最常见的几种: 1. 杀毒软件或者防火墙造成的,这里建议在安装windows期间彻底关闭杀毒类软件和Windows自带的防火墙 2. EM使用的端口已经被其他软件所占用,建议使用netstat命令诊断,或另择网络端口 3. Windows主机名以”U”字母开头 针对第三种可能性,可以在MOS上找到Note <Problem: Startup: Db…