您的位置:首页 > 数据库

ORA-16032 Can not Start Instance via srvctl but via sqlplus is fine [ID 1062071.1]

2010-11-19 00:15 477 查看
ORA-16032 Can not Start Instance via srvctl but via sqlplus is fine [ID 1062071.1]

Modified 07-OCT-2010 Type PROBLEM Status PUBLISHED

In this Document
Symptoms
Changes
Cause
Solution

Applies to:

Oracle Server - Enterprise Edition - Version: 10.1.0.2 to 11.2.0.1 - Release: 10.1 to 11.2
Information in this document applies to any platform.

Symptoms

Using 11.2. Grid Infrastructure, the database instances cannot be started via 'srvctl', but can be started via 'sqlplus'. The same spfile "+DATA/db302d/spfiledb302d.ora" is used for both srvctl and sqlplus:

[oracle@node1] /opt/oracle/admin/+ASM $ srvctl start database -d db302d
PRCR-1079 : Failed to start resource ora.db302d.db
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

ORA-16032: parameter %s destination string cannot be translated
CRS-2674: Start of 'ora.db302d.db' on 'node1' failed
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

The associated oraagent_oracle.log (located in GRID_home/log/nodename/agent/crsd/oraagent_oracle/) shows similar messages:

2010-02-09 07:08:22.587: [ AGFW][1169193280] ora.db302d.db 1 1 state changed from: OFFLINE to: STARTING
2010-02-09 07:08:22.587: [ AGFW][1148213568] Executing command: start for resource: ora.db302d.db 1 1

2010-02-09 07:08:37.488: [ AGFW][1148213568] sending status msg [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
] for start for resource: ora.db302d.db 1 1

2010-02-09 07:08:37.571: [ora.db302d.db][1148213568] [start] Exception type=2 string=ORA-16032: parameter %s destination string cannot be translated

2010-02-09 07:08:37.571: [ AGFW][1148213568] sending status msg [ORA-16032: parameter %s destination string cannot be translated
] for start for resource: ora.db302d.db 1 1
2010-02-09 07:08:37.571: [ora.db302d.db][1148213568] [start] clsn_agent::start }
2010-02-09 07:08:37.571: [ AGFW][1148213568] Command: start for resource: ora.db302d.db 1 1 completed with status: FAIL

Changes

New installation

Cause

The error is caused by following instance parameter setting:

log_archive_dest_1 = "LOCATION=$ORACLE_BASE/db302d/admin/arch/"

When using sqlplus to start the instance, the oracle user has the variable $ORACLE_BASE set in its environment (e.g. via the shell profile) , so this parameter can be translated.
However, when starting the instance via 'srvctl', the CRS daemon process will not execute the user's shell profile, instead it will only use any environment variables explicitly set in OCR.

As the ORACLE_BASE environment variable is not set in OCR, the startup via srvctl fails with ORA-16032.

Solution

Change log_archive_dest_1 to use the real path, eg:

alter system set log_archive_dest_1= "LOCATION=/opt/oracle/db302d/admin/arch/";

Or set the environment variable ORACLE_BASE in OCR using srvctl:

srvctl setenv database -d <name> -t ORACLE_BASE=/opt/oracle

After this, srvctl can start/stop the instance without issue.

------------------------------------------------------------------------------

Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx

DBA1 群:62697716(满); DBA2 群:62697977(满)

DBA3 群:62697850 DBA 超级群:63306533;

聊天 群:40132017

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