Oracle 从10.2.0.1升级到10.2.0.5

来源:互联网 发布:java面向对象设计原则 编辑:程序博客网 时间:2024/05/21 17:17
1、环境介绍
我们已经在RedHat 6.5上成功安装Oracle 10gR2,版本号为10.2.0.1。
[oracle@SimpleLinux ~]$ uname -r
2.6.32-431.el6.i686
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE    10.2.0.1.0      Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 – Production
当前操作系统用户oracle关键环境变量如下:
[oracle@SimpleLinux ~]$ env | grep ORA
ORACLE_SID=ora11g
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
操作系统存储和内存资源相对充足。
[oracle@SimpleLinux ~]$ df -h
Filesystem                          Size  Used Avail Use% Mounted on
/dev/mapper/vg_simplelinux-LogVol00  29G  8.7G  19G  32% /
tmpfs                                448M    0  448M  0% /dev/shm
/dev/sda1                            485M  33M  427M  8% /boot
[oracle@SimpleLinux ~]$ free -m
total      used      free    shared    buffers    cached
Mem:          894        332        561          0        20        241
-/+ buffers/cache:        70        824
Swap:        1999          0      1999
2、备份环境和补丁包准备
首先,我们需要将数据库、监听程序等相关对象进行关闭。根据不同的情况,ASM、DB Control也需要关闭。
[oracle@SimpleLinux ~]$ lsnrctl stop
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 13-MAY-2014 11:19:04
Copyright (c) 1991, 2005, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
The command completed successfully
SQL> conn / as sysdba
Connected.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
下面需要备份环境。注意:升级过程是有风险的,特别是在生产环境下。两个步骤是降低升级风险的重要策略:多次测试和数据备份。多次测试(在系统测试环境)可以帮助我们事先发现升级方案问题,准备应对策略,验证方案。数据备份可以最大程度减少我们数据损失风险。
具体备份方法针对各自情况不同,可以选择RMAN、冷备份、exp/expdp等。此处笔者选择直接将目录拷贝的完全方法。
[root@SimpleLinux upload]# mkdir /u02
[root@SimpleLinux upload]# cd /u01
[root@SimpleLinux u01]# cp -r * /u02
[root@SimpleLinux u01]#
正式进行动作前,要重新规划确定升级步骤。本次升级要实现两个补丁包,一个是10.2.0.5升级包,另一个是在10.2.0.5上运行的补丁包。在MOS上针对特定版本下载升级安装包,并且上传到服务器上。
[root@SimpleLinux ~]# cd /upload/
[root@SimpleLinux upload]# ls -l
total 1082304
-rw-r--r-- 1 root root    4278863 May 13 11:27 p11724962_10205_LINUX.zip
-rw-r--r-- 1 root root 1103992900 May 13 11:29 p8202632_10205_LINUX.zip –升级10.2.0.5包
注意:我们升级数据库是有两个大的步骤,Oracle软件升级和Oracle数据库升级。可以回想一下我们在安装数据库的时候,是先安装数据库软件(包括Grid、Clusterware),之后创建dbca数据库。升级也是一样,我们需要先把数据库软件更新为最新版本,之后清理已经存在的数据库对象,使之升级为最新版本。
3、Oracle软件升级
我们首先进行软件升级动作,解压安装包。
[root@SimpleLinux upload]# ls -l
total 1082472
drwxr-xr-x 5 root root      4096 Jul 23  2010 Disk1
-rw-r--r-- 1 root root    4278863 May 13 11:27 p11724962_10205_LINUX.zip
-rw-r--r-- 1 root root 1103992900 May 13 11:29 p8202632_10205_LINUX.zip
-rwxrwxrwx 1 root root    165290 Jul 20  2010 README.html
root中给oracle用户授权。
[root@SimpleLinux upload]# cd /
[root@SimpleLinux /]# chown -p oracle:oinstall upload/
chown: invalid option -- 'p'
Try `chown --help' for more information.
[root@SimpleLinux /]# chown -R oracle:oinstall upload/
[root@SimpleLinux /]#
升级软件是在图形化界面中进行,所需要配置XWindows或者vnc界面工具。执行目录中的.runInstall脚本,就可以启动界面。如果环境变量配置正常,自动Path都会带入到界面中。

错误:
[oracle@orcl Disk1]$ ./runInstaller
Starting Oracle Universal Installer...

Checking installer requirements...

Checking operating system version: must be redhat-3, SuSE-9, SuSE-10, redhat-4, redhat-5, redhat-6, UnitedLinux-1.0, asianux-1, asianux-2, asianux-3, enterprise-4, enterprise-5 or SuSE-11
Failed <<<<

需要:
[root@localhost ~]# vi /etc/redhat-release
将其内容修改为:
Red Hat Enterprise Linux Server release 4.4 (Tikanga)


大部分操作,都是点击Next确认过程。

下面是验证操作系统环境信息,是否满足安装条件。

安装过程,界面和工作内容和一般安装Oracle没有过多差异。
最后需要以root用户手工执行脚本。
执行root.sh中,有一些覆盖的确认,建议覆盖。
[root@SimpleLinux ~]# cd /u01/app/oracle/product/10.2.0/db_1/
[root@SimpleLinux db_1]# ./root.sh
Running Oracle 10g root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/10.2.0/db_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file "dbhome" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
(篇幅原因,有省略……)
Now product-specific root actions will be performed.
如果没有明确的报错信息,就说明Oracle软件部分的安装成功。


SQL> alter database open;
ERROR at line 1:
ORA-01092: ORACLE instance terminated. Disconnection forced
第一步,通过startup upgrade启动实例
SQL> startup upgrade;
ORACLE instance started.
Total System Global Area  322961408 bytes
Fixed Size              2095992 bytes
Variable Size                100664456 bytes
Database Buffers      213909504 bytes
Redo Buffers                6291456 bytes
Database mounted.
Database opened.
 
第二步,升级数据字典和实例等
SQL>@?/rdbms/admin/catupgrd.sql
整个过程需要15分钟至30分钟左右
升级完毕显示如下:
Oracle Database 10.2 Upgrade Status Utility          09-11-2014 21:48:21
Component                                Status        Version  HH:MM:SS
Oracle Database Server                    VALID      10.2.0.5.0  00:15:41
JServer JAVA Virtual Machine              VALID      10.2.0.5.0  00:06:46
Oracle XDK                                VALID      10.2.0.5.0  00:00:51
Oracle Database Java Packages            VALID      10.2.0.5.0  00:00:45
Oracle Text                              VALID      10.2.0.5.0  00:01:07
Oracle XML Database                      VALID      10.2.0.5.0  00:03:26
Oracle Workspace Manager                  VALID      10.2.0.5.0  00:01:21
Oracle Data Mining                        VALID      10.2.0.5.0  00:00:39
OLAP Analytic Workspace                   VALID      10.2.0.5.0  00:00:48
OLAP Catalog                              VALID      10.2.0.5.0  00:02:01
Oracle OLAP API                          VALID      10.2.0.5.0  00:02:01
Oracle interMedia                        VALID      10.2.0.5.0  00:06:35
Spatial                                  VALID      10.2.0.5.0  00:04:50
Oracle Expression Filter                  VALID      10.2.0.5.0  00:00:30
Oracle Enterprise Manager                VALID      10.2.0.5.0  00:02:59
Oracle Rule Manager                      VALID      10.2.0.5.0  00:00:18
.
Total Upgrade Time: 00:53:47
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>#######################################################################
DOC>#
 
第三步,shutdown 实例。Startup实例
第四步,再次编译无效的应用对象
SQL> @?/rdbms/admin/utlrp.sql
TIMESTAMP
--------------------------------------------------------------------------------
COMP_TIMESTAMP UTLRP_BGN  2014-09-11 21:52:02
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>#
 
TIMESTAMP
--------------------------------------------------------------------------------
COMP_TIMESTAMP UTLRP_END  2014-09-11 21:53:40
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
SQL>

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 军人被警察打了怎么办 对高院再审不服怎么办 对高院判决不服怎么办 白色砂锅烧黑了怎么办 手机被偷关机了怎么办 狗被眼镜蛇咬了怎么办 穿高跟鞋脚趾头长茧怎么办 穿皮鞋脚底板疼怎么办 鞋子穿了脚趾痛怎么办 脚被鞋子磨肿了怎么办 脚趾磨出茧子怎么办疼 脚掌长茧走路疼怎么办 脚底磨出茧子疼怎么办 手指上写字有茧怎么办 写字磨的茧子疼怎么办 脚上的大脚骨疼怎么办 脸特别烫 又红怎么办 6岁宝宝发音不准怎么办 3岁宝宝发音不准怎么办 5岁宝宝发音不准怎么办 4岁宝宝发音不准怎么办 被螃蟹夹出血了怎么办 苹果6主板坏了怎么办 键盘掉了一个键怎么办 汽车屏幕砸坏了怎么办 电视的屏幕坏了怎么办 高三孩子早恋该怎么办 高一早恋家长该怎么办 高二早恋家长该怎么办 200斤新娘抱不动怎么办 160斤新娘抱不动怎么办 科目二挂了5次怎么办 纹身纹完了肿了怎么办 在宿舍被孤立了怎么办 b站视频不见了哟怎么办 站立时间长了脚疼怎么办 坐的时间长腰疼怎么办 站久了膝盖疼怎么办 站久了膝盖疼是怎么办 平躺着睡觉腰疼怎么办 站久了脚疼怎么办缓解