环境:win7  32位   oracle 10g
数据库安装在本机。数据库服务名:orcl用
打开,已经创建了一个服务名:orcl,但是点击测试时,一直都是连接不成功的。在网上查找解决方案,很多人都说是修改listener.ora里面的内容。我把我的listener.ora文件也贴出来。# listener.ora Network Configuration File: D:\Tools--Instal\ORACLE\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\Tools--Instal\ORACLE)
      (PROGRAM = extproc)
    )
  )LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
  )我照着别人的方法修改了很多遍,但是,还是会报一样的错误。
有没有高人知道怎么解决这个问题啊???

解决方案 »

  1.   

    我用sql plus操作时,会有这样的提示
      

  2.   

    这里面有:http://bbs.csdn.net/topics/390312212
      

  3.   


    我也修改了这个文件的:
    # listener.ora Network Configuration File: D:\Tools--Instal\ORACLE\NETWORK\ADMIN\listener.ora
    # Generated by Oracle configuration tools.SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = D:\Tools--Instal\ORACLE)
          (PROGRAM = extproc)
        )
       (SID_DESC =
        (GLOBAL_DBNAME = orcl)
        (ORACLE_HOME = D:\Tools--Instal\ORACLE)
        (SID_NAME = orcl)
        )
      )LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
        )
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
        )
      )可是,现在,测试NET MANAGER,
    报错:
      

  4.   


    实例没有启动,直接startup启动实例打开数据库就可以连接了。开始--CMD--sqlplus / as sysdba--startup--select status from v$instance;status为OPEN就表示数据库已打开,可以连接数据库并进行相关操作了。
      

  5.   


    实例没有启动,直接startup启动实例打开数据库就可以连接了。开始--CMD--sqlplus / as sysdba--startup--select status from v$instance;status为OPEN就表示数据库已打开,可以连接数据库并进行相关操作了。好像一直startup时,会报这样的错误:
      

  6.   

    刚刚查找了上面报的ora-01261的错误的解决方法,原来是找不到指定的目录。
    添加了指定的文件夹目录后,就可以了。可以参考这篇文章:
    http://blog.csdn.net/scogeek/article/details/8522083
    可以连接成功了。。
      

  7.   

    总结下吧:
    我觉得我这次的主要问题,还是安装oracle时,修改了安装路径,然后生成的文件或文件夹有误造成的。
    本人的oracle的exe文件存放的路径是:D:\Tools--EXE\Oracle\ORACLE10g
    oracle的安装路径是:D:\Tools--Instal\ODAC
    而在安装时,在D:\Tools--Instal下一共生成了这些关于oracle的文件夹:admin、ORACLE、oradata这三个文件夹。遇到   ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务   的错误。首先可以像网上说的,先修改linstener.ora文件:
    # listener.ora Network Configuration File: D:\Tools--Instal\ORACLE\NETWORK\ADMIN\listener.ora
    # Generated by Oracle configuration tools.SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = D:\Tools--Instal\ORACLE)
          (PROGRAM = extproc)
        )
       (SID_DESC =
          (GLOBAL_DBNAME = ORCL)
          (ORACLE_HOME = D:\Tools--Instal\ORACLE)
          (SID_NAME = ORCL)
        )

      )LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
        )
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
        )
      )注意:里面的空格什么的也尽量都一样,我曾经把添加的那行的前面的空格去掉了,oracle的监听的服务就启动不了。然后,再用cmd----sqlplus---sys as sysdba---pwd登录后,会提示:已连接到空闲例程。
    现在的原因,就是5楼说的,数据库没有启动。
    而,我用startup启动数据库时,会报错6楼的错误。
    此时,依照上面的文章说的解决方法,在D:\Tools--Instal文件夹中添加了flash_recovery_area文件夹。然后再启动数据库就可以了
    总结:
    1.修改linstener.ora文件。
    2.启动oracle的相关服务。
    3.startup数据库,如果再报错,可以查找安装文件夹下面是否还有flash_recovery_area文件夹。