Oracle数据库服务器地址变更与监听配置修改完整指南

一、前言

在企业IT运维中,Oracle数据库服务器地址变更是常见的运维操作。本文将详细介绍如何安全、高效地完成Oracle数据库服务器地址变更及相关的监听配置修改工作,确保数据库服务在迁移后能够正常运行。

二、准备工作

1. 环境检查

  • 确认新旧服务器IP地址(如从192.168.1.135迁移到192.168.1.59)
  • 检查Oracle数据库版本:SELECT * FROM v$version;
  • 确认当前监听状态:lsnrctl status

2. 备份重要文件

bash 复制代码
# 备份监听器配置文件
cp $ORACLE_HOME/network/admin/listener.ora $ORACLE_HOME/network/admin/listener.ora.bak
cp $ORACLE_HOME/network/admin/tnsnames.ora $ORACLE_HOME/network/admin/tnsnames.ora.bak

# 备份spfile(如使用)
CREATE PFILE='/tmp/pfile.ora' FROM SPFILE;

三、服务器地址变更步骤

1. 修改监听器配置(listener.ora)
ora 复制代码
# 原配置
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.135)(PORT = 1521))
    )
  )

# 修改为
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.59)(PORT = 1521))
    )
  )
2. 修改local_listener参数
sql 复制代码
-- 检查当前值
SELECT value FROM v$parameter WHERE name = 'local_listener';

-- 修改参数(分步执行更安全)
ALTER SYSTEM SET local_listener='' SCOPE=BOTH;
ALTER SYSTEM SET local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.59)(PORT=1521))' SCOPE=BOTH;

-- 强制服务注册
ALTER SYSTEM REGISTER;
3. 更新tnsnames.ora文件
ora 复制代码
# 原配置
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.135)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

# 修改为
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.59)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

四、验证步骤

1. 监听器状态验证
bash 复制代码
lsnrctl stop
lsnrctl start
lsnrctl status
2. 服务注册验证
bash 复制代码
lsnrctl services
3. 数据库连接测试
bash 复制代码
tnsping ORCL
sqlplus system/password@ORCL

五、常见问题解决方案

1. ORA-12514: TNS监听程序无法识别服务
  • 检查local_listener参数是否正确
  • 确认监听器是否在新IP上运行
  • 检查防火墙设置
2. ORA-02097: 参数修改无效
sql 复制代码
-- 先重置参数再设置
ALTER SYSTEM RESET local_listener SCOPE=SPFILE;
ALTER SYSTEM SET local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.59)(PORT=1521))' SCOPE=BOTH;
3. 服务未自动注册
  • 手动执行:ALTER SYSTEM REGISTER;
  • 检查PMON进程是否正常运行
  • 查看警报日志获取详细信息

六、回滚方案

如果变更失败,可按以下步骤回退:

  1. 恢复listener.ora和tnsnames.ora备份
  2. 重置local_listener参数
  3. 重启监听器
  4. 强制服务重新注册

七、总结

Oracle服务器地址变更需要谨慎操作,重点注意:

  1. 提前做好完整备份
  2. 按顺序修改listener.ora、数据库参数和tnsnames.ora
  3. 每步操作后立即验证
  4. 准备完善的回滚方案

通过以上步骤,可以确保Oracle数据库在服务器地址变更后仍能提供稳定的服务。建议在非业务高峰期进行此类变更,并通知相关应用团队配合测试。

相关推荐
itachi-uchiha2 分钟前
使用vsftpd搭建FTP服务器(TLS/SSL显式加密)
运维·服务器·ssl
MuYiLuck6 分钟前
【redis实战篇】第八天
数据库·redis·缓存
睡觉待开机6 分钟前
6. MySQL基本查询
数据库·mysql
成工小白15 分钟前
【Linux】文件操作
linux·运维·服务器
风早君1 小时前
jenkins集成gitlab发布到远程服务器
服务器·gitlab·jenkins
大熊猫侯佩1 小时前
由一个 SwiftData “诡异”运行时崩溃而引发的钩深索隐(三)
数据库·swiftui·swift
大熊猫侯佩1 小时前
由一个 SwiftData “诡异”运行时崩溃而引发的钩深索隐(二)
数据库·swiftui·swift
大熊猫侯佩1 小时前
用异步序列优雅的监听 SwiftData 2.0 中历史追踪记录(History Trace)的变化
数据库·swiftui·swift
家庭云计算专家1 小时前
ONLYOFFICE协作空间3.1.1 企业版 介绍及部署说明:家庭云计算专家
运维·服务器·云计算·onlyoffice·协作空间
大熊猫侯佩1 小时前
由一个 SwiftData “诡异”运行时崩溃而引发的钩深索隐(一)
数据库·swiftui·swift