一、SQL> @?/rdbms/admin/catupgrd.sql
说明:? 代表 ORACLE_HOME,在Linux中可能以 $ORACLE_HOME表示。
@ 表示执行脚本
参考: http://candon123.blog.51cto.com/704299/381841
二、从10.2.0.1升级到10.2.0.4:参考:http://axu20.blog.163.com/blog/static/41206263201052524659980/
1、先看oracle的监听和oracle的服务是否都启动了。启动oracle监听:
cmd的命令行窗口下,输入lsnrctl start,回车即启动监听。
2、查看oracle的sid叫什么,比如创建数据库的时候,实例名叫"abc",那么先手工设置一下oralce的sid,cmd命令窗口中,set ORACLE_SID=abc
3、再输入sqlplus /nolog,回车
再输入 conn / as sysdba;回车
4、再输入startup,回车。这步是启动oracle服务。如果startup启动被告知已经启动了,可以先输入shutdown immediate;等shutdown结束之后,再输入startup.
5、过几秒钟等命令运行完成,就能连接了。这个时候,可以输入"select * from user_tables;"测试一下,看是否有查询结果。
6、出现ORA-01034和ORA-27101的原因是多方面的:主要是oracle当前的服务不可用,shared memory realm does not exist,是因为oracle没有启动或没有正常启动,共享内存并没有分配给当前实例。所以,通过设置实例名,再用操作系统身份验证的方式,启动数据库。这样数据库就正常启动了,就不会报ORA-01034和ORA-27101两个启动异常了。
三、windows下oracle数据库升级需运行的脚本
SQL>startup upgrade
SQL>@?/rdbms/admin/catupgrd.sql
SQL>@?/rdbms/admin/catalog.sql
SQL>@?/rdbms/admin/catproc.sql
SQL>@?/rdbms/admin/utlrp.sql
SQL>shutdown immediate
SQL>startup