Oracle从库IP重新绑定(oracle从库修改ip)
Oracle从库IP重新绑定
在Oracle数据库的复制环境中,主库负责将数据写入数据库,而从库则复制主库的数据以供查询。当从库的IP地址变更或者需要将从库的IP地址绑定到另一个接口时,需要对从库上的Oracle实例进行重新配置。
以下是重新绑定从库IP的步骤:
1. 确认从库服务已经停止
在执行重新绑定IP的操作前,需要先确认从库的Oracle实例已经停止服务:
$ lsnrctl stop
$ srvctl stop instance -d -i
2. 修改tnsnames.ora配置文件
在Oracle数据库的复制环境中,主库与从库的连接通过tnsnames.ora配置文件控制。修改tnsnames.ora文件的方式取决于数据库的版本号。
对于Oracle 12c及其以上版本:
$ cd $ORACLE_HOME/network/admin
$ vi tnsnames.ora
=
(DESCRIPTION =(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))
)(CONNECT_DATA =
(SERVICE_NAME = )
))
其中,为从库的新IP地址,为Oracle数据库服务所使用的端口号,为主库与从库之间的数据库名称,为从库所使用的服务名。
对于Oracle 11g及其以下版本,编辑文件$ORACLE_HOME/network/admin/tnsnames.ora,添加如下配置信息:
=
(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))
(CONNECT_DATA =(SERVICE_NAME = )
))
3. 修改listener.ora配置文件
listener.ora文件控制着Oracle监听器监听数据库服务的端口号和IP地址。同样根据不同的Oracle版本,需要采用不同的修改方式。
对于Oracle 12c及其以上版本,在listener.ora文件中添加以下内容:
# Listener for Net Services override
LISTENER_ =
(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))
)
# SID description for ORCLSID_LIST_LISTENER_ =
(SID_LIST =(SID_DESC =
(GLOBAL_DBNAME = )
(ORACLE_HOME = /u01/app/oracle/product/12.1.0/dbhome_1)(SID_NAME = )
))
# Configure Service. =
(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))
(CONNECT_DATA =(SERVICE_NAME = )
))
在此配置文件中,、、、和分别为从库的新IP地址、Oracle服务所使用的端口、数据库名称、实例名称和服务名。
对于Oracle 11g及其以下版本,在listener.ora文件中添加如下配置信息:
LISTENER =
(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))
)
SID_LIST_LISTENER =(SID_LIST =
(SID_DESC =(SID_NAME = ORCL)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1))
(SID_DESC =(GLOBAL_DBNAME = )
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)(SID_NAME = )
))
. =
(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))
(CONNECT_DATA =(SERVICE_NAME = )
))
4. 重启Oracle数据库服务
完成tnsnames和listener的修改后,重新启动Oracle数据库服务以便于配置生效:
$ lsnrctl start
$ srvctl start instance -d -i
重新启动Oracle数据库实例后,从库IP地址的重新绑定操作就完成了。此时,从库便可以再次复制主库上的数据,供查询使用。