图形化升级单机oracle 11.2.0.1 到 11.2.0.4

时间:2021-04-25 07:40:33

 

1. 讲补丁包上传到 oracle server ,解压、安装

[root@11g ~]#unzip p13390677_112040_Linux-x86-64_1of7.zip -d /tmp && unzip p13390677_112040_Linux-x86-64_2of7.zip -d /tmp


2. 检查当前版本
SQL> select * from v$version;

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


SQL> set linesize 150
SQL> set pagesize 9999
SQL> col comp_name format a40
SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;

COMP_NAME VERSION STATUS
---------------------------------------- ------------------------------ --------
OWB 11.2.0.1.0 VALID
Oracle Application Express 3.2.1.00.10 VALID
Oracle Enterprise Manager 11.2.0.1.0 VALID
OLAP Catalog 11.2.0.1.0 VALID
Spatial 11.2.0.1.0 VALID
Oracle Multimedia 11.2.0.1.0 VALID
Oracle XML Database 11.2.0.1.0 VALID
Oracle Text 11.2.0.1.0 VALID
Oracle Expression Filter 11.2.0.1.0 VALID
Oracle Rules Manager 11.2.0.1.0 VALID
Oracle Workspace Manager 11.2.0.1.0 VALID
Oracle Database Catalog Views 11.2.0.1.0 VALID
Oracle Database Packages and Types 11.2.0.1.0 VALID
JServer JAVA Virtual Machine 11.2.0.1.0 VALID
Oracle XDK 11.2.0.1.0 VALID
Oracle Database Java Packages 11.2.0.1.0 VALID
OLAP Analytic Workspace 11.2.0.1.0 VALID
Oracle OLAP API 11.2.0.1.0 VALID

18 rows selected.


3. 检查磁盘空间(system 必须要最少 10m)

SQL> select a.tablespace_name, round(a.total_size) "total_size(mb)",
round(a.total_size) - round(b.free_size,3) "unsed_size(mb)",
round(b.free_size,3) "free_size(mb)",
round(b.free_size/total_size *100,2) ||'%' free_rate
from
(select tablespace_name,sum(bytes) /1024/1024 total_size
from dba_data_files
group by tablespace_name) a,
(select tablespace_name,sum(bytes)/1024/1024 free_size
from dba_free_space
group by tablespace_name) b
where a.tablespace_name=b.tablespace_name(+);

4.为数据库做冷备份

RMAN>run {
shutdown immediate;
startup mount;
allocate channel c1 type disk;
allocate channel c2 type disk;
backup full tag='db_full_bak' database format '/home/oracle/rmanbak/full_cold_%d_%s.bak';
alter database open;
}


RMAN> list backup;


数据库正常关闭后,还需要备份Oracle主目录,目的还是为了升级失败时,能够还原出数据库软件到升级前的版本。
重点是如下目录:

ORACLE_HOME/dbs

ORACLE_HOME/network/admin

ORACLE_HOME/hostname_dbname

ORACLE_HOME/oc4j/j2ee/OC4J_DBConsole_hostname_dbname

[oracle@11g ~]$ env|grep ORA
ORACLE_SID=orcl
ORACLE_BASE=/home/oracle/app
ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1
[oracle@11g ~]$ tar cvf oracle.ora /home/oracle

5. 关闭数据库实例及相关进程 (静态监听、动态监听、EOM、相关服务)

--停止数据库外部进程
[root@11g ~]#ps -ef|grep -v grep |grep LOCAL=NO|awk '{print $2}'|xargs kill -9

SQL> shutdown immediate;
[oracle@11g rmanbak]$ cat /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
[oracle@11g rmanbak]$ lsnrctl stop
[oracle@11g rmanbak]$ lsnrctl status
[oracle@11g rmanbak]$ ps -ef |grep ora_|grep -v grep
[oracle@11g rmanbak]$ netstat -an |grep 1521
[oracle@11g rmanbak]$ netstat -an |grep 1158

6. 开始升级操作
[oracle@11g ~]$ cd /tmp/database
[oracle@11g database]$ ./runInstaller

6.1 不勾选  图形化升级单机oracle  11.2.0.1 到 11.2.0.4 , 点击 next

 

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

6.2 选择  skip software updates

 

 

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

6.3 选择 upgrade an existing database

 

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

6.4 选择语言

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

 6.5 选择 enterprise edition

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

6.6  注意这里的安装位置,我之前的安装目录是11.2.0,我新目录是11.2.0.4 即将oracle 安装到其他位置,这样可以减少宕机时间,也是oracle 推荐的方法。

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

6.7 执行到76%的时候弹出如下窗口: 用 root 用户跑这个脚本

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

下面就是一个配置监听的过程

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

随后就是 会自动调用DBUA 来升级我们的实例(1---7步)

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

 

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

 

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

 7. 修改环境变量

然后,再修改oracle用户的.bash_profile

ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1

然后source ~/.bash_profile

 

查看 cat /etc/oratab   【内容应该是新目录】

图形化升级单机oracle  11.2.0.1 到 11.2.0.4

 

8. 登录查看,升级后版本

[oracle@11g ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Mon Feb 16 05:54:26 2015

Copyright (c) 1982, 2009, Oracle. All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

 

SQL> set linesize 150
SQL> set pagesize 9999
SQL> col comp_name format a40
SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;

COMP_NAME VERSION STATUS
---------------------------------------- ------------------------------ ------------------
OWB 11.2.0.1.0 VALID
Oracle Application Express 3.2.1.00.10 VALID
Oracle Enterprise Manager 11.2.0.4.0 VALID
OLAP Catalog 11.2.0.4.0 VALID
Spatial 11.2.0.4.0 VALID
Oracle Multimedia 11.2.0.4.0 VALID
Oracle XML Database 11.2.0.4.0 VALID
Oracle Text 11.2.0.4.0 VALID
Oracle Expression Filter 11.2.0.4.0 VALID
Oracle Rules Manager 11.2.0.4.0 VALID
Oracle Workspace Manager 11.2.0.4.0 VALID
Oracle Database Catalog Views 11.2.0.4.0 VALID
Oracle Database Packages and Types 11.2.0.4.0 VALID
JServer JAVA Virtual Machine 11.2.0.4.0 VALID
Oracle XDK 11.2.0.4.0 VALID
Oracle Database Java Packages 11.2.0.4.0 VALID
OLAP Analytic Workspace 11.2.0.4.0 VALID
Oracle OLAP API 11.2.0.4.0 VALID

18 rows selected.

 SQL> select count(*) from dba_objects where status<>'VALID';


  COUNT(*)
----------
0


SQL> select * from utl_recomp_errors;


no rows selected






-- 最后修改 compatible 参数 ,切记这个参数已修改,此次升级操作就无法回退,一定要在应用经过测试之后修改。


SQL> show parameter comp


NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
cell_offload_compaction     stringADAPTIVE
compatible     string11.2.0
nls_comp     stringBINARY
plsql_v2_compatibility     booleanFALSE


SQL> alter system set compatible='11.2.0.4.0' scope=spfile;


System altered.


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


Total System Global Area 1068937216 bytes
Fixed Size    2260088 bytes
Variable Size  671089544 bytes
Database Buffers  390070272 bytes
Redo Buffers    5517312 bytes
Database mounted.
Database opened.
SQL> show parameter comp


NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
cell_offload_compaction     stringADAPTIVE
compatible     string11.2.0.4.0
nls_comp     stringBINARY
plsql_v2_compatibility     booleanFALSE