拓扑园

  • Oracle性能优化
  • Oracle项目案例
    • Oracle近期项目案例(目录)
    • Oracle实战问题解析(目录)
    • Oracle数据库名变更流程(2种方式)
    • Oracle数据库目录更换流程(使用Oracle的clone工具)
    • Oracle数据库迁移方案(目录)
  • 技术研究-密保
    • FG-MySQL
    • FG-Docker/K8S
    • FG-PostgreSQL
    • FG-ORACLE_BBED
    • FG-ORACLE
    • FG-Elasticsearch(ES)+ELK
    • Oracle-19C-OCP
    • WERN_ORACLE培训
    • redis数据库
    • Nginx培训学习系列
  • 图灵小队
    • MySQL8.0/Oracle/Memcached/Redis等安装配置于RHEL/OL6/7/8.X系列-运行环境最优配置
    • PG安装配置于RHEL/9X系列-运行环境最优配置
    • 自动维护任务详解-开启、关闭信息统计收集(统计信息)
    • 图灵小队-Oracle存储过程导出表的明细_UTL_FILE(文章)
    • 图灵小队-Oracle数据库删除/卸载操作指南(文章)
    • 图灵小队-Oracle常用性能查询SQL语句(文章)
    • 图灵小队-Oracle数据库上线前检查(文章)
    • 图灵小队-Oracle常用SQL语句(文章)
    • 图灵小队-Oracle脚本合集(文章)
    • 图灵小队-Oracle技巧记录(文章)
    • LLL的Oracle培训(目录)
    • LLL的docker培训(目录)
    • 标准化文档系列(目录)
    • Oracle/MySQl等面试题
  • Oracle
    • Oracle
    • ADG
    • RAC
    • ASM
    • EXPDP/IMPDP
    • 工厂数据导入导出系列
    • OGG
    • RMAN
  • 云计算
    • 云计算
    • docker
    • kubernetes
  • Linux
    • Linux
    • PHP
    • Nginx
    • haproxy
    • mail
    • 网站
    • 域名
    • 网址收藏
  • 数据中心
    • 数据中心
    • EBS数据文件库容
    • VMware虚拟化
    • mysql
    • EBS系列
    • 大数据
    • SVN
    • zabbix
    • SAP
    • 备份相关
    • FC交换机
    • SVN
  • 其他
    • 外研英语4年级下册-听力
    • 影视系列
    • 如何使用iTunes软件通过抓包下载旧版本的ios的app
Oracle数据库恢复专家团队:TEL:18562510581(微信同号);QQ:284833194;QQ群:496333360
天高任鸟飞
  1. 首页
  2. 技术学习系列
  3. WERN_ORACLE培训
  4. 正文

第05部分 oracle11g的网络配置

2020年3月4日 415点热度 0人点赞 0条评论

一、Oracle11g至少启动的服务

1、如果通过网络访问数据库服务器,至少要启动OracleOraDb11g_home1TNSListener和OracleServiceORCL服务。

2、如果本地访问数据库服务器,至少要启动OracleServiceORCL服务。

二、网络配置:

1、服务器端监听控制:lsnrctl start|stop| status

2、图形界面配置监听:netca

3、编辑文件方式配置监听:编辑$ORACLE_HOME\NETWORK\ADMIN\listener.ora文件。

三、oracle 服务网络配置文件:

1、sqlnet.ora

    <1>SQLNET.AUTHENTICATION_SERVICES(sys本地登录的区别)

(1)当用户登录到操作系统后,如果进而允许此用户登录数据库系统(sqlplus / as sysdba以sys权限登录,可以不用输入密码),则需要在sqlnet.ora中设置SQLNET.AUTHENTICATION_SERVICES= (NTS);

image.png

(2)如果设置为SQLNET.AUTHENTICATION_SERVICES= (NONE),则不允许登录到数据库系统中(执行sqlplus / as sysdba以sys权限登录,必须输入密码)

注:在11g新版本11.2版本中,sqlnet.ora在默认位置($ORACLE_HOME\NETWORK\ADMIN)已经没有了,可以从$ORACLE_HOME\NETWORK\ADMIN\samples取过来,设置SQLNET.AUTHENTICATION_SERVICES参数的值即可生效

