(2011-01-22)ORACLE_SID在Linux平台或对大小写敏感

   今天创建了一个新的oracle数据库orcl,然后用sqlplus启动数据库,但是数据库无法启动。报无法找到“ /u01/app/oracle/product/10.2.0/db_1/dbs/initoracle.ora”文件。

     我就觉得奇怪了,我明明建立的数据库实例是orcl啊,而且oracle数据库不是默认以spfile<ORACLE_SID>.ora作为启动参数文件的嘛,并且我的文件里存在有spfileorcl.ora和initorcl.ora这两个参数文件啊,怎么会去initoracle.ora这个参数文件呢?oracle这个数据库是之前建立的后来被我删掉的实例名。

    后来想想应该是环境变量ORACLE_SID的问题,因为实例启动时是根据环境变量ORACLE_SID去查找启动参数文件的,想到这我就用export oracle_sid=orcl进行环境变量的设置。满以为经过这样的设置,问题可以得到解决,谁知道启动数据库,问题依旧。我就纳闷了,这究竟是什么原因啊。我找不到解决办法了,后来到群上提出了这个问题。群里有个群友的回答是,ORACLE_SID要大写,我恍然大悟。原来如此,原来我忽略了我所使用的操作系统平台,因为我使用的操作系统是Linux。悲剧,我一直以为Linux和Windows系统一样,对于oracle_sid环境变量大小写是一样的。

  问题虽然简单解决,问题也很简单,但在没解决前,考虑不周到的缘故,想了一些时间也没想明白,思路是正确的,但还是忽略了最细微的地方。这就告诉我们,细节很重要。严谨,认真的态度必不可少。

      现在记录几个简单的知识点,以备忘:

      1、在Linux下查看 oracle sid :

     echo $ORACLE_SID

      2、在Linux下设置 oracle sid :

     export ORACLE_SID=your_current_sid

     在linux下如果只安装了一个数据库实例,那么把ORACLE_SID设置在环境变量里是比较方便的,这样不用每次启动数据库时都用export ORACLE_SID=your_current_sid进行数据库实例的设置,那么在linux下怎样配制oracle的环境变量?

     Linux下,环境变量存放在该用户的Bash_profile这个文件下。

     需要设置ORACLE_HOME和ORACLE_SID两个环境变量,再把ORACLE的bin目录添加到PATH中即可,通常缺省安装的情况下ORACLE_SID=orcl,ORACLE_HOME=/home/oracle/oracle/product/10......这样的形式,操作步骤:
1、su oracle并回车切换到oracle用户;
2、cd并回车回到oracle用户目录;
3、vi .bash_profile并回车编辑该文件,按I键进入插入状态,在最后加入以下行:
export ORACLE_SID=orcl
export ORACLE_HOME=/home/oracle/oracle/product/10....(...部分根据你的实际路径修改)
export PATH=$PATH:$ORACLE_HOME/bin
输入完毕后按ESC键退出vi编辑状态,输入:wq并回车存盘退出。
注销所有oracle用户,再使用oracle登录即可。
注意输入wq前面有个:冒号,先输入这个:就可以在编辑器最底端输入命令了。

你可能感兴趣的:(oracle,linux,数据库,windows,Path,平台)