温馨提示×

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

小樊
44
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