1 解决办法 
  1.1 ORADIM方法 
  1. 确认控制面板的服务OracleStart<sid>已经启动。确认服务的login tab中的登陆用户名和密码正确。 
  2. 检查数据库启动选项,在DOS下执行: 
  ORADIM -H 
  3. 如果数据库启动选项选项不正确,修改相关参数,执行: 
  ORADIM -EDIT -SID <SID> -INTPWD <PASSWORD> -STARTMODE AUTO -PFILE <path\initSID.ora> 
  4. 正常关闭数据库: 
  set oracle_sid=SID 
  svrmgrxx 
  connect internal/<password> 
  shutdown immediate 
  5. 执行以下命令文件: 
  oracle_home\database\strt<sid>.cmd 
  6. 执行完毕后,检查 $ORACLE_HOME\database下的oradim.log 
  日志文件显示数据库正常启动,使用sqlplus等测试连接访问,如果访问成功说明问题已经解决。 
  7. 如果没有成功请重建strt<sid>.cmd,方法如下。 
  oradim80 -delete -sid SID 
  oradim80 -new -sid SID -intpwd <password> -startmode auto -pfile <path\initSID.ora>   
  1.2 注册表参数修改方法   
  在注册表hkey_local_machine/software/oracle/homexx (xx=home number) 下设置: 
  ORA_SID_AUTOSTART为true 
  ORA_SID_PFILE为pfile的全路径; 
  注意:以上参数中的SID要替换成实际使用数据库的SID,例如:数据库的SID为ORCL, 参数为ORA_ORCL_AUTOSTART   
  1.3 修改SQLNET.AUTHENTICATION_SERVICES 
  修改$ORACLE_HOME/network/admin/sqlnet.ora文件 
  将原有的:SQLNET.AUTHENTICATION_SERVICES= (NTS) 
  改为:SQLNET.AUTHENTICATION_SERVICES= (NONE) 
  或者直接注释:#SQLNET.AUTHENTICATION_SERVICES= (NTS) 
  这是一个解决办法,但也存在一些问题。 
  SQLNET.AUTHENTICATION_SERVICES设为NONE或者注释后,ORACLE不再使用操作系统认证,不再向域管理器确认登陆者的身份。当使用connect internal or connect / as sysdba登录时,可能会出现例如ORA-3113等问题。 
查看本文来源