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数据库在服务器地址变更后仍能提供稳定的服务。建议在非业务高峰期进行此类变更,并通知相关应用团队配合测试。

相关推荐
may_一一21 分钟前
(一)mac中Grafana监控Linux上的CPU等(Node_exporter 安装使用)
linux·服务器
唯梦闲君2 小时前
ubuntu 22.04 安装和配置 mysql 8.0,设置开机启动
linux·数据库·mysql·ubuntu
API_technology2 小时前
高并发场景下的淘宝 API 开发实践:商品数据实时采集与性能优化
大数据·数据库·性能优化·数据挖掘
{⌐■_■}5 小时前
【MySQL】Read view存储的机制,记录可见分析
数据库·mysql
0509158 小时前
测试基础笔记第七天
linux·服务器·笔记
李洋-蛟龙腾飞公司9 小时前
鸿蒙应用元服务开发-Account Kit未成年人模式订阅和处理用户信息变更
服务器·华为·harmonyos next
极限实验室9 小时前
Easysearch Rollup 相比 OpenSearch Rollup 的优势分析
数据库
道友老李9 小时前
MySQL性能调优(三):MySQL中的系统库(mysql系统库)
数据库·mysql
靡樊9 小时前
Linux:进程间通信
linux·服务器·c++·学习
pp-周子晗(努力赶上课程进度版)10 小时前
【Linux】线程ID、线程管理、与线程互斥
linux·运维·服务器·开发语言