Oracle 10g 一些事项

从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

4 运行catupgrd.sql

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登录成功。

7 重写listener.ora文件(蓝色为增加部分)

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连接数据库;

(4)使用PL/SQL developer连接数据库;

6 安装Oracle服务器版的时候可以一并创建数据库,并自动配置一个与SID同名的网络服务名;

posted @ 2012-12-30 21:56  emanlee  阅读(1083)  评论(0编辑  收藏  举报