主机利用plsql+客户端访问虚拟机内的数据库

原创 2015年11月17日 19:44:09

日期:2015年4月2日

今天的尝试在虚拟机上装上Oracle,并且用本地PL/SQL连接虚拟机的Oracle,为了将公司的数据库copy一份到自己的电脑上,因为公司的Oracle是在服务器上的,如果不本地话的话,外网是连不上数据库的,也就没法获得数据。

安装需要用到的文件:

VMware10,Oracle11g,PL/SQL,WindowsX64

首先在虚拟机内安装windows系统,这个过程比较简单,然后安装VMWare_Tools,这个工具是为了能够将物理机上的文件直接复制粘贴到虚拟机内,装完VMWareTools之后,将事先下载好的Oracle11g拷进虚拟机内,在虚拟机内进行安装,安装过程也不再详述。

经过半天的等待,终于安装完成了,现在有一个问题,怎么才能让虚拟机和物理机在同一个网段内,也就是在一个局域网内,在网上查了半天资料,最后参考http://hi.baidu.com/whitelocus/item/b47d6dd2c93a833ee3108f33


最后采用了VMnet8,NET的模式连接,虚拟机和物理机能够相互Ping通了。

 

最后一步用PL/SQL连接虚拟机内的Oracle,在网上查阅了无数资料,PL/SQL需要配置这些东西:

1. 客户端需要安装Oracle官网下载的客户端压缩包,比如解压缩到D:/sqlplus

2.  客户端的D:/sqlplus目录里TNSNAMES.ORA文件中,host信息,SERVICE_NAME信息要配置的和Oracle数据库的同名文件的一致

3. 配置host文件(C:/Windows/System32/drivers/etc/),标注要连接的Oracle数据库IP对应名称信息需要和TNSNAMES.ORA里的一样

4. 在环境变量里加入PATH=D:/sqlplus;TNS_ADMIN=D:/sqlplus;NLS_LANG=SIMPLIFIEDCHINESE_CHINA.ZHS16GBK  

5. 在PLSQL Developer的登录界面,输入用户名密码,Database处,输入的是TNSNAMES.ORA中的Service_name即可。

 

经过了这几部之后,激动人心的时刻来了,要开始连接数据库了,可是却出现了意外,提示Ora-12541,这个错误我都背下来了,TNS-No listener,百度之后说是监听程序没有开启,但是我明明开启了,在物理机浏览器上输入虚拟机的IP和端口号也能访问到Oracle,但是PL/SQL就是不行,又经过几次折腾,坏了,Oracle实例都启动不了了,更坏的是我没有设置快照,没办法只能又一次重新装了系统,又装了Oracle,这一次拍了几个快照,最后连接的时候还是Ora-12541,都有想放弃的冲动了,最后我在虚拟机内的Oracle安装目录下,找到Net Configuration Assistant,我把Listener又重新配置了一遍,这其中有一步是要输入主机的IP地址的,好,一切就绪,监听配置完成了,我重新打开PL/SQL,输入用户名,密码,终于连接上数据库了,折腾了好多次,终于解决了,很开心。

2015年9月24日08:42:21

时隔四个多月,今天又一次配置虚拟机内的数据库,根据上面的步骤,主机还是不能ping通虚拟机,但是虚拟机可以ping通主机,打开主机的控制面板,找到防火墙,主机的防火墙是关闭的,再打开虚拟机的控制面板,防火墙是开着的,好像找到了问题所在,关闭防火墙,ping一下,问题解决。

版权声明:本文为博主原创文章,未经博主允许不得转载。

主机利用plsql+客户端访问虚拟机内的数据库

日期:2015年4月2日 今天的尝试在虚拟机上装上Oracle,并且用本地PL/SQL连接虚拟机的Oracle,因为公司的Oracle是在服务器上的,如果不本地话的话,外网是连不上数据库的,也就没法获...
  • Prisoner1992
  • Prisoner1992
  • 2015年11月17日 19:44
  • 631

本地计算机用plsql访问虚拟机中的oracle数据库

这几天正在做一个测试,需要本地电脑在host-only模式下连接虚拟机中的oracle数据库,下面我给大家讲一下执行步骤: 1.在虚拟机中安装好oracle数据库之后(本人安装的是oracle11g...
  • jeryjeryjery
  • jeryjeryjery
  • 2016年12月02日 22:12
  • 3955

vmware 虚拟机三种网络模式 桥接 NAT 仅主机区别 是什么意思

由于linux目前很热门,越来越多的人在学习linux,但是买一台服务放家里来学习,实在是很浪费。那么如何解决这个问题?虚拟机软件是很好的选择,常用的虚拟机软件有vmware workstations...
  • zkuncn
  • zkuncn
  • 2017年11月05日 20:36
  • 112

解决主机不能访问虚拟机CentOS中的web站点

虚拟机上装好了centos5.5,并配好了nginx+php+mysql,但是本机就是无法访问。 具体情况如下 1.本机能ping通虚拟机 2.虚拟机也能ping通本机 3.虚拟机能访问自己的...
  • u013205877
  • u013205877
  • 2015年08月23日 13:26
  • 1728

使用vmware搭建mysql主从数据库

今天搭建了一套mysql主从数据库,但是搭建过程中遇到一个问题在这里简单介绍一下: 被库启动后报错如下: 错误1: 2016-12-03T15:09:15.347102Z 6 [ERROR...
  • niujiaming0819
  • niujiaming0819
  • 2016年12月03日 23:45
  • 866

从数据库中获取今天的记录,最近一周的记录

条件where  to_days(addtime) = to_days(now()); 这里要了解to_days()函数的意思。定一个日期,返回一个天数(年为0以来的天数)。 where DATE...
  • u013077250
  • u013077250
  • 2016年12月09日 16:23
  • 553

主机访问虚拟机oracle数据库

主机访问虚拟机oracle数据库,之前总是报ORA-12541:TNS:无监听程序
  • cxx504659987
  • cxx504659987
  • 2016年06月14日 09:53
  • 3215

局域网访问 虚拟机中Postgresql 拒绝访问

问题: could not connect to server: Permission denied Is the server running locally and accepting ...
  • yaoxiaochuang
  • yaoxiaochuang
  • 2017年11月17日 14:33
  • 181

数据库中存储与读取文件

if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[p_binaryIO]) and OBJECTPROPERTY...
  • zjcxc
  • zjcxc
  • 2003年12月29日 17:29
  • 6425

使用VMware VSphere WebService SDK进行开发 (七)——获取数据中心、集群、主机、虚拟机的目录结构

在实际应用中,需要显示出数据中心(Datacenter)、集群(ClusterComputeResource)、主机(HostSystem)、虚拟机(VirtualMachine)之间的目录关系。这里...
  • u013256816
  • u013256816
  • 2015年11月18日 17:32
  • 5472
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:主机利用plsql+客户端访问虚拟机内的数据库
举报原因:
原因补充:

(最多只允许输入30个字)