同一台机器oralce11g和12c公用一个监听器监听多个端口
启动数据库服务
(这里还没有启动监听器)
如上图OracleServiceORCL为11g的服务,服务名为orcl,OracleServiceWX为12c的服务名,服务名为wx,两个服务均已正常启动,
测试登陆
设置ORACLE_SID=ORCL,使用账号密码连接,使用账号密码连接成功
设置ORACLE_SID=WX,使用账号密码连接,使用账号密码连接成功
配置数据库连接表示符
设置TNS_ADMIN
使用netca 添加配置,
配置完毕设置的TNS_AMDIN变量目录下会生成三个文件:如下图:
使用Net Manager创建网络服务名
这里创建了orcl(11g中的服务名),wx (12c中的服务名 )
创建完毕,保存网络配置:
sqlnet.ora文件添加
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
重启监听服务
连接测试
监听多个端口配置
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))
)
)
这里注意格如下:
查看oracle监听的端口:
重启监听服务,测试连接:
使用本地服务名连接
使用ip端口和服务名连接
连接成功
问题出现及解决,如出现下图问题:
请键入 sqlplus sys/oracle as sysdba 或 sqlplus / as sysdba 登陆,然后执行startup 启动该实例,如下示例:
sqlplus / as sysdba 提示ORA-01017: invalid username/password; logon denied 解决:
确认本机操作系统用户已加入ora_dba组
配置TNS_ADMIN 变量如下:
sqlnet.ora文件加入
SQLNET.AUTHENTICATION_SERVICES = (NTS)
重新打开新的cmd运行窗口,执行sqlplus / as sysdba
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?