ITPub博客

首页 > 数据库 > Oracle > oracle 通过tar包刷数据字典方式升级(10g-11g)

oracle 通过tar包刷数据字典方式升级(10g-11g)

原创 Oracle 作者:wanglinghua0907 时间:2023-12-28 13:53:14 0 删除 编辑

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


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69980685/viewspace-3001924/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle ACE、sql server、oceanbase数据库专家,拥有7年以上的大型数据库运维经验,主方向oracle,擅长故障排除、诊断,大体量(TB)迁移,异常故障修复等。拥有丰富主导大型项目经验。服务行业包括:运营商、银行、金融业、政府单位、医疗、制造业、高校等等。

注册时间:2020-07-31

  • 博文量
    116
  • 访问量
    88788