centos oracle升级步骤是什么
导读:CentOS环境下Oracle数据库升级步骤 一、升级前准备 备份数据 升级前必须对数据库进行完整备份,推荐使用RMAN全量备份(rman target / → BACKUP DATABASE;)或Data Pump导出(expdp sy...
CentOS环境下Oracle数据库升级步骤
一、升级前准备
- 备份数据
升级前必须对数据库进行完整备份,推荐使用RMAN全量备份(rman target /
→BACKUP DATABASE;
)或Data Pump导出(expdp system/password@db schemas=SCHEMA_NAME dumpfile=SCHEMA_NAME.dmp
),确保数据安全。 - 检查系统兼容性
- 确认CentOS版本符合Oracle新版本要求(如Oracle 19c需CentOS 7/8,Oracle 21c需CentOS 8+);
- 检查硬件资源(CPU、内存、磁盘空间)是否满足新版本最低配置;
- 查阅Oracle官方文档,确认新版本与现有组件(如中间件、驱动)的兼容性。
- 安装必要依赖包
通过yum
安装Oracle要求的依赖包,避免升级失败:yum install -y gcc libaio-devel compat-libstdc++-33 elfutils-libelf-devel glibc-devel glibc-headers gcc-c++ libstdc++-devel
- 下载新版本Oracle软件
从Oracle官方网站下载对应CentOS架构(x86_64)的新版本Oracle Database软件包(如oracle-database-19c-linux-x86-64.zip
),并上传至服务器。 - 环境准备
- 取消当前用户的
ORACLE_HOME
、ORACLE_SID
等环境变量设置(编辑~/.bash_profile
或~/.bashrc
,注释相关行); - 创建Oracle用户及组(若未创建):
groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle passwd oracle
- 配置Oracle环境变量(编辑
/home/oracle/.bash_profile
):export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1 # 替换为新版本目录 export ORACLE_SID=orcl # 替换为现有SID export PATH=$ORACLE_HOME/bin:$PATH source /home/oracle/.bash_profile # 加载环境变量
- 取消当前用户的
- 停止当前数据库服务
- 关闭监听器:
lsnrctl stop
; - 关闭数据库实例:
sqlplus / as sysdba SQL> SHUTDOWN IMMEDIATE; exit
- 关闭监听器:
- 备份配置文件
备份listener.ora
、tnsnames.ora
、sqlnet.ora
等配置文件(位于$ORACLE_HOME/network/admin
),便于升级后恢复。
二、执行升级操作
- 安装新版本Oracle软件
- 解压下载的Oracle软件包至目标目录(如
/u01/app/oracle/product/19.0.0/dbhome_1
); - 进入解压后的目录,运行安装脚本(图形界面或静默模式):
或静默安装(需提前准备响应文件):cd /u01/app/oracle/product/19.0.0/dbhome_1 ./runInstaller # 图形界面安装,按向导操作
./runInstaller -silent -responseFile /path/to/response_file.rsp
- 安装完成后,运行
opatch
应用补丁(若有):cd $ORACLE_HOME/OPatch ./opatch apply /path/to/patch_file.zip
- 解压下载的Oracle软件包至目标目录(如
- 升级数据库实例
- 方式一:使用DBUA(图形化工具,推荐新手)
运行dbua
工具,选择“升级现有数据库”,跟随向导完成升级:cd $ORACLE_HOME/bin ./dbua
- 方式二:手动升级(命令行)
执行升级脚本(需切换至sysdba
用户):sqlplus / as sysdba SQL> STARTUP UPGRADE; # 以升级模式启动数据库 SQL> @?/rdbms/admin/catupgrd.sql # 执行升级脚本 SQL> @?/rdbms/admin/utlrp.sql # 编译无效对象 SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP; # 正常启动数据库 exit
- 方式一:使用DBUA(图形化工具,推荐新手)
三、升级后验证与优化
- 验证升级结果
- 检查Oracle版本:
sqlplus / as sysdba SQL> SELECT * FROM v$version; exit
- 检查数据库组件状态:
sqlplus / as sysdba SQL> SET linesize 500 pagesize 600 SQL> COL COMP_NAME FOR a30 SQL> SELECT COMP_ID, COMP_NAME, VERSION, STATUS FROM DBA_REGISTRY ORDER BY COMP_ID; exit
- 检查无效对象数量:
sqlplus / as sysdba SQL> SELECT COUNT(*) FROM dba_objects WHERE status != 'VALID'; exit
- 检查Oracle版本:
- 优化系统参数
根据新版本要求调整内核参数(编辑/etc/sysctl.conf
):
执行fs.file-max = 6815744 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.wmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_max = 4194304
sysctl -p
使参数生效。 - 清理旧版本文件
删除旧版本Oracle软件目录(如/u01/app/oracle/product/11.2.0/dbhome_1
),释放磁盘空间。
四、注意事项
- 日志分析:升级过程中需监控
$ORACLE_HOME/cfgtoollogs/dbua
(DBUA日志)或$ORACLE_HOME/cfgtoollogs
(手动升级日志)中的日志文件,排查错误; - 停机时间:升级过程需停机,建议在业务低峰期操作;
- 回滚计划:若升级失败,可通过备份恢复至旧版本;
- 官方文档:务必参考Oracle官方升级指南(如《Oracle Database升级脚本》),确保步骤符合版本要求。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos oracle升级步骤是什么
本文地址: https://pptw.com/jishu/723507.html