欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

(Les06 Networking)[20180210]

程序员文章站 2022-07-23 20:37:58
学习目标 使用Enterprise Manager执行操作 -创建其它监听程序 -创建Oracle Net服务别名 -配置连接时故障转移 -控制Oracle Net监听程序 使用tnsping 测试Oracle Net的连接 确定何时使用共享服务器以及何时使用专用服务器 《Oracle Databa ......
学习目标
    使用Enterprise Manager执行操作
        -创建其它监听程序
        -创建Oracle Net服务别名
        -配置连接时故障转移
        -控制Oracle Net监听程序
    使用tnsping 测试Oracle Net的连接
    确定何时使用共享服务器以及何时使用专用服务器
    《Oracle Database Net Services Administrator's Guide》
    《Oracle Database Net Services Reference》
 
Oracle Net服务
        客户端或中间层到Oracle服务器端二者间创建连接,并且负责信息交换。
        客户端或中间层(应用程序<-->Oracle Net)---TCP/IP---(监听程序)---数据库(RDBMS<-->Oracle Net)
        Oracle Net配置文件
 
        Oracle Net服务最常见的用法是传入数据库连接。通过配置其它网络服务,可允许访问外部代码库(EXTPROC)以及通过Oracle异构服务将Oracle实例连接到非Oracle数据源(Sybase,Informix,DB2和SQL Server)
 
Oracle Net监听程序
    监听程序,是将所有非本地用户连接到Oracle实例的网关。单个监听程序可用于多个数据库实例以及成千上万个客户端连接。
    安装Grid Infrastructure后,Oracle Net监听程序从其软件安装目录<Grid_home>启动。
 
    建立网络连接
        Oracle Net连接需了解事项:
            -运行监听程序的主机
            -监听程序监听的端口
            -监听程序使用的协议
            -监听程序处理的服务名
        Oracle Net名称解析
    建立连接
        Oracle Net名称解析完成后,连接请求传递至监听程序。监听程序会接收一个CONNECT数据包,并检查请求包的Oracle Net服务名是否有效。
    用户会话
        CONNECT数据包请求了一个有效的服务名,则监听程序衍生一个“服务器进程”。监听程序会连接该进程并传递初始化信息,用户进程地址信息。此时监听程序不再处理连接,所有工作都会由服务器进程处理。
        服务器进程首先检查用户的身份证明(密码),有效则创建一个用户会话。
 
            专用服务器进程
                -对通过应用程序发出的所有SQL语句进行语法分析,然后运行
                -在数据库缓冲区高速缓存中查找执行SQL语句所需的数据块
                -从磁盘上的数据文件中将必要的数据块读入到系统全局区(SGA)中的数据库缓冲区高速缓存部分(如果SGA中没有这些数据块)
                -管理所有排序活动。排序区是用于处理排序的内存区;它包含在程序全局区(PGA)关联的内存部分。
                -将结构返回到用户进程,以便应用程序可以处理这些信息
                -读取审计选项并将用户进程报告给审计目标
 
配置和管理Oracle Network的工具
        Enterprise Manager的“Net Services Administration网络服务管理”
            提供了配置和管理Oracle Net服务的集成环境
        Oracle Net Manager
            提供了图形化用户界面(GUI),可针对本地客户端或服务器主机上的Oracle主目录配置Oracle Net服务。
            网络组件
                -命令:定义简单的名称和连接标识符,并将它们映射至连接描述符以确定网络位置和服务标识。Oracle Net Manager支持在本地tnsnames.ora文件或集中式目录服务中配置连接描述符
                -命令方法:配置连接标识符解析为连接描述符的不同方法
                -概要文件:配置用于在客户端或服务器上启用和配置Oracle Net功能的首选项
                -监听程序:创建和配置监听程序以接收客户端连接
        Oracle Net Configuration Assistant    
                安装Oracle软件时通过Oracle Universal Installer启动Oracle Net Configuration Assistant。
        命令行
    
监听程序控制
    使用lsnrctl命令行控制Oracle Net监听程序
    $lsnrctl
    LSNRCTL>help
    lsnrctl可以完成以下工作:
        -启动监听程序
        -停止监听程序
        -检查监听程序的状态
        -根据配置文件参数初始化监听程序
        -动态配置多个监听程序
        -更改监听程序口令
    基本命令语法
        LSNRCTL>command [listener_name]
        
         命令行语法:
                $lsnrctl <command name>
                $lsnrctl start
                $lsnrctl stop
                $lsnrctl status
 
            提示符语法:
                LSNRCTL><command name>
                LSNRCTL>start
                LSNRCTL>status
            命令行语法通常用于执行单个命令或脚本命令。如果计划执行若干个连续的lsnrctl命令,则使用提示符语法更高效。如果监听程序受到口令的保护,则必须使用提示符语法。
 
