Oracle APEX是一个低代码开发平台。在主页中的介绍如下:

Oracle APEX 是 Oracle 数据库完全支持的一项免费功能。这意味着,如果您拥有 Oracle 数据库,那么也就拥有了 Oracle APEX!您只需下载 Oracle APEX 并在现有 Oracle 数据库中安装即可!Oracle APEX 的显著优势之一是您可以在本机访问 Oracle 数据库的所有功能。了解由 Oracle 提供支持的含义,并浏览您可以获得的所有功能与优势。

也就是说,APEX是数据库的一项功能,需要额外安装。但数据库不必是企业版,也可以是免费的XE版。本文介绍了通过Oracle在GitHub上的Vagrant安装APEX的过程。

首先从Oracle GitHub上克隆项目:
git clone https://github.com/oracle/vagrant-boxes

然后进入OracleAPEX目录,下载以下软件,并存入此目录:

  1. Oracle Database 18c XE,文件名oracle-database-xe-18c-1.0-1.x86_64.rpm,约2.4G。
  2. Oracle APEX,文件名apex_19.1.zip,约150M。
  3. Oracle Rest Data Services (ORDS),文件名ords-19.2.0.199.1647.zip,约62M。

运行vagrant box:
vagrant up
输出如下,整个过程接近1小时:

