欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 10g 升级到11g实训项目

程序员文章站 2022-04-22 14:16:19
...

Oracle 10g UPDATE 11g实训项目一、项目流程:1、在Oracle 10.2.0.5数据库所在的服务器上安装11.2.0.3数据库软件2、在11.2.0.3的

Oracle 10g UPDATE 11g实训项目

一、项目流程:
1、在Oracle 10.2.0.5数据库所在的服务器上安装11.2.0.3数据库软件
2、在11.2.0.3的环境变量下,,执行dbua,执行图形化数据库升级操作
3、后续工作:修改spfile中的compatible等操作
二、修改linux内核参数及安装必备包(存储、具体参数和包可在安装软件时先看,再退出安装再改)
net.core.rmen_dafault=4194304
net.core.rmen_max=4194304
net.core.wmen_dafault=1048675
net.core.wmen_max=1048675
fs.aio-max-nr=1048576

三、安装软件
在此不累赘了
四、在11.2.0.3的环境变量下,执行dbua,执行图形化数据库升级操作
1)Vim /home/oracle/.bash_profile(修改ORACLE_HOME)
2)从11gR2的Oracle Home下拷贝以下文件至一个临时文件夹:
$ORACLE_HOME/rdbms/admin/utlu112i.sql
3)登陆数据库,运行:
$ sqlplus '/ as sysdba'
SQL> @utlu112i.sql
SQL> spool off
SQL>

4)检查Timezone版本,主要参考:
Actions For DST Updates When Upgrading To Or Applying The 11.2.0.2 Patchset [ID 1201253.1]
注意:11g的软件里已经自带了版本1-14的Timezone。
先检查一下当前timezone版本:
SQL> conn / as sysdba
Connected.
SQL>SELECT version FROM v$timezone_file;
根据当前timezone的版本,又分三种情况:
1)等于14:这已经是11g需要的版本了,所以升级前后都不需要做任何事,这种情况很罕见。
2)高于14:升级前,必须得给11g软件打上该timezone版本的DST补丁,这种情况也很罕见。
3)低于14:大多数都是这种情况,在升级前不需要在11g软件层面打补丁,在升级后需要再数据库层面将Timezone升级至14,具体看后面的步骤

Step 7.
检查国家字符集是否是UTF8或AL16UTF16:
select value from NLS_DATABASE_PARAMETERS where parameter = 'NLS_NCHAR_CHARACTERSET';

5)停止listener:
$ lsnrctl stop
停止其它可执行程序,如dbconsole, isqlplus等
$ emctl stop dbconsole
$ isqlplusctl stop
关闭数据库:
$ sqlplus "/as sysdba"
SQL> shutdown immediate;
接着对全库做个冷备。

6)以10g的pfile为模板,并根据Step 2生成的upgrade_info.log里的建议,为11g创建一个新的pfile。

7)升级前的检查步骤基本上已经完成了,在跑升级脚本之前,需要把相关参数改为指向新的11g软件:
$ export ORACLE_HOME=
$ export PATH=$ORACLE_HOME/bin:$PATH
$ export ORACLE_BASE=

Oracle 10g 升级到11g实训项目