ITPub博客

首页 > Linux操作系统 > Linux操作系统 > RAC ora-1618

RAC ora-1618

原创 Linux操作系统 作者:zecaro 时间:2011-04-19 22:24:11 0 删除 编辑

      在虚拟机上装RAC,2节点,用dbca建库,配置redo log时,看到4个redo文件,没留意,随手删掉了最后一个,直到建db的时候,看到错误提示,才想起来每个节点至少2个,汗。

      在节点1启动后,为节点2 增加了一个redo log,

ALTER DATABASE ADD LOGFILE THREAD 2 '+DATA' SIZE 50M;

      但是节点2无法启动。

SQL> alter database mount;
alter database mount
*
ERROR at line 1:
ORA-01618: redo thread 2 is not enabled - cannot mount


$ oerr ora 1618
01618, 00000, "redo thread %s is not enabled - cannot mount"
// *Cause:  The INIT.ORA parameter "thread" requests a thread that is not
//          enabled. A thread must be enabled before it can be mounted.
// *Action: Shutdown the instance, change the INIT.ORA parameter and startup
//          mounting a different thread. If the database is open in another
//          instance then the thread may be enabled.

 

        网上查了一翻,在节点1使用如下命令即可

alter database enable thread 2 ;

P.S. 最先找到的是一个法语论坛,其实能看懂sqlplus和日志里的英文就行

 

       RAC节点都起来后,开始查查相关资料。

ALTER DATABASE ENABLE [PUBLIC] THREAD integer 

      In an Oracle Real Application Clusters environment, specify ENABLE THREAD to  enable the specified thread of redo log file groups. The thread must have at least  two  redo log file groups before it can enabled and the database must be open. 
     Specify PUBLIC to make the enabled thread available to any instance that does not explicitly request a specific thread with the initialization parameter thread. If PUBLIC is omitted, the thread is available only to the instance that explicitly requests it with the initialization parameter thread.


ALTER DATABASE DISABLE THREAD integer 

      Specify DISABLE THREAD to disable the specified thread, making it unavailable to all instances. The database must be open, but a thread cannot be disabled if the instance using it is mounted.

 

        指不指定 [PUBLIC] 这个有什么用呢?

RAC Redo Log Thread Maintenance

A thread needs to be enabled before an instance can use it. While enabling, it can be designated as a public or a private thread. For example, to enable as a public thread:

ALTER DATABASE ENABLE PUBLIC THREAD 2 ;

To enable as a private thread:

ALTER DATABASE ENABLE PRIVATE THREAD 3 ;

When a thread is enabled as private, the thread parameter in the SPFILE (or init.ora) can be used to associate the instance with a thread. For example, instances racdb1 and racdb2 will have thread 1 and 2 respectively.

RACDB1.THREAD=1  # RACDB1 instance uses Thread 1
RACDB2.THREAD=2  # RACDB2 instance uses Thread 2

 

 

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23650854/viewspace-692933/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-10-28

  • 博文量
    182
  • 访问量
    348617