100-Oracle APEX-ORDS安装使用

上一篇专门下载了ords、apex的安装包,ORDS的独立于apex适配更多应用,

Oracle REST Data Services (ORDS) 是 Oracle 数据库的现代化 REST 网关,通过标准化 HTTP/HTTPS 协议将数据库能力转化为安全的 RESTful API 服务。其核心功能与优势包括:

​高效数据服务化​

自动生成基于 Oracle 表的 CRUD API(GET/POST/PUT/DELETE),支持 JSON/XML 数据格式,使移动端和 Web 应用可无缝消费数据库服务。

​全栈管理能力​

提供超过 500 个数据库管理 API 端点,覆盖 PDB 操作、数据泵导入导出、性能监控等核心运维场景,实现数据库全生命周期 API 化。

​零摩擦集成架构​

作为轻量级 Java 中间件,支持独立部署(内置 Jetty)或集成 WebLogic/Tomcat,无需 Oracle Home 即可通过嵌入式 JDBC 驱动连接数据库。

​企业级安全加固​

原生支持 HTTPS 加密传输、OAuth 2.0 认证、细粒度访问控制,并通过 SQL 注入防护机制保障数据安全。

​开发运维一体化​

集成 SQL Developer Web 提供浏览器端数据库开发环境,同时支持 MongoDB API 协议,实现异构应用的无缝接入。

通过将传统数据库转变为云原生数据服务枢纽,ORDS 显著降低了系统集成复杂度,加速了企业数字化转型进程。其免费特性与 Oracle 数据库的深度绑定,为构建微服务架构提供了开箱即用的数据中台解决方案。

3 安装ORDS

1.JDK部署

ords 24需要 java 11 以上(jdk-21_linux-x64_bin.tar.gz)

Oracle Java SE Downloads:https://www.oracle.com/java/technologies/downloads/

https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz

java -version 检查一下 JDK 版本是否符合要求

[root@apex2495:/usr/local]# java -version
bash: java: 未找到命令...
^C
[root@apex2495:/root]# which java
/usr/bin/which: no java in (/root/.local/bin:/root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)
[root@apex2495:/root]# ls -lrht /u01/source/jdk-21_linux-x64_bin.tar.gz
-rw-r--r-- 1 root root 189M  1月 26 11:54 /u01/source/jdk-21_linux-x64_bin.tar.gz
[root@apex2495:/root]# cd /usr/local
[root@apex2495:/usr/local]# gunzip /u01/source/jdk-21_linux-x64_bin.tar.gz
[root@apex2495:/usr/local]# ls -lrht /u01/source/jdk-21_linux-x64_bin.tar
-rw-r--r-- 1 root root 332M  1月 26 11:54 /u01/source/jdk-21_linux-x64_bin.tar
[root@apex2495:/usr/local]# tar -xf /u01/source/jdk-21_linux-x64_bin.tar
[root@apex2495:/usr/local]# ls -lrht jdk-21.0.6/
总用量 24K
-rw-r--r--  1 10668 10668 1.3K 12月  3 19:08 release
-rw-r--r--  1 10668 10668  290 12月  3 19:08 README
lrwxrwxrwx  1 10668 10668   23 12月  3 19:08 LICENSE -> legal/java.base/LICENSE
drwxr-xr-x  2 root  root  4.0K  1月 26 11:56 bin
drwxr-xr-x  5 root  root   146  1月 26 11:56 conf
drwxr-xr-x  3 root  root   132  1月 26 11:56 include
drwxr-xr-x  2 root  root  4.0K  1月 26 11:56 jmods
drwxr-xr-x 71 root  root  4.0K  1月 26 11:56 legal
drwxr-xr-x  5 root  root  4.0K  1月 26 11:56 lib
drwxr-xr-x  3 root  root    18  1月 26 11:56 man
2 设置环境变量 
[root@apex2495:/usr/local]# vi /etc/profile
export JAVA_HOME=/usr/local/jdk-21.0.6
export PATH=$JAVA_HOME/bin:$PATH
[root@apex2495:/usr/local]# su - oracle
[root@apex2495:/usr/local]# java -version
java version "21.0.6" 2025-01-21 LTS
Java(TM) SE Runtime Environment (build 21.0.6+8-LTS-188)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.6+8-LTS-188, mixed mode, sharing)
[oracle@apex2495:/home/oracle]$
3 安装ORDS

