升级oracle10.2.0.1 到oracle10.2.0.5.9

来源:互联网 发布:软件技术服务 编辑:程序博客网 时间:2024/05/04 22:26
在分保和等保测评中,各单位的系统都会被检查出各种漏洞,解决的办法就是对各种系统进行升级和打补丁,此文特针对oracle10.2.0.1扫描出的漏洞问题进行升级与打补丁到oracle10.2.0.5.9。具体步骤是先从10.2.0.1升级到10.2.0.5再通过打补丁的方式最终升级到10.2.0.5.9


1.升级包说明:


升级到10.2.0.5.9共需要3个升级包:
p8202632_10205_LINUX.zip 是10.2.0.5.0的升级补丁包;
p14275629_10205_LINUX--DB--10.2.0.5.9.zip是10.2.0.5的小版本补丁包;
p6880880_102000_LINUX.zip是从10.2.0.5.0升级到10.2.0.5.9需要的补丁包工具升级包
上述包可从百度云搜索来寻找,否则很难找到,除非你有oracle metlike 账号
并上传上述包到oracle服务器/home/oracle/oraclepatch目录下减压
#su - oracle
$cd /home/oracle/oraclepatch
$unzip p8202632_10205_LINUX.zip       //减压后的目录为Disk1
$unzip p14275629_10205_LINUX--DB--10.2.0.5.9.zip //减压后的目录为14275629
$unzip p6880880_102000_LINUX.zip                 //减压后的目录为OPatch


2.数据备份


2.1.确认字符集
$export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
$echo $NLS_LANG


2.2.数据库备份
$mkdir -p /home/oracle/db_databackup/
$cd /home/oracle/db_databackup/
$exp "'sys/mypasswd as sysdba'" full=y  file=backfull_20151213.dmp log=backfullexport_20151213.log  
$exp  myaccount/mypasswd   owner=myaccount  file=/home/oracle/db_databackup/myaccount_20151213.dmp log=/home/oracle/db_databackup/myaccount_20151213exp.log
 
2.3.关闭所有oracle服务进程
$ emctl stop dbconsole   // 停止OEM
$ isqlplusctl stop       // 停止isqlplus
$ lsnrctl stop           // 停止监听
$ sqlplus "/ as sysdba"
SQL> shutdown immediate // 停止数据库实例


2.4oracle系统备份
复制oracle安装的目录和数据库到其他目录,已备升级失败后恢复使用
cp -dpR /DBsoft  /orabak


3.安装升级补丁包(升级到10.2.0.5)
3.1--==静默方式==----
3.1.1修改/home/oracle/oraclepatch/Disk1/response/patchset.rsp文件


按情况修改如下变量:
UNIX_GROUP_NAME="oinstall"
ORACLE_HOME="/DBSoft/app/oracle/product/10.2.0/db_1"
ORACLE_HOME_NAME="OraDb10g_home1"
RESTART_SYSTEM=false                  //升级完后不重新启动
DECLINE_SECURITY_UPDATES=true        //免去升级过程输入用户信息


3.1.2升级oracle系统软件
cd /home/oracle/oraclepatch/Disk1
$./runInstaller -silent -responseFile /home/oracle/oraclepatch/Disk1/response/patchset.rsp
以root用户执行root.sh
#/DBSoft/app/oracle/product/10.2.0/db_1/root.sh


3.1.3数据库升级
sqlplus / as sysdba
SQL>startup upgrade
SQL>spool patch.log
SQL>@$ORACLE_HOME/rdbms/admin/catupgrd.sql  //数据库升级
SQL>spool off
SQL>shutdown immediate
SQL>startup
SQL>@$ORACLE_HOME/rdbms/admin/utlrp.sql  //检查升级状态


3.1.4自启动修改
本人系统升级前已经是自启动,如果你的不是还得参考其他自启动文档
$cd $ORACLE_HOME/bin
$vi dbstart
将ORACLE_HOME_LISTNER=$1 改为
ORACLE_HOME_LISTNER=$ORACLE_HOME




3.2--==图形方式==----
3.2.1vnc-view进行图形界面安装
具体见vnc配置,进去后


3.2.2 设定字符集
$export LANG="en_AU.UTF-8"
$cd /home/oracle/oraclepatch/Disk1
$./runInstaller,按照提示进行安装:
以下什么都不要填,选NEXT
以root用户执行root.sh
#/DBSoft/app/oracle/product/10.2.0/db_1/root.sh


3.2.3升级数据库 执行dbua


4.安装升级补丁(升级到10.2.0.5.9)


4.1.升级打补丁工具(p6880880_102000_LINUX.zip)
$mv /DBSoft/app/oracle/product/10.2.0/db_1/OPatch /DBSoft/app/oracle/product/10.2.0/db_1/OPatch_old
$mv /home/oracle/oraclepatch/OPatch /DBSoft/app/oracle/product/10.2.0/db_1/OPatch   
升级完毕


4.2.判断当前环境是否符合补丁需求
$cd /home/oracle/oraclepatch/
$/DBSoft/app/oracle/product/10.2.0/db_1/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./14275629


4.3.打补丁
$cd /home/oracle/oraclepatch/14275629
$/DBSoft/app/oracle/product/10.2.0/db_1/OPatch/opatch apply


4.4. 运行更改 SQL 文件
cd $ORACLE_HOME/rdbms/admin
$ sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle.sql psu apply
SQL> @utlrp.sql
SQL> select * from v$version;
SQL> select comp_name,version,status from dba_registry;


4.5.检查ORACLE所打补丁版本
/DBSoft/app/oracle/product/10.2.0/db_1/OPatch/opatch lsinventory

0 0
原创粉丝点击