千家信息网

ORACLE跨版本升级

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,跨版本升级(10.2.0.5升级到11.2.0.3)10.2.0.5版本:ORACLE_BASE: /oracle/u01/app/oracleORACLE_HOME: /oracle/u01/app
千家信息网最后更新 2025年11月08日ORACLE跨版本升级

跨版本升级(10.2.0.5升级到11.2.0.3)
10.2.0.5版本:ORACLE_BASE: /oracle/u01/app/oracle
ORACLE_HOME: /oracle/u01/app/oracle/product/10.2/db_1
11.2.0.3版本:ORACLE_BASE: /oracle/u02/app/oracle
ORACLE_HOME: /oracle/u02/app/oracle/product/10.2/db_1

描述:新装11g的软件,用新的软件来挂原来10g的库。

升级步骤:
1、升级前确认数据库已经完全备份,如果没做备份,则不要去做升级。
2、可行性问题,是否能够升级?升级的要求有哪些?应用程序是否支持新的版本?预迁移查看应用是否满足需求?
先看升级图,查看是否能升级,高于10.2.0.2才能直接升级到11gR2版本。
3、安装高版本的数据库到新的安装目录,本例中为/oracle/u02/app/oracle目录。
4、启动原来数据库,创建pfile文件a.txt,将该文件存放在/tmp下。
5、跑预升级脚本(建议脚本),11g版本跑ORACLE_HOME/rdbms/admin/utlu112i.sql脚本。 注:ORACLE_HOME为ORACLE软件的安装目录。
6、根据脚本建议修改/tmp/a.txt文件,修改表空间大小,清空回收站,收集统计信息。
7、关闭原来数据库相关的应用,关闭数据库。
8、用orcle用户拷贝低版本安装目录下ORACLE_BASE/admin文件夹到11g的ORACLE_BASE下。
9、修改oracle用户环境变量,将ORACLE_BASE和ORACLE_HOME修改到高版本安装目录下。
10、使用root用户修改/etc/oratab文件和/etc/oraInst.loc文件,将相关的路径修改为新版本的路径。
11、使用/tmp/a.txt参数文件启动数据库到升级模式,重建spfile文件,跑升级脚本升级数据库。升级完成后数据库自动关闭。
12、升级完成后重建oraInventory目录。
13、删除原来的软件安装目录。

