日期:2014-05-16 浏览次数:20963 次
一、客户端与服务端建立网络连接过程:
二、专用连接的网络配置
参考官方文档:Books => NET => Net Services Reference => 7 Listener Parameters (listener.ora)
1、监听器的启用与配置(listener.ora)
(1)动态监听与静态监听
①默认listener动态注册
a.协议必须为TCP
b.端口必须为1521
c.对于监听的名称无要求
② 非默认listener动态注册(端口非1521)
A、配置listener.ora
LSNR =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =ocm)(PORT = 1522))
)
)
B、alter system set local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST =10.2.60.43)(PORT = 1522))';
C、alter systemregister;
--或着在tnsnames.ora中添加如下内容
--LISTENERS_ORADB =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.132)(PORT = 1522))
--alter systemset local_listener='LISTENERS_ORADB'
③ 态监听
A、 配置listener.ora
LSNR2=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=ocm)(PORT=1521))
))
SID_LIST_LSNR2=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=oca)
(ORACLE_HOME=/u01/app/oracle/product/11.2.0)
(SID_NAME=ocm))
)
B、 启动监听LSNR2
lsnrctl start lsnr2
(2)动态监听和静态监听的区别
①动态注册的为readly,静态注册的状态为unknow
②动态是由PMON进程将服务注册到监听中:service_names/instance_name,
静态注册是将服务写入listener.ora文件中global_dbname/sid_name
③动态修改不需要重启,静态每次修改都要重启监听
④动态重启不能马上注册服务,静态重启马上注册服务
⑤动态有相关的视图v$service_event/v$service_stats可以查等待事件及物理读逻辑读,而静态监听不能
(3)既然有动态监听为什么还要静态监听呢?原因如下:
①监听器不是最早启动,oracle实例先启动
②监听器重启
③ oracle实例没有open
2、客户端连接方式
参考官方文档:Books => NET => Net Services Reference =>6 Local Naming Parameters (tnsnames.ora)
(1)简易连接命名(EasyConnect):使用TCP/IP连接字符串
①sqlplus gyj/gyj@192.168.0.100:1521/test --(sqlnet.ora:EZCONNECT)在windows下能看到密码
②sqlplusgyj@192.168.0.100:1521/test --这种方法不行
③sqlpus gyj
口令:gyj@192.168.0.100:1521/test --用这个可以
(2)本地命名(Local Naming):使用本地命名配置,将网络服务名称保存在tnsnames.ora文件中
①sqlplus gyj/gyj@asm (sqlnet.ora:TNSNAMES)--在windows下能看到密码
②sqlplusgyj@asm
口令:gyj
从客户端到服务器端连接配置:
(4)目录命名(Directory Naming):使用符合LDAP的集中式目录服务器
①需要加载了OracleNet名称解析信息的LDAP:
Oracle Internet Directory
Microsoft Active Directory Services
②支持所有OracleNet协义
③支持高级连接选项
④Oracle Net配置文件
② conn hr/hr@orcl
<