使用SRVCTL启动和停止监听程序
        由Oracle restart管理的任何监听程序,可以使用srvctl启动/停止它并查看其状态。
            -srvctl -h
            -srvctl start listener
            -srvctl stop listener
            -srvctl start listener -l mylistener
            -srvctl status listener
    
        监听程序主页
            -最近24小时内监听程序的状态和可用性
            -监听程序版本和Oracle主目录
            -监听程序的第一个监听地址
            -用于启动监听程序的配置文件的位置
            -监听程序的启动时间和主机信息
            -Oracle restart 状态
        Net Services Administratrion(网络服务管理)页
            -监听程序:添加,删除,启动和停止监听程序,以及更改其跟踪特性和事件记录特性。此外,还可以查询监听程序的控制状态报表。
            -目录命名:可以定义简单的名称和连接标识符,并将定义的内容映射至连接描述符以确定网络位置和服务标识。将数据库服务,Oracle Net服务和Oracle Net服务别名保存到集中式目录服务中。
            -本地命名:将Oracle Net服务名保存在tnsnames.ora文件中
            -概要文件:配置sqlnet.ora参数
            -文件位置:更改Oracle Net服务的配置文件的位置
        数据库服务注册
            -动态服务注册:Oracle8i和更高版本的实例会在启动数据库时向默认监听程序自动进行注册。
            -静态服务注册:Oracle DB的早期版本并不自动向监听程序进行注册,因此,要求监听程序配置文件包含一个列表,其中含有监听程序为之提供服务的所有数据库服务。
                   静态服务注册,使用场景:
                    -监听程序所在的端口不是默认的1521端口
                    -应用程序要求进行静态服务注册
            -服务名:SERVICE_NAMES初始化参数指定客户端可用来连接到实例的一个或多个名称。实例向监听程序注册其服务名。
                    SERVICE_NAMES = sales.example.com,eurosales.example.com
 
命名方法
    Oracle Net支持多种解析连接信息的方法:
            -简单连接命名:使用TCP/CP连接字符串
                CONNECT username/password@host[:port][/service_name]
                    -默认启用此方式
                    -不需要进行客户端配置
                    -仅支持TCP/IP(无SSL)
                    -不支持高级连接选项(如:连接时故障转移,源路由,负载平衡)
            -本地命名:使用本地配置文件
               连接描述符存储在客户端 tnsnames.ora的本地配置文件
                    -需要客户端名称解析文件
                    -支持所有的Oracle Net协议
                    -支持高级连接选项(如:连接时故障转移,源路由,负载平衡)
            -目录命名:使用符合LDAP的集中式目录服务器
                    -需要加载了Oracle Net名称解析信息的LDAP    
                        -Oracle Internet Directory
                        -Microsoft Active Directory Services
                    -支持所有的Oracle Net协议
                    -支持高级连接选项
            -外部命名:使用受支持的非Oracle命名服务,概念上讲,外部命名类似于目录命名。
                    -使用受支持的非Oracle命名服务
                    -包括
                        -网络信息服务(NIS)外部命名
                        -分布式计算环境(DCE)单元目录服务(CDS)
            高级连接选项
                本地命名和目录命名,Oracle Net支持的高级连接选项
                    -连接时故障转移
                    -源路由
                    -负载平衡
                    (Les06 Networking)[20180210]
    测试Oracle Net连接
            -确保客户端与Oracle Net监听程序之间的连接
            -不验证所请求的服务是否可用
            -支持简单连接名称解析
                tnsping host01.example.com:1521/orcl
            -支持本地命名和目录命名
                tnsping orcl
    
    用户会话:
        专用服务器进程,服务器进程与用户之间的比例是一比一。每个服务器进程都会使用系统资源,包括CPU和内存。
        专用服务器体系结构的资料需求对系统产生了负面影响,则需要:
                -通过增加更多的内存和额外的CPU
                -使用Oracle共享服务器进程体系结构
        共享服务器进程,每个参与共享服务器进程体系结构的服务均至少具有一个(通常多个)分派程序进程。与专用服务器进程不同,单个分派程序可以管理数以百计的用户会话。
            共享服务器进程接管专用服务器进程的大部分工作,而是将用户请求传递到位于SGA共享池部分的公用队列。
            用户会话存储在PGA中的部分内存结构也迁移至共享内存位置(默认是共享池,如果有配置大型池,则在大型池中)
 
 
    SGA和PGA
        使用专用服务器或共享服务器时,SGA和PGA的内存不同:
            -所有SQL语句的文本和语法分析均存储在SGA中。
            -游标状态包含SQL语句的运行时内存值,例如检索的行
            -用户会话数据库包括安全性和资源用量信息。
            -堆栈空间包含进程的局部变量
 
        SGA中为每个会话分配数据空间,可以通过PRIVATE_SGA资源限制参数来限制每个会话可以分配的空间数量。
        
 
    不能使用共享服务器的情况
        -数据库管理
        -备份和恢复操作
        -批处理和批量加载操作
        -数据仓库操作