在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=cdb1
cdb.common.schema=false
db.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 SYSDBA
ALTER 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 - tomcat
mkdir /u01/ords
cd /u01/ords
unzip /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.localdomain
db.port=1521
db.servicename=pdb1
db.username=APEX_PUBLIC_USER
db.password=OraPassword1
migrate.apex.rest=false
plsql.gateway.add=true
rest.services.apex.add=true
rest.services.ords.add=true
schema.tablespace.default=APEX
schema.tablespace.temp=TEMP
standalone.mode=false
user.apex.listener.password=OraPassword1
user.apex.restpublic.password=OraPassword1
user.public.password=OraPassword1
user.tablespace.default=APEX
user.tablespace.temp=TEMP
sys.user=SYS
sys.password=OraPassword1
restEnabledSql.active=true
feature.sdw=true
database.api.enabled=true
如果出于任何原因需要重新启动安装,请记住在重新启动安装之前清除/u01/ords/conf
目录并检查 /u01/ords/params/ords_params.properties
文件的内容。
使用 ords.war
文件通过以下命令指定配置目录。
$ $JAVA_HOME/bin/java -jar ords.war configdir /u01/ords/conf
Dec 17, 2017 8:50:19 AM
INFO: Set config.dir to /u01/ords/conf in: /u01/ords/ords.war
使用以下命令配置ORDS。这等效于指定简单安装
命令行参数。如果您在参数文件中正确输入了参数,则不会出现提示。如果某些参数丢失或不正确,将提示您进行输入。
$ $JAVA_HOME/bin/java -jar ords.war
Retrieving information.
Dec 17, 2017 8:50:59 AM
INFO: Updated configurations: defaults, apex, apex_pu, apex_al, apex_rt
Installing Oracle REST Data Services version 17.4.0.348.21.07
-12-17_085059_00767.log Log file written to /u01/ords/logs/ords_install_core_2017
Verified database prerequisites
Created Oracle REST Data Services schema
Created Oracle REST Data Services proxy user
Granted privileges to Oracle REST Data Services
Created Oracle REST Data Services database objects
-12-17_085224_00812.log Log file written to /u01/ords/logs/ords_install_datamodel_2017
-12-17_085234_00725.log Log file written to /u01/ords/logs/ords_install_apex_2017
Completed 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
目录。(可选)
$CATALINA_HOME/webapps/i/ mkdir
$CATALINA_HOME/webapps/i/ cp -R /tmp/apex/images/*
将 ords.war 映像复制到Tomcat webapps
目录。
cd /u01/ords
$CATALINA_HOME/webapps/ cp ords.war
现在应该可以使用以下类型的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 validate
Enter 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.r1831332
Log file written to /u01/asi_test/ords/logs/ords_validate_core_2018-08-07_160549_00215.log
Completed validating Oracle REST Data Services version 18.2.0.r1831332. Elapsed time: 00:00:06.898
$