关闭

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

标签: vmwareoracleplsql
515人阅读 评论(0) 收藏 举报
分类:

日期: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一下,问题解决。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:523次
    • 积分:15
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档