设为首页 收藏本站
查看: 2002|回复: 0

[经验分享] 图形化升级单机oracle 11.2.0.4 到 12.2.0.1

[复制链接]

尚未签到

发表于 2017-12-10 22:33:51 | 显示全部楼层 |阅读模式
  1. 讲补丁包上传到 Oracle server ,解压、安装
[oracle@11g tmp]$ unzip linuxx64_12201_database.zip

  2. 检查当前版本
  SQL> select * from v$version;
  BANNER
  --------------------------------------------------------------------------------

  Oracle Database 11g Enterprise Edition>
  PL/SQL>  CORE 11.2.0.4.0 Production
  TNS for Linux: Version 11.2.0.4.0 - Production
  NLSRTL Version 11.2.0.4.0 - Production
  SQL> set linesize 150;
  set pagesize 9999;
  col comp_name format a40;
  SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;SQL> SQL> SQL>
  COMP_NAME VERSION STATUS
  ---------------------------------------- ------------------------------ ----------------------
  OWB 11.2.0.1.0 VALID
  Oracle Application Express 3.2.1.00.10 VALID
  Oracle Enterprise Manager 11.2.0.4.0 VALID
  OLAP Catalog 11.2.0.4.0 VALID
  Spatial 11.2.0.4.0 VALID
  Oracle Multimedia 11.2.0.4.0 VALID
  Oracle XML Database 11.2.0.4.0 VALID
  Oracle Text 11.2.0.4.0 VALID
  Oracle Expression Filter 11.2.0.4.0 VALID
  Oracle Rules Manager 11.2.0.4.0 VALID
  Oracle Workspace Manager 11.2.0.4.0 VALID
  Oracle Database Catalog Views 11.2.0.4.0 VALID
  Oracle Database Packages and Types 11.2.0.4.0 VALID
  JServer JAVA Virtual Machine 11.2.0.4.0 VALID
  Oracle XDK 11.2.0.4.0 VALID
  Oracle Database Java Packages 11.2.0.4.0 VALID
  OLAP Analytic Workspace 11.2.0.4.0 VALID
  Oracle OLAP API 11.2.0.4.0 VALID
  18 rows selected.
  3. 检查磁盘空间
  select a.tablespace_name, round(a.total_size) "total_size(mb)",
  round(a.total_size) - round(b.free_size,3) "unsed_size(mb)",
  round(b.free_size,3) "free_size(mb)",
  round(b.free_size/total_size *100,2) ||'%' free_rate
  from
  (select tablespace_name,sum(bytes) /1024/1024 total_size
  from dba_data_files
  group by tablespace_name) a,
  (select tablespace_name,sum(bytes)/1024/1024 free_size
  from dba_free_space
  group by tablespace_name) b
  where a.tablespace_name=b.tablespace_name(+);
  4.为数据库做冷备份
  RMAN>run {
  shutdown immediate;
  startup mount;
  allocate channel c1 type disk;
  allocate channel c2 type disk;
  backup full tag='db_full_bak' database format '/home/oracle/rmanbak/full_cold_%d_%s.bak';
  alter database open;
  }
  RMAN> list backup;
  数据库正常关闭后,还需要备份Oracle主目录,目的还是为了升级失败时,能够还原出数据库软件到升级前的版本。
  重点是如下目录:
  ORACLE_HOME/dbs
  ORACLE_HOME/network/admin
  ORACLE_HOME/hostname_dbname
  ORACLE_HOME/oc4j/j2ee/OC4J_DBConsole_hostname_dbname
[oracle@11g ~]$ env|grep ORA

  ORACLE_SID=orcl
  ORACLE_BASE=/home/oracle/app
  ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0.4/dbhome_1
[oracle@11g ~]$ tar cvf oracle.ora /home/oracle

  5. 关闭数据库实例及相关进程 (静态监听、动态监听、EOM、相关服务)
  --停止数据库外部进程
[iyunv@11g ~]#ps -ef|grep -v grep |grep LOCAL=NO|awk '{print $2}'|xargs kill -9

  SQL> shutdown immediate;
[oracle@11g rmanbak]$ cat /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora

[oracle@11g rmanbak]$ lsnrctl stop

[oracle@11g rmanbak]$ lsnrctl status

[oracle@11g rmanbak]$ ps -ef |grep ora_|grep -v grep