D:\vagrant-boxes\OracleAPEX>vagrant up
getting Proxy Configuration from Host...
Bringing machine 'oracle-18c-apex' up with 'virtualbox' provider...
==> oracle-18c-apex: Importing base box 'ol7-latest'...
==> oracle-18c-apex: Matching MAC address for NAT networking...
==> oracle-18c-apex: Setting the name of the VM: oracle-18c-apex
==> oracle-18c-apex: Clearing any previously set network interfaces...
==> oracle-18c-apex: Preparing network interfaces based on configuration...oracle-18c-apex: Adapter 1: nat
==> oracle-18c-apex: Forwarding ports...oracle-18c-apex: 1521 (guest) => 1521 (host) (adapter 1)oracle-18c-apex: 5500 (guest) => 5500 (host) (adapter 1)oracle-18c-apex: 8080 (guest) => 8080 (host) (adapter 1)oracle-18c-apex: 22 (guest) => 2222 (host) (adapter 1)
==> oracle-18c-apex: Running 'pre-boot' VM customizations...
==> oracle-18c-apex: Booting VM...
==> oracle-18c-apex: Waiting for machine to boot. This may take a few minutes...oracle-18c-apex: SSH address: 127.0.0.1:2222oracle-18c-apex: SSH username: vagrantoracle-18c-apex: SSH auth method: private keyoracle-18c-apex:oracle-18c-apex: Vagrant insecure key detected. Vagrant will automatically replaceoracle-18c-apex: this with a newly generated keypair for better security.oracle-18c-apex:oracle-18c-apex: Inserting generated public key within guest...oracle-18c-apex: Removing insecure key from the guest if it's present...oracle-18c-apex: Key inserted! Disconnecting and reconnecting using new SSH key...
==> oracle-18c-apex: Machine booted and ready!
==> oracle-18c-apex: Checking for guest additions in VM...
==> oracle-18c-apex: Setting hostname...
==> oracle-18c-apex: Configuring proxy environment variables...
==> oracle-18c-apex: Configuring proxy for Yum...
==> oracle-18c-apex: Mounting shared folders...oracle-18c-apex: /vagrant => D:/vagrant-boxes/OracleAPEX
==> oracle-18c-apex: Running provisioner: shell...oracle-18c-apex: Running: C:/Users/yyxiao/AppData/Local/Temp/vagrant-shell20190925-14196-16gcbar.shoracle-18c-apex: INSTALLER: Started uporacle-18c-apex: Resolving Dependenciesoracle-18c-apex: --> Running transaction checkoracle-18c-apex: ---> Package GeoIP.x86_64 0:1.5.0-13.el7 will be updatedoracle-18c-apex: ---> Package GeoIP.x86_64 0:1.5.0-14.el7 will be an updateoracle-18c-apex: --> Processing Dependency: geoipupdate for package: GeoIP-1.5.0-14.el7.x86_64oracle-18c-apex: ---> Package audit-libs.x86_64 0:2.8.4-4.el7 will be updatedoracle-18c-apex: ---> Package audit-libs.x86_64 0:2.8.5-4.el7 will be an update...==> oracle-18c-apex: Running provisioner: shell...oracle-18c-apex: Running: C:/Users/yyxiao/AppData/Local/Temp/vagrant-shell20190926-15504-1aocj8c.shoracle-18c-apex: INSTALLER: Timezone updatedoracle-18c-apex: INSTALLER: Environment variables setoracle-18c-apex: INSTALLER: Oracle Database Installation Started uporacle-18c-apex: Examining /vagrant/oracle-database-xe-18c-1.0-1.x86_64.rpm: oracle-database-xe-18c-1.0-1.x86_64oracle-18c-apex: Marking /vagrant/oracle-database-xe-18c-1.0-1.x86_64.rpm to be installedoracle-18c-apex: Resolving Dependenciesoracle-18c-apex: --> Running transaction checkoracle-18c-apex: ---> Package oracle-database-xe-18c.x86_64 0:1.0-1 will be installedoracle-18c-apex: --> Finished Dependency Resolutionoracle-18c-apex:oracle-18c-apex: Dependencies Resolvedoracle-18c-apex:oracle-18c-apex: ================================================================================oracle-18c-apex:  Package                Arch   Versionoracle-18c-apex:                                      Repository                            Sizeoracle-18c-apex: ================================================================================oracle-18c-apex: Installing:oracle-18c-apex:  oracle-database-xe-18c x86_64 1.0-1 /oracle-database-xe-18c-1.0-1.x86_64 5.2 Goracle-18c-apex:oracle-18c-apex: Transaction Summaryoracle-18c-apex: ================================================================================oracle-18c-apex: Install  1 Packageoracle-18c-apex: Total size: 5.2 Goracle-18c-apex: Installed size: 5.2 Goracle-18c-apex: Downloading packages:oracle-18c-apex: Running transaction checkoracle-18c-apex: Running transaction testoracle-18c-apex: Transaction test succeededoracle-18c-apex: Running transactionoracle-18c-apex:   Installing : oracle-database-xe-18c-1.0-1.x86_64                          1/1oracle-18c-apex:oracle-18c-apex: [INFO] Executing post installation scripts...oracle-18c-apex: [INFO] Oracle home installed successfully and ready to be configured.oracle-18c-apex: To configure Oracle Database XE, optionally modify the parameters in '/etc/sysconfig/oracle-xe-18c.conf' and then execute '/etc/init.d/oracle-xe-18c configure' as root.oracle-18c-apex:   Verifying  : oracle-database-xe-18c-1.0-1.x86_64                          1/1oracle-18c-apex:oracle-18c-apex:oracle-18c-apex: Installed:oracle-18c-apex:   oracle-database-xe-18c.x86_64 0:1.0-1oracle-18c-apex: Complete!oracle-18c-apex: INSTALLER: Oracle software installedoracle-18c-apex: Configuring Oracle Listener.oracle-18c-apex: Listener configuration succeeded.oracle-18c-apex: Configuring Oracle Database XE.oracle-18c-apex: Enter SYS user password:oracle-18c-apex: *************oracle-18c-apex:oracle-18c-apex: *oracle-18c-apex: Enter SYSTEM user password:oracle-18c-apex: *****oracle-18c-apex: ***oracle-18c-apex: *****oracle-18c-apex:oracle-18c-apex: **oracle-18c-apex: Enter PDBADMIN User Password:oracle-18c-apex: ****oracle-18c-apex: **oracle-18c-apex: *******oracle-18c-apex:oracle-18c-apex: *oracle-18c-apex: Prepare for db operationoracle-18c-apex: 7% completeoracle-18c-apex: Copying database filesoracle-18c-apex: 29% completeoracle-18c-apex: Creating and starting Oracle instanceoracle-18c-apex: 30% completeoracle-18c-apex: 31% completeoracle-18c-apex: 34% completeoracle-18c-apex: 38% completeoracle-18c-apex: 41% completeoracle-18c-apex: 43% completeoracle-18c-apex: Completing Database Creationoracle-18c-apex: 47% complete...oracle-18c-apex: INSTALLER: Oracle Rest Data Services extracted to ORACLE_BASEoracle-18c-apex: Sep 26, 2019 9:36:20 AMoracle-18c-apex: INFO: Set config.dir to /opt/oracle/ords/config in: /opt/oracle/ords/ords.waroracle-18c-apex:oracle-18c-apex: SQL*Plus: Release 18.0.0.0.0 - Production on Thu Sep 26 09:36:27 2019oracle-18c-apex: Version 18.4.0.0.0oracle-18c-apex:oracle-18c-apex: Copyright (c) 1982, 2018, Oracle.  All rights reserved.oracle-18c-apex:oracle-18c-apex: Connected to:oracle-18c-apex: Oracle Database 18c Express Edition Release 18.0.0.0.0 - Productionoracle-18c-apex: Version 18.4.0.0.0oracle-18c-apex:oracle-18c-apex: SQL>oracle-18c-apex:oracle-18c-apex: Session altered.oracle-18c-apex:oracle-18c-apex: SQL>oracle-18c-apex:oracle-18c-apex: User altered.oracle-18c-apex:oracle-18c-apex: SQL>oracle-18c-apex:oracle-18c-apex: User altered.oracle-18c-apex: SQL>oracle-18c-apex: Disconnected from Oracle Database 18c Express Edition Release 18.0.0.0.0 - Productionoracle-18c-apex: Version 18.4.0.0.0oracle-18c-apex: INSTALLER: Oracle Rest Data Services configuration createdoracle-18c-apex: Sep 26, 2019 9:36:38 AMoracle-18c-apex: INFO: reloaded pools: []oracle-18c-apex: Sep 26, 2019 9:36:38 AM oracle.dbtools.installer.InstallerBase logoracle-18c-apex: INFO: Installing Oracle REST Data Services version 19.2.0.r1991647oracle-18c-apex: Sep 26, 2019 9:36:38 AM oracle.dbtools.installer.Runner logoracle-18c-apex: INFO: ... Log file written to /home/oracle/ords_install_core_2019-09-26_093638_00879.logoracle-18c-apex: Sep 26, 2019 9:36:44 AM oracle.dbtools.installer.Runner logoracle-18c-apex: INFO: ... Verified database prerequisitesoracle-18c-apex: Sep 26, 2019 9:36:45 AM oracle.dbtools.installer.Runner logoracle-18c-apex: INFO: ... Created Oracle REST Data Services proxy useroracle-18c-apex: Sep 26, 2019 9:36:46 AM oracle.dbtools.installer.Runner logoracle-18c-apex: INFO: ... Created Oracle REST Data Services schemaoracle-18c-apex: Sep 26, 2019 9:36:49 AM oracle.dbtools.installer.Runner logoracle-18c-apex: INFO: ... Granted privileges to Oracle REST Data Servicesoracle-18c-apex: Sep 26, 2019 9:36:54 AM oracle.dbtools.installer.Runner logoracle-18c-apex: INFO: ... Created Oracle REST Data Services database objectsoracle-18c-apex: Sep 26, 2019 9:37:15 AM oracle.dbtools.installer.Runner logoracle-18c-apex: INFO: ... Log file written to /home/oracle/ords_install_datamodel_2019-09-26_093715_00609.logoracle-18c-apex: Sep 26, 2019 9:37:17 AM oracle.dbtools.installer.Runner logoracle-18c-apex: INFO: ... Log file written to /home/oracle/ords_install_apex_2019-09-26_093717_00981.logoracle-18c-apex: Sep 26, 2019 9:37:20 AM oracle.dbtools.installer.InstallerBase logoracle-18c-apex: INFO: Completed installation for Oracle REST Data Services version 19.2.0.r1991647. Elapsed time: 00:00:41.213oracle-18c-apex: INSTALLER: Oracle Rest Data Services installation completedoracle-18c-apex: Last login: Thu Sep 26 09:36:27 +08 2019oracle-18c-apex: INSTALLER: Oracle Rest Data Services startedoracle-18c-apex:oracle-18c-apex: INSTALLER: APEX/ORDS Installation Completedoracle-18c-apex: INSTALLER: You can access APEX by your Host Operating System at following URL:oracle-18c-apex: INSTALLER: http://localhost:8080/ords/oracle-18c-apex: INSTALLER: Access granted with:oracle-18c-apex: INSTALLER: Workspace: internaloracle-18c-apex: INSTALLER: Username:  adminoracle-18c-apex: INSTALLER: Password:  h6FJOI8sL4E=1Days              : 0
Hours             : 0
Minutes           : 58
Seconds           : 59
Milliseconds      : 738
Ticks             : 35397382104
TotalDays         : 0.04096919225
TotalHours        : 0.983260614
TotalMinutes      : 58.99563684
TotalSeconds      : 3539.7382104
TotalMilliseconds : 3539738.2104

