大连_王刚的DBA笔记

管理学的核心是调动积极性!理想发展曲线:技术―技术管理―运营管理―企业战略

  • 博客访问: 9782
  • 博文数量: 121
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-31 15:11
个人简介

2010年计算机专业本科毕业,历经从实施工程师到数据库运维工程师,再到DBA的职场进阶之路。涉及行业包括电力、交通、医疗。 励志从做技术提升为技术管理人才。 希望和广大的数据库同仁交流切磋。

ITPUB论坛APP

ITPUB论坛APP



APP发帖 享双倍积分

文章分类

全部博文(121)

文章存档

2017年(120)

2014年(1)

我的朋友
微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

订阅
热词专题
oracle11g 32bit 升级至64bit 2017-04-14 09:29:01

分类: Oracle

因为32bit数据库内存的限制,导致其很难突破4G内存,迫使需要对数据库进行升级到64bit。


升级步骤:

    1、关闭数据库,并对数据库进行冷备(copy数据文件、控制文件、spfile等)、可直接备份ORACLE_BASE目录。

    2、卸载原有32bit数据库软件(删除/etc/oraInst.loc、/etc/oratab即可)。

    3、安装64bit同版本数据库,并建库,关闭数据库。

    4、将32bit版本的数据文件、控制文件、spfile、、listener.ora、tnsnames.ora考备到64bit下对应的目录。

    5、启动数据库(startup upgrade)。

    6、重新编译64位的PL/SQL模块。


@$ORACLE_HOME/rdbms/admin/utlirp.sql

    这里执行完以后,会多出很多无效的对象,需要重新编译,同时如果安装了OLAP组件的话,需要重新安装OLAP组件,否者跳过下面这一步。

    7、重新安装OLAP组件

    7.1、删除OLAP组件


cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk olap_off
make -f ins_rdbms.mk ioracle

    7.2、安装OLAP


sqlplus /as sysdba
SQL> spool add_olap.log
SQL> @?/olap/admin/olap.sql SYSAUX TEMP;
SQL> spool off

    8、编译无效对象


sqlplus /as sysdba
SQL> spool utlrp.log
SQL> @?/rdbms/admin/utlrp.sql
SQL> spool off

    9、重建 javashared data objects (SRO)

    10、重复第8步,编译无效对象

    11、验证是否存在无效的对象和组件。


SQL> select OWNER,OBJECT_NAME,OBJECT_TYPE from all_objects where status='INVALID';
SQL> select comp_id,comp_name,version,status from dba_registry;



附:重建 javashared data objects  sql语句

begin

  update obj$ set status=5 where obj#=(select obj# from obj$,javasnm$ 

    where owner#=0 and type#=29 and short(+)=name and 

   nvl(longdbcs,name)='oracle/aurora/rdbms/Compiler');

  commit;

  declare

    cursor C1 is select

       'DROP JAVA DATA "' || u.name||'"."'|| o.name || '"'

       from obj$ o,user$ u where o.type#=56 and u.user#=o.owner#;

      ddl_statement varchar2(200);

    iterations number;

    previous_iterations number;

    loop_count number;

    my_err     number;

  begin

    previous_iterations := 10000000;

    loop

      -- To make sure we eventually stop,pick amaxnumber of iterations

      select count(*) into iterations from obj$ where type#=56;

      exit when iterations=0 or iterations>=previous_iterations;

      previous_iterations := iterations;

      loop_count := 0;

      open C1;

      loop

        begin

          fetch C1 into ddl_statement;

          exit when C1%NOTFOUND or loop_count > iterations;

        exception when others then

           my_err := sqlcode;

           if my_err =-1555 then --snapshot too old, re-execute fetch query

             exit;

           else

             raise;

           end if;

        end;

        initjvmaux.exec(ddl_statement);

        loop_count := loop_count + 1;

      end loop;

      close C1;

    end loop;

  end;

  commit;

  initjvmaux.drp('delete from java$policy$shared$table');

  update obj$ set status=1 where obj#=(select obj# from obj$,javasnm$ 

    where owner#=0 and type#=29 and short(+)=name and 

   nvl(longdbcs,name)='oracle/aurora/rdbms/Compiler');

  commit;

end;

/


create or replace java system

/

阅读(383) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册