日期:2014-05-16  浏览次数:20770 次

Oracle数据库——服务端配置远程连接

前言

        我们做的项目人家点名要用oracle数据库,在查询、修改等方面,由于有SqlServer的基础,这块没有什么问题。但是刚刚接触,不熟悉还是有的,例如创建表空间,创建用户,还需要给用户赋予权限。

        我用的是PL/SQL,用了这几天,感觉Oracle的权限赋予这块,确实挺强大的。依稀记得我在弄FTP服务器时,为了控制权限而大费周折。还有强大的就是级联删除这个功能,在用SqlServer时,还需要自己写触发器来实现,而Oracle单单只需要一句话就实现了,让人感觉其强大。

        但是,强大的背后,就是它那繁琐的使用步骤。

        我们合作开发,数据库装到了我的电脑上,其他两个人那只装PL/SQL。Oracle的远程连接,不像SqlServer那样是在登陆界面输上IP,在往上一搜,就有人教你怎么用PL/SQL远程连接数据库。

        在这里,我只是给大家一个连接,推荐别人的博客也是一种美德,嘻嘻——用PLSQL远程连接数据库(本机没有安装ORACLE数据库)


问题描述

        如果事情到这里就结束了,那么这博客也就不会出了。

        问题来了,不论怎样配置,就是登陆不上去,叫过来了写这篇博客的本人弄了结果还是不行,后来用这种方法远程了一下别人的点,发现是可以的,于是开始把矛头指向了服务端。

        本来认为是自己安装过程中有遗漏选项,所以找了一个安装教程看了一下,几乎都是下一步的事情,就算有设置,也不是设置监听之类的东西,所以就没有重装(我用的是ORACLE 11G,如果是10G的话,可能不会有我这种问题)。

        于是我开始自己做实验,找到了我的”oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN“下的的tnsnames.ora。将里面的localhost改成了我自己的IP,发现居然不可以,于是就确定了,这个问题的源头在我的数据库。


解题思路

        印象中,SqlServer的远程连接如果不能用的话,是可以配置的。第一,检查防火墙;第二。。。。。,于是,就在网上找了一下,结果真的发现了ORACLE远程连接配置服务端的一篇文章。


解题方法

        远程服务端配置:

1、数据库配置(我犯的不是这个错误)

                将数据库操作模式配置为“共享服务模式”,如果不确定数据库的操作模式,可以打开

                “DatabaseConfiguration Assistant”工具的在数据库中配置数据库选项进行配置。

        2、数据库服务

                打开数据库服务(一般不会犯这个错)。在命令韩刚输入services.msc看看Oracle的服务是否打开。

        3、监听程序(我的就是在这个环节出了问题)

                确定数据库已经附加到监听程序中,并且监听程序已启用。

                我的数据库监听打开了,但是数据库没有附到监听程序中,方法是:在net manager里找到你的监听,然后

                在里面的数据库中加入服务器名和Oracle_home的路径。

                保存,然后重启监听服务器就行。

        4、网络状态

                确定监听程序所使用的端口已被列入防火墙允许的行列。(这点对咱们来说,有点陌生,防火墙,我一般

                都关闭。。。。)


感想

        现在,服务器端就设置好了,那么别人是否可以连接你呢?难道非要等到这样的悲剧发生了之后,才知道自己反省自己么?如果能够早点测试一下,那么就不会耽误好些人的时间。