千家信息网

异机升级Oracle10R2 到11.2.0.4步骤

发表于:2024-09-23 作者:千家信息网编辑
千家信息网最后更新 2024年09月23日,环境目前环境10.2.0.4OS版本 linux5.5新环境数据库版本:11.2.0.4.17OS 版本: linx6.5一.安装在192.0.2.12机器上安装软件11.2.0.4 并打上11.2.
千家信息网最后更新 2024年09月23日异机升级Oracle10R2 到11.2.0.4步骤

环境

目前环境10.2.0.4

OS版本 linux5.5

新环境数据库版本:11.2.0.4.17

OS 版本: linx6.5


一.安装

在192.0.2.12机器上安装软件

11.2.0.4 并打上11.2.0.4.170418

注意:在11.2.0.4上打上最新的PSU,

这样就不用跑两次catbundle.sql,减少停机时间。

二 检查

1. 在升级之前,确保所有的组件和对象都是valid:


select substr(comp_name,1,40) comp_name, status, substr(version,1,10) version from dba_registry order by comp_name;

COMP_NAME STATUS VERSION

-------------------------------------------------------------------------------- ---------------------- --------------------

JServer JAVA Virtual Machine VALID 10.2.0.4.0

OLAP Analytic Workspace VALID 10.2.0.4.0

OLAP Catalog VALID 10.2.0.4.0

Oracle Data Mining VALID 10.2.0.4.0

Oracle Database Catalog Views VALID 10.2.0.4.0

Oracle Database Java Packages VALID 10.2.0.4.0

Oracle Database Packages and Types VALID 10.2.0.4.0

Oracle Enterprise Manager VALID 10.2.0.4.0

Oracle Expression Filter VALID 10.2.0.4.0

Oracle interMedia VALID 10.2.0.4.0

Spatial VALID 10.2.0.4.0



SQL> select substr(object_name,1,40) object_name,substr(owner,1,15) owner,object_type

from dba_objects where status='INVALID' order by owner,object_type;

no rows selected --针对对象

如果有invalid的对象,运行utlrp.sql重新编译对象。


三、升级前工作

1.

从11gR2的Oracle Home下拷贝以下文件至一个临时文件夹:

$ORACLE_HOME/rdbms/admin/utlu112i.sql


2.

SQL> ! pwd

/home/oracle10g


SQL> spool upgrade_info.log

SQL> set time on

18:34:03 SQL> set timing on

18:34:09 SQL> @/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/admin/utlu112i.sql

**********************************************************************

Elapsed: 00:00:04.40

18:34:41 SQL> spool off ;

保存此文件upgrade_info.log


3.检查脚本


set timing on

SQL> set time on

19:35:54 SQL> @/u03/arch/dbupgdiag.sql


Enter location for Spooled output:


Enter value for 1: /u03/arch/


Upload db_upg_diag_erpdb_11_Jul_2017_0736.log from "/u03/arch/" directory

Elapsed: 00:00:00.00


编译失效对象


SQL> @utlrp.sql


四:异机恢复

1.备份数据库

脚本如下:

run{

crosscheck archivelog all;

crosscheck backup;

delete noprompt obsolete;

delete noprompt expired backup;

allocate channel d1 type disk ;

allocate channel d2 type disk;

backup format '/u03/bk/%T_%d_%s_%p.bk' tag 'full_data' database ;

backup format '/u03/bk/%T_%d_%s_%p.arc' tag 'full_arc' archivelog all delete all input ;

backup format '/u03/bk/%T_%d_%s_%p.ctl' tag 'full_ctl' current controlfile;

release channel d1;

release channel d2;

}

2. 把pfile initerpdb.ora 和密码文件orapwerpdb scp到192.0.2.12 上


3.把备份文件mount到192.0.2.12上,省去copy耗时间的麻烦。

4.修改pfile文件添加

_optim_dict_stats_at_db_cr_upg = false-此参数为了在运行catupgrd.sql慢的问题




5.在192.0.2.102

启数据库

startup nomount


rman target /


startup nomount


restore controlfile from '/u03/bk/20170712_ERPDB_12_1.ctl'


run