[oracle@11g rmanbak]$ netstat -an |grep 1521

[oracle@11g rmanbak]$ netstat -an |grep 1158

  6. 开始升级操作
[oracle@11g ~]$ cd /tmp/database

[oracle@11g database]$ ./runInstaller

  6.1 不勾选   DSC0000.png , 点击 next
DSC0001.png

DSC0002.png

DSC0003.png

  注意这里的安装位置,我之前的安装目录是11.2.0.4,我新目录是12.2.0.1.0 即将oracle 安装到其他位置,这样可以减少宕机时间,也是oracle 推荐的方法。
DSC0004.png

DSC0005.png

  有pdksh或者ksh其中一个就行
[iyunv@11g ~]# rpm -qa|grep ksh

  pdksh-5.2.14-1.i386
DSC0006.png

DSC0007.png

  执行到78%的时候弹出如下窗口: 用 root 用户跑这个脚本
DSC0008.png

DSC0009.png

  进度到了83%的时候,自动弹出dbua窗口
DSC00010.png

DSC00011.png

DSC00012.png

DSC00013.png

DSC00014.png

DSC00015.png

DSC00016.png

  停在37%执行了很久,耐心等待
DSC00017.png

DSC00018.png

  选abort强制,进行如下操作
DSC00019.png

DSC00020.png

DSC00021.png

  选yes
DSC00022.png

  最后点击close。
  7. 修改环境变量
  然后,再修改oracle用户的.bash_profile
  ORACLE_HOME=$ORACLE_BASE/product/12.2.0.1.0/db_1
  然后source ~/.bash_profile
  查看 cat /etc/oratab   【内容应该是新目录】
DSC00023.png

  8. 登录查看,升级后版本
