将Oracle 19c安装目录迁移至LVM分区求助
解决CentOS 8下Oracle 19c RPM安装路径变更问题
方案一:重新安装(推荐,避免手动移动的遗留问题)
- 停止并禁用已安装的Oracle服务:
systemctl stop oracle-xe-19c systemctl disable oracle-xe-19c - 卸载已安装的Oracle RPM包并清理残留:
yum remove oracle-database-xe-19c oracle-database-preinstall-19c -y rm -rf /opt/oracle - 挂载LVM分区到目标路径(以
/u01/oracle为例):- 创建挂载点:
mkdir -p /u01/oracle - 编辑
/etc/fstab添加挂载项(替换为你的LVM卷名):/dev/mapper/your-lvm-volume /u01/oracle xfs defaults,user_xattr 0 0 - 挂载分区:
mount /u01/oracle
- 创建挂载点:
- 创建软链接映射默认安装路径:
ln -s /u01/oracle /opt/oracle chown -R oracle:oinstall /u01/oracle /opt/oracle chmod -R 775 /u01/oracle /opt/oracle - 重新安装Oracle并执行配置:
yum install oracle-database-xe-19c -y /etc/init.d/oracle-database-preinstall-19c-firstboot configure
方案二:修复手动移动目录后的错误
- 终止所有Oracle相关进程:
ps -ef | grep oracle | grep -v grep | awk '{print $2}' | xargs kill -9 2>/dev/null - 修正LVM分区上Oracle文件的权限:
chown -R oracle:oinstall /u01/oracle chmod -R 775 /u01/oracle - 批量修改路径配置:
- 更新Oracle用户环境变量(
/home/oracle/.bash_profile):
生效配置:export ORACLE_HOME=/u01/oracle/product/19c/dbhome_1 export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH export ORACLE_SID=XEsource /home/oracle/.bash_profile - 修改系统服务配置(
/etc/systemd/system/oracle-xe-19c.service):
将所有/opt/oracle路径替换为/u01/oracle,执行systemctl daemon-reload - 更新数据库参数(以sysdba身份登录SQL*Plus):
sqlplus / as sysdba ALTER SYSTEM SET control_files='/u01/oracle/oradata/XE/control01.ctl','/u01/oracle/fast_recovery_area/XE/control02.ctl' SCOPE=SPFILE; ALTER SYSTEM SET db_recovery_file_dest='/u01/oracle/fast_recovery_area' SCOPE=SPFILE; SHUTDOWN IMMEDIATE; STARTUP; - 修正监听配置(
/u01/oracle/product/19c/dbhome_1/network/admin/listener.ora、tnsnames.ora):
将所有旧路径替换为新路径
- 更新Oracle用户环境变量(
- 重新执行配置命令:
/etc/init.d/oracle-database-preinstall-19c-firstboot configure
关键注意事项
- 确保LVM分区挂载时开启
user_xattr属性,Oracle依赖该特性 - 若配置仍报错,查看
/var/log/oracle-database-preinstall-19c/下的日志文件定位具体问题 - 所有路径修改需保持一致性,避免遗漏任何配置项
内容的提问来源于stack exchange,提问作者dbnoob
相关产品推荐
相关产品推荐

