4 命名方法配置
命名方法OV
客户机应用程序使用命名方法在尝试连接到数据库服务时将连接标识符解析为连接描述符。Oracle Net提供了五种命名方法:
Host naming
Local naming
Directory naming
Oracle Names
External naming
五个关键参数
用户通过提供连接字符串发起连接请求。连接字符串包括用户名和密码,以及连接标识符。连接标识符可以是连接描述符本身,也可以是解析为连接描述符的名称。最常见的连接标识符之一是网络服务名称,即服务的简单名称。下面的示例演示了一个使用完整连接描述符作为连接标识符的连接字符串和另一个使用净服务名称sales作为连接标识符的连接字符串。
CONNECT scott@(DESCRIPTION=(ADDRESS=PROTOCOL=tcp)(HOST=sales-server1)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAMB=salesus.acme.com)))
Enter password: password
简单连接命名
easy connect命名方法允许客户端使用由主机名和可选端口和服务名组成的TCP/IP连接字符串连接到Oracle数据库服务器。
CONNECT username@[//]host[:port][/service_name][/server][/instancename]
简单的命名方法不需要配置。
主机命名
在以下情况下,客户端可以使用主机名连接到服务器:
使用Oracle Net Services Client软件连接到Oracle数据库服务
客户端和服务器使用TCP/IP协议连接
主机名通过IP地址转换机制(如DNS)或本地/etc/hosts文件进行解析
没有使用Oracle连接管理器或安全选项等高级功能
TNS_ADMIN环境变量
对cman的搜查令。ora,监听器。还有三个名字。Ora如下:
1. TNS_ADMIN环境变量指定的目录
2. 在UNIX操作系统上,全局配置目录以Solaris操作系统为例,该目录为“/var/opt/oracle”
3.UNIX操作系统为$ORACLE_HOME/network/admin目录,Windows操作系统为ORACLE_HOME\network\admin目录。
注意:在Windows上,如果在进程环境中设置了TNS_ADMIN,则使用TNS_ADMIN;如果TNS_ADMIN没有在环境中定义,或者如果进程是一个服务或其他没有环境的进程,Windows会扫描注册表中的TNS_ADMIN。
tnsnames.ora
sqlnet.ora
客户端故障排除
以下错误码与客户端问题相关:
5Oracle共享服务器的使用及配置
专用服务器进程
Oracle共享服务器
共享服务器的好处
减少针对一个实例的进程数
增加可能的用户数量实现负载均衡
减少空闲服务器进程的数量
减少内存使用和系统开销
处理请求
SGA 和 PGA
配置共享服务器
所需初始化参数
DISPATCHERS
SHARED_SERVERS
可选初始化参数
MAX_DISPATCHERS
MAX_SHARED_SERVERS
CIRCUITS
SHARED_SERVER_SESSIONS
调度程序
指定为给定协议初始启动的调度程序的数量
DISPATCHERS = "(PROTOCOL=TCP) (DISPATCHERS=2) (PROTOCOL=IPC) (DISPATCHERS=1)"
MAX_DISPATCHERS
指定可以同时运行的调度程序进程的最大数目
发出ALTER SYSTEM命令来添加比初始启动时更多的分派器
MAX_DISPATCHERS = 5
SHARED_SERVERS
指定实例启动时创建的服务器进程数
SHARED_SERVERS = 6
MAX_SHARED_SERVERS
指定可启动的共享服务器的最大数量
允许根据请求队列的长度动态分配共享服务器
MAX_SHARED_SERVERS = 10
SHARED_SERVERS
指定实例启动时创建的服务器进程数
SHARED_SERVERS = 6
CIRCUITS
指定可用于入方向和出方向网络会话的虚拟电路总数
对总SGA大小有贡献
CIRCUITS = 100
SHARED_SERVE_SESSIONS
指定Oracle共享服务器允许的用户会话总数
通过设置该参数,可以为物理机保留用户会话
SHARED_SERVE_SESSIONS = 100
相关参数
其他可能需要调整的受Oracle共享服务器影响的初始化参数:
SESSIONS
LARGE_POOL_SIZE
验证设置
通过发出以下命令,验证调度程序在实例启动时已向侦听器注册:
Isnrctl services
通过建立单个连接来验证您是使用共享服务器连接的,然后查询vcircuit视图以显示每个共享服务器连接的一个条目。
专用vs共享
如果配置了共享服务器,并且在没有注册调度程序的情况下到达客户端连接请求,则该请求由专用服务器进程处理。如果希望特定的客户机始终使用分派器,请在连接描述符的CONNECT_DATA部分配置(server=shared)。例如:
sales= (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521)) (CONNECTDATA= (SERVICB_NAME=sales,us .acme.com) (SERVER=shared))
如果调度程序不可用,则拒绝客户端连接请求。
如果数据库配置为共享服务器,而特定客户端需要使用专用服务器,则可以通过以下方式之一配置客户端使用专用服务器:
您可以使用CONNECT_DATA节中包含(server=dedicated)的连接描述符来配置网络服务名称。例如:
sales= (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521)) (CONNECT_DATA= (SERVICE_NAME=sales.us.acme.com) (SERVER=dedicated)))
您可以配置客户端配置文件(sqlnet。USE_DEDICATED_ SERVER=on。这将(server=dedicated)添加到客户端使用的连接描述符的CONNECT_DATA部分。
注意:如果USE_DEDICATED_SERVER被设置为ON,那么连接描述符中现有的(server=value)条目将被覆盖with (server=dedicated)。
在以下情况下,必须使用专用服务器进程:
1.提交批作业(预计空闲时间很少或没有空闲时间)。
2.作为sysdba连接到启动、关闭或执行恢复。
3.在三层架构系统中,专用服务器更好。
简单网络:2层
网络连接客户端和服务器
客户端和服务器使用相同的语言或协议
动态视图
V$CIRCUIT
V$SHARED_SERVER
V$DISPATCHER
V$SHARED_SERVER_MONITOR
V$QUEUE
V$SESSION