检查网络服务名(net service name(数据库别名),服务名(service name)是不是都正确

解决方案 »

  1.   

    Common ora-12560 Troubleshooting Steps:1.监听服务没有起起来,启动oraclehome92TNSlistener服务
    2.database instance没有起起来,启动oracleserviceXXXX,XXXX就是你的database SID.
    3.注册表问题,进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0将该环境变量ORACLE_SID设置为XXXX,XXXX就是你的database SID.或者我的电脑--属性--高级--环境变量---系统变量--新建
    ,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus前,在command line下输set oracle_sid=XXXX,XXXX就是你的database SID.
      

  2.   

    谢谢楼上两位回复……然则难到真是我描述的不清楚?我再重新描述一遍,期待高手高手高高手指点迷津首先是我在我的linx机和windows机都装了oracle 10gwindows的机器上的oracle工作正常,问题出在linux上的那个oracle上先说一下各种配置:
    linux机的IP地址:192.168.4.111
    win  机的IP地址:192.168.4.119
    它们互相可以ping通linux机上的系统是 红帽 shell是 bash----------环境变量的设置------------
    ORACLE_BASE=/home/oracle
    ORACLE_HOME=/home/oracle (我的Oracle就是装在这个位置-_-)
    ORACLE_SID=orcl
    LD_LIBRARY_PATH=/home/oracle/lib------------linux机器上的listener.ora文件-------------
    LISTENER =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.111)(PORT = 1521))
      )SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = orcl)
          (ORACLE_HOME = /home/oracle)
          (SID_NAME = ORCL)
        )
      )
    ----------linux机器上的tnsnames.ora文件(win下的和这个也一样)--------
    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.111)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )ydyxdata =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.204)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = ydyxdata)
        )
      )-----------linux sqlnet.ora文件-----------------
    NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)#后面两句是新加上去的
    SQLNET.SUTHENTICATION_SERVICES=(BEQ,NONE)
    AUTOMATIC_IPC=OFF
    ----------------------------------
    安装过程是成功的,安装结束后,我在linux机器上连接远程oracle(win)数据库都成功了
    tnsping orcl (本机)
    tnsping ydyxdata(远程oracle8i数据库)
    都成功通过我使用 'sqlplus / as sysdba'登录,新建了dba用户'zzz'
    然后使用 'sqlplus zzz/zzz' 登录,可以成功登录,并且查看系统视图
    select value from v$parameter t where t.name like '%name'
    结果为:
    VALUE
    ----------------------------
    orcl
    orcl
    orcl---------这说明我登录的这个数据库的实例确实是 orcl但是当我又使用'sqlplus zzz/zzz@ORCL' 的方法登录的时候就出错,报错内容是:
    --------------------------
    $ sqlplus zzz/zzz@orclSQL*Plus: Release 10.2.0.1.0 - Production on Thu Feb 16 11:39:44 2006Copyright (c) 1982, 2005, Oracle.  All rights reserved.ERROR:
    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    Linux Error: 2: No such file or directory
    ---------------------------
    $#$#@%@^!#$!^#$然后在win下连这个linux下的数据库的时候,
    tnsping orcl 无法ping 通
    然后用连接向导在测试的时候会报错说:
    ora-12560:tns 协议适配器错误
    ------------------------------------
    好了,问题描述到这里了.
    昨天我把这个文体发上来,看来是我说的不够清楚,现在我把能想到的都说了,请高手一定要帮忙啊,不然那个linux下的oracle就白装了,很多测试都没法进行另外,拜托各位大侠在回答问题的时候不要靠猜的好么? 
    我把相关的文件都列在上面了,就麻烦大家告诉我哪里设置的不对,或者还应该怎么做,好么?如果还需要什么数据,我会立刻补充上来。也可以加我qq指教:1042284
     
    再次谢谢你了
      

  3.   

    顶一下郁闷,从2002年入csdn开始,提出的问题居然没有一个能在这里得到完美解决的…… -_-'
      

  4.   

    推测:
    远程连接不上,很可能是linux防火墙打开了的原因
    关掉试试不加服务名能连加了就不能连
    这个貌似是你装了多次oracle ,这次安装之前没有彻底清理以前的安装,
    并且你两次安装使用的sid一样。
    建议彻底清除之后重装,或者删除这个实例重新建一个新实例