您的位置:首页技术文章
文章详情页

理解 oracle 的 “lsnrctl status”

【字号: 日期:2023-11-19 12:48:15浏览:27作者:猪猪
;先看看 lsnrctl status 的输出信息: Services Summary... Service 'PLSExtProc' has 1 instance(s). Instance 'PLSExtProc', status UNKNOWN, has 1 handler(s) for this ;service... Service 'catadb' has 2 instance(s). Instance 'catadb', status UNKNOWN, has 1 handler(s) for this service... Instance 'catadb', status READY, has 1 handler(s) for this service... Service 'catadbXDB' has 1 instance(s). Instance 'catadb', status READY, has 1 handler(s) for this service... The command completed sUCcessfully;这里提出两个问题: 1. 输出中显示的这些 service 是在哪里定义的? 2. 为什么一个 service 会有两个 instance?;先来看第二个问题。从Oracle 8.1 版本后,在listener.ora文件中没有为数据库预先定义条目的时候,instance 和 listener 可以自动的互相发现。但是习惯上在listener.ora文件中为每个数据库定义一个SID_DESC条目以便在需要的时候使用。这就使服务“catadb”有两个实例: 一个状态是 UNKNOWN 的实例 是在 listener.ora 文件中静态定义;另一个状态是 READY 的实例是当数据库启动时 PMON进程自动把数据库注册到监听器。在数据库启动后每一分钟注册一次。在使用OEM等工具时需要有监听的静态定义。;再来看看这些服务是怎么定义的。oracle有三种监听方式:Database 提供对数据库实例的网络访问PLSExtProc PL/SQL 包访问操作系统可执行程序的方法Executable 提供对操作系统可执行程序的网络访问;Service 'PLSExtProc' 是在 listener.ora 文件中为数据库实例缺省配置的,答应PL/SQL包访问外部程序; Service 'catadb' 也是在 listener.ora 文件中配置,是每个数据库连接使用的标准模式; Service 'catadbXDB' 是Oracle 9i以后版本创建数据库时默认包含的XML DB特性,提供http、FTP等服务,在初始化文spfile(或pfile)中定义; right'>(出处:清风软件下载学院)
标签: Oracle 数据库