2月12日 LINUX ORACLE10.2.0.4小版本升级详细记录

简介:

1. 准备工作

1.1.  介质准备

一、下载介质

p6810189_10204_Linux-x86-64.zip

 

二、上传并解压介质

unzip p6810189_10204_Linux-x86-64.zip

实例:

[root@L-DB-128-36 patch]# cd /home/oracle/patch

[root@L-DB-128-36 patch]# ls -lt |grep 10204

-rw-r--r-- 1 oracle oinstall 1195551830 02-12 15:09 p6810189_10204_Linux-x86-64.zip

 

1.2.  备份

一、软件备份

$ cd /home/oracle/product

$ tar cvf /u01/bak/softbak/product_201102.tar 10.2.0

实例:

 [root@L-DB-128-36 product]# tar cvf /u01/bak/softbak/product_201102.tar 10.2.0

10.2.0/

10.2.0/db_1/

10.2.0/db_1/sqlj/

10.2.0/db_1/sqlj/lib/

10.2.0/db_1/sqlj/lib/runtime12.jar

……

 

二、数据备份

1、 逻辑备份

停止wms\ chicago相关应用,在备份服务器上exp备份数据后关闭数据库

exp WMS/***@IDC_172.16.3.5 file=h:\dbback\oracle\data\WMS%date:~11,14%.dmp log=h:\dbback\oracle\log\WMS%date:~0,10%.log  owner=WMS compress=n buffer=8092

exp chicago/***@IDC_172.16.3.5 file=h:\dbback\oracle\data\chicago%date:~11,14%.dmp log=h:\dbback\oracle\log\chicago%date:~0,10%.log  owner=chicago compress=n buffer=8092

 

2、物理备份

rman>backup database format '/u01/bak/rman/shport_full_backup_%P_%T';

实例:

RMAN> backup database format '/u01/bak/rman/shport_full_backup_%P_%T';

Starting backup at 2011-02-12 23:42:49

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=522 devtype=DISK

channel ORA_DISK_1: starting full datafile backupset

channel ORA_DISK_1: specifying datafile(s) in backupset

input datafile fno=00001 name=+DGROUP1/shport/datafile/system.256.732734315

input datafile fno=00003

……

 

备份oracle数据库软件

$ cd /home/oracle/product

$ tar cvf /u01/bak/softbak/product_201102.tar 10.2.0

备份数据库                                                        

rman>backup format '/u01/bak/rman/shport_full_backup_%P_%T';

检查升级前无效对象

SQL> select owner,object_name,subobject_name,object_type,status from dba_objects where status<>'VALID'

 

第二步, 关闭数据库

emctl stop dbconsole

isqlplusctl stop

lsnrctl stop

shutdown immediate;

检查是否有进程使用oracle的相关库或程序

$ps -ef | grep ora

 

第三步,解压p6810189_10204_Linux-x86-64.zip,安装补丁包

unzip p6810189_10204_Linux-x86-64.zip

 

 

2. 实施

2.1.  环境检查

一、检查升级前无效对象

SQL> select owner,object_name,subobject_name,object_type,status from dba_objects where status<>'VALID'

 

2.2.  停数据库相关进程

一、停进程

1emctl stop dbconsole

2、  isqlplusctl stop

3、  lsnrctl stop

4、  shutdown immediate;

 

二、检查是否有进程使用oracle的相关库或程序

1$ps -ef | grep oracle

2KILL -9 杀掉可能影响的进程(别把自己的SSHKILL掉)

注:$fuser 指定目录是官方推荐的用法,但实际实施过程中有时候不管用

 

2.3.  升级

一、图形界面准备

确保用户能打开图形界面,可用root用户运行 
export DISPLAY=IP:0.0 
xhost + 
如果出现界面乱码现象,执行命令:export LANG=en

 

二、执行runInstaller

oracle用户执行Disk1下的runInstaller
./runInstaller 
注:

1、  将安装包改成用户为oracle用户所有,之前已是就不用改了
chown -R oracle:dba   
解压目录/Disk1

runInstaller时可能报子目录oui权限错误,原因一般为其他进程在用目录或权限问题 
解决方法:把该软件包全部改成可执行chown -R 755 oracle:ointsll Disk1

          也可能需要KILL掉相应进程。

 

2出现图形界面后和windows上一样,选择oracle_home只有一个数据库的话默认即可。
完了最后会让你以root用户运行一个root.sh的脚本,该脚本会提示是否覆盖已存在的目录,默认为否即可。

 

三、以upgrade方式打开数据库

Startup upgrade;

 

sys用户登录,检查system表空间情况:
select tablespace_name, sum(bytes)/(1024*1024) as free_space 
     from dba_free_space 
     where tablespace_name = 'SYSTEM' 
     group by tablespace_name; 
如果该值小于50,则需要加大SYSTEM表空间;不建议使用resize方式而是使用添加文件的方式。
alter tablespace system add datafile '/opt/app/oradata/orcl/system02.dbf'size 300m;

 

四、设置SHARED_POOL_SIZE and JAVA_POOL_SIZE初始化参数

SQL> ALTER SYSTEM SET SHARED_POOL_SIZE='150M' SCOPE=spfile;

SQL> ALTER SYSTEM SET JAVA_POOL_SIZE='150M' SCOPE=spfile;

注:检查shared_pool_sizejava_pool_size大小,可适当增大(我们这里都设置成了150M,默认是0)。否则更新脚本因pool空间不够而无法升级成功。
如果启用自动sga管理,保证sga_max_sizesga_target400M以上,如果是ASM系统则JAVA_POOL_SIZE不能设置。

 

五、执行升级脚本

       SQL> STARTUP UPGRADE

SQL> SPOOL patch.log

SQL> @?/rdbms/admin/catupgrd.sql

SQL> SPOOL OFF

注:

执行catupgrd.sql是个很耗时的过程。内存足够的话运行时间半个小时左右

检查 /opt/app/patch.log是否有报错如果有错误可以重新执行该脚本

 

六、编译无效对象

SQL> SHUTDOWN IMMEDIATE

SQL> STARTUP

SQL> @?/rdbms/admin/utlrp.sql

注:运行utlrp.sql以重新编译所有无效的PL/SQL程序包

正常运行结果:

ERRORS DURING RECOMPILATION

---------------------------

                          0

 

七、检查无效对象,必须无,至少比升级前要少

SQL> select owner,object_name,subobject_name,object_type,status from dba_objects where status<>'VALID'

       实例:36数据库升级前30个无效对象,升级后0个无效对象

 

2.4.  升级后确认

一、升级结束,启动数据库及相关服务

emctl start dbconsol

isqlplusctl start

    start

    sqlplus / as sysdba

 

二、检查版本

select comp_name,version from dba_registry;

全是10.2.0.4.0,升级成功

 

三、连接检查

       SQLPLUS

    应用连接检查

 

 


本文转自zylhsy 51CTO博客,原文链接:http://blog.51cto.com/yunlongzheng/493942,如需转载请自行联系原作者

相关文章
|
3月前
|
负载均衡 Oracle 关系型数据库
Linux启动多个Oracle实例
Linux启动多个Oracle实例
39 0
|
4月前
|
Oracle 关系型数据库 Linux
windows 11 hyper-v中oracle linux虚拟机中添加硬盘
在windows 11自带的hyper-v虚拟机中添加硬盘,并分区
65 6
|
4月前
|
Linux Perl
Linux centos7升级内核(两种方法:内核编译和yum更新)
Linux centos7升级内核(两种方法:内核编译和yum更新)
428 0
Linux centos7升级内核(两种方法:内核编译和yum更新)
|
9月前
|
Linux
Linux Centos7 下升级openssh1.1.1u版本
Linux Centos7 下升级openssh1.1.1u版本
241 0
|
24天前
|
存储 Ubuntu Linux
制作一个嵌入式Linux的应用程序升级文件
制作一个嵌入式Linux的应用程序升级文件
12 2
|
1月前
|
算法 Linux 调度
根基已筑!Anolis OS 23.1 预览版本搭载 Linux 6.6 内核和工具链升级完成
Anolis OS 23.1 对软件包的选择和组合进行了重新规划与决策,满足更为广泛的应用场景需求。
|
1月前
|
存储 缓存 供应链
『Linux升级路』冯诺依曼体系结构与操作系统
『Linux升级路』冯诺依曼体系结构与操作系统
|
1月前
|
NoSQL Linux 编译器
『Linux升级路』基础开发工具——gdb篇
『Linux升级路』基础开发工具——gdb篇
|
1月前
|
存储 缓存 小程序
『Linux升级路』进度条小程序
『Linux升级路』进度条小程序
|
1月前
|
Linux 编译器 开发工具
『Linux升级路』基础开发工具——make/Makefile篇
『Linux升级路』基础开发工具——make/Makefile篇