一旦shutdown数据库后就无法start,会显示ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务。我按照网上说的修改了listener.ora和tnsnames.ora,在系统里添加了变量oracle_sid:XXX,然后用命令lsnrctl stop去重起监听服务,结果报错:
TNS-12560: TNS: 协议适配器错误
一共三个错,另外2个我记不清了。我又去到 服务 里面想重启oracle 的监听服务,结果系统报错:TNSLSNR.EXE应用程序错误:Ox608ed3c2
用ORACLE创建监听端口时,总是说1521端口信息被用,我只好去用1522/33之类的。
IP地址是变过一次,不过之后我重装了实例。额。大致情况就是这样的~~
我是新手啊,真是不知道该怎么办了,请高手指点!!!!!!!!!

解决方案 »

  1.   

    listener.ora# listener.ora Network Configuration File: E:\oracle\product\10.2.0\db_1\network\admin\listener.ora
    # Generated by Oracle configuration tools.SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = E:\oracle\product\10.2.0\db_1) 
          (PROGRAM = extproc)
        )
         (SID_DESC =     (GLOBAL_DBNAME = orcl)     (ORACLE_HOME = E:\oracle\product\10.2.0\db_1)     (SID_NAME = ORCL)
    )
    )LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS_list=
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
        (ADDRESS_list=
          (ADDRESS = (PROTOCOL = TCP)(HOST = LENOVO-F715023B)(PORT = 1521))
        )
      )
    )
      

  2.   

    tnsnames.ora# tnsnames.ora Network Configuration File: E:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora
    # Generated by Oracle configuration tools.ORCL =
      (DESCRIPTION =      (ADDRESS = (PROTOCOL = TCP)(HOST = LENOVO-F715023B)(PORT = 1521))
        
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
    (UR=A) #
        )
      )EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
        )
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
        )
      )
      

  3.   

    没看到你停止过监听程序,在重启前你先要停止,如:
    c:>lsnrctl stop
    另外,下面这行是多余的吧
    (UR=A) #
    另外,把你的listener.ora和tnsnames.ora中的机器名
    LENOVO-F715023B改成IP试试
      

  4.   

    我又去到 服务 里面想重启oracle 的监听服务,结果系统报错:TNSLSNR.EXE应用程序错误:Ox608ed3c2这个就不是TNS配错的问题了,估计是你的监听程序本身出了问题,不行就重装吧,估计没几个人懂这东西。
      

  5.   

      你把  listener.ora 改成这样  SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = orcl)
          (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
          (SID_NAME = orcl)
        ) 
      )
      
      LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = LENOVO-F715023B)(PORT = 1521))
        )
     
      )
     把 tnsnames.ora    orcl=
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST =LENOVO-F715023B)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = orcl)
        )
      )
    ===================================
    然后重启监听。。
      
      
     
      

  6.   

      哦。。
    刚刚那个listener.ora 错了一个地方。。 这样
     (ORACLE_HOME = e:\oracle\product\10.2.0\db_1) 
     把这个改成这样  d盘的改成E盘
      

  7.   

    OK~~问题解决~我把listener.ora和tnsnames.ora改成  582445672 说的那种,然后lsnrctl stop/Start,监听程序就OK了,其他的也正常了~~谢谢582445672 哈哈~也谢谢大家帮我分析问题~~~新手上路,以后大家多多照顾哈~~