您的位置:首页 > 数据库 > Oracle

Oracle 12c 数据库的本地连接和远程连接

2015-12-11 18:00 447 查看
第一次搞Oracle还是半年以前的一个课程项目,记得那个时候为了实现数据库的远程连接而实现多人合作真的是耗费了不少的功夫。最近又在搞一个项目需要用到数据库,我就再一次操作了一遍这个流程,毕竟时间有点久远了,除了特定的关键步骤,一些细节也忘了,这次弄完就在这里做一下记录~

现在网上流传的各种Oracle的方法还是Oracle 11g和10g,12c方面的额东西很少,而我有个特点,有新的就使用新的所以,当初真的是入了不少坑,为什么我们会觉得Oracle比SqlServer和mysql难呢?我觉得主要是我们对它不熟悉,熟悉以后也就和大多是数据库一样了,还有一点就是,Oracle真的是比其他的数据库复杂。

首先,我们安装Oracle12c,去官网,下载两个包就ok。什么?需要注册登录,这里我们可以选择哪个包右键复制链接地址然后使用迅雷下载,又快又省去登录注册的繁琐步骤,不过还是推荐大家按人家的方法去做,毕竟你要用人家的产品嘛~

关于安装什么的,Oracle的安装的确很蛋疼,安装成功有时候还看人品,我记得那时候就安装了好几次,不过这次最近的安装还是挺顺利的。毕竟我也是路基安装的过程,一路next下来就好了吧。

Ok,安装成功以后,我们就可以开始使用它了,首先我们要先确保它的OracleOraDB12Home1TNSListener和OracleServiceORCL两个服务是否已经开启。(查看方法:选择我的电脑右键管理,选择里面的服务和应用程序然后选择服务),好的我们看到这两个服务开启之后就可以进入正式的操作啦!

进入https://localhost:5500/em,我们可以看到一个登陆的界面:



然后用户名输入sys(这个是Oracle里面自带的超级管理员)密码就是你安装时候让你输入的一个密码,进去之后就是如下界面然后选择哪个用户进入用户列表:



之后点击这个新建用户即可。注意:最好保留Oracle给你加的C##的前缀



新建用户一路next就OK,记得最后分配权限的时候像这样,我这里就直接给这个新建用户最高权限(DBA)了:



这样的话我们就已经新建一个用户了,你可以退回到之前那个页面输入新的用户名和密码测试一下是否登录。
OK,接下来就是要新建表:在你的应用程序列表里面选择SQL Developer这个应用程序,打开之后选择连接就会出现如下的配置:



输入你的链接名,这里你可以理解为一个数据库,然后用户名输入为刚才你新建的用户名,写入密码,需要注意的是SID,这里需要注意填入的是你当初安装Oracle时候填写的全局数据库的名字(如果没有改动的话应该是orcl),这样的话,可以说我们的一个数据库就建立好了。链接成功之后就是你想对熟悉的界面,建表和索引啥的。


链,
到目前为止我们的本机已经连接到Oracle数据库了。
接下来就是在同一个局域网下怎么连接到这个数据库?
首先,我们要打开Oracle自带的一个程序叫做:Net Manager,然后选择里面的Listener:



之后呢,给他增加一个监听如下:



这里的那个主机填写的就是本机的局域网Ip地址(怎么查看本地Ip地址?cmd->ipconfig你就可以看到了),端口默认是1521。这时候,我们在同一个局域网下的一个电脑下载一个SQL
Developer,这个官网上也有的下,步骤和上面本地连接一样,只不过需要把那个主机名改成Oracle数据库所在的主机位置,我这里就是192.168.1.101。然后,不要忘记的事,把你的数据库所在的主机的防火墙关闭,【如果你认为关闭防火墙有风险的话你也可以不关闭防火墙,只需要进行下面的操作(参考了两篇博文:http://blog.csdn.net/dracotianlong/article/details/21735475和http://blog.itpub.net/228190/viewspace-184350/):

具体为什么仅仅设置防火墙的应用程序特例没用,上面两篇博文已经说的很清楚了,下面我们就来配置一下:
还记得我们安装完Oracle的时候说要去看看两个服务有没有开启吗?就是那两个服务来保证Oracle数据库的完美运行,那么我们就要给这两个服务添加防火墙程序特例,可以这两个程序的位置在哪呢?安装完Oracle我们发现我们安装了很多的程序,那么到底是添加那几个呢?
我们可以打开任务管理器,在后台进程里面找到Oracle开头的进程,我这里是这几个:



然后点开旁边的三角号就可以看到这个进程的详细信息:



我们可以发现,这两个就是最重要的那两个服务,但是他们对应那几个应用程序呢?我们可以选择这个进程右键选择打开文件位置这样就跳转到了这个文件的程序位置。这里我贴出这两个程序的名称(oracle.exe和TNSLSNR.EXE)具体的路径也可以通过这种方法获得,于是我们把这两个程序添加到防火墙特例,因为后面我们还需要外网连接,于是在专网和公网后面都打上对勾:



如果你看了那两个链接的话,你就应该知道,每次Oracle链接对应的端口号都是随机变化的,所以我们还要添加一些内容针对不断变化的端口号,在注册表中修改如下:
找到HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\,在里面所有带Home字符串的一级单元上新建一个字符串值:USE_SHARED_SOCKET=TRUE。
如我的:



我这里就只有箭头所指的文件夹在这里新建一项。最终效果如下:



这样,你就可以放心的把防火打开,然后重启服务或者重启计算机,你的外部客户端也就可以链接你的数据库啦!


必须要按照以上方法的一种操作,不然防火墙可能会阻止其他电脑对数据库的访问的!这样,你就可以在同一个局域网下链接你的Oracle数据库了~

下面我们来说一下怎么在广域网下链接Oracle数据库,毕竟局域网的范围太小了啊,有时候我们需要在外地也可以连接到我们的数据库,这个怎么办呢?其实方法有两种:
第一种就是设置转发规则,进入你的路由器管理界面设置转发规则,设置所有对这个ip地址的请求全部发送到我们数据库所在的局域网ip上,这样就相当于你访问这个广域网的ip地址就相当于访问你的主机。然而有些路由器就没有路由转发的功能,而且我们的目的仅仅是访问数据库的时候才访问这个主机,这样设置的话总感觉有点大材小用了,所以我们可以使用下面的一种方法~

第二种就是设置虚拟服务器,方法如下:
首先进入你的路由器管理界面(TP-Link 的话应该是192.168.1.1吧):



然后进入应用程序界面(可能不同的路由器设置方式不一样,我这里只是拿TP-Link | TL-WR886N举个例子)



选择之后呢,就进入如下界面,选择虚拟服务器:



然后在里面添加条目,因为前面我们看到主机的ip是192.168.1.101端口号是1521所以我们也就如下设置然后保存:



这样的话,我们的配置就完成啦,这时候,我们去一台不在同一个局域网下面的电脑,安装上SQL Developer之后,新建连接,这时候,其他的都和前面的一样,就是那个主机地址,这时候要填写你的主机的外网地址(也就是路由器配置时候的地址)
好啦,现在我们无论是内网还是外网都可以链接我们的数据库啦~建议大家最好在路由器里面设置IP与MAC绑定,也就是把本地的ip地址和你的数据库主机的物理地址绑定起来,不然的话可能你关机再开机链接路由器之后,你的本地ip地址又换了,然后你还得重新配置对应的新的ip地址。这样的话小伙伴们就可以愉快地连接检查Oracle数据库好好工作啦!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: