无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 38|回复: 3
打印 上一主题 下一主题

浅析主机连接虚拟机中oracle11g oracle19c的设置

[复制链接]
跳转到指定楼层
1#
发表于 2024-6-14 08:58:56 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 likeyouli 于 2025-7-16 17:13 编辑

再次研究感受:安装完pl/sql developer后,貌似默认是无法连接虚拟机中的数据库的,也就是说如果主机中没有安装数据库,只安装了pl/sql developer,无法进行远程连接,需要进入pl/sql developer,设置里设置好oci.dll,否则无法远程连接。另外,如果出现乱码的情况,环境变量设置,新建一个,变量名NLS_LANG,变量值SIMPLIFIED CHINESE_CHINA.ZHS16GBK(simplified与chinese之间有空格)即可。

--------------------------------------------------------------------------------------------  

研究了好久,才终于连接上了这两个数据库.  这两个数据库分别装在虚拟机vmware两个win10系统上,估计一个win系统也无法装两个不同版本的oracle数据库吧.
①虚拟机设置: 网络选择的nat模式,既可以使虚拟机上网,也可以与主机在一个局域网内,关闭用户登录密码,关闭防火墙,主机与虚拟机之间互相能ping通;
②主机连接虚拟机之前, 一要测试用虚拟机的sqlplus等客户端,连一下虚拟机自己的oracle数据库,看看能否连接;即便能够连接,也要用数据库自带的"Net Configuration Assistant",重新走一遍"监听程序配置",或终止监听服务再重新启动,切记切记, 我就是在这里遇到大麻烦, 好多次连不上报错以为是自己设置问题呢,其实就是监听没有重新启动一下;
③遇到的坑:提示ORA-28040:没有匹配的验证协议(用11g自带的sqlplus连接的) ,见这里https://www.jb51.net/database/3182989nq.htm,我在sqlnet.ora中加上了SQLNET.ALLOWED_LOGON_VERSION_SERVER=11和 SQLNET.ALLOWED_LOGON_VERSION_CLINET=11, 加上后,从原来的提示协议不匹配,转为提示"用户名/口令无效; 登录被拒绝",最后这两句代码也没删,没感觉有啥影响.
④11g与19c用的"oci.dll"不一样,③中遇到的问题,如果改用navicat for oracle客户端连接,且在工具\选项.环境里,选择我网盘中(其实都是官网下载的,可以直接去官网下载,但官网太多,不知道下载哪个)"instantclient_19_23\oci.dll",即可解决问题,也就是说用11g自带的oci.dll是无法连接19c的,我发的这个oci.dll既可以连接19c也可以11g, 见这里:https://pan.baidu.com/s/1di-Tr5RnZHwwMA8bYYOFZw?pwd=qcj6 提取码:qcj6
⑤11g 19c用到的listener.ora等几个监听配置文件,见附件.
⑥如果用pl/sql developer连接,在首选项里设置OCI库为I:\desktop\instantclient-basic-windows.x64-19.23.0.0.0dbru\instantclient_19_23\oci.dll,oracle主目录空着即可,登录填写方法:192.168.137.129/orcl;但会出现查询中文名字的表提示identifier is too long, 解决方法:系统设置,环境变量,系统变量、新建系统变量,变量名:NLS_LANG 变量值:AMERICAN_AMERICA.UTF8 (见这里https://blog.csdn.net/WMY1230/article/details/69372151

oracle11g几个监听配置文件.rar

2.64 KB, 下载次数: 1, 下载积分: 无忧币 -2

oracle19c几个监听配置文件.rar

5.85 KB, 下载次数: 1, 下载积分: 无忧币 -2

点评

辛苦了  发表于 2024-6-14 09:11

评分

参与人数 1无忧币 +2 收起 理由
yyz2191958 + 2 赞一个!

查看全部评分

3#
发表于 2024-6-14 09:35:18 | 只看该作者
应该更换oci,然后sqlnet.ora中加上SQLNET.ALLOWED_LOGON_VERSION_SERVER=11和 SQLNET.ALLOWED_LOGON_VERSION_CLINET=11就行了吧。
回复

使用道具 举报

2#
发表于 2024-6-14 09:10:45 | 只看该作者
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-20 05:12

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表