Oracle 网络

sqlplus sys/123123@192.168.143.90:1521/urpdb as sysdba

15.1 Oracle Net 基本要素:

15.1.1 服务器端的listener (监听器)

1)listener:在oracle server 上启动,负责接收user process 并派生server process ,与user process 建立session
2)建立listener :通过 netca 或netmgr
3)listener的注册:oracle server信息,有动态注册和静态注册两种
4)listener的启动/关闭/查看lsnrctl start|stop|status
5)$ORACLE_HOME/network/admin/listener.ora 配置程序,动态注册可以不使用这个配置程序。

15.2 客户端链接:

1)$ORACLE_HOME/network/admin/tnsnames.ora 配置文件。
如:
myoracle =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.88)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = timran11g)
)
)

2) 注意几个地方
2.1 HOST=目标机的IP,如果是windows平台,习惯使用主机名。PORT=1521这是动态注册的默认端口号。
2.2 SERVICE_NAME 是目标机的db_name.db_domain 单实例下一般与instance_name同名。
2.3 myoracle是连接符,代表的是等号后面的网络连接描述,代表了对三个要素(ip地址,端口号,server_name)的网络描述。为便于记忆,它也常常和SERVICE_NAME同名。但含义不同。

C:\Documents and Settings\timran>sqlplus sys/oracle@myoracle as sysdba

试试没有配置tnsnames.ora下的轻松连接模式

C:\Documents and Settings\timran>sqlplus scott/scott@192.168.0.88:1521/timran11g

15.3 lisenter 注册

1)动态监听:listener 采用的是默认端口(1521),当实例启动时,由pmon 每分钟自动将service name,本机的1521端口号注册到listener
2)静态监听:当listener 一般使用的是非标准端口(如1522),在listener.ora的文件里手工注册(添加GLOBAL_DBNAME 和instance name)

15.3.1 监听器的动态注册和静态注册

静态注册:
1)静态注册不需要数据库打开,通过读取listener.ora的静态注册描述完成监听器的注册,因为不需要数据库open,所以如果服务器端一旦启动了静态监听,便可以通过sqlplu以sys用户连接到服务器,实现远程启动/关闭数据库的任务。
2)静态注册可以使用用户指定的端口号(非1521),相对隐蔽,安全。
3)静态注册在一些特殊场合,如使用数据库复制技术时是很有用处的。

动态注册:
1)需要数据库打开才能注册成功,所以动态注册无法使用sysdba身份远程启动数据库。一般都是通过远程TELNET先以root登录服务器,这时你已经在服务器本地了,再转入oracle以sysdba身份打开数据库。之后监听器才可以进行动态注册。
2)使用标准1521端口,自动注册。
3)可以不使用listener.ora,因为动态注册由PMON后台进程自动注册信息,PMON每60秒查看listener进程是否启动,启动了就注册相关服务器信息。

例:静态注册监听器一定要描述listener.ora,有两种方法:

第一种 静态和动态都使用1521端口注册。

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

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME= urpdb)
(ORACLE_HOME = /u01/oracle)
(SID_NAME = urpdb)
)
)

start|stop|status---静态监听器

[oracle@timran admin]$ lsnrctl start|stop|status

第二种,静态注册监听器使用其他端口,如1522端口。

LSN2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.88)(PORT = 1522))
)
)

SID_LIST_LSN2 =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME= timran11g)
(ORACLE_HOME = /u01/oracle)
(SID_NAME = timran11g)
)
)

start|stop|status---静态监听器lsn2

[oracle@timran admin]$ lsnrctl start|stop|status lsn2

...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.66)(PORT=1522)))
Services Summary...
Service "prod" has 1 instance(s).
Instance "prod", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

注意:端口是1522,且status UNKNOWN 这两个信息都说明监听是以静态注册的

客户端的tnsnames.ora中的静态注册描述部分

lsn2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.88)(PORT = 1522))
)
(CONNECT_DATA =
(SERVICE_NAME =timran11g)
)
)

==============
THREE DAY
==============

*考点:

1)如果没有使用RAC,那么监听器必须与实例在同一台主机上运行。在RAC环境下,集群中任何主机的任何监听器作用都是一样的。
2)如果监听器停止运行,那么不能启动任何新的服务器进程,但不会影响先前已经建立的会话。

