在企业IT运维中,Oracle数据库服务器地址变更是常见的运维操作。本文将详细介绍如何安全、高效地完成Oracle数据库服务器地址变更及相关的监听配置修改工作,确保数据库服务在迁移后能够正常运行。
SELECT * FROM v$version;
lsnrctl status
# 备份监听器配置文件
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;
# 原配置
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))
)
)
-- 检查当前值
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;
# 原配置
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)
)
)
lsnrctl stop
lsnrctl start
lsnrctl status
lsnrctl services
tnsping ORCL
sqlplus system/password@ORCL
-- 先重置参数再设置
ALTER SYSTEM RESET local_listener SCOPE=SPFILE;
ALTER SYSTEM SET local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.59)(PORT=1521))' SCOPE=BOTH;
ALTER SYSTEM REGISTER;
如果变更失败,可按以下步骤回退:
Oracle服务器地址变更需要谨慎操作,重点注意:
通过以上步骤,可以确保Oracle数据库在服务器地址变更后仍能提供稳定的服务。建议在非业务高峰期进行此类变更,并通知相关应用团队配合测试。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。