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

[经验分享] oracle database 10.2.0.4 升级到 10.2.0.5-O Record-51CTO博客

[复制链接]

尚未签到

发表于 2018-9-12 07:00:57 | 显示全部楼层 |阅读模式
某发票开发测试库升级  

  

  
    升级前准备,此次升级只是很对测试环境数据库升级,所以没有事先一个月来获取系统,数据库的统计信息,机器性能比对
  
为了加快升级只是清理了以下信息
  

  
01.截断SYS.AUD$基表:
  
SQL>TRUNCATE TABLE SYS.AUD$;
  

  
02.清理DBA回收站:
  
SQL>purge DBA_RECYCLEBIN;
  

  

  
1.升级开始,升级前首先断开测试环境的中间件应用
  

  
查看本机的ORACLE_HOME
  
[oracle@Oel_10 ~]$ echo $ORACLE_HOME
  
/opt/product/10.2.0/db_1
  

  
2.把10.2.0.5的补丁p8202632_10205_Linux-x86-64.zip放到/oinstall目录下
  

  
[root@Oel_10 ~]# cd /oinstall/
  
[root@Oel_10 oinstall]# unzip p8202632_10205_Linux-x86-64.zip  解压完成后,再赋予相应的权限,Disk1为10.2.0.5的解压的PATCH目录
  
[root@Oel_10 ~]# chown -R oracle:oinstall  /oinstall/
  
[root@Oel_10 oinstall]# ls -al
  
total 1221952
  
drwxr-xr-x  5 oracle oinstall       4096 Apr 29  2010 Disk1
  
-rw-r--r--  1 oracle oinstall 1249857866 Nov 22 17:24 p8202632_10205_Linux-x86-64.zip
  

  
3.确定当前的数据库版本
  

  
SQL> select * from v$version;
  

  
BANNER
  
--------------------------------------------------------------------------------
  
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
  
PL/SQL Release 10.2.0.4.0 - Production
  
CORE    10.2.0.4.0      Production
  
TNS for Linux: Version 10.2.0.4.0 - Production
  
NLSRTL Version 10.2.0.4.0 - Production
  

  

  
5.在做升级之前先要进行备份,备份数据库软件与数据文件,备份重中之重
  

  
01.数据库软件用tar 命令备份即可(略)
  
02.数据库本身备份利用RMAN即可(略)
  
03.备份完成后开始停止相应的服务
  

  
instance  SQL>shutdown immediate
  
listener  $lsnrctl stop
  
EM        $emctl stop dbconsole
  

  

  
6.开始安装补丁,首以root用户先进入图形化界面
  
[root@Oel_10 ~]# xhost +
  
[root@Oel_10 ~]# su - oracle
  
[oracle@Oel_10 ~]$ cd /oinstall/
  
[oracle@Oel_10 oinstall]$ cd Disk1/
  
[oracle@Oel_10 Disk1]$ ls
  
install  patch_note.htm  response  runInstaller  stage
  

  
开始安装补丁
  
[oracle@Oel_10 Disk1]$ ./runInstaller
  
                     .
  
                     .
  
图形化安装,与安装oracle软件一致,此处忽略安装过程
  
                     .
  
                     .
  
7.安装完成后,以upgrade模式启动数据库,升级数据字典
  

  
SQL>startup upgrade
  

  
SQL> select status from v$instance;
  

  
STATUS
  
------------------------
  
OPEN MIGRATE
  

  
确认此时instance状态为OPEN MIGRATE()
  

  
  升级数据库的大版本或大的patch的时候总是需要升级现有数据库的数据字典,升级数据字段的原因是因为随着Oracle版本的升级,
  
某些对象的属性需要改变,以便保证系统的的数据词典的完整性和有效性这些变更都是在升级脚本$ORACLE_HOME/rdbms/admin/catupgrd.sql中。
  
以升级模式启动数据库后,开始升级数据字典
  
SQL>@/opt/product/10.2.0/db_1/rdbms/catupgrd.sql
  

  
升级数据字典时,可以看到相应的操作
  
