博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
生产环境oracle10g升级至11g准备工作
阅读量:2445 次
发布时间:2019-05-10

本文共 4861 字,大约阅读时间需要 16 分钟。

最近需要生产系统从10.2.0.5.升级到11.2.0.2.0
做了不少的准备工作,硬是在周末自己搭了测试环境,照着自己准备的升级步骤练习了一番。
除过基本的检查,从Metalink上下载了最新的psu,和公司的资深dba确认后,提供了给了客户。这样数据库就算是升级到11.2.0.2.10
主要有以下的步骤 :
1.new ORACLE_HOME(11g), old ORACLE_HOME (10g)
--这些需要提前提供给客户,作为基本的约定
2.install oracle software 11.2.0.2.0 on production
--总共有7个DB,时间很紧,所以准备要充分
3.apply DB patch additional if needed
--patch详细信息参见 Note:16056267.8
11.2.0.2.10 (Apr 2013) Database Patch Set Update (PSU) Patch:
16056267
4.init parameter tuning
--这个也是必需的,主要有三个方面
    11g里面可能过期的参数,如user_dump......
     11g里面新增加的参数,如diag....,有些需要考虑是否调优。
     10g里面调优的隐含参数是否需要保留...
5.OS kernel tuning
--系统级的调优也是必须的。需要找专门的team来提供意见。
6.PET and Production compare
--准生产环境的准备,需要做足前期的测试工作。
7.confirm details with App team if have any concern.
--对于升级过程中的部分问题,如果不能确认,需要找开发或者其他的team来协调。
8.full backup or cold backup
--这个取决于具体的环境实施方案,保证充足的备份很重要,生产系统做cold backup应该很悬了。
9.check if there are crontab running or scheduled.
--这个需要提前考虑,一般的项目都会有系统监控,要保证在升级过程中排除不必要的影响。如果有goldengate同步之类的,也需要提前协调好,保证不会影响。
10.check if all database components are valid
--可以使用如下的sql来
select substr(comp_name,1,40) comp_name, status, 
substr(version,1,10) version from dba_registry 
order by comp_name;   --组建都应该是valid状态。
11.check if all objects are valid 
--检查object状态也应该是valid.
if there are component or objects invalid, need to use utlrp.sql
to recompile
12.check if duplicate objects owned by SYS and SYSTEM Schema
--从dba_objects里查询,保证sys,system下的没有重复的object,,以下是期望的结果,如果有其他的,需要查看metalink文档来处理。Note,1030426.6
 OBJECT_NAME OBJECT_TYPE
