我的Oracle安装的是服务端,但是连到公司的服务器以后,公司的服务器可以连上,但是自己的数据库就连不上了
请问这是什么问题啊 再连到自己的Oracle的时候报错是  监听程序当前无法识别连接描述符中请求的服务

解决方案 »

  1.   

    在连接相应的数据库实例前设置一下:ORACLE_SID值。
    在windows控制台下:set ORACLE_SID=your_sid
    在linux下:export ORACLE_SID=your_sid试试!
      

  2.   

    在哪里设置啊,dos里,还是那个文件了啊
      

  3.   

    C:\Documents and Settings\duqiang>set ORACLE_SID=oamis
      

  4.   

    C:\Documents and Settings\duqiang>set ORACLE_SID=oamis2C:\Documents and Settings\duqiang>sqlplus scott/tigerSQL*Plus: Release 10.1.0.2.0 - Production on 星期三 5月 2Copyright (c) 1982, 2004, Oracle.  All rights reserved.
    连接到:
    Oracle Database 10g Enterprise Edition Release 10.1.0.2.0
    With the Partitioning, OLAP and Data Mining options/****************************************/
    |*****Welcome To The Database 110********|
    /****************************************/
    SQL> select * from tab;TNAME                          TABTYPE  CLUSTERID
    ------------------------------ ------- ----------
    DEPT                           TABLE
    EMP                            TABLE
    BONUS                          TABLE
    SALGRADE                       TABLE
    EMP2                           TABLE
    A                              TABLE
    E1                             TABLE
    EEE                            TABLE
    E3                             TABLE
    T11                            TABLE
    T1                             TABLE
    TT                             TABLE
    DROP_TEST                      TABLE
    T2                             TABLE
    VIEW_TAB                       TABLE
      

  5.   

    C:\Documents and Settings\duqiang>set ORACLE_SID=oamis2C:\Documents and Settings\duqiang>sqlplus scott/tigerSQL*Plus: Release 10.1.0.2.0 - Production on 星期三 5月 2Copyright (c) 1982, 2004, Oracle. All rights reserved.
    连接到:
    Oracle Database 10g Enterprise Edition Release 10.1.0.2.0
    With the Partitioning, OLAP and Data Mining options/****************************************/
    |*****Welcome To The Database 110********|
    /****************************************/
    SQL codeSQL> select * from tab;TNAME                          TABTYPE  CLUSTERID
    ------------------------------ ------- ----------
    DEPT                           TABLE
    EMP                            TABLE
    BONUS                          TABLE
    SALGRADE                       TABLE
    EMP2                           TABLE
    A                              TABLE
    E1                             TABLE
    EEE                            TABLE
    E3                             TABLE
    T11                            TABLE
    T1                             TABLE
    TT                             TABLE
    DROP_TEST                      TABLE
    T2                             TABLE
    VIEW_TAB                       TABLE
    还有一种方法ORACLE根目录->network->侦听文件和配置文件用记事本打开.把名改成自己想要的
      

  6.   

    如果有多个实例的话就要设置环境变量 
    在windows:set ORACLE_SID=sid_name
    在linux:export ORACLE_SID=sid_name
      

  7.   

    不行,还是连不上,C:\Documents and Settings\duqiang>set ORACLE_SID=orcl                C:\Documents and Settings\duqiang>sqlplus scott/tiger
    出现了 
    SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 5月 26 16:07:35 2010Copyright (c) 1982, 2005, Oracle.  All rights reserved.ERROR:
    ORA-12560: TNS: 协议适配器错误
      

  8.   

    你自己oracle的监听器打开了吗?
      

  9.   

    什么红叉啊,没有红叉啊,你想看那里的红叉啊 监听不就是oracleoradb10g_home1tnslistener 启动没启动吗
      

  10.   

    看下listener.ora和tnsnames.ora这两个参数文件,运行lsnrctl命令,重新配置一下监听器,如果还报错,贴出错误代码。
      

  11.   

    我的图片是这样的
    OracleOraDb10g_home1TNSListener 已启动
    OracleServiceORCL 已启动OracleOraDb10g_home1iSQL*Plus 已启动OracleJobSchedulerORCL 已启动OracleDBConsoleorcl 已禁用 
      

  12.   

    我用toad登陆用户名,密码,数据库名,都是ocrl后,就出现
    监听程序当前无法识别连接描述符中请求的服务 的错误
      

  13.   

    你toad登录中输入的不是‘数据库名称’,而应该是‘数据库网络服务名’!
    这个‘网络服务名’你需要在tnsnames.ora文件中配置。如我的tnsnames.ora文件的位置是:
    F:\oracle\product\10.1.0\db_1\NETWORK\ADMIN
    其中配置的一个网络服务名方式如:
    OAMIS2-TEST =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = duqiang11111)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = oamis2)
        )
      )
    红色的OAMIS2就是网络服务名,红色的oamis2代表数据库实例名称。
    网络服务名可以和数据库实例名不一样。比如:我可以把网络服务名OAMIS2-TEST修改成任意的标识符,如:xxx等.
    你用toad登录时,就应该输入网络服务名OAMIS2-TEST而不是oamis2。
      

  14.   

    修改一下!红色的OAMIS2-TEST就是网络服务名
      

  15.   

    很感谢你能及时给我回复
    我在tnsnames.ora中加了,可是还是不行
    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )
      

  16.   

    OracleDBConsoleorcl 这个能起来吗
      

  17.   

    OracleDBConsoleorcl  不能起来,错误信息是
    Windows 不能在 本地计算机 启动 OracleDBConsoleORCL。有关更多信息,查阅系统事件日志。如果这是非 Microsoft 服务,请与服务厂商联系,并参考特定服务错误代码 。
      

  18.   

    dos下执行emctl dbconsole start看看报什么错,再去网上找下资料一步一步照着做就好,等起来了你在连下数据库看能不能连上,当然Linux下和Windows下有点区别,但区别不大。
      

  19.   

    决绝了谢谢各位
    Oracle9i以后,后台进程PMON自动在监听器中注册在系统参数SERVICE_NAMES中定义的服务名,SERVICE_NAMES默认为DB_NAME+DOMAIN_NAME。监听配置文件listener.ora中可以不必指定监听的服务名。但是,当数据库处于关闭状态下PMON进程没有启动,也就不会自动注册监听的实例名,所以使用sqlplus sys/his@orc0 as sysdba 会出现ORA-12514错误。
    重新配一下监听就行了