|
|
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等问题。
|
|