------------------------------ -------------------
AQ$_SCHEDULES TABLE
AQ$_SCHEDULES_PRIMARY INDEX
DBMS_REPCAT_AUTH PACKAGE
DBMS_REPCAT_AUTH PACKAGE BODY
13.disable custom triggers
--为了排除trigger的导致的ddl影响,建议还是disable custom trigger.
14.Copy Pre-upgrade Information script. to a local folder
--建一个临时的文件夹,把升级所需的脚本拷贝过去。如脚本rdbms/admin/utlu112i.sql 需要从11ghome下rdbms/admin提前拷贝过去。
15.Run Pre-upgrade Information Tool on target database (10g)
--spool一下,做升级前的检查工作。
sqlplus / as sysdba
spool pre_upgrade_info.log
@utlu112i.sql
spool off
16.Check the output of the Pre-Upgrade Information Tool
--这里需要注意warning信息,清空recyclebin,保证timezone file必须是v4,要不升级100%失败。还有要注意部分参数,根据提示进行修改。
17.backup  /etc/oratab,tnsnames.ora,listener.ora           sqlnet.ora,password file, pfile,spfile,profile
--备份必要的文件,作为rollback的备份。
18.Copy Network files to 11g Home and modify the home in listener
--拷贝tnsnames.ora,listener.ora到11g home的对应目录下。
19.Copy password file to 11g Home
--拷贝密码文件
20.Prepare a separate .bash_profile to set 11g environment variables
--profile文件也需要做相应修改。
21.Collect dictionary stats
--使用如下的包来
EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;
22.Stop Listener services of the target database.
--停掉监听,开始升级
23.Shutdown the target database (10g)
--down掉数据库,清空缓存,这样起来以后跑脚本会排出很多干扰,速度也快一些。
24.Set working environment to 11g ORACLE_HOME. Make sure multiple ORACLE HOMEs are not in the PATH variable.
25.Copy spfile to 11g home.
26.stop source(10g) DB,Start the db in nomount,mount mode, and make necessary changes/adjustments in spfile with scope=spfile.
--这一步,需要修改compatible参数,调节一些参数。(之前的步骤进行参数调优的时候准备好的)  
最后create spfile from pfile;
27.Shutdown and startup the db in upgrade mode.
--启动数据库,使用spfile,
--startup upgrade
28.Run upgrade script. Exit the session after upgrade.
--这个是最关键的脚本,运行时间也会长一些。,脚本运行完成后,会自动shutfdown immediate
spool upgrade11g2.log
@?/rdbms/admin/catupgrd.sql
Spool off
Exit
29.Verify the log for errors. Ignore “table or view not found” errors
--如果有部分错误,需要检查,如果有些错误如memory issue 不能忽略,需要重新运行脚本
30.Startup the db in normal mode and run post upgrade information tool. Verify the status of each db component and address the failures.
--启动数据库,运行如下的脚本。
spool post_upgrade_info.txt
@?/rdbms/admin/utlu112s.sql
Spool
31.Continue upgrade (new in 11g)  
--继续执行脚本,属于post upgrade脚本。
Spool upgrade11g2.log
@?/rdbms/admin/catuppst.sql
Spool off
32.Recompile invalid objects
33.enable custom triggers
--enable之前disable的trigger
34.update /etc/oratab with 11g home
--更改该配置,在某些应用中会用到。
35.rename spfile/pfile from 10g home
--保证10g的参数不被使用,保证不会有错误的操作导致不必要的麻烦。
36.Start Listener services of the target database with 11g HOME.
--确定后启动监听。
37.DBA sanity check(check if mv is able to refresh,db components are valid,check if there are ORA erros from logs)
--DBA先做一些简单的sanity test.保证环境交给客户之前不会有基本的错误。
38.Check the connectivity from client
--然后从客户端进行测试,连接是否正常。
39.Backup of DB after upgrade
--进行必要的备份。
40.upgrade rman catalog if necessary
--如果使用rman做备份恢复,需要升级catalog
41.change crontab 
--可以修改crontab,使其生效。
--大体的步骤就以上这么多,也希望大家拍砖,提供修正意见。:)
-------------------------------------------------------------------------------
2013-0714:补充:升级完之后 升级timezone file.
SQL> select *from v$timezone_file;
FILENAME                VERSION
-------------------- ----------
timezlrg_4.dat                4
需要升级到14,要不可能会有一些问题。 参照文档Note:977512.1:

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23718752/viewspace-765999/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23718752/viewspace-765999/

你可能感兴趣的文章
机器人学数学理论_基于格理论的机器学习数学
查看>>
unity 场景优化_Unity优化:您的场景层次正在抢劫您
查看>>
如何制作电子邮件而不是一团糟:实用技巧
查看>>
px em rem区别_px,em,rem,%之间有什么区别? 答案在这里
查看>>
pvs-stdio ue4_云中的PVS-Studio:Azure DevOps
查看>>
理想商城_理想产品经理的52个特征
查看>>
移动应用程序开发_7种用于移动应用程序开发的终极编程语言
查看>>
本地应用程序_应用程式本地化的十大语言
查看>>
sds和c字符串比较_SDS虚拟化架构的简要比较
查看>>
java项目中出现的bug_2019年在Java项目中发现的十大bug
查看>>
app开发和web开发_理解现代Web App开发概念的指南
查看>>
汉语句子的意群和重音_五重音而不是字节-数据存储和检索方法
查看>>
现实增强 工具包 csdn_增强现实:21世纪教育的理想工具
查看>>
tls 1.2加密_椭圆曲线加密在TLS 1.3中的工作方式
查看>>
pvs-stdio ue4_使用PVS-Studio检查GCC 10编译器
查看>>
inter-rat_数字取证技巧和窍门:基于IM的电报RAT-第二部分
查看>>
物联网细分行业_2020年全国互联网细分市场可靠性研究
查看>>
加拿大加密货币交易_加密货币交易-如何制定可持续战略
查看>>
pvs-stdio ue4_使用PVS-Studio检查电报开放网络
查看>>
寻找新
查看>>