1.tar整个10g的整个/oracle
2.在11g服务器用绝对路径打开10g库
3.升级预检测
将10g的pfile搞一个到11g dbs下
拷贝11g环境中
$ORACLE_HOME/rdbms/admin/utlu112i.sql
到10g的地方,用10g库执行预检测
@?/rdbms/admin/utlu112i.sql
@?代表oracle_home
直接在11g中跑会报下面的错误
ORA-04023: Object SYS.STANDARD could not be validated or authorized
正常的结果:
整改一下,有2个参数不用了
注意下sga和pga的设定是否符合目的机器的配置
*.sga_target=629145600
*.pga_aggregate_target=25165824
将*.background_dump_dest和*.user_dump_dest删除
加上 *.diagnostic_dest='$ORACLE_BASE'
注:参数文件的修改不用多说,但需要注意其他各参数的值是否符合需求。
回收站清空
PURGE DBA_RECYCLEBIN;
无效对象编译
@?/rdbms/admin/utlrp.sql;
再次跑一下预检查
@?/rdbms/admin/utlu112i.sql
4.正式升级
关闭10g实例,切换环境变量,起upgrade startup upgrade; 刷数据字典 SQL> spool aaa.log SQL> @?/rdbms/admin/catupgrd.sql --会执行大约30分钟 SQL> spool off (可能会直接退出sqlplus,合理的) 现库dba_objects有效、无效对象个数 select status,count(*) from dba_objects group by status; 编译无效对象(靠后) SQL>shutdown immediate SQL>startup SQL>@?/rdbms/admin/utlrp.sql 升级检查 SQL>select comp_name,version,status from sys.dba_registry; SQL>select * from utl_recomp_errors; 升级完毕后发现OWB组件还是11201,这个问题不大,若想将OWB组建也升级到11204,执行一下步骤即可 OWB 11.2.0.1.0 VALID @?/owb/UnifiedRepos/clean_owbsys.sql @?/owb/UnifiedRepos/cat_owb.sql @?/owb/UnifiedRepos/reset_owbcc_home.sql
