同一台机器oralce11g和12c公用一个监听器监听多个端口

时间:2023-03-09 18:10:10
同一台机器oralce11g和12c公用一个监听器监听多个端口

启动数据库服务

(这里还没有启动监听器)

同一台机器oralce11g和12c公用一个监听器监听多个端口

如上图OracleServiceORCL为11g的服务,服务名为orcl,OracleServiceWX为12c的服务名,服务名为wx,两个服务均已正常启动,

 测试登陆

设置ORACLE_SID=ORCL,使用账号密码连接,使用账号密码连接成功

同一台机器oralce11g和12c公用一个监听器监听多个端口

设置ORACLE_SID=WX,使用账号密码连接,使用账号密码连接成功

同一台机器oralce11g和12c公用一个监听器监听多个端口

配置数据库连接表示符

设置TNS_ADMIN

同一台机器oralce11g和12c公用一个监听器监听多个端口

使用netca 添加配置,

配置完毕设置的TNS_AMDIN变量目录下会生成三个文件:如下图:

同一台机器oralce11g和12c公用一个监听器监听多个端口

使用Net Manager创建网络服务名

同一台机器oralce11g和12c公用一个监听器监听多个端口

这里创建了orcl(11g中的服务名),wx (12c中的服务名 )

创建完毕,保存网络配置:

同一台机器oralce11g和12c公用一个监听器监听多个端口

sqlnet.ora文件添加

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

重启监听服务

连接测试

同一台机器oralce11g和12c公用一个监听器监听多个端口

监听多个端口配置

LISTENER .ora文件中修改如下配置

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=DESKTOP-L9P3QTT)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=DESKTOP-L9P3QTT)(PORT=1522))
(ADDRESS=(PROTOCOL=tcp)(HOST=DESKTOP-L9P3QTT)(PORT=1523)))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

)
)

这里注意格如下:

同一台机器oralce11g和12c公用一个监听器监听多个端口

查看oracle监听的端口:

同一台机器oralce11g和12c公用一个监听器监听多个端口

重启监听服务,测试连接:

使用本地服务名连接

同一台机器oralce11g和12c公用一个监听器监听多个端口

使用ip端口和服务名连接

同一台机器oralce11g和12c公用一个监听器监听多个端口

同一台机器oralce11g和12c公用一个监听器监听多个端口

连接成功

问题出现及解决,如出现下图问题:

同一台机器oralce11g和12c公用一个监听器监听多个端口

请键入 sqlplus  sys/oracle as sysdba 或 sqlplus / as sysdba  登陆,然后执行startup 启动该实例,如下示例:

同一台机器oralce11g和12c公用一个监听器监听多个端口

sqlplus  / as sysdba  提示ORA-01017: invalid username/password; logon denied 解决:

确认本机操作系统用户已加入ora_dba组

同一台机器oralce11g和12c公用一个监听器监听多个端口

配置TNS_ADMIN 变量如下:

同一台机器oralce11g和12c公用一个监听器监听多个端口

sqlnet.ora文件加入

SQLNET.AUTHENTICATION_SERVICES = (NTS)

重新打开新的cmd运行窗口,执行sqlplus / as sysdba

同一台机器oralce11g和12c公用一个监听器监听多个端口