【Oracle11g】06_网络配置

摘要:
1) tnsnames.ora文件客户端的网络服务名称配置信息包括服务器地址、侦听端口号、数据库SID等,并与服务器的侦听器建立连接。配置信息保存在名为listener的文件中。乌拉。

目录

1.Oracle11g在windows上访问的两种方式

1.1 通过网络访问

通过tcp/ip协议访问数据库的话,需要启动2个服务:

  • OracleServiceORCL
  • OracleOraDb11g_home1TNSListener

访问命令为:sqlplus scott/tiger@orcl

1.2 本地直接访问

如果是直接访问本地的话,那么只需要启动1个服务即可

  • OracleServiceORCL

访问命令为:sqlplus scott/tiger

2.客户端访问服务器

【Oracle11g】06_网络配置第1张

Oracle11g中进行网络配置的主要文件有三个,位于$ORACLE_HOMENETWORKADMIN下的sqlnet.ora、listener.ora、tnsnames.ora文件。

1)tnsnames.ora文件
客户端的网络服务名配置信息包括服务器地址、监听端口号和数据库SID等,与服务器的监听器建立连接。配置信息保存在名为tnsnames.ora的文件中。

2)listener.ora文件
服务器端监听器配置信息包括监听协议、地址及其他相关信息。配置信息保存在名为listener.ora的文件中。在安装服务器软件时自动配置一个监听器。

2.1 监听相关内容

  • 启动监听:lsnrctl start
  • 停止监听:lsnrctl stop
  • 查看监听:lsnrctl start

1)监听的配置也可以通过netca来完成。
2)也可以直接修改$ORACLE_HOMENETWORKADMINlistener.ora文件

2.1.1 listener.ora的作用

以下是对listener.ora文件内容的详细解释
【Oracle11g】06_网络配置第2张
上图中1表示:在oracle对外部过程调用的时候进行的监听,此处的外部过程指的是Oracle无法实现的功能,通过c、c++、java等高级语言编写的函数。
上图中2表示:在本地计算机上通过1521端口对tcpip进行监听

2.2 sqlnet.ora的作用

2.2.1 SQLNET.AUTHENTICATION_SERVICES参数

1)当用户登录到操作系统后,如果进而允许此用户登录数据库系统,则需要在sqlnet.ora中设置SQLNET.AUTHENTICATION_SERVICES= (NTS);
【Oracle11g】06_网络配置第3张

2)如果设置为SQLNET.AUTHENTICATION_SERVICES= (NONE),则不允许登录到数据库系统中。
【Oracle11g】06_网络配置第4张

上述参数我们也可以在netca中进行配置,以下是具体的配置步骤:
首先在cmd命令窗口中打开netca
【Oracle11g】06_网络配置第5张

选择【命名方法配置】,点击下一步,在下图就可以看到与sqlnet.ora中的两个参数对应的中文描述
【Oracle11g】06_网络配置第6张

配置完成后,则会在sqlnet.ora文件中生效

2.2.2 NAMES.DIRECTORY_PATH参数

【Oracle11g】06_网络配置第7张

例如:不想让客户端通过简单连接连接到服务端,删除EZCONNECT即可。

2.3 tnsnames.ora的作用

1)简单连接:类似conn scott/scott@a84p1l1x02meo8p:1521/orcl的连接方式,不需要客户端进行任何配置
2)本地命名:类似conn scott/scott@orcl的连接方式,需要客户端配置一个本地命名解析文件,为$ORACLE_HOMENETWORKADMIN nsnames.ora文件,可以使用netca配置。

以下是tnsnames.ora文件的部分内容:
【Oracle11g】06_网络配置第8张

该文件一般是在客户端定义,表示:我将以tcp/ip协议通过1521端口连接到100.100.0.106服务器上的orcl数据库。我在客户端mydb作为连接字符串,此处的mydb为服务名

测试服务是否能连接上:tnsping mydb

3.动态注册和静态注册

3.1 动态注册

在listener.ora中,如果有类似

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = a84p1l1x02meo8p)(PORT = 1521))
    )
  )

就是动态注册。动态注册的一个特点就是不需要LISTENER.ORA文件。默
认情况PMON 向LSNRCTL 注册TCP/IP协议,PORT 为1521。

以下是一个小实验:验证动态注册
我们先停止监听lsnrctl stop,然后删除listener.ora文件,接着启动监听lsnrctl start,通过lsnrctl status查看状态,第一次查看状态如下:
【Oracle11g】06_网络配置第9张

此时的监听还没启动,过30s后再次查看
【Oracle11g】06_网络配置第10张

但是依旧没有生成listener.ora文件