{

set newname for datafile 1 to '/u01/app/oracle/oradata/erpdb/sys01.bdf';--- 如果是asm可以改为磁盘组'+dgdata'

set newname for datafile 2 to '/u01/app/oracle/oradata/erpdb/syu02.bdf';

set newname for datafile 3 to '/u01/app/oracle/oradata/erpdb/sy03.bdf';

set newname for datafile 4 to '/u01/app/oracle/oradata/erpdb/sy04.bdf';

restore database;

switch datafile all;

recover database;

}


6.在生产库手动切3-4归档, (一下操作需要停生产库的业务)

如果数据库量大的话,备份归档日志


backup format '/u03/bk/%T_%d_%s_%p.arc' tag 'full_arc' archivelog all delete all input ; --

并应用日志。


7. catalog backuppiece '/u03/bk/20170712_ERPDB_17_1.arc'; --注册备份集

restore archivelog from sequence 48 until sequence 52; 还原

recover database;


8.临时表空间

Select 'alter database rename file '''||NAME||''' to'''||'/目录/tempfile/'||''';' from v$tempfile;

alter database rename file '/u03/app/oracle/oradata/erpdb/temp01.dbf' to'/u01/app/oracle/oradata/erpdb/temp01.dbf';


9.redo日志

select 'alter database rename file '''||MEMBER||''' to'''||'目录/redofile/'||''';'from v$logfile;

alter database rename file '/u03/app/oracle/oradata/erpdb/redo03.log' to'/u01/app/oracle/oradata/erpdb/redo03.log';

alter database rename file '/u03/app/oracle/oradata/erpdb/redo02.log' to'/u01/app/oracle/oradata/erpdb/redo02.log';

alter database rename file '/u03/app/oracle/oradata/erpdb/redo01.log' to'/u01/app/oracle/oradata/erpdb/redo01.log';


10. alter database open resetlogs upgrade;

spool upgrade.log

@?/rdbms/admin/catupgrd.sql --此步骤时间比较长(本测试在95分钟)

spool off ;

创建spfile文件

create spfile from pfile ;


startup


ALTER SYSTEM SET compatible='11.2.0.0.0' SCOPE=SPFILE;


exec dbms_stats.gather_dictionary_stats;

编译对象

@?/rdbms/admin/utlrp.sql

数据库层面应用PSU

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


说明:

至此10gR2升级到11.2.0.4完成。其实在生产数据库升级时,升级性能测试比较重要也会和业务配合,需要考虑很多问题如:

1.应用中间件jdk

2.应用在10g-11R2的特性的用法。

3.压力测试

4.sql语句的性能(SPA测试)

参考文档


  1. 手动升级到 Oracle Database 11gR2 (11.2)的完整核对清单 (文档 ID 1674333.1)

  2. 数据库 升级/降级 兼容性矩阵 (文档 ID 1577660.1)

  3. 收集数据库升级/迁移诊断信息的脚本 (dbupgdiag.sql) (文档 ID 1577288.1)

  4. 如何下载并运行Oracle数据库预升级实用程序 (文档 ID 1577379.1)

  5. Script. to Collect DB Upgrade/Migrate Diagnostic Information (dbupgdiag.sql) [ID 556610.1]

  6. During A Manual Database Upgrade To 11.2, Gathering DictionaryStatistics Takes Too Long (catupgrd.sql, cmpupend.sql) [ID 1425763.1


升级 数据 数据库 文件 对象 文档 备份 应用 测试 日志 版本 环境 脚本 生产 编译 运行 业务 性能 手动 时间 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全立法讲座 c 保存文件到数据库 关于美国网络安全的电影 数据库复制一张表格数据 数据库建立关系时两张表能否打开 华硕服务器主板怎么关闭自检 数据库拖库什么意思 软件开发流程及各个阶段的结果 软件开发合同技术备案 网络安全与技术实践试卷 云服务器租赁提供的管理内容 怎么看知网被哪些数据库收录 服务器交换机配什么口 工控系统网络安全攻防 服务器可以插几张显卡 上海erp软件开发团队 网络技术转移价格走势 智联iot软件开发 a股的网络安全股任子行有哪些 杭州正规软件开发哪家好 数据库表主键一般叫 败笔网络安全小组名字大全 卡巴斯基管理服务器服务账户 网络安全工作亮点与不足 自己怎么创建数据库 路由器服务器连接方法 动态分类管理 数据库 网络安全工程师要打代码吗 自己服务器怎么建php网站 网络安全论证专家
0