Oracle 11.2.0.1升级11.2.0.4(Linux 单机)

一、安装新版本软件

1.创建新的oracle home

mkdir -p /u01/app/oracle/product/11.2.0/db_home2
chown oracle:oinstall /u01/app/oracle/product/11.2.0/db_home2

2.环境变量设置

注意:在安装前一定要取消Oracle用户的ORACLE_BASE,ORACLE_HOME,ORACLE_SID等环境变量设置。
(.bash_profile 文件中注释相关的行)

cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

#export ORACLE_SID=orcl
#export ORACLE_BASE=/u01/app/oracle
#export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_home
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib64:$ORACLE_HOME/rdbms/lib:/lib:/usr/lib
#PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
umask 022
export PATH

现在只是安装新版本软件,对运行的数据库没有影响,数据库是启动还是关闭都行。

3.解压升级所需介质

unzip p13390677_112040_Linux-x86-64_1of7.zip -d /tmp/
unzip p13390677_112040_Linux-x86-64_2of7.zip -d /tmp/

4.安装Oracle 11.2.0.4软件

./runInstaller
(具体安装步骤略)

二、升级前的准备

1.执行 utlull2i.sql

su - oracle
(这里是旧目录)
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_home
export ORACLE_SID=orcl

如果前面关闭了数据库,需启动,没有则忽略。

执行新目录下的utlull2i.sql来进行升级前的检查:
$ORACLE_HOME/bin/sqlplus / as sysdba
@/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/utlu112i.sql

2.清空回收站

PURGE DBA_RECYCLEBIN;

3.收集统计信息

execute dbms_stats.gather_dictionary_stats;

4.创建还原点,需要开启数据库闪回(升级失败后的回滚措施)

SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE='5120m';
System altered.

SQL> alter system set db_recovery_file_dest='/recovery';
System altered.

SQL> CREATE RESTORE POINT dbua01 GUARANTEE FLASHBACK DATABASE;
Restore point created.

失败时恢复:
SQL> shutdown immediate
SQL> startup mount
SQL> flashback database to restore point dbua01;
SQL> alter database open resetlogs;

5.开始升级(两种方式)

5.1.DBUA(图形化方式)

Oracle用户执行:
/u01/app/oracle/product/11.2.0/db_1/bin/dbua

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.2.手动(命令行方式)

5.2.1.如数据库处于打开状态,先关闭数据库
SQL> shutdown immediate
5.2.2.修改为11.2.0.4的路径
vi /etc/oratab
orcl:/u01/app/oracle/product/11.2.0/db_home2:N
5.2.3.复制参数文件和监听文件到新的目录
cp /u01/app/oracle/product/11.2.0/db_home/dbs/* /u01/app/oracle/product/11.2.0/db_home2/dbs/
cp -r /u01/app/oracle/product/11.2.0/db_home/network/admin/* /u01/app/oracle/product/11.2.0/db_home2/network/admin/
5.2.4.升级
SQL> startup upgrade;
SQL> set echo on
SQL> spool /home/oracle/upgrade01.log
SQL> set time on;
SQL> @?/rdbms/admin/catupgrd.sql

SQL> startup
SQL> @?/rdbms/admin/catuppst.sql

升级完成后,修改Oracle用户的ORACLE_HOME,PATH等到新路径。

6.后续检查

6.1.检查数据库版本

col comp_name for a45
col version for a15
col status for a10
col schema for a15
set line 200
set pagesize 999
select comp_name,version,status,schema from dba_registry;

select * from v$version;

6.2.检查无效对象

col object_name for a30
col object_type for a20
col status for a10
select owner,object_name,object_type,status from dba_objects where status<>'VALID';

清理无效对象

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

6.3.检查时区文件版本

SELECT version FROM v$timezone_file;
   VERSION
----------
	   14

6.4.删除还原点

SQL> drop RESTORE POINT dbua01;

至此,升级工作完成。

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值