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目录,下载以下软件,并存入此目录:
运行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:2222
oracle-18c-apex: SSH username: vagrant
oracle-18c-apex: SSH auth method: private key
oracle-18c-apex:
oracle-18c-apex: Vagrant insecure key detected. Vagrant will automatically replace
oracle-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.sh
oracle-18c-apex: INSTALLER: Started up
oracle-18c-apex: Resolving Dependencies
oracle-18c-apex: --> Running transaction check
oracle-18c-apex: ---> Package GeoIP.x86_64 0:1.5.0-13.el7 will be updated
oracle-18c-apex: ---> Package GeoIP.x86_64 0:1.5.0-14.el7 will be an update
oracle-18c-apex: --> Processing Dependency: geoipupdate for package: GeoIP-1.5.0-14.el7.x86_64
oracle-18c-apex: ---> Package audit-libs.x86_64 0:2.8.4-4.el7 will be updated
oracle-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.sh
oracle-18c-apex: INSTALLER: Timezone updated
oracle-18c-apex: INSTALLER: Environment variables set
oracle-18c-apex: INSTALLER: Oracle Database Installation Started up
oracle-18c-apex: Examining /vagrant/oracle-database-xe-18c-1.0-1.x86_64.rpm: oracle-database-xe-18c-1.0-1.x86_64
oracle-18c-apex: Marking /vagrant/oracle-database-xe-18c-1.0-1.x86_64.rpm to be installed
oracle-18c-apex: Resolving Dependencies
oracle-18c-apex: --> Running transaction check
oracle-18c-apex: ---> Package oracle-database-xe-18c.x86_64 0:1.0-1 will be installed
oracle-18c-apex: --> Finished Dependency Resolution
oracle-18c-apex:
oracle-18c-apex: Dependencies Resolved
oracle-18c-apex:
oracle-18c-apex: ================================================================================
oracle-18c-apex: Package Arch Version
oracle-18c-apex: Repository Size
oracle-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 G
oracle-18c-apex:
oracle-18c-apex: Transaction Summary
oracle-18c-apex: ================================================================================
oracle-18c-apex: Install 1 Package
oracle-18c-apex: Total size: 5.2 G
oracle-18c-apex: Installed size: 5.2 G
oracle-18c-apex: Downloading packages:
oracle-18c-apex: Running transaction check
oracle-18c-apex: Running transaction test
oracle-18c-apex: Transaction test succeeded
oracle-18c-apex: Running transaction
oracle-18c-apex: Installing : oracle-database-xe-18c-1.0-1.x86_64 1/1
oracle-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/1
oracle-18c-apex:
oracle-18c-apex:
oracle-18c-apex: Installed:
oracle-18c-apex: oracle-database-xe-18c.x86_64 0:1.0-1
oracle-18c-apex: Complete!
oracle-18c-apex: INSTALLER: Oracle software installed
oracle-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 operation
oracle-18c-apex: 7% complete
oracle-18c-apex: Copying database files
oracle-18c-apex: 29% complete
oracle-18c-apex: Creating and starting Oracle instance
oracle-18c-apex: 30% complete
oracle-18c-apex: 31% complete
oracle-18c-apex: 34% complete
oracle-18c-apex: 38% complete
oracle-18c-apex: 41% complete
oracle-18c-apex: 43% complete
oracle-18c-apex: Completing Database Creation
oracle-18c-apex: 47% complete
...
oracle-18c-apex: INSTALLER: Oracle Rest Data Services extracted to ORACLE_BASE
oracle-18c-apex: Sep 26, 2019 9:36:20 AM
oracle-18c-apex: INFO: Set config.dir to /opt/oracle/ords/config in: /opt/oracle/ords/ords.war
oracle-18c-apex:
oracle-18c-apex: SQL*Plus: Release 18.0.0.0.0 - Production on Thu Sep 26 09:36:27 2019
oracle-18c-apex: Version 18.4.0.0.0
oracle-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 - Production
oracle-18c-apex: Version 18.4.0.0.0
oracle-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 - Production
oracle-18c-apex: Version 18.4.0.0.0
oracle-18c-apex: INSTALLER: Oracle Rest Data Services configuration created
oracle-18c-apex: Sep 26, 2019 9:36:38 AM
oracle-18c-apex: INFO: reloaded pools: []
oracle-18c-apex: Sep 26, 2019 9:36:38 AM oracle.dbtools.installer.InstallerBase log
oracle-18c-apex: INFO: Installing Oracle REST Data Services version 19.2.0.r1991647
oracle-18c-apex: Sep 26, 2019 9:36:38 AM oracle.dbtools.installer.Runner log
oracle-18c-apex: INFO: ... Log file written to /home/oracle/ords_install_core_2019-09-26_093638_00879.log
oracle-18c-apex: Sep 26, 2019 9:36:44 AM oracle.dbtools.installer.Runner log
oracle-18c-apex: INFO: ... Verified database prerequisites
oracle-18c-apex: Sep 26, 2019 9:36:45 AM oracle.dbtools.installer.Runner log
oracle-18c-apex: INFO: ... Created Oracle REST Data Services proxy user
oracle-18c-apex: Sep 26, 2019 9:36:46 AM oracle.dbtools.installer.Runner log
oracle-18c-apex: INFO: ... Created Oracle REST Data Services schema
oracle-18c-apex: Sep 26, 2019 9:36:49 AM oracle.dbtools.installer.Runner log
oracle-18c-apex: INFO: ... Granted privileges to Oracle REST Data Services
oracle-18c-apex: Sep 26, 2019 9:36:54 AM oracle.dbtools.installer.Runner log
oracle-18c-apex: INFO: ... Created Oracle REST Data Services database objects
oracle-18c-apex: Sep 26, 2019 9:37:15 AM oracle.dbtools.installer.Runner log
oracle-18c-apex: INFO: ... Log file written to /home/oracle/ords_install_datamodel_2019-09-26_093715_00609.log
oracle-18c-apex: Sep 26, 2019 9:37:17 AM oracle.dbtools.installer.Runner log
oracle-18c-apex: INFO: ... Log file written to /home/oracle/ords_install_apex_2019-09-26_093717_00981.log
oracle-18c-apex: Sep 26, 2019 9:37:20 AM oracle.dbtools.installer.InstallerBase log
oracle-18c-apex: INFO: Completed installation for Oracle REST Data Services version 19.2.0.r1991647. Elapsed time: 00:00:41.213
oracle-18c-apex: INSTALLER: Oracle Rest Data Services installation completed
oracle-18c-apex: Last login: Thu Sep 26 09:36:27 +08 2019
oracle-18c-apex: INSTALLER: Oracle Rest Data Services started
oracle-18c-apex:
oracle-18c-apex: INSTALLER: APEX/ORDS Installation Completed
oracle-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: internal
oracle-18c-apex: INSTALLER: Username: admin
oracle-18c-apex: INSTALLER: Password: h6FJOI8sL4E=1
Days : 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 Completed
oracle-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: internal
oracle-18c-apex: INSTALLER: Username: admin
oracle-18c-apex: INSTALLER: Password: ET0YUcE64uE=1
Days : 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了:
文章浏览阅读1k次。请求postman支持很多请求类型,界面左侧可以看到请求类型:get、post、put、patch等,右侧是发送和保存按钮,下方是请求支持的认证方式、信息头、信息体、私有脚本和测试结果。下面我们介绍下常用的get和put请求。get请求只需要选择get请求,输入接口地址,然后save,选择相应的文件夹post请求1. 选择get请求,输入接口地址,在header和body输..._postman怎么查询protobuf协议结果
文章浏览阅读3.1k次,点赞5次,收藏14次。今天继续给大家介绍Linux运维相关知识,本文主要内容是KVM虚拟机的自启动设置。一、KVM虚拟机自启动简介二、libvertd服务自启动三、磁盘自动挂载四、设置虚拟机自启动_kvm虚拟机自动启动
文章浏览阅读7.9k次。1 krunner一般情况,这个东西可以呼唤出来,如果吧焦点设置在桌面上,但是当我们的焦点在其他应用中,敲击键盘上的字符就千呼万唤不出来了。一直都不知道怎么吧这个东西找出来,今天终于找到了解决方案。这个东西较 krunner。http://en.wikipedia.org/wiki/Run_command 既然找到了,我们把它加到系统的快捷键中。在 trigger 中添加对应的快捷_kde6 快捷键
文章浏览阅读3k次,点赞5次,收藏20次。面试问到Https加密协议,不太会?来看看这篇文章吧_ssl/tls
文章浏览阅读5.1k次,点赞10次,收藏40次。一、实验目的: 了解双绞线特性,掌握双绞线的分类与典型应用。 熟悉无屏蔽双绞线网线制作的标准和方法。 了解网线制作的技能技巧。 掌握测试仪的使用。 利用做好的网线通过交换机或路由器组建局域网。二、实验内容: 无屏蔽双绞线网线制作。 利用做好的网线通过交换机或路由器组建局域网。..._网线制作和局域网组建实验
文章浏览阅读3.2k次。本文主要讲解小程序二维码的基本概念,帮助开发和运营人员更好的掌握小程序参数二维码,同时也包含小程序二维码官方文档解读,更好的掌握小程序参数二维码在业务中的使用一,小程序二维码小白介绍二,小程序二维码开发介绍三,小程序二维码生成介绍四,小程序二维码官方文档解读 一,小程序参数二维码小白篇介绍参数二维码的基础知识,让开发者和运营者知道什么是参数二维码1. 首先我们要了解,什...
文章浏览阅读1w次,点赞6次,收藏7次。cpolar是一款拥有远程控制和内网穿透功能的软件。而且还可以监控端口的HTTP请求,利用实时的cpolar Web UI开发者工具,让您调试代码更容易。您可以监听所有隧道上的HTTP消息包,分析消息包的结构内容,找出问题点。还可以单击重放(Replay)按钮,重新发送该HTTP信令请求。_alibabacloud.sdk.dingtalk
文章浏览阅读1.3k次。最近闲的,看了看html5,强大的绘图功能让我惊奇,于是,写了个小玩意---涂鸦板,能实现功能有:画画,改色,调整画笔大小html5的绘图可以分为点,线,面,圆,图片等,点和线,这可是所有平面效果的基点,有了这两个东西,没有画不出来的东西,只有想不到的算法。先上代码了:html效果:好了,一个简陋的画图界面就搞好啦,下面开始写一些画线的代码$.Draw = {};$.extend($.Draw, ..._html涂鸦板
文章浏览阅读1k次。简析chown和chmod用法 简析chown和chmod用法修改文件所有权--chown更改文件权限--chmod修改文件所有权–chown计算机网络实验在执行完python脚本后,由于以sudo模式启动,生成的文件夹所有者为root,文件夹右下角有小锁,其他用户没有访问修改的权力。用到语句:chown [选项] [更改目标所有者][:[更改目标组]] 文件名或:chown [选项] ..._ubuntu python生成的文件权限用户设置
文章浏览阅读679次。来源:专知【导读】深度学习革新了很多应用,但是背后的理论作用机制一直没有得到统一的解释。最近来自谷歌大脑和斯坦福的学者共同在Annual Review ..._深度学习和力学理论结合
文章浏览阅读1.0k次。Note that on some platforms, trying to open a filename using this function, may work and start the operating system’s associated program. However, this is neither supported nor portable.这里的问题是webbrows..._drawings保存html格式是空的
文章浏览阅读915次。大概很早的时候就有想法做一个音乐播放器玩玩,以前可能还考虑过做APP,大一的时候第一个html的静态页面也是做的音乐网站,想想,大概小时候比较喜欢音乐吧。然而,现在入了前端大坑,就用h5做一个耍耍好了。功能不多,UI不美,But,练习了html5中audio及其API的使用。欢迎吐槽~功能思路分析用了这么多年的音乐播放软件,目前已是网易云音乐的重度用户。一个基本的音乐播放器基础功能有:播放、暂停、..._html5音乐播放器