rac数据库的服务无法启动,报错ORA-03113: end-of-file on communication channel

启动数据库服务出现如下错误:

[grid@rac2 ~]$ srvctl start database -d orcl
PRCR-1079 : 无法启动资源 ora.orcl.db
CRS-5017: The resource action "ora.orcl.db start" encountered the following error:
ORA-03113: end-of-file on communication channel
Process ID: 21123
Session ID: 63 Serial number: 3
. For details refer to "(:CLSN00107:)" in "/u01/app/11.2.0/grid/log/rac1/agent/crsd/oraagent_oracle/oraagent_oracle.log".

CRS-2674: Start of 'ora.orcl.db' on 'rac1' failed
CRS-2632: There are no more servers to try to place resource 'ora.orcl.db' on that would satisfy its placement policy
CRS-5017: The resource action "ora.orcl.db start" encountered the following error:
ORA-03113: end-of-file on communication channel
Process ID: 19773
Session ID: 63 Serial number: 3
. For details refer to "(:CLSN00107:)" in "/u01/app/11.2.0/grid/log/rac2/agent/crsd/oraagent_oracle/oraagent_oracle.log".

CRS-2674: Start of 'ora.orcl.db' on 'rac2' failed

查看日志文件如下

2015-05-21 10:11:22.245: [ USRTHRD][1073740096]{1:59151:1636} Thread:DedicatedThreadstop {
2015-05-21 10:11:22.245: [ USRTHRD][1073740096]{1:59151:1636} Thread:DedicatedThreadstop }
2015-05-21 10:11:22.246: [ora.orcl.db][1073740096]{1:59151:1636} [clean] DbAgent:getOracleSid getResAttribute GEN_USR_ORA_INST_NAME = orcl1
2015-05-21 10:11:22.246: [ora.orcl.db][1073740096]{1:59151:1636} [clean] DbAgent:getOracleSid 23 oracle_sid = orcl1
2015-05-21 10:11:22.246: [ora.orcl.db][1073740096]{1:59151:1636} [clean] DbAgent:getOracleSid  oracle_sid = orcl1
2015-05-21 10:11:22.246: [ora.orcl.db][1073740096]{1:59151:1636} [clean] CssData Constructor groupName:DBORCL cssRegistrationType:0 memno:-1
2015-05-21 10:11:22.246: [ USRTHRD][1073740096]{1:59151:1636} CssData::initMutex &m_cssDataLock:38036618
2015-05-21 10:11:22.246: [ora.orcl.db][1073740096]{1:59151:1636} [clean] CssGroup::regis registration of groupName:DBORCL mbrid:-1 m_grpNum:-1 regType:0 succeeded
2015-05-21 10:11:22.246: [ora.orcl.db][1073740096]{1:59151:1636} [clean] CssData::Constructor regis succeeded groupName:DBORCL memno:-1
2015-05-21 10:11:22.246: [ora.orcl.db][1073740096]{1:59151:1636} [clean] CssData::Constructor m_pCssGroup:3800c6c0 group DBORCL
2015-05-21 10:11:22.246: [ora.orcl.db][1073740096]{1:59151:1636} [clean] InstAgent::init m_groupName:DBORCL m_pCssData 38035550
2015-05-21 10:11:22.246: [ora.orcl.db][1073740096]{1:59151:1636} [clean] getOracleHomeAttrib: oracle_home = /u01/app/oracle/product/11.2.0/db_1
2015-05-21 10:11:22.246: [ora.orcl.db][1073740096]{1:59151:1636} [clean] ConnectionPool::ConnectionPool 2 m_oracleHome:/u01/app/oracle/product/11.2.0/db_1, m_oracleSid:orcl1, m_usrOraEnv:
2015-05-21 10:11:22.246: [ora.orcl.db][1073740096]{1:59151:1636} [clean] clean {
2015-05-21 10:11:22.246: [ora.orcl.db][1073740096]{1:59151:1636} [clean] InstAgent::stop_option stop mode immediate option 1
2015-05-21 10:11:22.246: [ora.orcl.db][1073740096]{1:59151:1636} [clean] InstAgent::stop {
2015-05-21 10:11:22.246: [ora.orcl.db][1073740096]{1:59151:1636} [clean] getResAttrib: attrib name USR_ORA_OPI value true len 4
2015-05-21 10:11:22.246: [ora.orcl.db][1073740096]{1:59151:1636} [clean] Agent::flagUsrOraOpiIsSet(true) reason not dependency
2015-05-21 10:11:22.246: [ora.orcl.db][1073740096]{1:59151:1636} [clean] InstAgent::stop original reason system do shutdown abort
2015-05-21 10:11:22.246: [ora.orcl.db][1073740096]{1:59151:1636} [clean] Gimh::check OH /u01/app/oracle/product/11.2.0/db_1 SID orcl1
2015-05-21 10:11:22.246: [ora.orcl.db][1073740096]{1:59151:1636} [clean] Gimh::check condition changes to (GIMH_NEXT_NUM) 0 exists
2015-05-21 10:11:22.246: [ora.orcl.db][1073740096]{1:59151:1636} [clean] (:CLSN00007:)DbAgent::check failed gimh state 0
2015-05-21 10:11:22.246: [ora.orcl.db][1073740096]{1:59151:1636} [clean] clsnDbAgent:checkCbk clsagfw_res_status ret 5
2015-05-21 10:11:22.246: [ora.orcl.db][1073740096]{1:59151:1636} [clean] InstAgent::check db/asm 2clsagfw_res_status 5 poolState 0
2015-05-21 10:11:22.246: [ora.orcl.db][1073740096]{1:59151:1636} [clean] (:CLSN00007:)InstAgent::check: return unplanned offline
2015-05-21 10:11:22.246: [ USRTHRD][1073740096]{1:59151:1636} Gimh::destructor gimh_dest_query_ctx rc=0
2015-05-21 10:11:22.246: [ USRTHRD][1073740096]{1:59151:1636} Gimh::destructor gimh_dest_inst_ctx rc=0
2015-05-21 10:11:22.246: [ora.orcl.db][1073740096]{1:59151:1636} [clean] ConnectionPool::stopConnection
2015-05-21 10:11:22.247: [ora.orcl.db][1073740096]{1:59151:1636} [clean] ConnectionPool::removeConnection connection count 0
2015-05-21 10:11:22.247: [ora.orcl.db][1073740096]{1:59151:1636} [clean] ConnectionPool::removeConnection freed 0
2015-05-21 10:11:22.247: [ora.orcl.db][1073740096]{1:59151:1636} [clean] ConnectionPool::stopConnection sid orcl1 status  1
2015-05-21 10:11:22.247: [ora.orcl.db][1073740096]{1:59151:1636} [clean] InstAgent::check 1 prev clsagfw_res_status 32513 current clsagfw_res_status 1
2015-05-21 10:11:27.247: [ora.orcl.db][1073740096]{1:59151:1636} [clean] InstAgent::check prev clsagfw_res_status 1 current clsagfw_res_status 1
2015-05-21 10:11:27.247: [ora.orcl.db][1073740096]{1:59151:1636} [clean] InstAgent::stop  shutdown mode: 4
2015-05-21 10:11:27.247: [ora.orcl.db][1073740096]{1:59151:1636} [clean] DbAgent::preStopCbk {
2015-05-21 10:11:27.247: [ora.orcl.db][1073740096]{1:59151:1636} [clean] DbAgentEventModule::stop Forcing stop because of clean
2015-05-21 10:11:27.247: [ USRTHRD][1073740096]{1:59151:1636} Thread:DedicatedThreadstop {
2015-05-21 10:11:27.247: [ USRTHRD][1073740096]{1:59151:1636} Thread:DedicatedThreadstop }
2015-05-21 10:11:27.247: [ora.orcl.db][1073740096]{1:59151:1636} [clean] DbAgent::preStopCbk }
2015-05-21 10:11:27.247: [ora.orcl.db][1073740096]{1:59151:1636} [clean] ConnectionPool::getConnection 160 ERROR sid orcl1 pool status 1
2015-05-21 10:11:27.247: [ora.orcl.db][1073740096]{1:59151:1636} [clean] InstAgent::stop pool pConnxn 00000000
2015-05-21 10:11:27.247: [ USRTHRD][1073740096]{1:59151:1636} InstConnection::initMutex AttachLock 00ae3210 DetachLock 00ae3228
2015-05-21 10:11:27.247: [ora.orcl.db][1073740096]{1:59151:1636} [clean] clsnInstConnection::makeConnectStr UsrOraEnv  m_oracleHome /u01/app/oracle/product/11.2.0/db_1 Crshome /u01/app/11.2.0/grid
2015-05-21 10:11:27.247: [ora.orcl.db][1073740096]{1:59151:1636} [clean] makeConnectStr = (DESCRIPTION=(ADDRESS=(PROTOCOL=beq)(PROGRAM=/u01/app/oracle/product/11.2.0/db_1/bin/oracle)(ARGV0=oracleorcl1)(ENVS='ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1,ORACLE_SID=orcl1,LD_LIBRARY_PATH=')(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))'))(CONNECT_DATA=(SID=orcl1)))
2015-05-21 10:11:27.249: [ora.orcl.db][1073740096]{1:59151:1636} [clean] InstAgent::stop non pool pConnxn 1 38015a70
2015-05-21 10:11:27.249: [ora.orcl.db][1073740096]{1:59151:1636} [clean] InstConnection::connectInt: server not attached
2015-05-21 10:11:27.259: [ora.orcl.db][1073740096]{1:59151:1636} [clean] ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
Process ID: 0
Session ID: 0 Serial number: 0

2015-05-21 10:11:27.259: [ora.orcl.db][1073740096]{1:59151:1636} [clean] InstConnection::connectInt (2) Exception OCIException
2015-05-21 10:11:27.259: [ora.orcl.db][1073740096]{1:59151:1636} [clean] InstConnection:connect:excp OCIException OCI error 1034
2015-05-21 10:11:27.259: [ora.orcl.db][1073740096]{1:59151:1636} [clean] InstAgent::stop: connect1 errcode 1034
2015-05-21 10:11:27.259: [ora.orcl.db][1073740096]{1:59151:1636} [clean] InstAgent::stop: connect2 oracleHome /u01/app/oracle/product/11.2.0/db_1 oracleSid orcl1
2015-05-21 10:11:27.259: [ora.orcl.db][1073740096]{1:59151:1636} [clean] InstConnection::connectInt: server not attached
2015-05-21 10:11:27.269: [ora.orcl.db][1073740096]{1:59151:1636} [clean] InstConnection:connectInt connected
2015-05-21 10:11:27.269: [ora.orcl.db][1073740096]{1:59151:1636} [clean] InstConnection::shutdown mode 4
2015-05-21 10:11:27.269: [ora.orcl.db][1073740096]{1:59151:1636} [clean] ConnectionPool::removeConnection connection count 1
2015-05-21 10:11:27.269: [ora.orcl.db][1073740096]{1:59151:1636} [clean] ConnectionPool::removeConnection sid  orcl1, InstConnection 38015a70
2015-05-21 10:11:27.269: [ USRTHRD][1073740096]{1:59151:1636} InstConnection::breakCall pConnxn:38015a70  DetachLock:00ae3228 m_pSvcH:380b2570
2015-05-21 10:11:27.269: [ USRTHRD][1073740096]{1:59151:1636} InstConnection:~InstConnection: this 38015a70
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [clean] ConnectionPool::removeConnection delete InstConnection 38015a70
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [clean] ConnectionPool::removeConnection freed 1
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [clean] ConnectionPool::stopConnection
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [clean] ConnectionPool::removeConnection connection count 0
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [clean] ConnectionPool::removeConnection freed 0
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [clean] ConnectionPool::stopConnection sid orcl1 status  1
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [clean] InstAgent::stop db/asm
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [clean] ConnectionPool::stopConnection
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [clean] ConnectionPool::removeConnection connection count 0
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [clean] ConnectionPool::removeConnection freed 0
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [clean] ConnectionPool::stopConnection sid orcl1 status  1
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [clean] getResAttrib: attrib name USR_ORA_OPI value true len 4
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [clean] Agent::flagUsrOraOpiIsSet(true) reason not dependency
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [clean] InstAgent::stop: }
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [clean] clean  }
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [clean] (:CLSN00106:) clsn_agent::clean }
2015-05-21 10:11:27.270: [    AGFW][1073740096]{1:59151:1636} Command: clean for resource: ora.orcl.db 1 1 completed with status: SUCCESS
2015-05-21 10:11:27.270: [CLSFRAME][1161484016] TM [MultiThread] is changing desired thread # to 3. Current # is 2
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [check] ConnectionPool::resetConnection  s_statusOfConnectionMap 00ae9760
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [check] ConnectionPool::resetConnection sid orcl1 status  2
2015-05-21 10:11:27.270: [    AGFW][1071638848]{1:59151:1636} Agent sending reply for: RESOURCE_CLEAN[ora.orcl.db 1 1] ID 4100:27163
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [check] Gimh::check OH /u01/app/oracle/product/11.2.0/db_1 SID orcl1
2015-05-21 10:11:27.270: [CLSFRAME][1161484016] TM [MultiThread] is changing desired thread # to 4. Current # is 3
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [check] Gimh::check condition changes to (GIMH_NEXT_NUM) 0 exists
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [check] (:CLSN00007:)DbAgent::check failed gimh state 0
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [check] clsnDbAgent:checkCbk clsagfw_res_status ret 5
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [check] (:CLSN00007:)InstAgent::check: return unplanned offline
2015-05-21 10:11:27.270: [ USRTHRD][1073740096]{1:59151:1636} Gimh::destructor gimh_dest_query_ctx rc=0
2015-05-21 10:11:27.270: [ USRTHRD][1073740096]{1:59151:1636} Gimh::destructor gimh_dest_inst_ctx rc=0
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [check] ConnectionPool::stopConnection
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [check] ConnectionPool::removeConnection connection count 0
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [check] ConnectionPool::removeConnection freed 0
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [check] ConnectionPool::stopConnection sid orcl1 status  1
2015-05-21 10:11:27.270: [ora.orcl.db][1073740096]{1:59151:1636} [check] InstAgent::check 1 prev clsagfw_res_status 2 current clsagfw_res_status 1
2015-05-21 10:11:32.271: [ora.orcl.db][1073740096]{1:59151:1636} [check] InstAgent::check prev clsagfw_res_status 1 current clsagfw_res_status 1
2015-05-21 10:11:32.271: [    AGFW][1071638848]{1:59151:1636} ora.orcl.db 1 1 state changed from: CLEANING to: OFFLINE
2015-05-21 10:11:32.271: [    AGFW][1071638848]{1:59151:1636} Agent sending last reply for: RESOURCE_CLEAN[ora.orcl.db 1 1] ID 4100:27163
2015-05-21 10:11:32.271: [    AGFW][1071638848]{1:59151:1636} Agent has no resources to be monitored, Shutting down ..
2015-05-21 10:11:32.271: [    AGFW][1071638848]{1:59151:1636} Agent sending message to PE: AGENT_SHUTDOWN_REQUEST[Proxy] ID 20486:28
2015-05-21 10:11:32.273: [    AGFW][1071638848]{1:59151:1636} Agent is shutting down.
2015-05-21 10:11:32.273: [    AGFW][1071638848]{1:59151:1636} Agent is exiting with exit code: 1

