emctl start console已经可以启动
dbstart也没有问题lsnrctl start 会出现一下结果LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 06-JUL-2007 15:37:43Copyright (c) 1991, 2005, Oracle.  All rights reserved.Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=db.localdomain)(PORT=1521)))Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
TNS-12547: TNS:lost contact
 TNS-12560: TNS:protocol adapter error
  TNS-00517: Lost contact
   Linux Error: 104: Connection reset by peer我已经尝试过的方法:
修改listener.ora和tnsnames.ora里面的很多参数也不行里的host主机名改为ip。其余的症状:
1。运行netca时候用界面配置的时候会显示
Listener Control complete.
Listener start failed. Listener may already be running.2。我把监听器删了,然后全部重新设置,包括端口都改为 1531了。
但是运行时,仍然显示:
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=db.localdomain)(PORT=1521)))Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
我发现这个port仍然是1521。不知道具体是什么原因。。
现想请教大家有什么办法呢?谢谢各位了

解决方案 »

  1.   

    把监听端口改为1531后,/u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora文件的内容是什么?
      

  2.   

    还有就是连接到数据库,show parameter local_listener
      

  3.   

    我刚刚又把admin下面的listener.ora和tnsnames.ora都删了。。
    重新配置了一个1521默认的,在用netca配置的时候依然弹 出
    Listener Control complete.
    Listener start failed. Listener may already be running.现在listener.ora的内容是 :
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
          (PROGRAM = extproc)
        )
      )LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = db.localdomain)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
        )
      )tnsnames.ora的内容是:
    ORACLEDB =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = db.localdomain)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = oracledb)
        )
      )EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
        )
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
        )其中 listener是我的监听器名字,dblocaldomain是我的机器名 ,数据库sid是oracledb
      

  4.   

    hosts文件内容:# Do not remove the following line, or various programs
    # that require network functionality will  fail.
    192.168.0.100   db.localdomain  oracle 
    127.0.0.1       db.localdomain  oracle            
      

  5.   

    show parameter listener 如下显示:SQL> show parameter listenerNAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    local_listener                       string
    remote_listener                      string
    SQL> show parameter local_listenerNAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    local_listener                       string
      

  6.   

    我怀疑是hosts文件的内容导致我的listener 不可用原来的hosts文件内容:# Do not remove the following line, or various programs
    # that require network functionality will  fail.
    192.168.0.100   db.localdomain  oracle 
    127.0.0.1       db.localdomain  oracle     经历了重装系统和重装oracle后,现在终于可以正常使用了。
    现在的hosts文件内容是:
    # Do not remove the following line, or various programs
    # that require network functionality will  fail.
    127.0.0.1       localhost.localdomain  localhost  
    192.168.0.100   db.localdomain  db
    这里面的hosts文件内容是否有关系呢?
    不知道有没有人可以指教一下呢,谢谢
      

  7.   

    通常都用ip地址,机器名如果改机器名的话就不行了,而且改机器名的话hosts文件也要改,麻烦!