客户机中PLSQL DEV访问虚拟机中的ORACLE11g,错误百出!

创建时间: 2017/10/14 18:44
作者: CNSIMO
标签: ORACLE
忙了一下午,只有两个字形容:麻烦!
安装ORACLE1g
首先,我已经提前在虚拟机上配置了windows2008+oracle11g,为什么用server2008呢?我没有别的,win10做虚拟机觉得不太好,win7镜像还得下载,你懂的。 然后就是oracle11g是去某电脑上拷过来的,我是一个十分爱惜流量的人,嘿嘿。
我们老师为了让我们更清楚区分数据库软件安装和数据库配置,所以在安装oracle11g的时候选择的是”只安装数据库软件“(记得是第二个选项),然后安装的时候字符集都设置的UTF8,其他的配置基本上都是保持的默认。
好了,安装的事情不细说,一般情况下只要是主机没问题,检测条件通过,安装都是不成问题的,下面就开始了配置数据库。
首先使用DCA(在oRACLE的开始菜单文件夹里面,缩写哦),打开后会显示几个选项,选择【创建数据库】,然后下一步,之后的几个步骤一直到创建数据库完毕,并没有出任何错误,所以就不多说了,唯一出现的错误可能就是提示类似“没有监听,无法继续”的对话框,所以就去NCA(和DCA同级目录)添加监听,你只需一直下一步就行,默认的监听端口是1521,然后回到DCA就能够继续下一步了,一直到最后,需要关注的就是,最后的一个页面有web管理页面的URL,此端口号都是https://hostname:port/em这个形式的,hostname就是本机的ip地址,port就是端口号,我的端口号是1158,有的可能不是。
例如我的web管理页面:https://server2008:1158/em,我的数据库监听端口是1521。
管理页面如下:
如果刚安装完,红框中的状态不对,那么考虑重装或者重启ORACLE各项服务或者重启ORACLE服务器。
重启ORACLE服务器的操作如下:
打开cmd输入以下命令:
sqlplus / as sysdba
shutdown immediate
startup

然后说ORACLE这几个配置工具的功能:
  • DCA:管理数据库(创建、删除等等)
  • NCA:配置数据库网络服务(监听、服务名等)
  • Net Manager:网络综合管理工具(监听、服务名等具体信息查看更改等)
还有一个工具sqlplus也很常用,使用它访问ORACLE数据库地操作如下(cmd中):

如果是普通用户
sqlplus username/password@hostname/tnsname
如果是sysdba用户,例如sys
sqlplus sys/password@hostname/tnsname as sysdba
后面用到地时候你可能会更明白一些。
然后还有三个很重要的文件,其中两个需要知道一下:
注意路径哦!格式:{database_base}\network\admin。
在Net Manager或者NCA中更改监听或者服务名的信息后可能会映射到这两个文件,例如我在Net Manager中更改了LISTEN的地址,在listener.ora文件中是有体现的,可以打开看看,但是最好不要手动地去更改里面地内容,因为一不小心感觉没错就可能被人坑了。想要更改,还是在Net Manager中更改比较合适,例如现在我在Net Manager中将LISTEN地监听端口由1521变成了1522,打开listener.ora文件可以看到相应的地方也变了。
Tip:如果你在你不知道什么情况的情况下,你使用Net Manager做了一些操作,而且你也忘了原来是什么了,不要紧,关闭Net Manager窗口的时候会提示你是否保存,选择否即可恢复!
说了这么多没用的,我的目的还没实现呢,怎么在真机中访问虚拟机内的数据库呢?
先说明一下预先条件:
  1. 我所说的话,都是假设你对计算机了解,并且有基础,思维敏捷,熟悉VM虚拟机,不懂的请提问。
  2. 宿主机和虚拟机能够互相ping通,如果不行,尝试将连接方式改为NAT,宿主机中的VMNet8网卡ipv4设置为自动获取IP。
  3. 宿主机中的ORACLE的各项服务都已经正常启动。
  4. 还得知道环境变量怎么配置,不懂的自动百度学习。
