Ubuntu环境下Oracle数据库更新与升级步骤
若仅需更新已安装的Oracle软件包(如补丁、小版本更新),可通过以下步骤完成:
sudo apt update,同步系统软件包索引。sudo apt upgrade,升级所有可用的Oracle软件包(如oracle-instantclient、oracle-database-common等)至最新版本。dpkg -l | grep oracle查看已安装的Oracle软件包版本,确认更新成功。数据库版本升级需更严谨的流程,以下是详细步骤:
-- RMAN全备份
rman target /
RUN {
ALLOCATE CHANNEL d1 DEVICE TYPE DISK;
BACKUP DATABASE FORMAT '/soft/rmanbak/%U';
BACKUP CURRENT CONTROLFILE FORMAT '/soft/rmanbak/controlfile.bak';
}
fs.file-max、kernel.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所需的依赖库。.rpm或.deb格式)。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使变量生效。dbua命令启动Database Upgrade Assistant,按照向导步骤选择数据库实例、升级路径,DBUA会自动处理预升级检查和配置调整。sqlplus / as sysdba
SHUTDOWN IMMEDIATE;
STARTUP UPGRADE;
@?/rdbms/admin/catalog.sql; -- 升级数据字典
@?/rdbms/admin/catproc.sql; -- 升级PL/SQL组件
@?/rdbms/admin/utlrp.sql; -- 编译无效对象
SHUTDOWN IMMEDIATE;
STARTUP; -- 正常启动数据库
v$version视图,确认数据库版本已更新:sqlplus / as sysdba
SELECT * FROM v$version;
SELECT SYSDATE FROM dual;),检查数据库功能是否正常。SELECT COUNT(*) FROM dba_objects WHERE status = 'INVALID';,若有无效对象,需重新编译(@?/rdbms/admin/utlrp.sql)。