6

我在 MOS Doc ID 1945619.1 上读到,从 12.1.3 Oracle HTTP Server (OHS) 开始,mod_plsql 功能已被弃用,并且不会包含在 12.2 Oracle HTTP Server 中。

对于未来,Oracle 建议迁移到 Oracle REST 数据服务(以前称为 Oracle APEX 侦听器)作为 mod_plsql 的替代方案。

我们的商店有很多 mod_plsql 应用程序(即使用 HTP/HTF 包编写的应用程序)在生产中。由于我对 Oracle REST 数据服务一无所知,所以我想问您是否可以在不更改代码的情况下将旧应用程序迁移到这个新产品。

谢谢你。

亲切的问候,克里斯蒂安

4

4 回答 4

2

我店的情况和你差不多。我们还有一些非常大的基于 mod_plsql/htp 的应用程序,并且必须在某个时候迁移到 Oracle REST 数据服务。

我们已经花费了相当长的时间来测试不同的 ORDS 配置,我们的总体结论是:

  • 仅完全支持 APEX 应用程序
  • 关键功能仍然可用
  • 更难配置和维护
  • 轻微的性能下降
  • 一些 mod_plsql 配置选项不再存在或已更改

我们目前面临的最大问题(实际上阻止我们切换到 ORDS)是使用非 APEX(纯 HTF/HTP)应用程序时的一些限制。我们已经提交了一些 SR,因为 ORDS 中的某些功能(例如文件上传和下载 API)仅在运行 APEX 应用程序时可用。

于 2015-07-17T22:11:54.477 回答
2

Doug McMahon (Oracle employee) has a great open source module for Apache. Apache PL/SQL Gateway Module (mod_owa)

https://oss.oracle.com/projects/mod_owa/dist/documentation/modowa.htm

I am using it in a production environment and I highly recommend it. It's really fast and rock solid.

You need to do some compiling but it's worth it being able to use Apache 2.4 and mod_plsql.

Steps:

  1. download httpd 2.4.? from apache.org + extract
  2. If Centos 6 or less download apr and apr-util
  3. configure with enable-so, make and make install

    ./configure --enable-so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr

  4. Download mod_owa + unzip

  5. create empty directory. Copy all files from "apache24" into new folder. Copy all files from "src" to new folder

  6. enter new folder and edit modowa.mk <-- important add $ORACLE_HOME, edit APACHE_TOP

  7. Copy mod_owa.so to apache's modules

  8. Add a modowa.conf in Apache's conf/ dir.

Example modowa.conf:

loadModule owa_module modules/mod_owa.so

<Location /pls>
    Options        None
    SetHandler     owa_handler
    OwaUserid      user/pass
    OwaNLS         AMERICAN_AMERICA.AL32UTF8
    OwaPool        100
    OwaStart       "package.procedure"
    OwaDocProc     "wwv_flow_file_mgr.process_download"
    OwaDocTable    photos_upload BLOB_CONTENT
    OwaUploadMax   50M
    OwaCharset     "utf8"
    order          deny,allow
    allow          from all
    OwaReset       LAZY
    OwaCharsize    4
    OwaFlex        package.procedure
    OwaHttp        REST 
</Location>

Before starting httpd ORACLE_HOME, NLS_LANG needs to be set (ORACLE_SID also if local). It needs access to an Oracle Home with libclntsh.so. (Oracle client will do).

I simply added oracle.conf (one line full path to oracle home/lib) under /etc/ld.so.conf.d (+ ldconfig)

Really scalable and a much cleaner setup then OHS.

于 2015-08-25T14:45:22.247 回答
1

要克服的最大障碍是设置 Oracle Rest Services (ORS) 并保护它。完成此操作后,您的 Web 工具包应用程序将可以正常工作。url 可能会略有变化,因此如果您使用完整路径而不是相对路径引用 URL,则可能需要修改代码。

我不确定 ORS 在 mod_rewrite、mod_proxy、具有多个 IP 地址的虚拟主机等领域是否与 Apache 一样强大......

于 2015-04-26T02:25:29.713 回答
0

另一个开源替代品是tox

于 2021-10-05T19:21:35.023 回答