我的机器配置如下:

  • 虚拟机:VM12.5.7版本
  • 宿主机:win10专业版1703
    • PLSQL Developer 12(下载地址:https://www.allroundautomations.com/bodyplsqldevreg.html)
  • 虚拟机:server2008r2 企业版,内存2G
    • oracle:11g,数据库实例名称STD,全局数据库名STD.CNSIMO.CN,所有密码唯一:Admin2015,字符集:UTF8,语言:简体中文
连接步骤
  1. 官网下载instant client,http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html。
  2. 下载基础包和sqlplus包
  3. 一起解压出来后,得到一个文件夹,将它复制到任意位置,例如:D:\PLSQL Developer 12\
  4. 在D:\PLSQL Developer 12\instantclient_12_2中(以下简称{instantclient})新建文件夹network,在network中新建文件夹admin。
  5. {instantclient}\network\admin中新建记事本文件,下列代码复制进去并保存为utf-8格式,名称改为tnsnames.ora【后缀名txt->ora】,注意格式不能变(少一个多一个空格都不行)
 tip:请将STD.CNSIMO.CN改为自己的全局数据库名,HOST和PORT也改为自己的,首行的STD可以随便写。

STD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.111.138)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = STD.CNSIMO.CN)
)
)

  1. 打开PLSQL DEV12,找到【首选项】设置
  2. 然后,在connection中安装图示设置,instantclient的位置。

  1. 很重要的一步,到虚拟机注册表中查看NLS_LANG的值,若无此路径则直接查找NLS_LANG,复制此键值。
  2. 很重要的一步,在宿主机中新建系统环境变量NLS_LANG,值与虚拟机中保持一致!
            
  1. 很重要的一步,再新建系统环境变量TNS_ADMIN,值为{instantclient}\network\admin
            
  1. 更改环境变量PATH,添加值为{instantclient}。
  2. 然后cmd中,运行sqlplus命令连接远程数据库,命令为:sqlplus sys/Admin2015@192.168.111.138/STD.CNSIMO.CN as SYSDBA,下图代表连接成功。

  1. 重新打开PLSQL DEV,尝试连接,填写用户名密码,database下拉框中如果没有出现之前在tnsnames.ora首行写的名字STD,就手动输入STD,并作为SYSDBA连接。成功的话,会进入主界面,否则提示。
解决问题
好了,连接的常规步骤已经看完了,但是事实上好多时候并不能真正的如愿以偿,问题碰到了一堆,常见的问题描述可能如下:
  • ORA-12170: TNS:Connect timeout occurred
  • ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
  • ORA-12705: Cannot access NLS data files or invalid environment specified
先解决第一个问题,你可尝试ping一下你的远程主机,可能ping不通,所以需要你更改一下虚拟机和主机之间的网络连接方式;
然后第二个问题,导致这个问题的根本原因是在远程主机上该服务名并没有被监听程序监听,例如我通过sqlplus连接的时候将STD.CNSIMO.CN改为STD或者其它随便一个,都会报这个错误。解决方法如下:
打开Net Manager,选择服务命名,点击加号添加服务,列表中显示的std仅仅具有本地意义,重要的是右边的服务名,设置成全局数据库名,连接类型选择 共享服务器。
然后关闭Net Manager并保存配置。
再次尝试连接,如果还是连接不上,尝试重启ORACLE数据库!
Tip:网上可能查到的都是更改虚拟机中tnsnames.ora和listener.ora这两个文件,擅自更改后可能导致的问题是数据库连接不上、NetManager和NCA中部分功能无反应的问题。因为oracle对这两个文件的内容格式要求的太严格了。红框的首部不能有空格,蓝框的首部必须有空格!
至于最后一个问题,请检查环境变量中的NLS_LANG的值是否和远程主机注册表中的值相同,切记不要手敲!如果还是这个问题,可能是你刚配置完环境变量,cmd的命令框还是之前开的,请重开一个cmd再次尝试。

转载于:https://www.cnblogs.com/lxmwb/p/7668725.html

