温馨提示×

Ubuntu Oracle更新与升级步骤

小樊
46
2025-09-21 09:23:10
栏目: 云计算

Ubuntu环境下Oracle数据库更新与升级步骤

一、Oracle软件包更新(非数据库版本升级)

若仅需更新已安装的Oracle软件包(如补丁、小版本更新),可通过以下步骤完成:

  1. 更新Ubuntu系统包列表:打开终端,执行sudo apt update,同步系统软件包索引。
  2. 升级Oracle相关软件包:运行sudo apt upgrade,升级所有可用的Oracle软件包(如oracle-instantclientoracle-database-common等)至最新版本。
  3. 验证更新结果:通过dpkg -l | grep oracle查看已安装的Oracle软件包版本,确认更新成功。

二、Oracle数据库版本升级(如11g→12c、12c→19c)

数据库版本升级需更严谨的流程,以下是详细步骤:

1. 升级前准备工作

  • 备份数据:使用RMAN(推荐)或Oracle Data Pump导出全量备份,确保数据可恢复。示例如下:
    -- RMAN全备份 rman target / RUN { ALLOCATE CHANNEL d1 DEVICE TYPE DISK; BACKUP DATABASE FORMAT '/soft/rmanbak/%U'; BACKUP CURRENT CONTROLFILE FORMAT '/soft/rmanbak/controlfile.bak'; } 
  • 检查系统要求:确认Ubuntu系统满足新版本Oracle的硬件要求(如内存、磁盘空间),并调整内核参数(如fs.file-maxkernel.sem)以适配Oracle需求。
  • 修改用户限制:编辑/etc/security/limits.conf,增加Oracle用户(如oracle)的资源限制,例如:
    oracle soft nofile 65536 oracle hard nofile 65536 oracle soft nproc 2048 oracle hard nproc 16384 
  • 安装依赖项:通过sudo apt install alien libaio1 unixodbc安装Oracle所需的依赖库。

2. 安装新版本Oracle软件

  • 下载新版本软件:从Oracle官方网站下载适用于Ubuntu的新版本Oracle Database软件包(如.rpm.deb格式)。
  • 转换包格式(若为RPM):若下载的是RPM包,使用alien工具转换为DEB格式:
    sudo alien -dv oracle-database-19c-ee-19.0.0.0.0.x86_64.rpm 
  • 安装软件包:使用dpkg安装转换后的DEB包:
    sudo dpkg --install oracle-database-19c-ee_19.0.0.0.0-1_amd64.deb 
  • 配置环境变量:编辑~/.bash_profile,添加Oracle环境变量:
    export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1 export TNS_ADMIN=$ORACLE_HOME/network/admin export NLS_LANG='AMERICAN_AMERICA.UTF8' export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH export PATH=$ORACLE_HOME/bin:$PATH 
    执行source ~/.bash_profile使变量生效。

3. 执行数据库升级

  • 选择升级方式
    • DBUA(图形界面):运行dbua命令启动Database Upgrade Assistant,按照向导步骤选择数据库实例、升级路径,DBUA会自动处理预升级检查和配置调整。
    • 手动升级:通过SQL*Plus执行升级脚本:
      sqlplus / as sysdba SHUTDOWN IMMEDIATE; STARTUP UPGRADE; @?/rdbms/admin/catalog.sql; -- 升级数据字典 @?/rdbms/admin/catproc.sql; -- 升级PL/SQL组件 @?/rdbms/admin/utlrp.sql; -- 编译无效对象 SHUTDOWN IMMEDIATE; STARTUP; -- 正常启动数据库 
  • 应用补丁:根据官方文档,安装必要的补丁集(如PSU、CPU),确保数据库稳定性。

4. 升级后验证

  • 检查版本信息:通过SQL*Plus查询v$version视图,确认数据库版本已更新:
    sqlplus / as sysdba SELECT * FROM v$version; 
  • 验证功能正常性:运行简单的SQL查询(如SELECT SYSDATE FROM dual;),检查数据库功能是否正常。
  • 检查无效对象:执行SELECT COUNT(*) FROM dba_objects WHERE status = 'INVALID';,若有无效对象,需重新编译(@?/rdbms/admin/utlrp.sql)。

三、注意事项

  • 测试环境验证:生产环境升级前,务必在测试环境中模拟整个流程,避免意外问题。
  • 版本兼容性:确认新版本Oracle与现有应用程序、客户端驱动的兼容性,避免连接失败。
  • 监控系统性能:升级过程中及完成后,监控系统资源(CPU、内存、磁盘I/O),确保性能稳定。
  • 保留旧版本:升级前备份旧版本Oracle软件,以便回滚(若升级失败)。

0