15.4 配置共享连接模式:sharded server mode

服务器端的几个参数

dispatchers 调度进程数,以此参数一次性作为dispatcher process预先启动。一个despatcher process理论上可以支持256个user process请求。

max_dispatchers 此参数规定了dispatcher process可以设置的最大数量,dispatchers<=max_dispatchers

shared_servers 共享服务器进程最少启动的个数,与dispatcher process数有关 最大不超过shared_server_sessions

max_shared_servers:最多启动几个shared server,是由oracle根据负载来自动分配

shared_server_sessions 此参数是所有session可使用的共享进程的最大值,指定所有的shared server可以使用的session数

SQL> alter system set dispatchers='(protocol=tcp)(dispatchers=3)';
SQL> alter system set shared_servers=3;
SQL> show parameter dispatcher

NAME TYPE VALUE
------------------------------------ -----------
dispatchers string (protocol=tcp)(dispatchers=4)
max_dispatchers integer

SQL> show parameter shared_server

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
max_shared_servers integer
shared_server_sessions integer
shared_servers integer 3

查看状态:
[oracle@timran ~]$ ps -ef |grep ora_d0
oracle 4647 1 0 12:05 ? 00:00:00 ora_d000_timran11g
oracle 4803 1 0 12:15 ? 00:00:00 ora_d001_timran11g
oracle 4807 1 0 12:15 ? 00:00:00 ora_d002_timran11g
oracle 4811 1 0 12:15 ? 00:00:00 ora_d003_timran11g
oracle 4815 3303 0 12:15 pts/2 00:00:00 grep ora_d0

[oracle@timran ~]$ ps -ef |grep ora_s0
oracle 4743 1 0 12:08 ? 00:00:00 ora_s000_timran11g
oracle 4747 1 0 12:08 ? 00:00:00 ora_s001_timran11g
oracle 4751 1 0 12:08 ? 00:00:00 ora_s002_timran11g
oracle 4827 3303 0 12:15 pts/2 00:00:00 grep ora_s0

C:\Documents and Settings\timran>sqlplus sys/system@timran11g as sysdba

SQL> select circuit,dispatcher,status from v$circuit;

CIRCUIT DISPATCH STATUS
-------- -------- ----------------
36F80678 3925F5AC NORMAL

查看监听dispatcher是否注册到监听服务器中:
lsnrctl services

[root@timran ~]# netstat -anp |grep lsn

客户端:tnsnames.ore
1(SERVER = DEDICATED): 表示此连接使用DEDICATED SERVER MODE 缺省的配置。
2(SERVER = SHARED): 表示此连接使用SHARED SERVER MODE, 如果服务器端未配置dispatchers, 此连接失败
3 不做任何说明: 如果服务器端配置了dispatchers,SHARED SERVER MODE优先。

SH =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.50)(PORT = 1521))
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = orcl)
)
)

DED =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.50)(PORT = 1521))
(CONNECT_DATA =
(SERVER = dedicated)
(SERVICE_NAME = orcl)
)
)

MO =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.50)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = urpdb)
)
)

1.查询SID:select userenv('sid') from dual;
2.查询PADDR:select SID,PADDR from v$session where sid=1628;
3.查询系统进程:select ADDR,SPID from v$process where addr='514D8504';
4.ps -ef |grep

