最近我在linux上装了oracle11g,发行的第2版。现在登录数据库的时候,我用:
sqlplus system/oracle@orcl  命令行 不能登录数据库,但提示我输入用户名和密码,我输入的用户名是system,密码是oracle,这样的话我就成功登录。
我在windows上的客户端登录数据库报ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务
请问大师们,这个到底是怎么回事,怎样解决这样的问题。本人是个刚接触数据库的菜鸟。linux下的 listener.ora的文件内容:
# listener.ora Network Configuration File: /opt/oracle/product/11gR1/db/network/admin/listener.ora
# Generated by Oracle configuration tools.LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.101)(PORT = 1521))
    )
  )ADR_BASE_LISTENER = /opt/oraclelinux下的tnsnames.ora文件内容:
# tnsnames.ora Network Configuration File: /opt/oracle/product/11gR1/db/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl.250.64.25)
    )
  )windows客户端的tnsnames.ora内容:
# tnsnames.ora Network Configuration File: G:\oracle\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.ORACLE =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.101)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl.250.64.25)
    )
  )

解决方案 »

  1.   

    在服务器上输入lsnrctl status
      

  2.   

    windows客户端的tnsnames.ora内容:
    # tnsnames.ora Network Configuration File: G:\oracle\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
    # Generated by Oracle configuration tools.ORACLE =改成orcl
      (DESCRIPTION =
      (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.101)(PORT = 1521))
      )
      (CONNECT_DATA =
      (SERVICE_NAME = orcl.250.64.25)
      )
      )使用的是客户端的TNS