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,如需转载请自行联系原作者

相关文章
|
1月前
|
安全 Linux 虚拟化
|
29天前
|
Oracle Cloud Native 关系型数据库
Oracle Linux 9.5 正式版发布 - Oracle 提供支持 RHEL 兼容发行版
Oracle Linux 9.5 正式版发布 - Oracle 提供支持 RHEL 兼容发行版
60 10
Oracle Linux 9.5 正式版发布 - Oracle 提供支持 RHEL 兼容发行版
|
1月前
|
监控 Oracle 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第8天】在 Linux 平台设置 Oracle 开机自启动有多种方法,本文以 CentOS 为例,介绍了两种常见方法:使用 `rc.local` 文件(较简单但不推荐用于生产环境)和使用 `systemd` 服务(推荐)。具体步骤包括编写启动脚本、赋予执行权限、配置 `rc.local` 或创建 `systemd` 服务单元文件,并设置开机自启动。通过 `systemd` 方式可以更好地与系统启动过程集成,更规范和可靠。
|
2月前
|
Ubuntu 安全 Linux
|
1月前
|
Oracle Ubuntu 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第7天】本文介绍了 Linux 系统中服务管理机制,并详细说明了如何在使用 systemd 和 System V 的系统上设置 Oracle 数据库的开机自启动。包括创建服务单元文件、编辑启动脚本、设置开机自启动和启动服务的具体步骤。最后建议重启系统验证设置是否成功。
|
3月前
|
安全 Linux 网络安全
Linux端的ssh如何升级?
Linux端的ssh如何升级?
323 59
|
1月前
|
人工智能 安全 Linux
|
2月前
|
存储 Oracle 关系型数据库
|
2月前
|
Kubernetes Linux 测试技术
|
2月前
|
SQL Oracle 安全
免费 Oracle 各版本 离线帮助使用和介绍
免费 Oracle 各版本 离线帮助使用和介绍
40 2