连接远程数据库ORACLE11g,错误百出!相关推荐

  1. 解决SQL Server管理器无法连接远程数据库Error: 1326错误

    解决SQL Server管理器无法连接远程数据库Error: 1326错误 我们在在使用SQL Server时都会遇到使用SQL Server Management Studio无法连接远程数据库实例 ...

  2. mysql 1326_Mysql应用SQL Server 出现Error: 1326错误(管理器无法连接远程数据库)问题解决方案...

    <Mysql应用SQL Server 出现Error: 1326错误(管理器无法连接远程数据库)问题解决方案>要点: 本文介绍了Mysql应用SQL Server 出现Error: 132 ...

  3. mysql 1326_SQL Server 出现Error: 1326错误(管理器无法连接远程数据库)问题解决方案...

    SQL Server 出现Error: 1326错误 我们在在使用SQL Server时都会遇到使用SQL Server Management Studio无法连接远程数据库实例的问题,错误描述信息摘 ...

  4. sql服务器显示error,SQLServer出现Error:1326错误(管理器无法连接远程数据库)问题解决方案...

    SQL Server 出现Error: 1326错误 我们在在使用SQL Server时都会遇到使用SQL Server Management Studio无法连接远程数据库实例的问题,错误描述信息摘 ...

  5. sql服务器显示error,SQL Server 出现Error: 1326错误(管理器无法连接远程数据库)问...

    SQL Server 出现Error: 1326错误 我们在在使用SQL Server时都会遇到使用SQL Server Management Studio无法连接远程数据库实例的问题,错误描述信息摘 ...

  6. 使用DBeaver远程连接Oracle数据库出现错误“listener does not currently know of service requested in connect descrip”

    使用DBeaver远程连接Oracle数据库出现错误"listener does not currently know of service requested in connect des ...

  7. 数据库连接10060_通过mysql 连接远程数据库时,输入密码后,提示10060错误

    能提示输入密码,说明网络能够连接,而且能连到服务器.输入密码后提示错误,说明应该是权限问题 解决方法: ​一.进入mysql数据库命令行 ​二.输入use mysql; ​三.设置root账号密码为1 ...

  8. iis远程访问mysql_通过IIS不能连接远程数据库的问题

    近期遇到一个奇怪的问题:在调试MES程序时发现,如果连接的是远程的SQL SERVER数据库(通过了IIS),则提示连接失败,就是经常见到的数据库不允许远程连接的错误提示: 而且又测试了以下几种情况: ...

  9. sqlplus连接远程数据库

    方式一:简易连接,不用进行网络配置,其实就是tnsname.ora文件,但只支持oracle10G以上. 命令:sqlplus 用户名/密码@ip地址[:端口]/service_name [as sy ...

最新文章

  1. 鹅厂bugly应用升级不能安装(Android7.0的新变化)
  2. 使用cpau.exe让不是管理员的用户也有权限运行哪些需要管理员权限的软件。
  3. js中同时得到整数商及余数_苏教版小学数学二年级下册1.1有余数的除法讲解
  4. RTC 融合通信服务架构与场景应用 | 2021稀土开发者大会音视频专场
  5. linux服务器之间传输文件的四种方式
  6. linux 内核空间占用cpu百分比过高,linux下分析java程序占用CPU、内存过高
  7. gprs连接中断记录_请收好!脉搏波血压计连接天天血压APP使用指南
  8. 如何在windows上将本地项目上传到Github
  9. SPI单片机发送ARM接收
  10. c++ vector 初始化_什么?还不懂c++vector的用法,你凭什么勇气来的!
  11. UE3 展开光照贴图的 UV
  12. JavaScript:jklyDB
  13. 在Windows平台使用IIS部署Flask网站
  14. 20155325 2017-2018-1 《信息安全系统设计基础》第五周学习总结
  15. spring-第五篇之spring容器中的bean
  16. ug打开服务器文件保存不了,UG编程时突然提示保存不了,你该怎么办,看这里...
  17. tomcat 的 catalina.out 日志文件,禁用
  18. Windows驱动开发入门指引
  19. 翡翠手链更能够突显佩戴者的非凡气质
  20. vue实现页面全屏和退出全屏

热门文章

  1. openwrt 系统日志配置_Openwrt 之 Samba配置
  2. ajax返回一直进入error_解决ajax返回验证的时候总是弹出error错误的方法
  3. VR/AR标准委员会成立OpenXR工作组:Oculus、Valve领头
  4. java 项目保存日志到本地_Springboot项目使用Slf4j将日志保存到本地目录
  5. 讲座预告 | 全年最值得看的英仙座流星雨要来 如何一晚看上百流星
  6. 何恺明团队最新力作RegNet:超越EfficientNet,GPU上提速5倍,这是网络设计新范式 | CVPR 2020...
  7. 2019中国独角兽新增数锐减62%,仅有22家;美国新增78家,占全球大半
  8. B站最火数学视频3Blue1Brown是如何制作的
  9. [持续更新][小工具]计算器
  10. 织梦首页常用调用标签