解压安装文件解压文件 ---以下Oracle用户操作

[oracle@apex2495:/home/oracle]$ ls -lrht /u01/source/ords-24.4.0.345.1601.zip
-rw-r--r-- 1 root root 141M  1月 26 11:54 /u01/source/ords-24.4.0.345.1601.zip
[oracle@apex2495:/home/oracle]$ cd /u01/app
[oracle@apex2495:/u01/app]$ mkdir -p ords
[oracle@apex2495:/u01/app]$ cd ords/
[oracle@apex2495:/u01/app/ords]$ unzip /u01/source/ords-24.4.0.345.1601.zip
4 配置环境变量 
[oracle@apex2495:/u01/app/ords]$ vi ~/.bash_profile
export PATH=$PATH:/u01/app/ords/bin
export ORDS_CONFIG=/u01/app/ords/conf
[oracle@apex2495:/u01/app/ords]$ source ~/.bash_profile
 5 创建静态资源目录
[oracle@apex2495:/u01/app/ords]$ cd ~
[oracle@apex2495:/home/oracle]$ mkdir -p apex_images
[oracle@apex2495:/home/oracle]$ cd apex_images/
[oracle@apex2495:/home/oracle/apex_images]$ pwd
/home/oracle/apex_images
[oracle@apex2495:/home/oracle/apex_images]$ cp -r /u01/app/apex/images/* .
[oracle@apex2495:/home/oracle/apex_images]$
 6 配置ORDS
[oracle@apex2495:/home/oracle/apex_images]$ cd ~
[oracle@apex2495:/home/oracle]$ mkdir -p /u01/app/ords/conf
[oracle@apex2495:/home/oracle]$ ords --config /u01/app/ords/conf install

 

  Choose [A]: A
在配置 default 中,名为 db.connectionType 的设置已设为 basic
在配置 default 中,名为 db.hostname 的设置已设为 localhost
在配置 default 中,名为 db.port 的设置已设为 1521
在配置 default 中,名为 db.servicename 的设置已设为 apexpdb
在配置 default 中,名为 plsql.gateway.mode 的设置已设为 proxied
在配置 default 中,名为 db.username 的设置已设为 ORDS_PUBLIC_USER
在配置 default 中,名为 db.password 的设置已设为 ******
在配置 default 中,名为 feature.sdw 的设置已设为 true
名为 database.api.enabled 的全局设置已设为 true
在配置 default 中,名为 restEnabledSql.active 的设置已设为 true
名为 standalone.http.port 的全局设置已设为 8080
名为 standalone.doc.root 的全局设置已设为 /u01/app/ords/conf/global/doc_root
在配置 default 中,名为 security.requestValidationFunction 的设置已设为 ords_util.authorize_plsql_gateway
2025-01-26T04:15:27.572Z INFO        已创建文件夹 /home/oracle/logs
2025-01-26T04:15:27.573Z INFO        日志文件默认使用位于 /home/oracle/logs 的当前工作目录
2025-01-26T04:15:27.767Z INFO        正在 APEXPDB 中安装 Oracle REST Data Services 版本 24.4.0.r3451601
2025-01-26T04:15:31.789Z INFO        ... 已验证数据库的先决条件
2025-01-26T04:15:33.232Z INFO        ... 已创建 Oracle REST Data Services 代理用户
2025-01-26T04:15:34.326Z INFO        ... 已创建 Oracle REST Data Services 方案
2025-01-26T04:15:35.823Z INFO        ... 已授予 Oracle REST Data Services 权限
2025-01-26T04:15:41.613Z INFO        ... 已创建 Oracle REST Data Services 数据库对象
2025-01-26T04:16:08.522Z INFO        已完成 Oracle REST Data Services 版本 24.4.0.r3451601 的安装。用时:00:00:40.685

2025-01-26T04:16:08.607Z INFO        已完成 Oracle REST Data Services 版本 24.4.0.r3451601 的 PL/SQL 网关用户配置。用时:00:00:00.82

2025-01-26T04:16:08.611Z INFO        日志文件已写入/home/oracle/logs/ords_install_2025-01-26_041527_57377.log
2025-01-26T04:16:09.094Z INFO        HTTP and HTTP/2 cleartext listening on host: 0.0.0.0 port: 8080
2025-01-26T04:16:09.156Z INFO        Disabling document root because the specified folder does not exist: /u01/app/ords/conf/global/doc_root
2025-01-26T04:16:09.158Z INFO        Default forwarding from / to contextRoot configured.
2025-01-26T04:16:15.707Z INFO        Configuration properties for: |default|lo|
db.servicename=apexpdb
db.hostname=localhost
db.password=******
conf.use.wallet=true
security.requestValidationFunction=ords_util.authorize_plsql_gateway
database.api.enabled=true
db.username=ORDS_PUBLIC_USER
standalone.http.port=8080
restEnabledSql.active=true
resource.templates.enabled=false
plsql.gateway.mode=proxied
db.port=1521
feature.sdw=true
config.required=true
db.connectionType=basic
standalone.doc.root=/u01/app/ords/conf/global/doc_root

2025-01-26T04:16:15.709Z WARNING     *** 配置|default|lo|中的jdbc.MaxLimit使用的是值10, 对于生产环境, 可能无法充分调整此设置的大小 ***
2025-01-26T04:16:16.401Z INFO

Mapped local pools from /u01/app/ords/conf/databases:
  /ords/                              => default                        => VALID


2025-01-26T04:16:16.720Z INFO        Oracle REST Data Services initialized
Oracle REST Data Services version : 24.4.0.r3451601
Oracle REST Data Services server info: jetty/12.0.13
Oracle REST Data Services java info: Java HotSpot(TM) 64-Bit Server VM  (build: 21.0.6+8-LTS-188 mixed mode, sharing)
7 命令行启动状态,还需要做静态images的配置
8 终止ords服务器,配置apex静态内容
C[oracle@apex2495:/home/oracle]ords config set --global standalone.static.context.path /i
2025-01-26T05:10:43.575Z WARNING     您的配置文件夹 /u01/app/ords/conf 位于 ORDS 产品文件夹中。Oracle 建议使用其他配置文件夹。
有关如何设置配置文件夹的信息,请参阅 Oracle REST Data Services 文档。

ORDS:发行版 24.4 生产,发行日期 周日 1月 26 05:10:43 2025

版权所有 (c) 2010,2025,Oracle。

配置:
  /u01/app/ords/conf

名为 standalone.static.context.path 的全局设置已设为 /i

[oracle@apex2495:/home/oracle]$ ords config set --global standalone.static.path /home/oracle/apex_images
2025-01-26T05:11:36.245Z WARNING     您的配置文件夹 /u01/app/ords/conf 位于 ORDS 产品文件夹中。Oracle 建议使用其他配置文件夹。
有关如何设置配置文件夹的信息,请参阅 Oracle REST Data Services 文档。

ORDS:发行版 24.4 生产,发行日期 周日 1月 26 05:11:36 2025

版权所有 (c) 2010,2025,Oracle。

配置:
  /u01/app/ords/conf

名为 standalone.static.path 的全局设置已设为 /home/oracle/apex_images
[oracle@apex2495:/home/oracle]$
9 ords命令参考 
[oracle@apex2495:/home/oracle]$ ords --help
2025-01-26T05:13:02.049Z WARNING     您的配置文件夹 /u01/app/ords/conf 位于 ORDS 产品文件夹中。Oracle 建议使用其他配置文件夹。
有关如何设置配置文件夹的信息,请参阅 Oracle REST Data Services 文档。

ORDS:发行版 24.4 生产,发行日期 周日 1月 26 05:13:02 2025

版权所有 (c) 2010,2025,Oracle。

配置:
  /u01/app/ords/conf


用法:
  ords [OPTIONS] [COMMAND]

Oracle REST Data Services 命令行界面

选项:
        --config <folder>        Oracle REST Data Services 配置文件夹的路径

        --debug                  等同于 --verbose

    -h, --help                   显示命令的用法信息

        --java-options <options...>
                                 指定应传递给 Java 虚拟机的其他 Java 选项

    -v, --verbose                将 Oracle REST Data Services 配置为以详细模式运行

        --version                显示版本信息

命令:
        config                   配置应用程序和数据库连接池设置

        extract                  提取 Oracle REST Data Services 脚本。

        install                  配置数据库连接,并安装/升级 Oracle REST Data Services
                                 方案、ORDS 数据库用户和相关数据库对象。

        migrate                  从发行版 21.4.x 和更早的发行版迁移 Oracle REST Data
                                 Services 配置文件和参数文件。

        pool                     监视正在运行的 Oracle REST Data Services 实例的池

        serve                    以独立模式启动Oracle REST Data Services

        uninstall                卸载 Oracle REST Data Services 方案、ORDS
                                 数据库用户和相关数据库对象。

        war                      从分布式 ords.war 创建可部署在受支持的 servlet 容器中的 Web 应用程序。

运行 ords <COMMAND> --help 可了解有关命令的更多信息。

例如,运行:ords config --help
 10 ords独立服务运行,设置成独立可运行服务

 ords --config /u01/app/ords/conf serve 

[oracle@apex2495:/home/oracle]$ ords --config /u01/app/ords/conf serve
2025-01-26T05:14:42.394Z WARNING     您的配置文件夹 /u01/app/ords/conf 位于 ORDS 产品文件夹中。Oracle 建议使用其他配置文件夹。
有关如何设置配置文件夹的信息,请参阅 Oracle REST Data Services 文档。

ORDS:发行版 24.4 生产,发行日期 周日 1月 26 05:14:42 2025

版权所有 (c) 2010,2025,Oracle。

配置:
  /u01/app/ords/conf

2025-01-26T05:14:43.183Z INFO        HTTP and HTTP/2 cleartext listening on host: 0.0.0.0 port: 8080
2025-01-26T05:14:43.248Z INFO        Disabling document root because the specified folder does not exist: /u01/app/ords/conf/global/doc_root
2025-01-26T05:14:43.250Z INFO        Default forwarding from / to contextRoot configured.
2025-01-26T05:14:53.187Z INFO        Configuration properties for: |default|lo|
db.servicename=apexpdb
java.specification.version=21
conf.use.wallet=true
sun.jnu.encoding=UTF-8
user.region=CN
standalone.static.context.path=/i
java.class.path=/u01/app/ords/ords.war
java.vm.vendor=Oracle Corporation
sun.arch.data.model=64
standalone.static.path=/home/oracle/apex_images
nashorn.args=--no-deprecation-warning
java.vendor.url=https://java.oracle.com/
resource.templates.enabled=false
user.timezone=UTC
db.port=1521
java.vm.specification.version=21
os.name=Linux
sun.java.launcher=SUN_STANDARD
user.country=CN
sun.boot.library.path=/usr/local/jdk-21.0.6/lib
sun.java.command=/u01/app/ords/ords.war --config /u01/app/ords/conf serve
jdk.debug=release
sun.cpu.endian=little
user.home=/home/oracle
oracle.dbtools.launcher.executable.jar.path=/u01/app/ords/ords.war
user.language=zh
java.specification.vendor=Oracle Corporation
java.version.date=2025-01-21
database.api.enabled=true
java.home=/usr/local/jdk-21.0.6
db.username=ORDS_PUBLIC_USER
file.separator=/
java.vm.compressedOopsMode=Zero based
line.separator=

restEnabledSql.active=true
java.specification.name=Java Platform API Specification
java.vm.specification.vendor=Oracle Corporation
feature.sdw=true
java.awt.headless=true
db.hostname=localhost
db.password=******
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
security.requestValidationFunction=ords_util.authorize_plsql_gateway
java.runtime.version=21.0.6+8-LTS-188
user.name=oracle
stdout.encoding=UTF-8
path.separator=:
standalone.http.port=8080
os.version=5.15.0-304.171.4.1.el9uek.x86_64
java.runtime.name=Java(TM) SE Runtime Environment
file.encoding=UTF-8
plsql.gateway.mode=proxied
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
standalone.doc.root=/u01/app/ords/conf/global/doc_root
java.vendor.url.bug=https://bugreport.java.com/bugreport/
java.io.tmpdir=/tmp
oracle.dbtools.cmdline.ShellCommand=ords
java.version=21.0.6
user.dir=/home/oracle
os.arch=amd64
java.vm.specification.name=Java Virtual Machine Specification
oracle.dbtools.cmdline.home=/u01/app/ords
native.encoding=UTF-8
java.library.path=/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib
java.vendor=Oracle Corporation
java.vm.info=mixed mode, sharing
stderr.encoding=UTF-8
java.vm.version=21.0.6+8-LTS-188
sun.io.unicode.encoding=UnicodeLittle
db.connectionType=basic
java.class.version=65.0

2025-01-26T05:14:53.190Z WARNING     *** 配置|default|lo|中的jdbc.MaxLimit使用的是值10, 对于生产环境, 可能无法充分调整此设置的大小 ***
2025-01-26T05:14:53.854Z INFO

Mapped local pools from /u01/app/ords/conf/databases:
  /ords/                              => default                        => VALID


2025-01-26T05:14:54.183Z INFO        Oracle REST Data Services initialized
Oracle REST Data Services version : 24.4.0.r3451601
Oracle REST Data Services server info: jetty/12.0.13
Oracle REST Data Services java info: Java HotSpot(TM) 64-Bit Server VM  (build: 21.0.6+8-LTS-188 mixed mode, sharing)

^C[oracle@apex2495:/home/oracle]$
11 配置ORDS自启动--root用户下 
[oracle@apex2495:/etc/init.d]$ vi ords
[oracle@apex2495:/etc/init.d]$ exit
注销
[root@apex2495:/usr/local]# cd /etc/init.d
[root@apex2495:/etc/init.d]# vi ords
[root@apex2495:/etc/init.d]# ll
总用量 28
-rw-r--r--. 1 root root 18220  3月  6  2024 functions
-rwxr-xr-x  1 root root   275  1月 26 13:23 ords
-rw-r--r--. 1 root root  1161  1月  3 22:26 README
[root@apex2495:/etc/init.d]# systemctl enable ords
ords.service is not a native service, redirecting to systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable ords
[root@apex2495:/etc/init.d]# systemctl start ords

[root@apex2495:/etc/init.d]# chkconfig --add ords
[root@apex2495:/etc/init.d]# chkconfig ords on
[root@apex2495:/etc/init.d]# chkconfig --list

注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。

      要列出 systemd 服务,请执行 'systemctl list-unit-files'。
      查看在具体 target 启用的服务请执行
      'systemctl list-dependencies [target]'。

ords            0:关    1:关    2:开    3:开    4:开    5:开    6:关
[root@apex2495:/etc/init.d]#
--注意要设置到SELINUX
vi /etc/selinux/config 
setenforce 0
getenforce
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值