一、安装图形界面
yum search tiger #搜索安装vnc服务器
yum grouplist #显示可用group列表
yum -y groupinstall desktop
二、升级grid
- 图形界面升级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
- 修改grid用户下的.bash_profile文件,将ORACLE_HOME环境变量修改为新的ORACLE_HOME
三、db升级前准备
- 将11.2.0.4的db软件安装至新目录,注意是安装软件,不是升级
- 收集字典信息
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');
- 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. 物化视图刷新完成
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;
- 清除并关闭recyclebin
PURGE dba_recyclebin;
Alter system set recyclebin=off;
- 修改cluster_database参数
Alter system set CLUSTER_DATABASE=false scope=spfile;
四、手工升级db
- 停库
shutdown immediate
- 检查环境变量
检查ORACLE_SID,ORACLE_HOME,PATH等环境变量是否设置为新库 - copy11.2.0.3数据库参数文件和密码文件至11.2.0.4数据库,执行升级
SQL> Startup upgrade
SQL> SPOOL upgrade.log
SQL>@$ORACLE_HOME/rdbms/admin/catupgrd.sql
- 重新启动数据库,执行其他步骤
Startup
-- 查询升级信息
@$ORACLE_HOME/rdbms/admin/utlu112s.sql
-- 执行其他升级步骤
@$ORACLE_HOME/rdbms/admin/catuppst.sql
-- 编译失效对象
Alter system set job_queue_processes=60;
@?/rdbms/admin/utlrp.sql
五、升级后步骤
- 设置相关参数
Alter system set COMPATIBLE='11.2.0.4' scope=spfile;
Alter system set CLUSTER_DATABASE=true scope=spfile; --单节点不要设置此参数
Shutdown immediate
Startup
- 执行psu post
@?/rdbms/admin/catbundle.sql psu apply
- 收集全库统计信息
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;
六、问题总结
- 如果是非RAC环境升级,升级后不要设置CLUSTER_DATABASE=true
- 检查监听服务是否都正确拉起来了
#检查命令
crsctl status resource -t
#如果有资源未拉起,执行以下步骤
srvctl upgrade database -d db_name -o $ORACLE_HOME
shutdown immediate
startup
- 单节点升级后有未注册组件
--查询代码
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
- 升级备库
先升级GI,然后安装db程序,db程序安装好后停11.2.0.3的库,以
startup upgrade
方式打开11.2.0.4数据库,应用11.2.0.3的归档日志,11.2.0.3的归档日志应用完毕后,应用11.2.0.4归档日志会报错,此时,执行
Alter system set COMPATIBLE='11.2.0.4' scope=spfile;
重启数据库,即可正常应用11.2.0.4的归档日志
网友评论