温馨提示×

Ubuntu Oracle更新升级流程是怎样的

小樊
49
2025-10-08 06:55:50
栏目: 云计算

Ubuntu环境下Oracle数据库升级升级流程

一、升级前准备

1. 备份数据库

升级前必须完整备份所有数据库文件,确保故障时可恢复。常用工具及命令:

  • RMAN全备份(推荐):
    rman target /
    RUN {
      ALLOCATE CHANNEL c1 TYPE DISK;
      BACKUP DATABASE PLUS ARCHIVELOG FORMAT '/soft/rmanbak/%U';
      BACKUP CURRENT CONTROLFILE FORMAT '/soft/rmanbak/controlfile.bak';
      RELEASE CHANNEL c1;
    }
    
  • 数据泵导出(可选补充):
    expdp system/password@db schemas=SCHEMA_NAME directory=DUMP_DIR dumpfile=expdp.dmp logfile=expdp.log
    

2. 检查系统兼容性

  • 确认Ubuntu版本符合Oracle目标版本要求(如Oracle 19c支持Ubuntu 18.04/20.04 LTS);
  • 调整内核参数(编辑/etc/sysctl.conf):
    fs.file-max = 6815744
    kernel.sem = 250 32000 100 128
    net.core.rmem_default = 262144
    net.core.wmem_default = 262144
    
    执行sudo sysctl -p使参数生效;
  • 修改用户资源限制(编辑/etc/security/limits.conf):
    oracle   soft   nproc    2047
    oracle   hard   nproc    16384
    oracle   soft   nofile   1024
    oracle   hard   nofile   65536
    

3. 准备升级环境

  • 安装必要依赖
    sudo apt update
    sudo apt install alien libaio1 unixodbc libmotif-common libaio-dev
    
  • 创建Oracle用户及目录(若未创建):
    sudo groupadd -g 503 oinstall
    sudo groupadd -g 504 dba
    sudo useradd -u 501 -g oinstall -G dba -m -s /bin/bash oracle
    sudo passwd oracle
    sudo mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
    sudo chown -R oracle:oinstall /u01
    sudo chmod -R 775 /u01
    
  • 配置环境变量(编辑~/.bash_profile):
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
    export ORACLE_SID=orcl
    export PATH=$ORACLE_HOME/bin:$PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
    source ~/.bash_profile
    

二、下载并安装新版本Oracle软件

  1. 下载新版本软件
    登录Oracle官方网站,下载对应Ubuntu架构(x86_64/amd64)的目标版本Oracle Database安装包(如.rpm.zip格式)。
  2. 转换安装包格式(若为RPM)
    Ubuntu使用DEB格式,需用alien工具转换:
    sudo alien -i oracle-database-19c-ee-19.0.0.0.0.x86_64.rpm
    
  3. 安装软件
    转换后执行dpkg命令:
    sudo dpkg --install oracle-database-19c-ee_19.0.0.0.0-1_amd64.deb
    

三、执行数据库升级

1. 使用DBUA(图形化工具,推荐新手)

  • 启动DBUA:
    dbua
    
  • 按向导操作:选择“升级现有数据库”、指定数据库SID、确认升级前检查项(如兼容性、空间),最后执行升级。

2. 手动升级(命令行方式)

  • 启动数据库到升级模式:
    sqlplus / as sysdba
    SQL> SHUTDOWN IMMEDIATE;
    SQL> STARTUP UPGRADE;
    
  • 运行升级脚本:
    @?/rdbms/admin/catalog.sql
    @?/rdbms/admin/catproc.sql
    @?/rdbms/admin/utlrp.sql  -- 编译无效对象
    
  • 退出并重启数据库:
    SHUTDOWN IMMEDIATE;
    STARTUP;
    

四、验证升级结果

  1. 检查版本信息
    sqlplus / as sysdba
    SQL> SELECT * FROM v$version;
    
    输出应显示目标版本(如“Oracle Database 19c Enterprise Edition Release 19.0.0.0.0”)。
  2. 检查升级日志
    查看$ORACLE_HOME/cfgtoollogs/dbua/log或数据库目录下的upgrade.log,确认无错误。
  3. 测试业务功能
    运行简单查询(如SELECT SYSDATE FROM dual;)和应用连接,确保功能正常。

五、升级后维护

  1. 清理旧版本文件
    删除旧版本Oracle Home目录(如/u01/app/oracle/product/11.2.0/dbhome_1),释放空间。
  2. 更新应用程序连接配置
    修改应用连接字符串中的数据库版本信息(如JDBC URL中的jdbc:oracle:thin:@host:1521:orcl)。
  3. 定期备份
    升级后立即执行全量备份,确保数据安全。

0