ORACLE--网络管理

 

1.专有链接
用户链接有专门的进程进行相应
user ----server process

2.共享链接 []
用户链接数据库时,没有服务进程相应,而将用户的信息放到调度里,而调度放到队列[队列]中
uesr ----dispater --[SAG] ----server ------data buffer ------|


3.监听程序工做原理
用户进程跟服务器能不能链接主要是去问咱们的监听
客户端程序------tnsnames.ora/本地命名解析文件
1.sqlplus sys/oracle@updb as sysdba //远程链接
b.去客户端验证用户名密码
c.经过服务器链接实例
2.sqlplus sys/oracle@ip:1521/service_names as sysdba

服务器端程序listener.ora
1.静态注册
将实例名/服务名写到了监听文件中
SID_DESC (实例名/服务名 oracle家目录 ....)


2.动态注册
由pmon 进程去动态注册 ,进程会每分钟扫描一次数据库的状态,有库打开就立马告诉监听该数据库须要被监听

alter system register; //手动注册,pmon也是去执行这条命令sql


lsnrctl status //查看监听状态
lsnrctl stop //停掉咱们的监听
ready : 动态注册
unknow: 静态注册

项目中通常使用静态监听,能够保证用户时时能够链接
一个数据库中只使用一个listener.ora
一个监听能够监听一个数据库,也可监听多个数据库
一个监听程序能够被多个实例监听 ----集群
监听的默认端口为:1521

4.如何配置监听
在grid 目录下面执行 netca 建立出来的为动态的监听 图形界面建立 ,监听文件会放到/opt/u01/grid/11g/nerwork/admin/listener.ora ,在哪一个文件下面执行就会建立到相应的文件目录下

add-->listener-->ipc--->1521--->no-->数据库

$netcavim

第一个选项是直接建一个服务器端的监听服务器

图形界面建好后,会在路径/opt/u01/oracle/11g/network/admin 下会生成一个listener.ora文件,记录咱们服务端的信息网络

vim listener.orasession

# listener.ora Network Configuration File: /opt/u01/oracle/11g/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER1 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = up12.up.com)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCPS)(HOST = up12.up.com)(PORT = 2484))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

ADR_BASE_LISTENER1 = /opt/u01/oracle

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER1=ON             # line added by Agent

 

第二个选项是建一个客户到咱们要链接的服务器的解析,方便咱们链接远端的服务器oracle

也会在/opt/u01/oracle/11g/network/admin 路径下生成一个客户端的tnsnames.ora文件spa

vim tnsnames.ora    //记录了咱们要访问的远端数据库的信息code

# tnsnames.ora Network Configuration File: /opt/u01/oracle/11g/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.132)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl.wangzilong)
    )
  )

 


netmgr 建立出来的为 静态的监听server

# listener.ora Network Configuration File: /opt/u01/oracle/11g/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = IPC)(KEY = LISTENER))
  )

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER1 = ON

SID_LIST_LISTENER1 =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = maxdb)
      (ORACLE_HOME = /opt/u01/oracle/11g)
      (SID_NAME = maxdb)
    )
  )

ADR_BASE_LISTENER1 = /opt/u01/oracle



静态注册,监听两个库

lsnrctl

有参数的修改,必须重启监听
lsnrctl stop
lsnrctl start
tnsname.ora

5.监听程序的管理

11g之前 : lsnrtcl start

            lsnrctl status

            lsnrctl stop

            lsnrctl reload

11g 之后---

srvctl start listener  //只能启动监听名字为listener的监听

srvctl start listener -l listener1 //启动名字为listener1的监听

srvctl add listener -l listener1  //监听没有在grid文件里,加入到grid文件里进行管理

srvctl remove listener

lsnrctl start

 

show parameter service_name //查看服务名,若是为updba.com 通常走的专有链接

SQL> show parameter service_name

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
service_names			     string	 maxdb.up.com

select service_name ,username,server from  v$session //service 为dedicated 表示是专有链接

                                         shared 是sys用户的共享链接,none是普通用户的共享链接

SQL> show parameter disp    //dispatchers表示共享链接的服务用的是maxdbXDB

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
cell_offload_plan_display	     string	 AUTO
dispatchers			     string	 (PROTOCOL=TCP) (SERVICE=maxdbX
						 DB)
max_dispatchers 		     integer
SQL>

vim /opt/u01/oracle/11g/network/admin/tnsnames.ora  //编辑客户端中存在的,数据库解析

增长server

查看网络是否通畅,用

tsping updb

tnsping updb

相关文章
相关标签/搜索