ORA-01034: 、ORA-01078: 和 LRM-00109: 的解决方法

环境:Linux 5.4 Oracle 11.2.0.3

在Linux上连接Oracle时遇到报错:

SQL> show parameter sga
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0

SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0/db_1/dbs/initorcal.ora'

上面的'../initorcal.ora'报错说明当前Oracle数据库识别的数据库实例名(即SID)为:orcal;
可能是安装Oracle时的SID的设置和环境变量里设置的SID不一致造成的。

解决方法:

1.查询当前的数据实例名(SID)
[oracle@oradb ~]$ echo $ORACLE_SID
orcal

2.查看环境变量的SID配置
[oracle@oradb ~]$ 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=orcl

发现系统识别的实例名orcal和环境变量设置的为orcl不一致,这时我们需要修改实例名SID

3.修改oracle用户的ORACLE_SID环境变量,如将orcal修改为orcl
[oracle@oradb ~]$ vi /home/oracle/.bash_profile
export ORACLE_SID=orcl

4.修改/etc/oratab文件,将sid名由orcal修改为orcl
[oracle@oradb ~]$ vi /etc/oratab
orcl:/u01/app/oracle/product/11.2.0/db_1:N

5、进入到$ORACLE_HOME/dbs目录,如我的 /u01/app/oracle/product/11.2.0/db_1/dbs
将所有文件名中包含原来的sid的修改为对应的新sid的
[oracle@oradb ~]$ cd /u01/app/oracle/product/11.2.0/db_1/dbs
[oracle@oradb dbs]$ ls
hc_orcal.dat  init.ora  lkORCAL  orapworcal  spfileorcal.ora

[oracle@oradb dbs]$ mv hc_orcal.dat hc_orcl.dat
[oracle@oradb dbs]$ mv lkORCAL lkORCL
[oracle@oradb dbs]$ mv orapworcal orapworcl
[oracle@oradb dbs]$ mv spfileorcal.ora spfileorcl.ora

6.启动数据库
[oracle@oradb dbs]$ sqlplus / as sysdba

SQL> startup
ORACLE instance started.

数据库成功启动!!

【参考】 http://www.linuxidc.com/Linux/2015-02/114255.htm

上一篇:Wordpress解析系列之PHP编写hook钩子原理简单实例


下一篇:辩护技巧总结——律师在刑事辩护中应注意的几个问题 z