天天看点

listener.ora中PLSExtPro 和ExtProc的作用(转)

默认安装时,会安装一个PL/SQL外部程序(ExtProc)条目在listener.ora中,是oracle为调用外部程序默认配置的监听,它的名字通常是ExtProc或PLSExtProc,但一般不会使用它,可以直接从listener.ora中将这项移除,因为对ExtProc已经有多种攻击手段了,在不使用外部程序时,oracle也是建议删除的。

PLSExtPro 是pl/sql   external  procdure 的意思,就是在pl/sql中调用外部语句,如c,java写的过程。

现在,Oracle已经全面支持JAVA了,这东西也就过时了,之所以继续保留是考虑到兼容以前老版本的数据库实例。

 有时可能会在多个数据库实例之间拷贝listener.ora,请检查拷贝来的文件中是否含有不需要的服务,确保只留下的确需要的服务项目,减少监听器受攻击的面。

http://blog.chinaunix.net/uid-23177306-id-2531135.html

典型的listener.ora 文件内容:

SID_LIST_LISTENER =   (注册到监听器的service name所在区域)

  (SID_LIST =

    (SID_DESC =       (对外部过程调用的服务名)

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = /u01/product/oracle)

      (PROGRAM = extproc)

    )

  )

LISTENER =     (监听名称)

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = franklindb)(PORT = 1521))

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))   (对外部过程调用的监听信息)

-- 备注 --   

     默认安装时,会安装一个PL/SQL外部程序(ExtProc)条目在listener.ora中,

是oracle为调用外部程序默认配置的监听,它的名字通常是ExtProc或PLSExtProc,

但一般不会使用它。可以直接从listener.ora中将这项移除,因为对ExtProc已经有多

种攻击手段了,在不使用外部程序时,oracle也是建议删除的。

  PLSExtProc是pl/sql external procdure的意思,就是在pl/sql中调用外部语句,

如c、java写的过程。现在,Oracle已经全面支持JAVA了,这东西也就过时了,之所以

继续保留是考虑到兼容以前老版本的数据库。

  有时可能会在多个数据库实例之间拷贝listener.ora,检查拷贝来的文件中是否

含有不需要的服务,确保只留下的确需要的服务项目,减少监听器受攻击的面。

http://blog.itpub.net/24419958/viewspace-673107/

http://zhidao.baidu.com/link?url=IadLwPA4XM6C2K26tf8qKgplbB5eJZvMukPfpCBTpw1Ro17PhADnWsPwh515aZyooViYKeCTokh3Vyqeqc92fq