3.2 静态注册

注册就是将数据库作为一个服务注册到监听程序,在数据
库服务器启动过程中,数据库服务器会向监听程序注册相应的
服务 。
在listener.ora中,如果有类似

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = Orcl)
      (ORACLE_HOME =   D:appAdministratorproduct11.1.0db_1)
      (SID_NAME = ORCL)
    )
  )

,就是静态注册

以下是静态注册的步骤,使用Net Manager进行注册
【Oracle11g】06_网络配置第11张

打开后如下如:
【Oracle11g】06_网络配置第12张

点击【添加地址】后出现下图
【Oracle11g】06_网络配置第13张

接着选择数据库服务,则出现下图:
【Oracle11g】06_网络配置第14张

点击【添加数据库】
【Oracle11g】06_网络配置第15张

填写完相应的信息后,直接关闭窗口,提示保存,保存即可
【Oracle11g】06_网络配置第16张

此时,在对应的路径下生成了listener.ora文件了
【Oracle11g】06_网络配置第17张

停止监听,启动后查看状态,如下:
【Oracle11g】06_网络配置第18张

状态为UNKNOWN表示是通过静态注册的服务名。

3.3 小结

使用lsnrctl status查看某个服务是静态注册、还是动态注册;如果是UNKNOWN,表示静态注册;如果是READY,表示动态注册。
READY的服务是由PMON进程动态的注册到监听器,因此PMON进程所在的数据库一定处于打开状态,所以说这些服务名所对应的实例已经准备好(READY)接受用户的连接请求。
UNKNOWN的服务是通过编辑listener.ora而静态注册的服务名,监听器并不知道该服务名对应的实例是否打开了,所以用UNKNOWN表示。
动态注册、静态注册可以根据需要进行转换

免责声明:文章转载自《【Oracle11g】06_网络配置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇python通过webservice连接cmdbuildC语言Windows程序开发—TextOut函数介绍【第02天】下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

spring kafka消费者配置介绍----ackMode

当 auto.commit.enable 设置为false时,表示kafak的offset由customer手动维护,spring-kafka提供了通过ackMode的值表示不同的手动提交方式; ackMode有以下7种值: public enum AckMode { // 当每一条记录被消费者监听器(ListenerConsumer)处理...

Android开发学习路线图

通过前面的3篇博客已经简单的介绍了Android开发的过程并写了一个简单的demo,了解了Android开发的环境以及一些背景知识。 接下来这篇博客不打算继续学习Android开发的细节,先停一下,明确一下接下来的学习目标以及学习路线。 一、对Android开发的基本认识 1、Android原生开发是基于Java语言的,由于我比较擅长C#,所以对Java语...

[转]C/C++:构建你自己的插件框架

本文译自GigiSayfan在DDJ上的专栏文章。GigiSayfan是北加州的一个程序员,email:gigi@gmail.com. 本文是一系列讨论架构、开发和部署C/C++跨平台插件框架的文章的 第一篇 第一部分探索了一下现状,调查了许多现有的插件/组件库,深入研究了二进制兼容问题,并展现了一些该方案必要的一些属性。 后续的文章用一个例子展示了可用于...

菜鸡之NetCore 使用EF操作数据库 Oracle & Sqlserver (一)

摘要:   该篇文章主要记录netCore EFCore 如何操作Oracle和SqlServer 数据库,采用Codefirst方式创建数据库以及表。 一, 项目建立   项目采用DDD领域驱动设计模式【学习中】,目录介绍   1. Application :服务层,【暂时不建立服务】   2. Domain :业务领域层,主要就是一些仓储定义已经业务...

Scuba数据库漏洞扫描工具--安装与使用

一、前言 Scuba(数据库扫描工具)官方版是一款高效的数据库扫描工具。Scuba(数据库扫描工具)最新版可扫描世界领先的企业数据库,以查找安全漏洞和配置缺陷(包括修补级别)。Scuba(数据库扫描工具)官方版可以对个人数据库扫描,也可以对企业数据库扫描,让管理人员及时发现漏洞,及时维护数据库。 Scuba 针对 Oracle Database、Micro...

Oracle等待事件分析与AWR和ASH报告_鲨鱼胃的博客程序员资料_ash报告和awr报告的区别

Oracle等待事件分析与AWR和ASH报告_鲨鱼胃的博客-程序员资料_ash报告和awr报告的区别 技术标签: 笔记  oracle  Oracle     文章目录 1 ASH和AWR 1.1 ASH 1.1.1 ash占用的内存大小 1.2 AWR 1.3 等待事件分析 1.4 MMON进程与MMNL进程 1.4.1 MMON进程 1.4....