具体实施:
1、查看数据库是否已经完全备份,如果未做备份,则不要做升级。
2、研究升级的可行性问题,确认以下问题。
数据库是否能够升级?
升级的要求有哪些?
应用程序是否支持新版本的数据库?
做预迁移查看应用是否能够满足需求。
查找资料(官方文档),查看能否升级,高于10.2.0.2的版本可以直接升级到11gR2版本。
以上问题确认可行后才可升级。
3、安装高版本的数据库到新的安装目录,本例中为/oracle/u02/app/oracle目录。
注:oracle11g的升级为全新安装,从低版本(9i或10g)升级到11g或者从11g低版本升级到11g高版本都是全新安装。
4、启动原来的数据库,创建pfile文件(/tmp/a.txt)。
注:pfile文件为数据库的参数文件,记录数据库的pga、sga、控制文件位置等信息。在启动数据库时用到。
此处创建pfile文件的目的是用新版本的数据库软件启动原来的数据库。
oracle用户登录系统,链接数据库。
sqlplus / as sysdba; 注:oracle用户执行此命令链接到数据库。
SQL> startup 注:启动数据库,如果数据库已经启动则会报错。
SQL> create pfile='/tmp/a.txt' from spfile; 注:创建新的参数文件/tmp/a.txt
5、跑预升级脚本(建议脚本),该脚本的作用是检查数据库升级时有哪些参数需要修改。
SQL> spool /tmp/test.txt 注:打开spool,将该命令之后执行的sql语句及结果存放在/tmp/test.txt文件中。
SQL> @/oracle/u02/app/oracle/product/10.2/db_1/rdbms/admin/utlu112i.sql
SQL> spool off;
6、查看/tmp/test.txt文件,根据提示修改/tmp/a.txt文件,修改表空间大小,清空回收站,收集统计信息。
修改/tmp/a.txt文件:
删除原实例名开头的所有行。
删除.background_dump_dest开头的行
删除
.user_dump_dest开头的行
删除.core_dump_dest开头的行
添加
.diagnostic_dest='/oracle/u02/app/oracle'
按照/tmp/a.txt文件中的建议加大sga_target和pga_aggregate_target参数大小。
修改.compatible的值:.compatible='11.2.0.0.0'
修改.audit_file_dest的路径:.audit_file_dest='/oracle/u02/app/oracle/admin/fsdb/adump'
修改表空间的大小。
SQL> select file_name,tablespace_name,bytes/1024/1024 from dba_data_files; 查看各个表空间数据文件的大小。
SQL> select file_name,tablespace_name,bytes/1024/1024 from dba_temp_files; 查看temp表空间的数据文件大小。
SQL> alter database datafile '/oradata/fsdb/sysaux01.dbf' resize 500M; 修改sysaux表空间数据文件大小为500M。
SQL> alter database tempfile '/oradata/fsdb/temp01.dbf' resize 400M; 修改temp表空间数据文件大小为400M。
清空回收站:
SQL> purge dba_recyclebin;
SQL> purge user_recyclebin;
收集统计信息:
SQL> execute dbms_stats.gather_dictionary_stats;
具体修改为多大要根据/tmp/test.txt文件中的建议修改。
7、关闭应用,关闭原来的数据库。
SQL> shutdown immediate;
8、oracle用户复制oracle10g的ORACLE_BASE目录下的admin文件夹到11g下的ORACLE_BASE下。
cp -r /oracle/u01/app/oracle/admin /oracle/u02/app/oracle
9、oracle用户修改oracle用户的环境变量,将ORACLE_HOME和ORACLE_BASE修改到11g的安装目录下。
vi /home/oracle/.bash_profile 注:编辑oracle用户的环境变量
export ORACLE_BASE=/oracle/u02/app/oracle
export ORACLE_HOME=/oracle/u02/app/oracle/product/10.2/db_1 注:后面两行为修改后的内容
10、使用root用户修改/etc/oratab文件和/etc/oraInst.loc文件,将相关的路径修改为11g的路径。
vi /etc/oratab 注:修改/etc/oratab文件,该文件与oracle数据库是否开机启动相关。
fsdb:/oracle/u02/app/oracle/product/10.2/db_1:N 注:对该行做出修改,将路径改为11g的路径。
vi /etc/oraInst.loc 注:修改/etc/oraInst.loc文件,该文件控制oraInventory的存放路径。
inventory_loc=/oracle/u02/app/oracle/oraInventory 注:将oraInventory存放路径修改为11g的路径。
11、使用/tmp/a.txt参数文件启动数据库到升级模式,创建新的spfile文件,跑升级脚本。完成后数据库自动关闭。
oracle用户登录到空实例。 sqlplus / as sysdba
SQL> startup upgrade pfile='/tmp/a.txt'; 注:使用/tmp/a.txt参数文件启动数据库到升级模式。
SQL> create spfile from pfile='/tmp/a.txt'; 注:创建新的spfile文件,方便以后启动数据库。
SQL> @?/rdbms/admin/catupgrd.sql 注:执行升级脚本,完成数据库的升级。
12、重建oraInventory目录。
oracle用户到$ORACLE_HOME/oui/bin目录下,执行以下命令;
./runInstaller -slient -attachHome ORACLE_HOME="/oracle/u02/app/oracle/product/10.2/db_1" ORACLE_HOME_NAME="oracleHome";
注:ORACLE_HOME为11g软件的ORACLE_HOME,ORACLE_HOME_NAME可以任意指定,不会有什么影响。
执行完成后重启数据库,查看数据库版本,查看数据库是否正常。
13、确认正常无误后删除10g数据库的安装目录。

数据 文件 数据库 升级 版本 目录 用户 脚本 路径 大小 参数 空间 软件 应用 建议 信息 备份 开头 问题 可行 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 利用网络技术开展教研 恒生互联网科技指数 雪球 网络安全预防诈骗手抄报 激战2国服如何转服务器 帝国神话服务器怎么设置 台湾的法律数据库 服务器连接失败失落的方舟 跨界软件开发 石家庄财务软件开发多少钱 手游光遇服务器补偿标准 长江海事局2019网络安全 华为鲲鹏服务器落户北京航天 lol手游怎么玩东南亚服务器 东港市网络安全应急指挥中心 互联网科技专解 嵌入式数据库支持网络存取吗 福州市天煌网络技术有限公司 2020网络安全大会开场白 网络安全ppt封面图片 obca数据库认证难考不 快看显示服务器不可用 如何判断数据库的类型 帝国神话服务器怎么设置 网络技术与应用解答题 无锡江苏大容量服务器代理商 数据库运行环境应如何写 青浦区进口网络技术创造辉煌 如何打开站点服务器 北京专业服务器机柜 营业线施工安全风险控制数据库
0