简单的升级,大同小异,测试一下,如在生产环境需要做好完全的测试,和准备好回滚保障操作
(1) Oracle推荐在升级之前先做一个全库的备份;
(2) 停止所有的Oracle服务
emctl stop dbconsole
isqlplusctl stop
lsnrctl stop
shutdown immediate;
在windows服务管理器中停止类似OracleServiceSID的服务
(3) 运行补丁中的setup.exe,一路next即可
(4) 启动监听器
lsnrctl start
(5) SQL> STARTUP UPGRADE
(6) 升级数据字典
SPOOL /home/oracle/upgrade.log
SQL> @?/rdbms/admin/catupgrd.sql (前提需要配置环境变量) 或
SQL>@f:\oracle\product\10.2.0\db_1/rdbms/admin/catupgrd.sql
SPOOL off
检查升级后各组件状态
@f:\oracle\product\10.2.0\db_1/rdbms/admin/utlu102s.sql
(7) 运行脚本utlrp.sql编译所有invaild的对象
SQL>@?/rdbms/admin/utlrp.sql
执行完毕后执行查询所有重新编译错误
SQL> select * from utl_recomp_errors;
或者
select object_name from dba_objects where status='INVALID';
执行检查:
SQL> select name from v$database确认ORACLE_SID正确,为oral
SQL> show user确认当前使用者为SYS
SQL> select tablespace_name, bytes from dba_data_files对系统表空间大小进行确认。
SQL> @f:\oracle\product\10.2.0\db_1/rdbms/admin/catalog.sql
检查tempfile
select name from v$tempfile
SQL>shutdown immediate
SQL>startup
数据库启动成功
重启监听器,升级成功。
#######################
常见问题:
1. 安装补丁的时候,因为没有找对oracle的所在目录,所以补丁装不上
设置oralce_home = 您的oracle安装目录     oralce_sid = 你的oracle的sid
2. 升级后,ORA-01092:ORACLE instance terminated. Disconnection forced
出现这个ora错误,是数据库升级后需要用upgrade打开
SQL> STARTUP UPGRADESQL> SPOOL patch.logSQL> @?/rdbms/admin/catupgrd.sql
SQL> SPOOL OFF
这样升级了里面的数据字典后才算升级成功,升级后重新启动数据库,然后
编译所有无效的包
SQL> @?/rdbms/admin/utlrp.sql
This work is licensed under a CC A-S 4.0 International License.