PL/SQL procedure successfully completed.
  

  
Type created.
  

  
Grant succeeded.
  

  
Package created.
  

  
No errors.
  

  
Table created.
  

  
PL/SQL procedure successfully completed.
  

  
View created.
  

  
Synonym created.
  

  
进而进一步验证了catupgrd.sql作用,升级完数据字典后,sqlplus下会出现以下信息
  

  
TIMESTAMP
  
--------------------------------------------------------------------------------
  
COMP_TIMESTAMP RUL        2012-11-23 06:56:47
  
DBUA_TIMESTAMP RUL        VALID       2012-11-23 06:56:47
  
COMP_TIMESTAMP UPGRD_END  2012-11-23 06:58:01
  
.
  
Oracle Database 10.2 Upgrade Status Utility           11-23-2012 06:58:01
  
.
  
Component                                Status         Version  HH:MM:SS
  
Oracle Database Server                    VALID      10.2.0.5.0  00:07:52
  
JServer JAVA Virtual Machine              VALID      10.2.0.5.0  00:00:56
  
Oracle XDK                                VALID      10.2.0.5.0  00:00:23
  
Oracle Database Java Packages             VALID      10.2.0.5.0  00:00:12
  
Oracle Text                               VALID      10.2.0.5.0  00:00:18
  
Oracle XML Database                       VALID      10.2.0.5.0  00:02:02
  
Oracle Workspace Manager                  VALID      10.2.0.5.0  00:00:36
  
Oracle Data Mining                        VALID      10.2.0.5.0  00:00:15
  
OLAP Analytic Workspace                   VALID      10.2.0.5.0  00:00:16
  
OLAP Catalog                              VALID      10.2.0.5.0  00:00:42
  
Oracle OLAP API                           VALID      10.2.0.5.0  00:00:31
  
Oracle interMedia                         VALID      10.2.0.5.0  00:02:21
  
Spatial                                   VALID      10.2.0.5.0  00:01:32
  
Oracle Expression Filter                  VALID      10.2.0.5.0  00:00:06
  
Oracle Enterprise Manager                 VALID      10.2.0.5.0  00:00:30
  
Oracle Rule Manager                       VALID      10.2.0.5.0  00:00:06
  
.
  
Total Upgrade Time: 00:20:01
  
DOC>#######################################################################
  
DOC>#######################################################################
  
DOC>
  
DOC>   The above PL/SQL lists the SERVER components in the upgraded
  
DOC>   database, along with their current version and status.
  
DOC>
  
DOC>   Please review the status and version columns and look for
  
DOC>   any errors in the spool log file.  If there are errors in the spool
  
DOC>   file, or any components are not VALID or not the current version,
  
DOC>   consult the Oracle Database Upgrade Guide for troubleshooting
  
DOC>   recommendations.
  
DOC>
  
DOC>   Next shutdown immediate, restart for normal operation, and then
  
DOC>   run utlrp.sql to recompile any invalid application objects.
  
DOC>
  
DOC>#######################################################################
  
DOC>#######################################################################
  

  

  
8.再次重启数据库
  

  

  
SQL> shutdown immediate
  
SQL> startup
  
ORACLE instance started.
  

  
9.编译无效对象脚本utlrp.sql
  

  
utlrp.sql脚本可以在数据库运行的状态下执行以编译、数据库中的invalid对象,oracle建议在对数据库进行迁移、升级、降级后都运行一遍utlrp.sql以编译无效对象。
  
以sysdba登陆来执行脚本
  
[oracle@Oel_10 ~]$ sqlplus / as sysdba
  
SQL> @/opt/product/11.2.0/db_1/rdbms/admin/utlrp.sql
  

  
TIMESTAMP
  
--------------------------------------------------------------------------------
  
COMP_TIMESTAMP UTLRP_BGN  2012-11-23 07:04:44
  

  
DOC>   The following PL/SQL block invokes UTL_RECOMP to recompile invalid
  
DOC>   objects in the database. Recompilation time is proportional to the
  
DOC>   number of invalid objects in the database, so this command may take
  
DOC>   a long time to execute on a database with a large number of invalid
  
