当前位置导航:炫浪网>>网络学院>>编程开发>>Oracle教程

win2000不能自动启动oracle服务全攻略


  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等问题。
相关内容
赞助商链接