配置文件中
HOST配置为IP地址,监听直接运行在该IP地址上
配置为主机名,监听运行在该服务器所有激活的网卡上
配置为127.0.0.1,监听只运行在该回送地址上
SID_NAME指的是监听服务的实例名
GLOBAL_DBNAME指的是监听服务的服务名
监听静态注册:
SID_NAME,需和数据库参数INSTANCE_NAME保持一致
GLOBAL_DBNAME,可以省略,默认和SID_NAME保持一致,可配置为不一致
静态注册时由于不知道实例的具体状态,所以监听启动之初,其状态显示为咋“UNKNOWN”
监听的动态注册:
listener.ora可以不包含当前数据库的实例信息,实例启动时会将数据库实例信息动态注册到监听上
服务名取自数据库参数SERVICE_NAMES,实例名取自参数INSTANCE_NAME
数据库参数SERVICE_NAMES可以和listener.ora中GLOBAL_DBNAME不同,当同时存在动态注册和静态注册时,监听状态中可显示多个服务名
GLOBAL_DBNAME,数据库参数SERVICE_NAMES和数据库实例名三者可以取不同的值,所以当tnsnames.ora使用关键字SERVICE_NAME连接数据库时,其值可以和实例名不同
监听方面优化:
客户端使用连接池,大量的短连接会消耗更多的系统CPU时间片和Oracle资源,
调整Oracle的TCP的发送和接受缓冲区大小,调整监听参数来提高监听处理的并发数,检查监听日志文件大小(过大可能会导致连接缓慢)等等
监听常用命令:
启动:lsnrctl start [listener_name]
停止:lsnrctl stop
查看:lsnrctl status
查看监听服务:lsnrctl service