自适应网站制作简创网络,wordpress get_pages(),网站开发职业岗位,做问卷给钱的网站Oracle监听介于Oracle的数据库和客户端之间的通道。因为数据库本身不对外提供服务#xff0c;所以需要通过监听器来实现。几个相关的参数#xff1a;local_listenerdb_domainremote_listenerservice_names相关命令#xff1a;监听命令#xff1a;lsnrctl参数#xff1a;1、…Oracle监听介于Oracle的数据库和客户端之间的通道。因为数据库本身不对外提供服务所以需要通过监听器来实现。几个相关的参数local_listenerdb_domainremote_listenerservice_names相关命令监听命令lsnrctl参数1、start/stop 启动/关闭服务2、service 查看当前已注册的服务3、status 查看注册服务的状态登录数据库命令sqlplus为了使用监听器首先就要启动监听lsnrctl start监听注册过程一、数据库根据service_names/db_domain两个参数创建服务名service_name1.db_domain ... service_nameN.db_domain默认为数据库的实例名。二、将服务名注册到监听器如果监听器没有启动则以lsnrctl start启动注册内容有服务名、端口(默认1521)等三、监听器对外提供已注册的服务四、外部客户端通过该服务器的1521端口连接到数据库监听需要注册服务有两种方式一种是静态注册。在启动监听的时候根据监听文件($ORACLE_HOME/network/admin/listener.ora)直接注册这种方式不管数据库是否启动都会注册一个监听服务。因此通过这个服务去连接数据库有可能连接不上也有可能连接上。其状态显示的是unknown也就是说它此时是不知道数据库是否可以连接的。Service PLSExtProc has 1 instance(s).Instance PLSExtProc, status UNKNOWN, has 1 handler(s) for this service...一种是动态注册。数据库启动后自动会将服务名注册到监听器上。因此通过这类服务去连接是可以确保连接成功的。动态注册除了数据库启动时会自动注册也可以通过以下命令手工注册alter system register;如果不执行手工命令进行动态注册数据库也会间隔1分钟自动发起注册。其状态显示的是ready也就是说此时已经准备好连接了。Service orcl has 1 instance(s).Instance orcl, status READY, has 1 handler(s) for this service...如果此时数据库是关闭的将不会有动态注册的信息显示而静态注册却依然存在。对于监听文件如果不存在数据库会按照当前的服务名参数(service_names)中提供的服务名会自动将服务注册到监听器上。如果存在则按照监听文件中提供的服务名进行注册数据库也会发起注册到监听器上。此时动态注册和静态注册会同时存在。前面已经说到注册到监听器上的服务名是由service_names参数决定的可以指定多个以逗号分隔如下SQL show parameter service_names;NAME TYPE VALUE------------------------------------ ----------- ------------------------------service_names string orcl,wanghf除了服务名还可以为服务指定一个域名可以让将服务名让各个不同的外部系统调用SQL alter system set db_domainabc.com scopememory;alter system set db_domainabc.com scopememory*ERROR at line 1:ORA-02095: specified initialization parameter cannot be modifiedSQL alter system set db_domainabc.com scopespfile;从上面可以看到这个参数的修改需要重启数据库而不能立即生效。修改后查看监听状态信息便显示如下(部分)Service wanghf.abc.com has 1 instance(s).Instance orcl, status READY, has 1 handler(s) for this service...The command completed successfully对于动态注册如果没有特殊设置则到目前为止已经可以正常连接和操作了。但是如果需要修改默认端口(1521)那该怎么做这个时候local_listener参数就出现了。可以按如下命令进行设置alter system set local_listener(ADDRESS (PROTOCOLTCP)(HOSTlocalhost)(PORT1522));其中端口可以按要求做修改。设置此参数后再手工注册一下即可alter system register;或者等待最多一分钟数据库也会自动重新注册。来自 “ ITPUB博客 ” 链接http://blog.itpub.net/12932950/viewspace-706407/如需转载请注明出处否则将追究法律责任。