本帖最后由 selectza0858 于 2013-04-08 09:52:58 编辑

解决方案 »

  1.   

    在命令行输入 lsnrctl service 
    把结果贴出来
      

  2.   

    这结果不是很正常……lsnrctl status再看看这个
      

  3.   

    你的数据库,现在不通过监听能连吗?C:\> sqlplus "/as sysdba"这样
      

  4.   

    这么说吧,监听起来之后一段时间后,status里面至少能看到这两条才行服务 "orcl" 包含 2 个例程。
      例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...   (unknow这个是监听程序sid_list_listener里写的)
      例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序...  (ready这个是数据库和监听器都起来后,监听自己加的)有这两个中的至少一个才能接受客户端的连接。
      

  5.   

    那是否是我listener有问题呢?或者TNS
      

  6.   

    按说,ready那条只要监听和数据库都在启动状态,就肯定会出来。 不过可能在启动后稍等一段时间。。你现在数据库起来了吗?
      

  7.   

    空闲例程说明没起来,你需要手动启动数据库。SQL> startup
      

  8.   

    我还正在启动中:set oracle_sid=orcl
     sqlplus /nolog
    conn sys /as sysdba
    satrtup)
    conn scott/tiger
      

  9.   

    监听程序也重启一下,
    lsnrctl stop
    lsnrctl start过上一两分钟后再去看
    lsnrctl status
      

  10.   


    startup写错了oracle_sid不是orcl是hycmp?
      

  11.   

    实例名是hycmp   orcl是我另一台   start被我写错了
      

  12.   

    呃……那hycmp这台也有问题吗?怎么不在有问题的那台上试
      

  13.   

    我是在有问题这台试的,只是说listener被我复制了过来
      

  14.   

    listener里的主机名、服务名都改成跟当前机器一样了吗
      

  15.   

    你这台机器主机名也叫serverdata吗, (SID_DESC =
          (GLOBAL_DBNAME = ORCL)
          (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
          (SID_NAME = ORCL)
        )这一段怎么不改成hycmp呢。
      

  16.   

    这台主机就叫‘serverdata’   我现在给改一下(SID_DESC =
          (GLOBAL_DBNAME = hycmp)
          (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
          (SID_NAME = hycmp)
        )
      

  17.   

    这不就对了吗……然后你的tnsnames.ora里再写一个hycmp的,host改为这台机器的地址,service_name改为hycmp,用它连接看看
      

  18.   

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

  19.   

    HYCMP =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = serverdata)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = HYCMP )
        )
      )加一段这个。。注意最前面不能有空格。
      

  20.   

    随便在哪儿…… 比如加最后# tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora
    # Generated by Oracle configuration tools.ORCL =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = serverdata)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
        )
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
        )
      )HYCMP =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = serverdata)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = HYCMP )
        )
      )
      

  21.   

    感觉是否还是哪没设置上呢?我登陆进去PL SQL一会就断线了要得重新startup 
      

  22.   


    不明白,既然已经起来了,你干嘛还要不停地startup??
      

  23.   

    因为隔了1分钟左右又不能用了所以我才startup
       这样的情况你有遇见过吗?
      

  24.   

    可是一会就断开,然后呢我重新conn sys /as sysdba  刷入密码   提示连接到空例程
      

  25.   

    我今天也遇到楼主的情况。
    监听文件里加了
    (SID_DESC = (GLOBAL_DBNAME = localorcl) (ORACLE_HOME = D:\oracle\product\10.2.0\db_1) (SID_NAME = localorcl) )
    localorcl是我本地的SID
    然后停止、启动监听。再shutdown和startup数据库。就没问题了。
    不知道你的情况是不是也可以。
      

  26.   

    坐等解决方案。真是欲哭无泪呀!谢谢xinpingf的帮忙,没有你我不会连接成功,再次感谢你。
    也谢谢f0restwow,给出的提议,谢谢
      

  27.   

    我还把服务器重启过了,我现在试试把listener在服务里重启下试试
      

  28.   

    ps aux | grep ora_ 
      

  29.   

    请别人看了后说是37行有问题,select object_id,object_name,object_type,owner from dba_objects where object_id=37
      

  30.   

    1:最近系统做了哪些变动
    2:用netca删除所有的监听,重新配置
      

  31.   

    Wed Apr 03 23:33:09 2013
    Thread 1 advanced to log sequence 132126
      Current log# 2 seq# 132126 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO02.LOG
    Thread 1 cannot allocate new log, sequence 132127
    Checkpoint not complete
      Current log# 2 seq# 132126 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO02.LOG
    Wed Apr 03 23:33:20 2013
    Thread 1 advanced to log sequence 132127
      Current log# 3 seq# 132127 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO03.LOG
    Wed Apr 03 23:33:47 2013
    Thread 1 cannot allocate new log, sequence 132128
    Checkpoint not complete
      Current log# 3 seq# 132127 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO03.LOG
    Thread 1 advanced to log sequence 132128
      Current log# 1 seq# 132128 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO01.LOG
    Wed Apr 03 23:42:11 2013
    Thread 1 advanced to log sequence 132129
      Current log# 2 seq# 132129 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO02.LOG
    Wed Apr 03 23:42:22 2013
    Thread 1 advanced to log sequence 132130
      Current log# 3 seq# 132130 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO03.LOG
    Wed Apr 03 23:44:23 2013
    Thread 1 advanced to log sequence 132131
      Current log# 1 seq# 132131 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO01.LOG
    Wed Apr 03 23:44:34 2013
    Thread 1 cannot allocate new log, sequence 132132
    Checkpoint not complete
      Current log# 1 seq# 132131 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO01.LOG
    Wed Apr 03 23:44:50 2013
    Thread 1 advanced to log sequence 132132
      Current log# 2 seq# 132132 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO02.LOG