一、配置文件
Oracle Net配置文件都是文本形式的,可以通过netca或netmgr实用程序生成和修改,也可以使用文本编辑器生成和修改。
1) Oracle Net配置文件的路径
$ORACLE_HOME/network/admin/
2) 三个Oracle Net配置文件
①listener.ora在服务器端的配置文件
②tnsnames.ora在客户端的配置文件
③sqlnet.ora描述连接方式的配置文件
二、轻松连接方式(ezconnect)
优点:不需要网络配置文件的描述。缺点:登录不方便
连接方法:只要服务器端启动默认的监听器listener,并数据库打开(动态注册)
远程登录语法为:$Sqlplus 用户/密码@IP地址:端口号/服务名
示例:sqlplus scott/tiger@192.168.3.66:1521/vbox66in
三、动态注册
1)动态注册要点
①实例启动后,pmon每分钟自动将服务名(service_name)注册到监听器中,也可以通过alter system register命令通知pmon立刻注册
②系统有一个默认的监听器叫做LISTENER,端口号是1521,利用它可以不需要listener.ora配置文件
③动态注册要求实例至少启动到mounted状态,listener监听器才能注册成功
2)如果不想使用默认的listener监听器,可以自定义一个动态监听器。需要下面完成两步操作:
①在listener.ora配置文件描述自定义监听器。如:
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.3.66)(PORT=1555))))
②更改local_listener参数
SQL> alter system set local_listener='(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.3.66)(PORT=1555))'
四、静态注册
1)静态注册要点
①静态注册必须在listener.ora中描述
②实例不必启动,静态监听器也能注册
③服务器启动静态监听后,可以通过远程启动数据库
④在一个listener.ora中可以配置多个静态监听,选择不同的端口
2)静态注册的描述分为两部分内容
①网络三要素:①Protocal ②Host ③Port
②服务名描述:GLOBAL_DBNAME:全局数据库名(静态注册特征)
3)listener.ora配置示例
LSN2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.88)(PORT = 1522))
)
)
SID_LIST_LSN2 =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME=prod )
(ORACLE_HOME = /u01/oracle)
(SID_NAME =prod)
)
) #注意后面的括号不要顶格写
4)客户端配置文件tnsnames.ora
① 可以描述登录多个服务器
② 示例
vbox8tds=
(description=
(address=(protocol=tcp)(host=192.168.3.66)(port=1521))
(connect_data=
(server=dedicated)
(service_name=prod) #SERVICE_NAME的值应和listener.ora中的GLOBAL_DBNAME一致
)
)
五、客户端连接到数据库的连接方式
客户端可以在tnsnames.ora中配置连接服务器的信息,其中SERVER可以选择共享连接模式(share)或者专用连接模式(dedicated),下面介绍2种模式的作用。
1)专用连接模式(dedicated)
对于客户端的每个user process,服务器端都会出现一个server process,会话与专用服务器之间存在一对一的映射。专用连接的PGA的管理方式是私有的。Oracle缺省采用共享连接模式。
2)共享连接模式(shared)
多个user process共享一个server process。
①,共享服务器实际上就是一种连接池机制(connection pooling),连接池可以重用已有的超时连接,服务于其它活动会话。但容易产生锁等待。
②所有调度进程(dispatcher)共享一个公共的请求队列(resquest queue),但是每个调度进程都有与自己响应的队列(response queue)。
③在共享服务器中会话的(UGA)存储信息是在SGA中的,而不像专用连接那样在PGA中存储信息,这时的PGA的存储结构为堆栈空间。