image.png

image.png

 <2>NAMES.DIRECTORY_PATH=(TNSNAMES,hostname) 客户端连接影响。客户端连接服务器的简单连接方式,带IP地址,就可以直接访问oracle服务端

(1)简单连接方式:EZCONNECT或hostname(类似sqlplus scott/scott@172.18.1.110:1521/orcl的连接方式,不需要客户端进行任何配置。)

此处的orcl代表的是实例名,

image.png

如果删除上面的hostname或ezcoonect(版本不同,参数不同),则无法使用这种简单方式连接外部的oracle服务

image.png

image.png

  (2)TNSNAME,这个参数,表示必须要在客户端配置tnsnames.ora才可以进行访问

    在此种方式下,需要配置tnsnames.ora才可以连接。

2、listener.ora

一个服务可以有多个监听,1521,1522,1523等。

# listener.ora Network Configuration File: /data/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora

# Generated by Oracle configuration tools.

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))  #用于监听tcp/ip过来的请求

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))    #ORACLE调用C/C++/JAVA等提供的外部过程、函数

)

)

ADR_BASE_LISTENER = /data/u01/app/oracle

3、tnsnames.ora 

tnsnames.ora的配置

image.png

 使用客户端连接方式:上述的orcl和test都是自定义的服务代表名称,此处@后面的orcl或test,代表的是自定义服务名称

如果把tnsnames.ora中自定义服务orcl名称改为orcl33,如果在用orcl登录,就不可以登录了,如下图

image.png

更换orcl为orcl33,可以正常登录

image.png

四、Oracle 11g的服务名的含义:

    1、服务名,

    (1) 服务名:服务名就是连接字符串,可以通过它访问远程数据库,可以通过NETCA配置,配置时要指明远程数据库的主机名,网络协议用TCP/IP,配置完成后可以用如 下方式登陆:

(2)(以服务名orcl33为例)  sqlplus username/password@orcl33,也就是:是对数据库的一个标识,通过服务名可访问数据库 。

(3)测试服务能否连接上:tnsping  <服务名>; tnsping是Oracle提供的一个工具

(4)服务名和数据库,SID都是不一样的,它只是一个连接字符串

image.png

五、静态注册和动态注册

   1、注册

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

 2、静态注册

    在listener.ora中,如果有类似如下的配置,就是静态注册。实现静态注册,需要使用netmgr进行,或手动在listener中添加。

      SID_LIST_LISTENER =

      (SID_LIST =

        (SID_DESC =

          (GLOBAL_DBNAME = Orcl)

          (ORACLE_HOME =   D:\app\Administrator\product\11.1.0\db_1)

          (SID_NAME = ORCL)

        )

      )

   3、动态注册

在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。

    也就是说,如果删除了listener.ora,oracle在启动监听时,也可以自动进行动态注册,不需要listener.ora

    在使用netca创建监听时,会自动创建listener.ora,但没什么实际用处,其实也并非无用,如下

    (1)如果只使用动态注册,listener.ora可以不用

    (2)如果只使用静态注册,listener.ora必须要有

    (3)如果考虑使用静态注册和静态注册同时存在,listener.ora必须要有,并且里面包含动态注册和静态注册的配置。

4、静态注册与动态注册最直接简单的判定

(1)使用lsnrctl status查看某个服务是静态注册、还是动态注册;

如果是UNKNOWN,表示静态注册;

如果是READY,表示动态注册。

(2)READY的服务是由PMON进程动态的注册到监听器,因此PMON进程所在的数据库一定处于打开状态,所以说这些服务名所对应的实例已经准备好(READY)接受用户的连接请求。

(3)UNKNOWN的服务是通过编辑listener.ora而静态注册的服务名,监听器并不知道该服务名对应的实例是否打开了,所以用UNKNOWN表示。

 5、动态注册与静态注册的转换

方法一:直接编辑listener.ora文件,将静态注册的配置和动态注册的配置进行更换即可。如下图,我让静态和动态同时存在

image.png

启动监听效果:

image.png

 6、动态注册与静态注册的使用场景

    大部分情况下,动态注册和静态注册没什么区别,都可以使用。唯一不同场景是,oracle进行DataGuaid或ADG时,主机和备机需要进行静态注册,以便保持主机和备机的监听信息一致

 

六、Net Configuration Assistant(netca)和net manager(netmgr)的区别

    1、netca 可以创建listener.ora、tnsnames.ora、sqlnet.ora

创建listener.ora,创建是动态注册的文件,但是动态注册用不到这个文件,所以这个功能没有任何意义。

image.png

创建sqlnet.ora

image.png

创建tnsnames.ora

image.png

    2、netmanager

    执行命令:[oracle@localhost admin]$ netmgr

image.png

 

netca
无法配置静态监听,可以配置listener.ora、tnsname.ora、sqlnet.ora
listener configuration:修改的是listener.ora文件
listener configuration有4个选项add\reconfigure\delete\rename
listener configuration(add\reconfigure):只能对监听配置HOST、PORT,静态注册的监听需要的ORACLE_HOME、SID_NAME无法配置,可以简单理解为无法配置静态监听
listener configuration(reconfigure\delete\rename),当前监听正在运行,会提示需要关闭监听,配置完成后(reconfigure\rename),监听会自动启动,(delete)则不会再启动


naming methods configuration:修改的是sqlnet.ora文件
naming methods configuration没有其他选项,只能修改sqlnet.ora文件的NAMES.DIRECTORY_PATH值

local net service name configuration:修改的是tnsname.ora文件
local net service name configuration有5个选项add\reconfigure\delete\rename\test
local net service name configuration(add\reconfigure):只能对tns配置SERVICE_NAME、HOST、PORT

netmgr
可以配置静态监听,可以配置listener.ora、tnsname.ora、sqlnet.ora
profile修改的是sqlnet.ora文件
naming可以修改NAMES.DIRECTORY_PATH值
general可以配置ADR_BASE路径、各种超时时间、允许或受限IP登录
oracle advanced security可以配置各种高级登录认证权限比如SQLNET.AUTHENTICATION_SERVICES值

service naming修改的是tnsname.ora文件
可以add、delete、reconfigure、rename
reconfigure可以配置SERVICE_NAME、HOST、PORT、INSTANCE_NAME、SERVER(SHARED or DEDICATED)、SID、GLOBAL_NAME、HS、LOAD_BALANCE、FAILOVER

listeners修改的是listener.ora文件
general parameters配置的是ADR_BASE_LISTENERNAME
listening location配置的是address如(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
database services配置的是静态监听信息,如SID_LIST_LISTENERNAME,只包含GLOBAL_DBNAME、ORACLE_HOME、SID_NAME
other services配置的也是静态监听信息,如SID_LIST_LISTENERNAME,还包含PROGRAM、ARGV0、ARGS、ENV

总结:

1、listener.ora 在动态注册中,是没有用的;在静态注册中需要增加配置

2、tnsnames.ora中,是本机连接外部连接时的配置文件,

(1)服务器本地,通过sqlplus / as  sysdba或 sqlplus system/oracle登录,都是登录的本地,通过sqlnet.ora的简单连接NAMES.DIRECTORY_PATH=(TNSNAME,EZCONNECT)设置即可

(2)服务器通过tnsnames.ora登录,那么就需要:sqlplus system/oralce@test或sqlplus system/oralce@127.0.0.1/test或sqlplus system/oralce@10.110.48.11/test。其中test是自定义连接服务名,而不是SID。

test =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = kssyorclprd)

)

)

3、通过下列位置,可以跟踪tns监听信息:

$ORACLE_BASE/diag/tnslsnr/localhost/listener/alert/log.xml

4、如果本地服务,全局服务为orcl,SID为kssyorclprd,如果在服务器本地使用tnsnames连接,自定义连接名只能为orcl

 sqlplus mesprd/Mes1qaz#EDC@127.0.0.1/orcl可以连接

但是

sqlplus

orcl =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = kssyorclprd)

    )

  )

image.png

标签: 暂无
最后更新:2020年5月5日

admin

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2022 拓扑园. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鲁ICP备2021020523号

鲁ICP备2021020523号