[oracle@11g ~]$ sqlplus / as sysdba


  SQL*Plus:>  Copyright (c) 1982, 2013, Oracle. All rights reserved.
  Connected to:

  Oracle Database 12c Enterprise Edition>  SQL> set linesize 150;
  set pagesize 9999;
  col comp_name format a40;
  SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;
  COMP_NAME VERSION STATUS
  ---------------------------------------- ------------------------------ ----------------------
  Oracle Database Catalog Views 12.2.0.1.0 UPGRADED
  Oracle Database Packages and Types 12.2.0.1.0 UPGRADED
  JServer JAVA Virtual Machine 12.2.0.1.0 UPGRADED
  Oracle XDK 12.2.0.1.0 UPGRADED
  Oracle Database Java Packages 12.2.0.1.0 UPGRADED
  OLAP Analytic Workspace 12.2.0.1.0 UPGRADED
  Oracle Workspace Manager 12.2.0.1.0 UPGRADED
  Oracle Text 12.2.0.1.0 UPGRADED
  Oracle XML Database 12.2.0.1.0 UPGRADED
  Oracle Multimedia 12.2.0.1.0 UPGRADED
  Spatial 12.2.0.1.0 UPGRADED
  Oracle OLAP API 12.2.0.1.0 UPGRADED
  OLAP Catalog 11.2.0.4.0 OPTION OFF
  Oracle Application Express 5.0.4.00.12 UPGRADED
  14 rows selected.
  SQL> select count(*) from dba_objects where status<>'VALID';
  COUNT(*)
  ----------
  8357
  SQL> select * from utl_recomp_errors;
  no rows selected
  编译失效对象
  SQL>@$ORACLE_HOME/rdbms/admin/catuppst.sql

  Session>  --多次执行utlrp.sql,失效对象数量不再变化
  SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql
  PL/SQL procedure successfully completed.
  SQL> select count(*) from dba_objects where status<>'VALID';
  COUNT(*)
  ----------
  44
  统计失效的对象:
  SQL> set lin 300;
  set pagesize 300;
  col owner for a30;
  select owner, object_type, status, count(*)
  from dba_objects
  where status='INVALID'
  group by owner, object_type, status
  order by owner, object_type;
  OWNER                          OBJECT_TYPE             STATUS    COUNT(*)
  ------------------------------ ----------------------- ------- ----------
  SYS                            FUNCTION                INVALID          2
  SYS                            PROCEDURE               INVALID          5
  SYS                            TRIGGER                 INVALID          2
  SYS                            VIEW                    INVALID          1
  TBTB                           FUNCTION                INVALID         13
  TBTB                           PROCEDURE               INVALID          3
  TBTB                           VIEW                    INVALID         18
  查看具体失效对象
  col owner for a20;
  col object_name for a32;
  col object_type for a16;
  col status for a8;
  select owner, object_name, object_type, status
  from dba_objects
  where status='INVALID'
  order by 1,2,3;
  OWNER                OBJECT_NAME                      OBJECT_TYPE      STATUS
  -------------------- -------------------------------- ---------------- --------
  SYS                  DEPEND_RELATIONSHIP              PROCEDURE        INVALID
  SYS                  EVENT_TABLE                      PROCEDURE        INVALID
  SYS                  FN_GETSQLBYSQLID                 FUNCTION         INVALID
  SYS                  GET_SQLTEXT                      FUNCTION         INVALID
  SYS                  OLAPISHUTDOWNTRIGGER             TRIGGER          INVALID
  SYS                  OLAPISTARTUPTRIGGER              TRIGGER          INVALID
  SYS                  P_COLL_DML_INSERT                PROCEDURE        INVALID
  SYS                  P_MONI_INVALID_INDEX             PROCEDURE        INVALID
  SYS                  P_MONI_SQL                       PROCEDURE        INVALID
  SYS                  V$SQLAREA_TOTAL                  VIEW             INVALID
  TBTB                 CONTRACT_CALV                    FUNCTION         INVALID
  TBTB                 CONTRACT_CONTTYPE                FUNCTION         INVALID
  TBTB                 CONTRACT_GDQX                    FUNCTION         INVALID
  TBTB                 EMPLEVEL_LT                      FUNCTION         INVALID
  TBTB                 EMPLEVEL_LZ                      FUNCTION         INVALID
  TBTB                 EMPLEVEL_QC                      FUNCTION         INVALID
  TBTB                 EMPLEVEL_XJRS                    FUNCTION         INVALID
  TBTB                 GETTRMOBJ_BYOID                  FUNCTION         INVALID
  TBTB                 GETUNITFULLNAME                  FUNCTION         INVALID
  TBTB                 GET_CONTRACTOIDBYEMPOID          FUNCTION         INVALID
  TBTB                 GET_EMPDATA                      FUNCTION         INVALID
  TBTB                 JLSXTG                           PROCEDURE        INVALID
  TBTB                 LUOC                             FUNCTION         INVALID
  TBTB                 PROC_COPYTEMPLATE                PROCEDURE        INVALID
  TBTB                 REP_1                            FUNCTION         INVALID
  TBTB                 SET_EMPDATA                      PROCEDURE        INVALID
  TBTB                 TB_CNB_PAYRECORDINFO             VIEW             INVALID
  TBTB                 TB_V_CRPT_SELCOUNT               VIEW             INVALID
  TBTB                 TB_V_EMPASSIGNEDJOB              VIEW             INVALID
  TBTB                 TB_V_EMPPOSITION                 VIEW             INVALID
  TBTB                 TB_V_LEADERLEVEL                 VIEW             INVALID
  TBTB                 TB_V_LEADER_SET                  VIEW             INVALID
  TBTB                 TB_V_ORGUNIT                     VIEW             INVALID
  TBTB                 TB_V_PMG_EVALUESCORE             VIEW             INVALID
  TBTB                 TB_V_PMG_REWARDANDPUNISH         VIEW             INVALID
  TBTB                 TB_V_REC_CANDIDATE               VIEW             INVALID
  TBTB                 TB_V_TABLE                       VIEW             INVALID
  TBTB                 TB_V_TMG_MONTHREPORT             VIEW             INVALID
  TBTB                 TB_V_TRM_CLASSINFO               VIEW             INVALID
  TBTB                 TB_V_TRM_CLASSMONEY              VIEW             INVALID
  TBTB                 TB_V_TRM_COURSE                  VIEW             INVALID
  TBTB                 VIEW_BIZPROCINST                 VIEW             INVALID
  TBTB                 VIEW_BIZWORKITEM                 VIEW             INVALID
  TBTB                 VIEW_ORG_PERSON_ROLE_UNIT        VIEW             INVALID
  44 rows selected.

  手动单个单个编译失效对象,结果每个报 Warning: Procedure>  ALTER PROCEDURE SYS.DEPEND_RELATIONSHIP COMPILE;
  ALTER PROCEDURE SYS.P_MONI_INVALID_INDEX COMPILE;
  ALTER PROCEDURE SYS.P_MONI_SQL COMPILE;
  ALTER PROCEDURE SYS.P_COLL_DML_INSERT COMPILE;
  ALTER FUNCTION SYS.GET_SQLTEXT COMPILE;
  ALTER TRIGGER SYS.OLAPISTARTUPTRIGGER COMPILE;
  ALTER TRIGGER SYS.OLAPISHUTDOWNTRIGGER COMPILE;
  ALTER FUNCTION TBTB.GET_EMPDATA COMPILE;
  ALTER FUNCTION TBTB.GETUNITFULLNAME COMPILE;
  ALTER PROCEDURE TBTB.SET_EMPDATA COMPILE;
  ALTER PROCEDURE TBTB.JLSXTG COMPILE;
  ALTER PROCEDURE TBTB.PROC_COPYTEMPLATE COMPILE;
  ALTER FUNCTION TBTB.GETTRMOBJ_BYOID COMPILE;
  ALTER FUNCTION TBTB.LUOC COMPILE;
  ALTER FUNCTION TBTB.REP_1 COMPILE;
  ALTER FUNCTION TBTB.GET_CONTRACTOIDBYEMPOID COMPILE;
  ALTER FUNCTION TBTB.EMPLEVEL_LT COMPILE;
  ALTER FUNCTION TBTB.EMPLEVEL_LZ COMPILE;
  ALTER FUNCTION TBTB.EMPLEVEL_QC COMPILE;
  ALTER FUNCTION TBTB.CONTRACT_CALV COMPILE;
  ALTER FUNCTION TBTB.CONTRACT_CONTTYPE COMPILE;
  ALTER FUNCTION TBTB.CONTRACT_GDQX COMPILE;
  ALTER FUNCTION TBTB.EMPLEVEL_XJRS COMPILE;
  ALTER FUNCTION SYS.FN_GETSQLBYSQLID COMPILE;
  ALTER PROCEDURE SYS.EVENT_TABLE COMPILE;
  至此失效对象无法valid,推测是版本升级废弃对象,这里先不讨论。
  9. 修改compatible参数,若修改完成,此次升级操作就无法回退,一定要在应用经过测试之后修改。
  SQL> show parameter compatible
  NAME TYPE VALUE
  ------------------------------------ ----------- ------------------------------
  compatible string 11.2.0.4
  noncdb_compatible boolean FALSE
  QL> create spfile from pfile;
  File created.
  SQL> shutdown immediate;
  SQL> startup;

  SQL>>
  System>  SQL> shutdown immediate;
  SQL> startup;
  SQL> show parameter compatible
  NAME TYPE VALUE
  ------------------------------------ ----------- ------------------------------
  compatible string 12.2.0.1.0
  noncdb_compatible boolean FALSE
  SQL> set linesize 150;
  set pagesize 9999;
  col comp_name format a40;
  SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;
  COMP_NAME VERSION STATUS
  ---------------------------------------- ------------------------------ ----------------------
  Oracle Database Catalog Views 12.2.0.1.0 VALID
  Oracle Database Packages and Types 12.2.0.1.0 VALID
  JServer JAVA Virtual Machine 12.2.0.1.0 VALID
  Oracle XDK 12.2.0.1.0 VALID
  Oracle Database Java Packages 12.2.0.1.0 VALID
  OLAP Analytic Workspace 12.2.0.1.0 VALID
  Oracle Workspace Manager 12.2.0.1.0 VALID
  Oracle Text 12.2.0.1.0 VALID
  Oracle XML Database 12.2.0.1.0 VALID
  Oracle Multimedia 12.2.0.1.0 VALID
  Spatial 12.2.0.1.0 VALID
  Oracle OLAP API 12.2.0.1.0 VALID
  OLAP Catalog 11.2.0.4.0 OPTION OFF
  Oracle Application Express 5.0.4.00.12 VALID
  14 rows selected.
  升级过程有忽略,abort,很简单粗暴,只用来初次尝试,用来学习与参考,失效对象还要进一步确认,升级过程中有不合理之处请指正,转载请标明出处

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-422806-1-1.html 上篇帖子: Oracle-client支持exp 下篇帖子: 转 Oracle 12C 之 CDB/PDB用户的创建与对象管理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表