zoukankan      html  css  js  c++  java
  • 错误ORA-29760: instance_number parameter not specified的解决办法

    之前搭建了RAC的测试环境后,检查节点状态发现节点2的实例没有启动:

    [oracle@node1 ~]$ srvctl status database -d GZYT
    Instance GZYT1 is running on node node1
    Instance GZYT2 is not running on node node2

    尝试在节点2启动数据库,提示实例的数字参数没有指定:

    [oracle@node2 ~]$ export ORACLE_SID=GZYT2
    [oracle@node2 ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 11.2.0.3.0 Production on Wed Jan 24 21:07:21 2018
    
    Copyright (c) 1982, 2011, Oracle.  All rights reserved.
    
    Connected to an idle instance.
    
    SQL> startup
    ORA-29760: instance_number parameter not specified

    查看节点的其他资源都是正常:

    [grid@node1 ~]$ crsctl stat res -t
    --------------------------------------------------------------------------------
    NAME           TARGET  STATE        SERVER                   STATE_DETAILS       
    --------------------------------------------------------------------------------
    Local Resources
    --------------------------------------------------------------------------------
    ora.DATA.dg
                   ONLINE  ONLINE       node1                                        
                   ONLINE  ONLINE       node2                                        
    ora.FRA.dg
                   ONLINE  ONLINE       node1                                        
                   ONLINE  ONLINE       node2                                        
    ora.LISTENER.lsnr
                   ONLINE  ONLINE       node1                                        
                   ONLINE  ONLINE       node2                                        
    ora.OCRVOTE.dg
                   ONLINE  ONLINE       node1                                        
                   ONLINE  ONLINE       node2                                        
    ora.asm
                   ONLINE  ONLINE       node1                    Started             
                   ONLINE  ONLINE       node2                    Started             
    ora.gsd
                   OFFLINE OFFLINE      node1                                        
                   OFFLINE OFFLINE      node2                                        
    ora.net1.network
                   ONLINE  ONLINE       node1                                        
                   ONLINE  ONLINE       node2                                        
    ora.ons
                   ONLINE  ONLINE       node1                                        
                   ONLINE  ONLINE       node2                                        
    ora.registry.acfs
                   ONLINE  ONLINE       node1                                        
                   ONLINE  ONLINE       node2                                      

    通过已正常启动的节点1查看RAC的参数文件是否缺少实例2的SID:

    [oracle@node1 ~]$ export ORACLE_SID=GZYT1
    [oracle@node1 ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 11.2.0.3.0 Production on Wed Jan 24 21:07:21 2018
    
    Copyright (c) 1982, 2011, Oracle.  All rights reserved.
    
    Connected to an idle instance.
    SQL> create pfile='/tmp/gzyt.ora' from spfile='+DATA/GZYT/spfileGZYT.ora';

    File created.
    SQL> !cat /tmp/gzyt.ora
    GZYT1.__db_cache_size=251658240
    GZYT1.__java_pool_size=4194304
    GZYT1.__large_pool_size=4194304
    GZYT1.__pga_aggregate_target=327155712
    GZYT1.__sga_target=482344960
    GZYT1.__shared_io_pool_size=0
    GZYT1.__shared_pool_size=213909504
    GZYT1.__streams_pool_size=0
    *.audit_file_dest='/u01/app/oracle/admin/GZYT/adump'
    *.audit_trail='db'
    *.cluster_database=true
    *.compatible='11.2.0.0.0'
    *.control_files='+DATA/gzyt/controlfile/current.260.966128175','+FRA/gzyt/controlfile/current.256.966128177'
    *.db_block_size=8192
    *.db_create_file_dest='+DATA'
    *.db_domain=''
    *.db_name='GZYT'
    *.db_recovery_file_dest='+FRA'
    *.db_recovery_file_dest_size=4322230272
    *.diagnostic_dest='/u01/app/oracle'
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=GZYTXDB)'
    GZYT1.instance_number=1
    *.log_archive_format='%t_%s_%r.dbf'
    *.memory_target=808452096
    *.open_cursors=300
    *.processes=150
    *.remote_listener='scanip:1521'
    *.remote_login_passwordfile='exclusive'
    GZYT1.thread=1
    GZYT1.undo_tablespace='UNDOTBS1'

    由上面输入可知确实少了实例2的一些信息,编辑刚刚创建的pfile,增加以下内容:

    GZYT2.instance_number=2
    GZYT2.thread=2
    GZYT2.undo_tablespace='UNDOTBS2'

    确保创建了实例2的undo表空间和日志文件:

    #结果发现没有实例2所需要的undo表空间和日志文件
    SQL> select file#,name from v$datafile; FILE# NAME ---------- -------------------------------------------------- 1 +DATA/gzyt/datafile/system.256.966128053 2 +DATA/gzyt/datafile/sysaux.257.966128053 3 +DATA/gzyt/datafile/undotbs1.258.966128055 4 +DATA/gzyt/datafile/users.259.966128055 5 +DATA/gzyt/datafile/example.265.966128233 SQL> select group#,thread#,members,status from v$log; GROUP# THREAD# MEMBERS STATUS ---------- ---------- ---------- ---------------- 1 1 2 INACTIVE 2 1 2 ACTIVE 3 1 2 CURRENT

    在节点1数据库增加节点2实例的日志文件和undo表空间,并启动实例2的日志线程:

    SQL> create undo tablespace datafile '+DATA' size 115m
    
    Tablespace created.
    
    SQL> alter database add logfile thread 2 group 4 ('+DATA','+DATA') size 50m;
    
    Database altered.
    
    SQL> alter database add logfile thread 2 group 5 ('+DATA','+DATA') size 50m;
    
    Database altered.
    
    SQL> alter database add logfile thread 2 group 6 ('+DATA','+DATA') size 50m;
    
    Database altered.
    
    SQL> alter database enable thread 2;
    
    Database altered.

    #保存修改后的spfile
    SQL> create spfile='+DATA/GZYT/spfileGZYT.ora' from pfile='/tmp/gzyt.ora';

    File created.

    重新尝试在节点2启动数据库:

    #成功启动数据库
    SQL> startup
    ORACLE instance started.
    
    Total System Global Area  807682048 bytes
    Fixed Size                  1347964 bytes
    Variable Size             541068932 bytes
    Database Buffers          260046848 bytes
    Redo Buffers                5218304 bytes
    Database mounted.
    Database opened.
    SQL> 

    重新查看节点数据库状态:

    [oracle@node1 ~]$ srvctl status database -d GZYT
    Instance GZYT1 is running on node node1
    Instance GZYT2 is running on node node2

    两个节点的实例都已成功启动。

  • 相关阅读:
    什么叫套接字
    浅谈labviEW定时器
    C#线程篇---Task(任务)和线程池不得不说的秘密
    async与await详解
    异步编程与多线程的联系与区别
    什么是Task
    MVC模式的介绍(C#)
    Git指令
    Redis安装部署、Jedis的使用
    Oracle——序列、索引、同义词
  • 原文地址:https://www.cnblogs.com/shaozi/p/8344031.html
Copyright © 2011-2022 走看看