本文记录:Linux平台安装oracle11g数据库名和实例名不是默认的orcl时,遇到的几个错误现象,以备忘之。
1.环境说明:今天在SUSE 11.1 上安装oracle 11.2.0.3 ,安装时全局数据库名称为:sltestdb 实例名为:sltestorcl
2.故障现象:
使用startup启动报错,如下示:
SQL> startup ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file '/opt/oracle/product/11gR1/db/dbs/initorcl.ora' SQL>
3.故障原因:
根据LRM-00109错误提示是因为
/opt/oracle/product/11gR1/db/dbs/目录,没有pfile文件 即initorcl.ora。
4.解决办法:
(1)oracle11G 在 $ORACLE_BASE/admin/全局数据库名称/pfile 目录下会有一个类似init.ora.5282013145854的文件;
(2)切换到oracle用户将该文件复制到$ORACLE_BASE/product/11gR1/db/dbs/目录下,并且重命名为:init实例名.ora。
(比如我的实例名是sltestorcl 那么将init.ora.5282013145854 重命名为initsltestorcl.ora 就可以启动数据库实例了)
(3)如果上述操作后还是报错,可以试下带pfile参数启动
SQL> startup pfile = '/opt/oracle/product/11gR1/db/dbs/initsltestorcl.ora'
############################################################################
5.新问题:
(1)经过上述设置数据库是可以启动了,但是启动后使用PLSQL Developer连接数据库会报错如下:
(2)使用 echo $ORACLE_SID 查看启动的sid 不是安装时设置的实例名,而是默认的orcl;
新问题解决方法:
(1)关闭数据库和监听程序,修改oracle用户环境变量: $ORACLE_BASE 目录下 .bash_profile 添加如下内容
export ORACLE_BASE=/opt/oracle/ #设置oracle启动实例名 export ORACLE_SID=sltestorcl export ORACLE_HOME=$ORACLE_BASE/product/11gR1/db/ export PATH=$PATH:$ORACLE_HOME/bin #设置语言环境 export NLS_LANG=AMERICAN_AMERICA.UTF8 export LANG=en_US.UTF-8
(2)使环境变量生效:source .bash_profile,也可以退出后重新登陆
(3)重启数据库实例和监听程序
======================2014-5-23=======================================
今天又遇到:安装数据库时设置数据全局名字和实例名字非orcl时,报错
SQL> startup ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file '/opt/oracle/product/11gR1/db/dbs/initorcl.ora' SQL>
经过实验,只需修改oracle用户环境变量: $ORACLE_BASE 目录下 .bash_profile 即可
修改或添加.bash_profile文件内容如下:
export ORACLE_BASE=/opt/oracle/ #设置oracle启动实例名 export ORACLE_SID=sidname export ORACLE_HOME=$ORACLE_BASE/product/11gR1/db/ export PATH=$PATH:$ORACLE_HOME/bin #设置语言环境 export NLS_LANG=AMERICAN_AMERICA.UTF8 export LANG=en_US.UTF-8