Oracle网络服务与网络管理-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

Oracle网络服务与网络管理

简介: 在第一次配置Oracle的时候,我总是失败,那是因为我对Oracle还不太了解,只是按照书上的步骤去操作,至于为什么,不得而知,终于有空闲的时间,便好好的研究了下。Oracle数据库是网络数据库,一个oracle数据库对于客户机来说就是一个服务,一个数据库是用一个服务名(Srver Name)来标识的,它是数据库的逻辑表示,是数据库呈现给客户机的链接方式。
在第一次配置Oracle的时候,我总是失败,那是因为我对Oracle还不太了解,只是按照书上的步骤去操作,至于为什么,不得而知,终于有空闲的时间,便好好的研究了下。

Oracle数据库是网络数据库,一个oracle数据库对于客户机来说就是一个服务,一个数据库是用一个服务名(Srver Name)来标识的,它是数据库的逻辑表示,是数据库呈现给客户机的链接方式。

在安装数据库的时候,会让大家输入SID和全局数据库名,一个数据库的全局数据库名是由数据库名和数据库域名组成: 数据库名.数据库域名,这个全局数据库名就是服务名,它由初始化参数文件中的DB_NAME和db_domain两个参数共同表示,而在服务器端得Listener。ora文件中的server_NAME表示。


    网络服务名是数据库字客户端的名称,逻辑的表示数据库的别名。它用来帮助客户端准确的链接到指定的服务(数据库),这个被存储在客户机的tnsname.org文件中(transparent Network Substrate)。oracle用网络描述符作为客户机访问数据库的路径,我们可以知道,只要牵扯到网络访问,这个描述符里应该有服务器的地址,在网络上表示服务器的地址? 访问协议?主机名?端口号?访问方式(oracle服务器分为专用进程,共享进程)

gis =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = zuiyirenjian)(PORT = 1521))(注意我的host是我的计算机名称,可以写成ip地址的)
)
(CONNECT_DATA =
(SERVER = DEDICATED)(连接方式专用方式)
(SERVICE_NAME = zuiyirenjian.com)(全局数据库名)
)
)
应为这里连接描述符太长了,如果我们连接的时候写这么长的,难免很出错,所以我们可以一个简短的来代替这个链接描述符,我用的是gis,那么这个gis就代替了我的链接描述符,我们把这个叫做网络服务名,有问题吗?从上面可以看书,只要连接描述符不变,我可以配置好几个网络服务名,这有问题吗?

我们知道网络会话是通过监听程序建立的,它是运行在服务器上的一个进程,在Listener。ora文件中可以看到相关信息。

listener.ora 文件里面的内容如下:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = zuiyirenjian)(PORT = 1521))
      )
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
      )
    )
  )
既然是监听,那就要监听某一个端口和某台服务器上的信息,所以上面的主机名和端口号要和tnsname中一样,说错了应该是后者和前面一样,应为我们肯定先配置服务端,然后客户端,呵呵。

在这里多说一句,ip地址可以帮助我们找到网络上的计算机,但是能帮我们找到具体的服务吗?我们知道一台计算机上可以有多个服务器,IIS,TOMCAT等等,如果把ip比作一幢楼房,而每一个服务相当于这幢楼的一个房间,每个房间可以有不同的号码,类似于端口号,所以通过ip+端口号就可以找到这个服务,就想我们找某个房间,首先要找这个房间所在的楼的地址,然后在找房间号。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章