在Tomcat上安装 Oracle_REST数据服务(ORDS)
ORDS,Oracle REST Data Services,通过REST接口映射到数据库事务,并返回JSON格式的结果。
环境说明
Tomcat 7、8或9
Oracle Linux 7
APEX映像(可选)
多租户:
CDB或PDB安装
使用多租户体系结构时,有几种用于安装ORDS的选项。
对于Lone-PDB安装(带有一个PDB的CDB)或具有少量PDB的CDB,可以将ORDS直接安装到PDB中。db.servicename参数将在属性文件中设置为PDB服务名称。
如果每个CDB使用多个PDB,则可以将ORDS安装到CDB中,以允许所有PDB共享相同的连接池。与每个PDB具有单独的连接池相比,这将大大减少所使用的数据库连接数。在这种情况下,db.servicename参数设置为CDB服务名称。从版本18.1开始,有两种将ORDS安装到CDB中的方法。推荐的方法是在属性文件中设置cdb.common.schema = false,这将允许每个PDB运行不同版本的ORDS。或者,您可以在属性文件中使用cdb.common.schema = true,这意味着所有PDB都必须使用相同版本的ORDS。无论选择哪个选项,您都可能还希望使用db.serviceNameSuffix = .your_db_domain参数来启用可插拔映射功能。
db.servicename=cdb1cdb.common.schema=falsedb.serviceNameSuffix=.example.com
也可以在安装完成后设置以下参数。完成后,将需要重新启动ORDS。
cd /u01/ords$JAVA_HOME/bin/java -jar ords.war set-property cdb.common.schema false$JAVA_HOME/bin/java -jar ords.war set-property db.serviceNameSuffix ".example.com"
下载ORDS
从这里下载最新版本的 ORDS:http://www.oracle.com/technetwork/developer-tools/rest-data-services/downloads/index.html
安装 ORDS
检查SYS用户和普通公共用户是否已解锁,您是否知道其密码。在安装完成后锁定SYS用户。
CONN / AS SYSDBAALTER USER SYS IDENTIFIED BY OraPassword1 ACCOUNT UNLOCK;--ALTER USER SYS IDENTIFIED BY OraPassword1 ACCOUNT UNLOCK CONTAINER=ALL;--ALTER SESSION SET CONTAINER = pdb1;ALTER USER APEX_LISTENER IDENTIFIED BY OraPassword1 ACCOUNT UNLOCK;ALTER USER APEX_PUBLIC_USER IDENTIFIED BY OraPassword1 ACCOUNT UNLOCK;ALTER USER APEX_REST_PUBLIC_USER IDENTIFIED BY OraPassword1 ACCOUNT UNLOCK;-- The next one will fail if you've never installed ORDS before. Ignore errors.ALTER USER ORDS_PUBLIC_USER IDENTIFIED BY OraPassword1 ACCOUNT UNLOCK;
解压缩ORDS安装包。我们以服务器上的“tomcat”用户身份执行此操作。
su - tomcatmkdir /u01/ordscd /u01/ordsunzip /tmp/ords.17.4.0.348.21.07.zip
创建目录以保存配置。
 mkdir -p /u01/ords/conf 
如果在安装过程中发生任何问题,先删除该目录的内容,然后再试一次。
编辑ORDS软件随附的 /u01/ords/params/ords_params.properties 文件,并为您的安装设置适当的参数。
db.hostname=ol7-122.localdomaindb.port=1521db.servicename=pdb1db.username=APEX_PUBLIC_USERdb.password=OraPassword1migrate.apex.rest=falseplsql.gateway.add=truerest.services.apex.add=truerest.services.ords.add=trueschema.tablespace.default=APEXschema.tablespace.temp=TEMPstandalone.mode=falseuser.apex.listener.password=OraPassword1user.apex.restpublic.password=OraPassword1user.public.password=OraPassword1user.tablespace.default=APEXuser.tablespace.temp=TEMPsys.user=SYSsys.password=OraPassword1restEnabledSql.active=truefeature.sdw=truedatabase.api.enabled=true
如果出于任何原因需要重新启动安装,请记住在重新启动安装之前清除/u01/ords/conf目录并检查 /u01/ords/params/ords_params.properties 文件的内容。
使用 ords.war 文件通过以下命令指定配置目录。
$ $JAVA_HOME/bin/java -jar ords.war configdir /u01/ords/confDec 17, 2017 8:50:19 AMINFO: Set config.dir to /u01/ords/conf in: /u01/ords/ords.war
使用以下命令配置ORDS。这等效于指定简单安装命令行参数。如果您在参数文件中正确输入了参数,则不会出现提示。如果某些参数丢失或不正确,将提示您进行输入。
$ $JAVA_HOME/bin/java -jar ords.warRetrieving information.Dec 17, 2017 8:50:59 AMINFO: Updated configurations: defaults, apex, apex_pu, apex_al, apex_rtInstalling Oracle REST Data Services version 17.4.0.348.21.07Log file written to /u01/ords/logs/ords_install_core_2017-12-17_085059_00767.logVerified database prerequisitesCreated Oracle REST Data Services schemaCreated Oracle REST Data Services proxy userGranted privileges to Oracle REST Data ServicesCreated Oracle REST Data Services database objectsLog file written to /u01/ords/logs/ords_install_datamodel_2017-12-17_085224_00812.logLog file written to /u01/ords/logs/ords_install_apex_2017-12-17_085234_00725.logCompleted installation for Oracle REST Data Services version 17.4.0.348.21.07. Elapsed time: 00:01:40.123$
如果参数文件在其它位置,则可以使用以下语法。
 $JAVA_HOME/bin/java -jar ords.war --parameterFile /path/to/my_params.properties --silent 
锁定 SYS 用户。
ALTER USER SYS ACCOUNT LOCK; 
Tomcat 部署
将APEX映像复制到Tomcat webapps目录。(可选)
mkdir $CATALINA_HOME/webapps/i/cp -R /tmp/apex/images/* $CATALINA_HOME/webapps/i/
将 ords.war 映像复制到Tomcat webapps目录。
cd /u01/ordscp ords.war $CATALINA_HOME/webapps/
现在应该可以使用以下类型的URL访问ORDS。
http://<server-name>:<port>/ords/http://ol7.localdomain:8080/ords/
在Tomcat下启动/停止ORDS
通过启动或停止要部署到的Tomcat实例来启动或停止ORDS。假设您正确设置了CATALINA_HOME环境变量,则应使用以下命令。
启动
 $CATALINA_HOME/bin/startup.sh 
停止
 $CATALINA_HOME/bin/shutdown.sh 
ORDS验证
您可以使用validate选项验证/修复当前的ORDS安装。
$JAVA_HOME/bin/java -jar ords.war validateEnter the name of the database server [ol7-122.localdomain]:Enter the database listen port [1521]:Enter the database service name [pdb1]:Requires SYS AS SYSDBA to verify Oracle REST Data Services schema.Enter the database password for SYS AS SYSDBA:Confirm password:Retrieving information.Oracle REST Data Services will be validated.Validating Oracle REST Data Services schema version 18.2.0.r1831332Log file written to /u01/asi_test/ords/logs/ords_validate_core_2018-08-07_160549_00215.logCompleted validating Oracle REST Data Services version 18.2.0.r1831332. Elapsed time: 00:00:06.898$
