从10.2.0.1升级到10.2.0.4出现问题 ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
解决方法:
(经过测试发现:做完这些步骤之后可以正常使用数据库,但是重启服务器之后再次出现ORA-12514)
开始—运行—cmd。
执行以下命令:
1 删除以前的oracle实例
c:\>oradim -delete -sid orcl(orcl是之前安装oracle数据库的SID名)
2 重建oracle实例
c:\>oradim -new -sid orcl -startmode auto -pfile G:\oracle\product\10.2.0\db_1\database\initorcl.ora
3 登陆sqlplus
c:\>sqlplus/nolog
sql>conn /as sysdba
sql>startup upgrade
sql>spool upgrade.log
sql>@G:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catupGrd.sql
这个执行时间很长
登陆sqlplus
c:\>sqlplus/nolog
sql>conn /as sysdba
sql>spool off
5 重新启动oracle
sql>shutdown immediate
sql>startup pfile= G:\oracle\product\10.2.0\db_1\database\initorcl.ora
至此数据库重新启动,请重启监听服务
6 检查是否有无效对象
sql>@G:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlrp.sql
执行完毕后
最后再查看是否还有无效对象:
sql> SELECT count(*) FROM dba_objects WHERE status='INVALID';
如果结果显示为“0”,表示升级成功。如果大于0,则重新运行catupGrd.sql脚本,直至没有无效对象。
执行检查:
sql>select name from v$database; 确认ORACLE_SID正确,为orcl
sql>select * from v$version; 检查版本
sql>show user; 确认当前使用者为SYS或SYstem
sql>select tablespace_name, bytes from dba_data_files; 对系统表空间大小进行确认。
sql>shutdown immediate
sql>startup
数据库启动成功,即可在sqlplus或者toad登录成功。
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = f:\oracle\product\10.1.0\Db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_dbnAME = orcl)
(ORACLE_HOME = f:\oracle\product\10.1.0\Db_1)
(SID_NAME = orcl)
)
)
8 重启服务器
其他事项:
1 安装Oracle时,尽量“全局数据库服务名”和“SID”完全一样(不超过8个字符),避免以后出现错误;
2 sql Plus登录用户名system,主机字符串:为本地网络服务名;
3 Windows中卸载oracle,必须手工删除Oracle遗留的各注册表和目录;
4 pl sql developer 登录窗口的 database 为 本地网络服务名;
5 测试oracle是否安装成功:
(1)使用oradb10g home中sql plus 连接数据库;
(2)使用Client中NET configuration assist配置并测试网络服务名;
(3)使用Client中Enterprise Manager Console连接数据库;
6 安装Oracle服务器版的时候可以一并创建数据库,并自动配置一个与SID同名的网络服务名;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。