设为首页 收藏本站
查看: 962|回复: 0

[经验分享] ORACLE跨版本升级

[复制链接]

尚未签到

发表于 2018-9-21 12:12:47 | 显示全部楼层 |阅读模式
  跨版本升级(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>>
  SQL>>  清空回收站:
  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数据库的安装目录。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-599404-1-1.html 上篇帖子: Oracle DG 之-- Remove DG Broker 下篇帖子: ORACLE数据泵 expdp/impdp使用详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表