oracle之网络的更多相关文章

  1. Oracle的网络监听配置

    listener.ora.tnsnames.ora和sqlnet.ora这3个文件是关系oracle网络配置的3个主要文件,都是放在$ORACLE_HOME\network\admin目录下.其中li ...

  2. Oracle本地网络服务名配置

    1.安装Oracle 11G Client后可以在开始菜单中找到 选择NETCA->本地网络服务名配置 选择添加本地网服务名配置 这里的服务名:指的是也就是数据库名 在网络中架设C/S 客户端选 ...

  3. Oracle配置网络服务

    对于Oracle来说.不管是连接本地数据库还是远程连接server数据库,都须要在本机配置网络服务才可连接. 大家可能不明确为什么. 先拿SqlServer来说.SqlServer在连接数据库的时候仅 ...

  4. oracle的网络连接

    NAMES.DIRECTORY_PATH常用的值有tnsnames,hostname,onames和ezconnect和 ldap,cds,nis不常用的值,默认值是(tnsnames,onames, ...

  5. Oracle 12C -- 网络性能调优

    1.传输数据压缩 网络性能主要受两方面影响:bandwidth和data volume. 在网络层对数据进行压缩,可以减少对网络带宽的需求.而且对应用是透明的. 如果是CPU是瓶颈时开启网络层数据压缩 ...

  6. Oracle本地网络分表模拟分区裁剪

    来自讨论贴 http://www.itpub.net/thread-1877111-1-1.html 准备数据表 2014-07-20 01:38:10>create table tb_1 as ...

  7. Oracle 网络配置与管理

    [学习目标] Oracle 监听器是一个服务器端程序,用于监听所有来自客户端的请求,并为其提供数 据库服务.因此对监听器的管理与维护相当重要.         本章主要内容是描述对Oracle 监听器 ...

  8. OCM_第二天课程:Section1 —》配置 Oracle 网络环境

    注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...

  9. Oracle 11gR2 RAC网络配置,更改public ip、vip和scanip

    Oracle 11gR2 RAC网络配置,更改public ip.vip和scanip 转载黑裤子 发布于2018-10-30 01:08:02 阅读数 2898  收藏 展开 转载. https:/ ...

随机推荐

  1. Java字符串中有多少个字符多少个char、字节

    Java 中Char是两个字节,Char在Java中也被称为代码单元(Code Unit) . Java中的字符与代码点(Code Unit)一 一对应,而可能对应一个或者两个 代码单元 字符串的le ...

  2. 图论算法(五)最小生成树Prim算法

    最小生成树\(Prim\)算法 我们通常求最小生成树有两种常见的算法--\(Prim\)和\(Kruskal\)算法,今天先总结最小生成树概念和比较简单的\(Prim\)算法 Part 1:最小生成树 ...

  3. Java泛型详解,通俗易懂只需5分钟

    转载出处:http://www.weixueyuan.net/view/6321.html 我们知道,使用变量之前要定义,定义一个变量时必须要指明它的数据类型,什么样的数据类型赋给什么样的值. 假如我 ...

  4. linux云服务器搭建 express后台 nginx转发

    购买云服务器 或者自己在本地搭建一个虚拟机 (我用的是腾讯云云服务器(CVM),或者可以购买阿里云 ecs服务器) 购买完成后 配置安全组 允许http https ftp 端口 一般运营商会提供说明 ...

  5. CSS图形基础:纯CSS绘制图形

    为了在页面中利用CSS3绘制图形,在页面中定义 <div  class="container"> <div class="shape"> ...

  6. CentOS7上lvm分区调整(resize2fs: Bad magic number in super-block while trying to open ...)

    问题描述:根目录空间占用率100% 首先用传统resize2fs方式调整分区: resize2fs -p /dev/mapper/centos-home 50Gresize2fs 1.42.9 (28 ...

  7. [NOIP2018]保卫王国 题解

    NOIP2018提高组D2T3 ddp虽然好想,但是码量有点大(其实是我不会),因此本文用倍增优化树形DP来解决本题. 题意分析 给一棵树染色,每个节点染色需要一定的花费,要求相邻两个节点至少要有一个 ...

  8. 不同SEO对长尾关键词的不同做法

    http://www.wocaoseo.com/thread-122-1-1.html      长尾关键词指的是除目标关键词能带来搜索流量的关键词称之长尾关键词,它为一般由几个词语或短语组成,而且随 ...

  9. 架构设计 | 基于电商交易流程,图解TCC事务分段提交

    本文源码:GitHub·点这里 || GitEE·点这里 一.场景案例简介 1.场景描述 分布式事务在业务系统中是十分常见的,最经典的场景就是电商架构中的交易业务,如图: 客户端通过请求订单服务,执行 ...

  10. 【Android】时间选择器,选择日期DatePicker 简单详解demo及教程

    作者:程序员小冰,GitHub主页:https://github.com/QQ986945193 新浪微博:http://weibo.com/mcxiaobing 首先给大家看一下我们今天这个最终实现 ...