没看懂日志是什么意思,有看懂的大神可以帮忙分析一下

后来从网上查找这个错误前辈们的解决方式,试了一个  竟然成功了,下面是解决方法:

 

[grid@rac1 ~]$ su - oracle
口令:
[oracle@rac1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Thu May 21 10:17:29 2015

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup mount
ORACLE instance started.

Total System Global Area 1636814848 bytes
Fixed Size      2253744 bytes
Variable Size   1023413328 bytes
Database Buffers   603979776 bytes
Redo Buffers      7168000 bytes
Database mounted.
SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE   MEMBERS ARC
---------- ---------- ---------- ---------- ---------- ---------- ---
STATUS   FIRST_CHANGE# FIRST_TIME    NEXT_CHANGE#
---------------- ------------- ------------------- ------------
NEXT_TIME
-------------------
  1     1       11   52428800    512  2 NO
CURRENT         1659086 2015-05-18 16:00:24   2.8147E+14


  2     1       10   52428800    512  2 NO
INACTIVE        1623813 2015-05-18 12:08:34 1659086
2015-05-18 16:00:24

    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE   MEMBERS ARC
---------- ---------- ---------- ---------- ---------- ---------- ---
STATUS   FIRST_CHANGE# FIRST_TIME    NEXT_CHANGE#
---------------- ------------- ------------------- ------------
NEXT_TIME
-------------------

  3     2        5   52428800    512  2 NO
CURRENT         1726288 2015-05-19 05:43:12   2.8147E+14


  4     2        4   52428800    512  2 NO
INACTIVE        1610346 2015-05-18 11:00:44 1726288

    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE   MEMBERS ARC
---------- ---------- ---------- ---------- ---------- ---------- ---
STATUS   FIRST_CHANGE# FIRST_TIME    NEXT_CHANGE#
---------------- ------------- ------------------- ------------
NEXT_TIME
-------------------
2015-05-19 05:43:12

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
[oracle@rac1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Thu May 21 10:20:43 2015

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
[oracle@rac1 ~]$ cd /u01/app/11.2.0/grid/bin/
[oracle@rac1 bin]$ crs_stat -t
Name           Type           Target    State     Host       
------------------------------------------------------------
ora.DATA.dg    ora....up.type ONLINE    ONLINE    rac1       
ora.DBFILE1.dg ora....up.type ONLINE    ONLINE    rac1       
ora.FRA.dg     ora....up.type ONLINE    ONLINE    rac1       
ora....ER.lsnr ora....er.type ONLINE    ONLINE    rac1       
ora....N1.lsnr ora....er.type ONLINE    ONLINE    rac1       
ora.asm        ora.asm.type   ONLINE    ONLINE    rac1       
ora.cvu        ora.cvu.type   ONLINE    ONLINE    rac1       
ora.gsd        ora.gsd.type   OFFLINE   OFFLINE              
ora....network ora....rk.type ONLINE    ONLINE    rac1       
ora.oc4j       ora.oc4j.type  ONLINE    ONLINE    rac1       
ora.ons        ora.ons.type   ONLINE    ONLINE    rac1       
ora.orcl.db    ora....se.type ONLINE    ONLINE    rac1       
ora....SM1.asm application    ONLINE    ONLINE    rac1       
ora....C1.lsnr application    ONLINE    ONLINE    rac1       
ora.rac1.gsd   application    OFFLINE   OFFLINE              
ora.rac1.ons   application    ONLINE    ONLINE    rac1       
ora.rac1.vip   ora....t1.type ONLINE    ONLINE    rac1       
ora....SM2.asm application    ONLINE    ONLINE    rac2       
ora....C2.lsnr application    ONLINE    ONLINE    rac2       
ora.rac2.gsd   application    OFFLINE   OFFLINE              
ora.rac2.ons   application    ONLINE    ONLINE    rac2       
ora.rac2.vip   ora....t1.type ONLINE    ONLINE    rac2       
ora....ry.acfs ora....fs.type ONLINE    ONLINE    rac1       
ora.scan1.vip  ora....ip.type ONLINE    ONLINE    rac1       

到此服务已经启动成功了,虽然服务成功启动了  但是原理却不是很理解 ,有能明白的大神希望能帮忙分析下

下面是我从网上看到的解决方法,我自己运行的时候看到数据库已经mount状态了 就没再往下执行

报错ORA-03113: end-of-file on communication channel (通信通道的文件结尾)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
SQL> startup
ORACLE instance started.
  
Total System Global Area 1252663296 bytes
Fixed Size 2227944 bytes
Variable Size 704643352 bytes
Database Buffers 536870912 bytes
Redo Buffers 8921088 bytes
Database mounted.
ORA-03113: end - of -file on communication channel
Process ID: 8117
Session ID: 191 Serial number: 3
网上分析,可能由于昨晚数据库强制关闭,导致文件状态可能不一致,因为正常关闭数据库会同步校验各文件,使得重新启动的时候文件时间点一致。解决方案如下
启动DB
SQL> conn / as sysdba
Connected to an idle instance.
  
SQL> startup mount
ORACLE instance started.
直接reset不成功
SQL> select * from v$log;
  
     GROUP # THREAD# SEQUENCE # BYTES BLOCKSIZE MEMBERS ARC
---------- ---------- ---------- ---------- ---------- ---------- ---
STATUS FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
---------------- ------------- --------- ------------ ---------
          1 1 112 52428800 512 1 NO
INACTIVE 3826382 16-JUL-13 3857158 17-JUL-13
  
          3 1 114 52428800 512 1 NO
CURRENT 3886899 17-JUL-13 2.8147E+14
  
          2 1 113 52428800 512 1 NO
INACTIVE 3857158 17-JUL-13 3886899 17-JUL-13
  
  
SQL> alter database open resetlogs 2;
alter database open resetlogs 2
                               *
ERROR at line 1:
ORA-02288: invalid OPEN mode
恢复数据库
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01139: RESETLOGS option only valid after an incomplete database recovery
  
  
SQL> recover database until time '2013-07-05'
Media recovery complete.
SQL> alter database open resetlogs;
  
Database altered.
成功。

 

<think>好的,我现在需要解决用户在Oracle 19c RAC单节点数据库启动时遇到的ORA-12560 TNS协议适配器错误。首先,我得回忆一下ORA-12560错误的常见原因和处理方法。这个错误通常与TNS监听器配置、环境变量设置或者实例状态有关。不过用户是在RAC环境中,而且是单节点启动,可能需要考虑RAC特有的配置问题。 首先,用户提到的是单节点启动,可能需要确认是否正确的设置了ORACLE_SID环境变量。在RAC环境中,每个节点通常有唯一的实例名,比如加上节点号的后缀。如果用户没有正确设置ORACLE_SID到当前节点的实例名,可能会导致无法连接到实例,从而引发ORA-12560。这时候需要检查.bash_profile或者对应的shell配置文件,确认ORACLE_SID是否正确。例如,节点1的实例可能是ORCL1,而不是ORCL。 其次,检查监听器状态。在RAC环境中,每个节点都有自己的监听器,或者可能使用SCAN监听器。用户需要确认监听器是否在运行,使用lsnrctl status命令查看监听状态。如果监听器没有启动,或者没有正确注册实例,可能导致连接问题。此外,TNSNAMES.ORA文件中的配置是否正确,特别是服务名和实例名的对应关系是否正确,需要核实。比如,是否使用了正确的服务名或者SID。 另外,数据库实例是否真的已经启动。有时候用户可能认为实例已经启动,但实际上可能由于参数文件错误、存储问题等导致实例未能成功启动。使用ps -ef | grep pmon命令检查PMON进程是否存在,确认实例是否在运行。如果实例未启动,需要查看alert日志文件,找到具体的启动错误原因。 还有,检查sqlnet.ora文件中的配置,特别是ADR设置或者认证方式是否有问题。例如,SQLNET.AUTHENTICATION_SERVICES参数是否设置为NONE或者包含了合适的认证方式,比如ALL或者NTS(在Windows上)。不过用户的环境是Linux,可能需要不同的设置。 此外,在RAC环境中,可能需要检查集群资源的状态。使用crsctl status resource -t命令查看数据库资源是否在线。如果资源未在预期节点上运行,可能需要手动启动资源或者检查集群配置问题。 用户提供的引用[1]和[2]中提到了一些目录创建和参数设置的样例。比如,在引用[2]中提到了备库目录的创建,以及集群相关参数需要去掉。这可能意味着在单节点启动时,某些原本适用于集群的参数可能被错误保留,导致实例无法正确启动。因此需要检查参数文件(spfile或pfile)中的参数是否正确,特别是与集群相关的参数如CLUSTER_DATABASE是否被设置为FALSE,或者是否去掉了与RAC相关的参数。 另外,用户的问题可能涉及到TNS配置是否正确。例如,在tnsnames.ora中是否配置了正确的服务名、主机名和端口。例如,是否指向了本地监听器的地址(比如LISTENER_NODE1),或者SCAN监听器的地址。如果配置的是SCAN监听器,但当前节点监听器未运行,可能导致连接问题。 总结一下,可能的解决步骤包括: 1. 检查ORACLE_SID环境变量是否正确设置。 2. 确认监听器状态,并确保实例已注册到监听器。 3. 检查实例是否真正启动,查看alert日志。 4. 检查参数文件中的集群相关参数是否正确。 5. 验证TNSNAMES.ORA和LISTENER.ORA的配置是否正确。 6. 确保sqlnet.ora中没有不合适的配置。 7. 检查集群资源状态,必要时重启资源。 在逐步排查这些可能性后,应该能找到问题的根源并解决ORA-12560错误。</think>### Oracle 19c RAC单节点启动ORA-12560错误解决方案 #### 1. 检查环境变量配置 - **确认`ORACLE_SID`是否正确** 在RAC环境中,每个节点的实例名通常带有节点编号(如`ORCL1`、`ORCL2`)。执行以下命令检查: ```bash echo $ORACLE_SID ``` 若未正确设置,需在用户配置文件(如`.bash_profile`)中修正,例如: ```bash export ORACLE_SID=ORCL1 ``` 修改后执行`source ~/.bash_profile`生效。 - **验证`ORACLE_HOME`路径** 确保`ORACLE_HOME`指向正确的RAC安装目录: ```bash echo $ORACLE_HOME ``` #### 2. 检查监听器状态 - **查看本地监听器是否运行** 执行以下命令检查监听状态: ```bash lsnrctl status LISTENER_NODE1 # 替换为实际监听器名称 ``` 若未启动,执行`lsnrctl start LISTENER_NODE1`。 - **确认实例注册状态** 在监听器状态输出中检查实例是否显示为`READY`。若未注册,手动注册: ```sql ALTER SYSTEM REGISTER; ``` #### 3. 检查数据库实例状态 - **确认实例是否已启动** 通过进程检查: ```bash ps -ef | grep pmon ``` 若无相关进程,尝试启动实例: ```sql sqlplus / as sysdba SQL> STARTUP ``` - **查看告警日志定位问题** 检查`$ORACLE_BASE/diag/rdbms/<db_name>/<instance_name>/trace/alert_<instance_name>.log`,分析启动失败的具体原因(如参数错误、存储权限问题)[^2]。 #### 4. 验证参数文件配置 - **检查`CLUSTER_DATABASE`参数** 单节点启动时需确保参数`CLUSTER_DATABASE=FALSE`,若需临时启动单实例,可通过以下方式修改: ```sql CREATE pfile='/tmp/pfile.ora' FROM spfile; -- 修改pfile.ora中CLUSTER_DATABASE=FALSE,删除集群相关参数 SQL> STARTUP PFILE='/tmp/pfile.ora'; ``` - **移除冗余集群参数** 确保参数文件中未包含`CLUSTER_NODES`、`REMOTE_LISTENER`等集群专用参数。 #### 5. 检查网络配置 - **验证`tnsnames.ora`配置** 检查连接描述符是否指向正确的主机和端口,例如: ```tnsnames ORCL1 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SID = ORCL1) ) ) ``` - **确认`listener.ora`配置** 确保监听器配置包含实例的静态注册(仅限未自动注册时): ```listener.ora SID_LIST_LISTENER_NODE1 = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = ORCL) (ORACLE_HOME = /u01/app/oracle/product/19c/dbhome_1) (SID_NAME = ORCL1) ) ) ``` #### 6. 检查集群资源状态 - **查看数据库资源状态** 使用`crsctl`检查资源是否在线: ```bash crsctl status resource -t ``` 若数据库资源未运行,尝试启动: ```bash srvctl start database -d ORCL -node node1 ``` #### 7. 其他可能原因 - **检查`sqlnet.ora`配置** 确保未设置`SQLNET.AUTHENTICATION_SERVICES=NONE`导致认证失败。 - **权限问题** 确认`/u01/app/oracle/admin`等目录权限为`oracle:oinstall`[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值