Tomcat 中间件是一个免费的开放源代码的 Web 应用服务器。 Oracle 12.2.0.1 开始 GI 中安装和使用了 Tomcat 。由于 Tomcat 是开源产品,在生产环境使用我们必须关注该产品的安全。 Oracle 官方也一直根据 CVE 发布的信息,及时发布补丁。
从 12.2 开始我们安装部署 Oracle 数据库时 Tomcat 已经部署在 GI HOME 中。
$ /u01/19 .7.0 /gird/Opatch/opatch lspatches 30805684;DBWLM RELEASE UPDATE 19.7.0.0.200414 (30805684) 30805684;Database Release Update : 19.7.0.0.200414 (30805684) 30805684;ACFS RELEASE UPDATE 19.7.0.0.200414 (30805684) 30805684;OCW RELEASE UPDATE 19.7.0.0.200414 (30805684) 30805684;TOMCAT RELEASE UPDATE 19.7.0.0.200414 (30805684) 30805684;UPDATE 19.7 DATABASE CLIENT JDK IN ORACLE HOME TO JDK8U171 30805684;OJVM RELEASE UPDATE: 19.7.0.0.200414 (30805684) |
Oracle 19c中在 这些地方使用了Tomcat
Oracle Quality of Service (QoS) Management - GI中的一种特性,用于管理给定集群上的数据库工作负载。
Oracle Fleet Patching and Provisioning (FPP) - GI中的一个特性,使Oracle软件配置、补丁和升级标准化和自动化。这个特性以前称为快速Home供应(RHP) Oracle Memory Guard -Oracle RAC中每个节点内存保护。
Oracle Trace File Analyzer – 日志收集工具。
Quality of Services Management (ora.qosmserver resource) 服务使用Tomcat。 QoS 应用程序部署在 Tomcat 中,由 mbean 、 REST 服务和 Servlet 组成。如果 QoS 是一个安全的应用程序,那么与 GI 一起提供的 Tomcat 分布是定制的,不是在 Tomcat 代码本身中定制的,而是在使用 Tomcat 特性时定制的。这改进了容器的使用,使其更加可靠和安全。以下是在使用 GI 部署 Tomcat 时对其进行的增强。
$ ps -eaf | grep tomcat grid 58746 142151 0 13:10 pts /1 00:00:00 grep --color=auto tomcat grid 108610 1 0 Dec04 ? 00:25:33 /u01/19 .7.0 /grid/jdk/bin/java -server -Xms128M -Xmx384M -Djava.awt.headless= true -Ddisable.checkForUpdate= true -Djava.util.logging.config. file = /u01/app/grid/crsdata/node1/qos/conf/logging .properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -DTRACING.ENABLED= false -Djava.rmi.server. hostname =node1.cern.ch -Doracle.http.port=8888 -Doracle.jmx.port=23792 -Doracle.tls.enabled= false -Doracle.jwc.tls.http.enabled= false -Djava.security.manager -Djava.security.policy= /u01/app/grid/crsdata/node1/qos/conf/catalina .policy -Djava.security.egd= file : /dev/urandom -Dcatalina.home= /u01/19 .7.0 /grid/tomcat -Dcatalina.base= /u01/app/grid/crsdata/node1/qos -Djava.io.tmpdir= /u01/app/grid/crsdata/node1/qos/temp -Doracle.home= /u01/19 .7.0 /grid -classpath /u01/19 .7.0 /grid /tomcat/lib/tomcat-juli .jar: /u01/19 .7.0 /grid /tomcat/lib/bootstrap .jar: /u01/19 .7.0 /grid/jlib/jwc-logging .jar org.apache.catalina.startup.Bootstrap start |
|
为了最小化内存占用,仅对 Tomcat Web 容器使用以下 JAR 文件
annotations-api.jar
bootstrap.jar
catalina.jar
jaspic-api.jar
servlet-api.jar
tomcat-api.jar
tomcat-coyote.jar
tomcat-jni.jar
tomcat-juli.jar
tomcat-util.jar
tomcat-util-scan.jar
按照最小使用原则,我们也可以关闭qos服务,但在psu应用时需要开启该服务。
crsctl stat res -t
…
ora.qosmserver online online
…
使用grid用户执行
srvctl status qosmserver
Qos Management Server is
enable
Qos Management Server is running on node1
srvctl stop qosmserver -force
srvctl disable qosmserver
Qos Management Server is
enable
Qos Management Server is not running on node1