因数据库磁盘存储空间不足,操作LVM分区意外导致服务器系统宕机,修复完成后启动oracle数据库,发现报错:

[oracle@rac05 ~]$ sqlplus / as sysdba;

SQL*Plus: Release 11.2.0.3.0 Production on Fri Nov 11 17:17:49 2022

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

Connected to an idle instance.

SQL> startup;
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/11.2.0.3/dbs/initorcl1.ora'

宕机数据库为集群中的第二台服务器。

排查思路

检查文件是否存在

在查看报错路径下的文件时,发现缺失initorcl1.ora文件。

[oracle@rac05 ~]$ cd /u01/app/oracle/11.2.0.3/dbs/
[oracle@rac05 dbs]$ ll
total 24
-rw-rw---- 1 oracle oinstall 1544 Nov 10 12:36 hc_orcl2.dat
-rw-r--r-- 1 oracle oinstall 2851 Dec 17  2015 init.ora
-rw-r----- 1 oracle oinstall   35 Dec 23  2015 initorcl2.ora
-rw-r----- 1 oracle oinstall 1536 Dec 23  2015 orapworcl2
查看参数

在第一台正常的服务器上查看信息。

[oracle@rac04 ~]$ sqlplus / as sysdba;
SQL> show parameter instance_name;

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
instance_name                 string     orcl1
SQL> show parameter pfile;

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
spfile                     string     +DATA/orcl/spfileorcl.ora
SQL> show parameter spfile;

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
spfile                     string     +DATA/orcl/spfileorcl.ora
检查数据库SID

第一台集群服务器的SID

[oracle@rac04 ~]$ echo $ORACLE_SID
orcl1

参考其他项目数据库SID格式,确认第二台集群数据库的SID与第一台重复。

[oracle@rac05 ~]$ echo $ORACLE_SID
orcl1

解决办法

Oracle 默认会在 $ORACLE_HOME/dbs 目录中打开格式为 "spfile"+ $ORACLE_SID + ".ora"的参数文件。如果找不到,它会尝试打开"init"+$ORACLE_SID+".ora"
由于已经发现第二台数据库的SID重复,因此只需修改第二台的SID配置。

查看启动参数文件
[oracle@rac05 dbs]$ cat initorcl2.ora
SPFILE='+DATA/orcl/spfileorcl.ora'
查看基本信息
[oracle@rac04 ~]$ sqlplus / as sysdba;

SQL*Plus: Release 11.2.0.3.0 Production on Fri Nov 11 17:47:16 2022

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


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

SQL> show parameter instance_name;

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
instance_name                 string     orcl1
SQL> show parameter pfile;

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
spfile                     string     +DATA/orcl/spfileorcl.ora
SQL> show parameter spfile;

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
spfile                     string     +DATA/orcl/spfileorcl.ora
修改SID
修改oracle用户

编辑oracle用户的.bash_profile文件,修改ORACLE_SIDORACLE_UNQNAME(如有)配置内容。

[oracle@rac05 ~]$ cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
export ORACLE_SID=orcl2
export ORACLE_UNQNAME=orcl2
export ORACLE_BASE=/u01/app/oracle/
export ORACLE_HOME=/u01/app/oracle/11.2.0.3
export PATH=$ORACLE_HOME/bin:$PATH:$ORA_CRS_HOME/bin
export TEMP=/tmp
export TMPDIR=/tmp
export NLS_LANG=american_america.AL32UTF8
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
umask 022
修改grid用户

编辑grid用户的.bash_profile文件,修改ORACLE_SID配置内容。

[grid@rac05 ~]$ cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
export ORACLE_SID=+ASM2
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0.3
export PATH=$ORACLE_HOME/bin:$PATH:/usr/local/bin/:.
export TEMP=/tmp
export TMP=/tmp
export TMPDIR=/tmp
umask 022
[grid@rac05 ~]$ echo $ORACLE_SID
+ASM2

修改完成后Oracle数据库会自动启动,如未自动启动,则手动启动。

END

本文标题:Oracle异常关机重启后提示缺失启动参数文件initorcl1.ora解决

本文作者:宇宙最帅的男人

本文链接:https://lolicp.com/oracle/202211468.html

版权声明:转载或者引用本文内容请注明来源及原作者,本文著作权归作者 (宇宙最帅的男人) 所有。

除非另有说明,本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

最后修改:2022 年 11 月 11 日
如果觉得我的文章对你有用,请随意赞赏