D:\>sqlplus oracle/oracle@localhost as sysdbaSQL*Plus: Release 10.2.0.1.0 - Production on 星期六 6月 20 17:26:08 2009Copyright (c) 1982, 2005, Oracle.  All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining optionsSQL> select * from v$pwfile_users;USERNAME                       SYSDB SYSOP
------------------------------ ----- -----
SYS                            TRUE  TRUE
TEST123                        TRUE  FALSESQL> conn test123/test123@localhost as sysdba
已连接。
SQL> select name,value,issys_modifiable from v$parameter where name='remote_logi
n_passwordfile';NAME
--------------------------------------------------------------------------------VALUE
--------------------------------------------------------------------------------ISSYS_MOD
---------
remote_login_passwordfile
SHARED
FALSE
SQL> startup force
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务报错的原因是什么呢?

解决方案 »

  1.   

    再试一次:
    shutdown immediate;
    startup;oracle有时会出现古怪的事情的。
      

  2.   


    我尝试过,并不能解决问题,D:\>net stop OracleServiceBZCNC
    OracleServiceBZCNC 服务正在停止...
    OracleServiceBZCNC 服务已成功停止。
    D:\>net start OracleServiceBZCNC
    OracleServiceBZCNC 服务正在启动 ....................
    OracleServiceBZCNC 服务已经启动成功。
    D:\>sqlplus /nologSQL*Plus: Release 10.2.0.1.0 - Production on 星期六 6月 20 18:00:57 2009Copyright (c) 1982, 2005, Oracle.  All rights reserved.SQL> conn oracle/oracle@localhost as sysdba
    已连接。
    SQL>这样就解决问题了,只是我不知道为什么?
      

  3.   

    可能是你的机器上建立多个实例原因。
    先cmd下,输入命令:set ORACLE_SID=localhost ,然后再登录sqlplus,再startup force即可。
      

  4.   


    你这个确实很怪异按照你remote_login_passwordfile的设置为shared来看,应该是只有sys是可以通过remote的方式以as sysdba的方式登录的。不过你这里conn oracle/oracle@localhost as sysdba 可以成功却相当的怪异。看看你的sqlnet.ora的配置,先启动nts然后在服务器上以sqlplus "/ as sysdba" 连接后alter system set remote_login_passwordfile=exclusive scope=spfile;然后shutdown immedaite;
    在startup然后在sqlplus里用test123这个用户登录试试。
      

  5.   


    按照你说的,我又进行了处理:D:\>SET ORACLE_SID=localhostD:\>sqlplus oracle/oracle@localhost as sysdbaSQL*Plus: Release 10.2.0.1.0 - Production on 星期六 6月 20 20:19:17 2009Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    连接到:
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining optionsSQL> select count(*) from dba_tables;  COUNT(*)
    ----------
          1526SQL> startup force
    ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
    SQL>仍然是报错,错误跟以前是一样的,应该不是这个原因吧
      

  6.   

    lsnrctl status 
    结果是啥 
      

  7.   

    你这个确实很怪异 按照你remote_login_passwordfile的设置为shared来看,应该是只有sys是可以通过remote的方式以as sysdba的方式登录的。 不过你这里conn oracle/oracle@localhost as sysdba 可以成功却相当的怪异。 看看你的sqlnet.ora的配置,先启动nts 然后在服务器上以sqlplus "/ as sysdba" 连接后 alter system set remote_login_passwordfile=exclusive scope=spfile; 然后shutdown immedaite; 
    在startup 然后在sqlplus里用test123这个用户登录试试。