DOC>   objects.
  
DOC>
  
DOC>   Use the following queries to track recompilation progress:
  
DOC>
  
DOC>   1. Query returning the number of invalid objects remaining. This
  
DOC>      number should decrease with time.
  
DOC>         SELECT COUNT(*) FROM obj$ WHERE status IN (4, 5, 6);
  
DOC>
  
DOC>   2. Query returning the number of objects compiled so far. This number
  
DOC>      should increase with time.
  
DOC>         SELECT COUNT(*) FROM UTL_RECOMP_COMPILED;
  
DOC>
  
DOC>   This script automatically chooses serial or parallel recompilation
  
DOC>   based on the number of CPUs available (parameter cpu_count) multiplied
  
DOC>   by the number of threads per CPU (parameter parallel_threads_per_cpu).
  
DOC>   On RAC, this number is added across all RAC nodes.
  
DOC>
  
DOC>   UTL_RECOMP uses DBMS_SCHEDULER to create jobs for parallel
  
DOC>   recompilation. Jobs are created without instance affinity so that they
  
DOC>   can migrate across RAC nodes. Use the following queries to verify
  
DOC>   whether UTL_RECOMP jobs are being created and run correctly:
  
DOC>
  
DOC>   1. Query showing jobs created by UTL_RECOMP
  
DOC>         SELECT job_name FROM dba_scheduler_jobs
  
DOC>            WHERE job_name like 'UTL_RECOMP_SLAVE_%';
  
DOC>
  
DOC>   2. Query showing UTL_RECOMP jobs that are running
  
DOC>         SELECT job_name FROM dba_scheduler_running_jobs
  
DOC>            WHERE job_name like 'UTL_RECOMP_SLAVE_%';
  
DOC>#
  

  
PL/SQL procedure successfully completed.
  

  

  
TIMESTAMP
  
--------------------------------------------------------------------------------
  
COMP_TIMESTAMP UTLRP_END  2012-11-23 07:05:46
  

  

  
PL/SQL procedure successfully completed.
  

  
DOC> The following query reports the number of objects that have compiled
  
DOC> with errors (objects that compile with errors have status set to 3 in
  
DOC> obj$). If the number is higher than expected, please examine the error
  
DOC> messages reported with each object (using SHOW ERRORS) to see if they
  
DOC> point to system misconfiguration or resource constraints that must be
  
DOC> fixed before attempting to recompile these objects.
  
DOC>#
  

  
OBJECTS WITH ERRORS
  
-------------------
  
                  0
  

  
DOC> The following query reports the number of errors caught during
  
DOC> recompilation. If this number is non-zero, please query the error
  
DOC> messages in the table UTL_RECOMP_ERRORS to see if any of these errors
  
DOC> are due to misconfiguration or resource constraints that must be
  
DOC> fixed before objects can compile successfully.
  
DOC>#
  

  
ERRORS DURING RECOMPILATION
  
---------------------------
  
                          0
  

  

  
PL/SQL procedure successfully completed
  

  
SQL> shutdown  immediate
  
Database closed.
  
Database dismounted.
  
ORACLE instance shut down.
  
SQL> startup
  
ORACLE instance started.
  

  

  
Total System Global Area 7516192768 bytes
  
Fixed Size                  2107936 bytes
  
Variable Size            1258292704 bytes
  
Database Buffers         6241124352 bytes
  
Redo Buffers               14667776 bytes
  
Database mounted.
  
Database opened.
  
SQL> select * from v$version;
  

  

  
BANNER
  
--------------------------------------------------------------------------------
  
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi
  
PL/SQL Release 10.2.0.5.0 - Production
  
CORE    10.2.0.5.0      Production
  
TNS for Linux: Version 10.2.0.5.0 - Production
  
NLSRTL Version 10.2.0.5.0 - Production
  
到此为止,升级工作初步完成



运维网声明 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-573049-1-1.html 上篇帖子: RedHat5.5_X64 Linux安装oracle 11.2.0.3 报错 下篇帖子: oracle 重新编译用户无效对象
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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