我对Linux下使用Oracle不太懂,我的Oracle是装在oracle/oracle账户下的。实例和监听都是在这个账户下面启动的。
但是我平时则用user1/user1账户。但是在这个用户下面我却无法用sqlplus对oracle/oracle进行操作。登录时报错:
ERROR:
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请问我要如何配置可以在user1/user1下也可以像在oracle/oracle使用下sqlplus。谢谢

解决方案 »

  1.   

    我今天好像也有报这个错误!你的oracle有问题!呵呵!
      

  2.   

    我的Oracle没有什么问题哦。可以正确提供服务。只是在user1/user1上不能通sqlplus控制oracle/oracle用户上的实例而已。
      

  3.   


    这是由于你的系统权限问题,因为你的oracle是有linux的oracle用户安装上去的,因此当你启动数据库的时候,系统会为oracle用户建一个私有的oracle进程,但是和不幸,普通用户访问oracle数据库也是需要这个进程的,因此你需要将此进程共享。共享方法:
    1、以oracle用户登录到linux上
    2、cd $ORACLE_HOME/bin
    3、给一个名为oracle的文件加上共享权限
       chmod +s oracle
    4、重启数据库
      

  4.   

    UP楼上的,你没有启动SQLPLUS的环境,
    1:升级到ORACLE安装用户组
    2:在你当前用户的.BASH里添加环境变量,同时添加执行SQLPLUS的权限
      

  5.   

    在用户帐户的 .bashrc 中添加环境变量
    export ORACLE_BASE= ...
    export ORACLE_HOME= ...
    export LD_LIBRARY_PATH= ...
    export ORACLE_SID= ...usermod -a -G dba username 将用户帐户加入 dba 组。这样通过侦听器,使用 tcp 协议连接到 oracle 数据库,如 sqlplus scott/[email protected]:1521/service_name。在 oracle 10g 中,非 oracle 安装用户似乎没有办法直接使用 beq 协议(sqlplus scott/tiger)连接到 oracle 数据库,会报 tns: permission denied 错误。以前可以通过修改 $ORACLE_HOME/bin/oracle 文件权限修正,但是在 oracle 10g 上测试似乎没有用。