ORA-012560:TNS:协议适配器错误

ORA-012560:TNS:协议适配器错误
   我的windows中装了4个数据库.今天又新装了一个JFORVM数据库,在regedit中设置了oracle_sid=JFORVM.在windows 控制面板->server启动了OracleServiceJFORVM.然后在cmd中输入 sqlplus / as sysdba ,则报ORA-012560:TNS:协议适配器错误,sqlplus /@jforvm as sysdba则可以login.检查环境变量发现一个oracle_sid的变量,值为以前的数据库,然后把环境变量中的oracle_sid删除,再sqlplus / as sysdba就不会报ora-12560错误了.这说明有几个地方可以设置当前sqlplus中login的数据库id.
    1)regedit中的oracle_sid
    2)环境变量中的系统变量和用户变量
    3)cmd中直接写set oracle_id =XXX
    生效顺序分别是 3>2>1即regeidt中设置的oracle_sid级别最低

    另补冲一点,如果是在window系统,如果控制面板->Service中对应的OracleServiceXXX(特指window中对应的oracle服务)没启动也会报这个错误.在window service中的,如果启动了OracleServiceXXX,一般情况下会启动,window服务,oracle实例,oracle数据库,如果不希望实例和数据库随window一起启动,在regedit 的oracle目录中设置参数ORA_XXXSID_AUTOSTART为false即可.

你可能感兴趣的:(oracle,windows)