How to Use Oracle Restart in Oracle 11gR2

Oracle Restart是数据库组件监控方法向单实例数据库中的延展,之前srvctl命令可以用来管理RAC数据库中的各个组件,安装了Oracle Restart之后,对于单实例数据库组件(包括数据库实例,监听,ASM实例,ASM磁盘组,自建Service等)也可以使用srvctl命令来管理,同时Oracle会在这些组件发生意外关闭的时候自动重新启动。对于在Linux单机上安装的Oracle Instance,以前需要配置dbstart或者dbstop脚本来实现在操作系统起停时自动起停数据库实例的操作,现在通过Oracle Restart则无需这两个脚本了。 详细文档请参看 About Oracle Restart。 安装其实很简单,实际上没有单独安装Oracle Restart的过程,只需要安装Oracle Grid Infrastructure就可以,在安装的时候选择“仅安装网格基础结构软件”,我们的测试环境没有使用ASM,因此选择只安装软件可以跳过配置ASM的步骤。 如何在Windows单机上测试ASM,感兴趣的朋友可以参看 – How to use Files in place of Real Disk Devices for ASM。 在安装完GI以后,还需要使用root用户运行以下脚本,否则在$GI_HOME/bin目录中不会生成例如crsctl,crs_start之类的脚本,当然Oracle Restart也不会启动。 # $GRID_HOME/crs/install/roothas.pl 在运行完roothas.pl以后,可以使用crsctl命令来查看HAS(High Availability Services)的运行情况。 $ crsctl status res -t ——————————————————————————– NAME TARGET STATE SERVER STATE_DETAILS ——————————————————————————– Local Resources ——————————————————————————– ora.ons OFFLINE OFFLINE solaris ——————————————————————————– Cluster…

Find waiter with Oradebug 11gR2

原文链接自:Miladin Modrakovic’s Blog – Oraclue 实际上,昨天刚有朋友问怎么找到TX enqueu的锁对象以及语句。在Oracle11gR2中我们可以使用oradebug unit_test per_session_find_one_waiter语句来进行简单的blocker定位。 oradebug unit_test per_session_find_one_waiter的用法如下: usage: oradebug unit_test per_session_find_one_waiter find_waiters_for= wait_event=”” waiter_min_secs_blkd= min_results= [ timeout_mins= ] 实际测试如下,还是测试简单的enq: TX – row lock contention等待事件。 在第1个session中: [sourcecode language=”sql”]SQL> create table t (n int primary key); Table created. SQL> insert into t values(1); 1 row created. SQL> commit; Commit complete. SQL> update…

Oracle Database Instance Startup Fails With Error ORA-27302 ORA-27301

今天启动Oracle Enterprise Linux 5虚拟机中的Oracle11gR2数据库,但是报错。 [oracle@dbserver ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Wed Dec 16 13:28:44 2009 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to an idle instance. SQL> startup ORA-27154: post/wait create failed ORA-27300: OS system dependent operation:semget failed with status: 28 ORA-27301: OS failure message: No space left…