暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle11.2.0.3升级至11.2.0.4

Oracle工作笔记 2019-05-23
1750
一、安装图形界面
yum search tiger   #搜索安装vnc服务器
yum grouplist #显示可用group列表
yum -y groupinstall desktop

二、升级grid
  1. 图形界面升级grid,在启动安装软件后第二步installation option选择“Upgrade Oracle Grid Infrastructure or Oracle Automatic Storage Management”。第七步installation location的software location选择新建的11.2.0.4的GI目录/oracle/grid/11.2.0.4

  2. 修改grid用户下的.bash_profile文件,将ORACLE_HOME环境变量修改为新的ORACLE_HOME

三、db升级前准备
  1. 将11.2.0.4的db软件安装至新目录,注意是安装软件,不是升级

  2. 收集字典信息

exec DBMS_STATS.GATHER_FIXED_OBJECTS_STATS();
exec DBMS_STATS.GATHER_DICTIONARY_STATS(ESTIMATE_PERCENT=>100,METHOD_OPT=>'FOR ALL COLUMNS SIZE AUTO',DEGREE=>8,GRANULARITY=>'AUTO',CASCADE=>TRUE,OPTIONS=>'GATHER AUTO');

  1. 11.2.0.3数据库pre-upgrade 脚本检查

SQL> SPOOL upgrade_info.log
SQL> @$11204_ORACLE_HOME/rdbms/admin/utlu112i.sql(新的oracle home下的脚本)
SQL> SPOOL OFF

  1. 一些数据库信息查询

-- 1. 物化视图刷新完成
SELECT *
FROM sys.obj$ o,
sys.user$ u,
sys.sum$ s
WHERE o.type# = 42
AND Bitand(s.mflags, 8) = 8;
-- 2. 无待恢复文件
SELECT *
FROM v$recover_file;
-- 3. 无备份状态文件
SELECT *
FROM v$backup
WHERE status != 'NOT ACTIVE';
--4. 未完成分布式事务
SELECT *
FROM dba_2pc_pending;
-- 若有输出
SELECT local_tran_id
FROM dba_2pc_pending;
EXECUTE dbms_transaction.purge_lost_db_entry('&local_tran_id');
commit;

  1. 清除并关闭recyclebin

PURGE dba_recyclebin;
Alter system set recyclebin=off;

  1. 修改cluster_database参数

Alter system set CLUSTER_DATABASE=false scope=spfile;

四、手工升级db
  1. 停库

shutdown immediate

  1. 检查环境变量
    检查ORACLE_SID,ORACLE_HOME,PATH等环境变量是否设置为新库

  2. copy11.2.0.3数据库参数文件和密码文件至11.2.0.4数据库,执行升级

SQL> Startup upgrade
SQL> SPOOL upgrade.log
SQL>@$ORACLE_HOME/rdbms/admin/catupgrd.sql

  1. 重新启动数据库,执行其他步骤

Startup
-- 查询升级信息
@$ORACLE_HOME/rdbms/admin/utlu112s.sql
-- 执行其他升级步骤
@$ORACLE_HOME/rdbms/admin/catuppst.sql
-- 编译失效对象
Alter system set job_queue_processes=60;
@?/rdbms/admin/utlrp.sql

五、升级后步骤
  1. 设置相关参数

 Alter system set COMPATIBLE='11.2.0.4' scope=spfile;
Alter system set CLUSTER_DATABASE=true scope=spfile; --单节点不要设置此参数
Shutdown immediate
Startup

  1. 执行psu post

@?/rdbms/admin/catbundle.sql psu apply

  1. 收集全库统计信息

begin
dbms_stats.gather_database_stats(estimate_percent => dbms_stats.auto_sample_size,
degree => 8,
method_opt => 'for all columns size auto',
cascade => True);
end;
/
exit;

六、问题总结
  1. 如果是非RAC环境升级,升级后不要设置CLUSTER_DATABASE=true

  2. 检查监听服务是否都正确拉起来了

#检查命令
crsctl status resource -t
#如果有资源未拉起,执行以下步骤
srvctl upgrade database -d db_name -o $ORACLE_HOME
shutdown immediate
startup

  1. 单节点升级后有未注册组件

--查询代码
SET linesize 200

SELECT *
FROM dba_registry
WHERE status <> 'VALID';

若以上查询代码有输出,执行以下步骤

1. shell中执行
cd $ORACLE_HOME/bin
./adapters ./oracle
2. 进数据库编译失效对象
@?/rdbms/admin/utlrp.sql
3. 编译数据库程序文件
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk rac_on ioracle



本文分享自微信公众号 - Oracle工作笔记,如有侵权,请联系 service001@enmotech.com 删除。
最后修改时间:2019-12-17 11:17:10
文章转载自Oracle工作笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论