这里一定要注意,在最后部分有密码,密码,密码!!!(我改成了Y2xrBZK/[W;d9`n")
上例是安装在外挂U盘,如果安装在本地盘,会快很多,例如:

...oracle-18c-apex: INSTALLER: APEX/ORDS Installation Completedoracle-18c-apex: INSTALLER: You can access APEX by your Host Operating System at following URL:oracle-18c-apex: INSTALLER: http://localhost:8080/ords/oracle-18c-apex: INSTALLER: Access granted with:oracle-18c-apex: INSTALLER: Workspace: internaloracle-18c-apex: INSTALLER: Username:  adminoracle-18c-apex: INSTALLER: Password:  ET0YUcE64uE=1Days              : 0
Hours             : 0
Minutes           : 37
Seconds           : 31
Milliseconds      : 730
Ticks             : 22517306893
TotalDays         : 0.0260616977928241
TotalHours        : 0.625480747027778
TotalMinutes      : 37.5288448216667
TotalSeconds      : 2251.7306893
TotalMilliseconds : 2251730.6893

虽然还不太懂原理,但整个过程是走下来了。
详细的安装步骤可参见Oracle Application Express Release 19.1文档。

Oracle Application Express is installed and enabled in Oracle Autonomous Database
services such as Oracle Autonomous Transaction Processing and Oracle Autonomous
Data Warehouse.
Oracle Application Express is available in Exadata Cloud Service and Database Cloud
Service in Oracle Cloud Infrastructure. However, you need to manually customize your
databases to install and enable Oracle Application Express by following on-premises
installation process or using cloud tooling such as Terraform.

APEX的运行依赖于Web listener,可以选择Oracle REST Data Services(ORDS),
Oracle HTTP Server或 Embedded PL/SQL gateway。本例选择了ORDS,这也是Oracle推荐的,另两个都认为是过时了。

APEX的架构描述:

Oracle Application Express uses a simple architecture where pages are dynamically
generated using metadata stored within the Oracle Database. There is no code generation
or file based compilation. Once fully installed, a Uniform Resource Locator (URL)
is defined for both developers and end users to access Oracle Application Express.
Users require only a Web browser and the required URL. No additional client software
is required.


上图中的Web Listener就是我们安装的ORDS,其实就是jetty,也可以部署在WebLogic和Tomcat上:

$ ps -ef|grep -i ords
oracle   28354     1  1 08:54 ?        00:00:27 /opt/oracle/product/18c/dbhomeXE/jdk/bin/java -jar /opt/oracle/ords/ords.war

再回顾一下,本例安装的APEX版本为19.1,支持的数据库版本为11.2.0.4或以上。APEX的开发环境需要XML DB,但运行环境不需要,但XML DB默认都安装了。

然后就可以使用APEX了:

Oracle APEX初体验相关推荐

  1. oracle cloud技术帖,Oracle Cloud初体验

    Oracle 18c自去年OpenWorld首次预发布以来,确实引起了很多DBA的好奇和兴趣,在2月份左右先行发布了部分版本(Exadata和SuperCluster),当然重头戏的x86平台发布要等 ...

  2. oracle12cr2发布时间,Oracle 12cR2初体验(r11笔记第91天)

    对于很多Oracle DBA来说,12c最期待人心的就是12c Release 2的发布了,而Linux64位版本的发布则是一个重头戏.详情可以关注公众号dbaplus来了解一下,今晚零点即将发布,可 ...

  3. oracle云平台开发教程,Oracle云数据库初体验 之四 - APEX 快速开发

    在Oracle的Cloud Database服务中,开发环境是集成的Oracle Application Express环境, Oracle Application Express (Oracle A ...

  4. oracle数据库dblink创建语句_3场直播丨达梦DM8数据库安装部署初体验、新基建下的国产数据库应用和发展趋势、Oracle外部表创建与使用...

    1. 循序渐进-达梦DM8数据库安装部署初体验-07/16 简介: 本讲座主要介绍达梦DM8数据库软件安装与数据库创建. 2019年5月,DM8发布. 基于新技术发展的思考和市场的需求,坚持实用性.通 ...

  5. 一位Oracle老司机的openGauss初体验

    点击上方"蓝字" 关注我们,享更多干货! "8小时玩转openGauss训练营第二期"顺利结束啦!???????????? 本期活动共有939人报名,在线观看直 ...

  6. 3场直播丨达梦DM8数据库安装部署初体验、新基建下的国产数据库应用和发展趋势、Oracle外部表创建与使用...

    1. 循序渐进-达梦DM8数据库安装部署初体验-07/16 简介: 本讲座主要介绍达梦DM8数据库软件安装与数据库创建. 2019年5月,DM8发布. 基于新技术发展的思考和市场的需求,坚持实用性.通 ...

  7. Java8初体验(二)Stream语法详解(转)

    本文转自http://ifeve.com/stream/ Java8初体验(二)Stream语法详解 感谢同事[天锦]的投稿.投稿请联系 tengfei@ifeve.com 上篇文章Java8初体验( ...

  8. Oracle APEX 系列文章7:Oracle APEX 18.1 新特性

    引言 千呼万唤始出来, Oracle APEX 18.1 新版本终于发布了,还不了解 Oracle APEX 是什么的同学请移步这里: Oracle APEX 系列文章1:Oracle APEX, 让 ...

  9. java7 AIO初体验

    关于AIO的概念理解  关于AIO的概念,仅谈谈个人的一点理解.可能不到位,请大家指出. Io的两个重要步骤:发起IO请求,和实际的IO操作.在unix网络编程的定义里异步和非异步概念的区别就是实际的 ...

最新文章

  1. 使用PostMan工具测试spring boot接口的若干请求参数形式
  2. 传统企业应用转型--从0到1的微服务之路
  3. mesos安装,webui显示不正常
  4. 如何反序列化XML文档
  5. js 浅拷贝直接赋值_js的浅拷贝和深拷贝的简单理解和使用方法
  6. python 2 3 读写中文文件 使用codecs最方便
  7. 3.1 《数据库系统概论》SQL概述及数据定义(模式SCHEMA、表TABLE、索引INDEX)
  8. 普及一下equals和==的区别的误区
  9. 如何自定义Hibernate脏检查机制
  10. 漫步最优化四十二——Partan法
  11. 虚拟机的磁盘扩大超过2T,发现超过2T的这部分无分区
  12. matlab 工具函数、matlab toolbox(工具箱)
  13. Google手机移动网站适配(双向注释)
  14. 第15周学习进度情况
  15. JFlash合并两个BIN文件
  16. 算法学习(二)——Alpha-Beta剪枝算法
  17. Error: pngquant failed to build, make sure that libpng-dev is installed
  18. JavaWeb~Servlet~深入理解Cookie
  19. 基于layui的省市镇三级联动js
  20. Python 与 SQL 这样超强结合,处理数据才是爆赞

热门文章

  1. 杂七杂八的网络安全知识
  2. 通信网基础作业答案整理
  3. vue前端使用jsencrypt RSA 加解密插件
  4. DataFrame中实现int、float存储形式列之间的除法运算
  5. 【代码审计】那些代码审计的思路.md
  6. MacM1 安装python库文件
  7. 内含扩容源码的面试题,目标是手写HashMap!
  8. 9年研发经验,扫地盲僧带你看2022年前端未来发展趋势
  9. P4279 [SHOI2008]小约翰的游戏(博弈论)(Anti-SG)
  10. Lory的编程之旅就此启动