apex哪个版本好,apex哪个版本值得买

  

     

  

     

  

  原地址:https://wangfanggang.com/Oracle/Oracle-APEX/apex-series-8/   

  

  本文是刚哥甲骨文APEX系列的第8篇。完整的产品目录如下:   

  

  Oracle APEX系列文章1: Oracle Apex,让你秒变全栈开发的黑科技。   

  

  Oracle APEX系列2:在阿里云上构建您自己的APEX完整开发环境(安装CentOS)   

  

  Oracle APEX系列文章三:在阿里云上构建自己的APEX完整开发环境(安装Tomcat,Nginx)   

  

  Oracle APEX系列文章四:在阿里云上搭建自己的APEX完整开发环境(安装XE、ORDS、APEX)。   

  

  Oracle APEX系列5:在阿里云上构建自己的APEX完整开发环境(进一步优化)   

  

  Oracle apex系列文章六:Oracle APEX适合企业环境吗?   

  

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

  

  Oracle APEX系列文章8:如何从APEX 5.1.4升级到最新的APEX 18.1   

  

  

引言

  

  

   Oracle APEX 18.1已经发布好几天了。相信很多搞APEX的同学都尝过。接下来他们需要面对的问题是如何从较早的APEX版本升级到最新的APEX 18.1。   

  

  简单看了一下APEX 18.1的文档,没有提到要运行现成的升级脚本文件(虽然安装目录中也有一个名为apxpatch.sql的ghost)。由于新版APEX的DB Schema已经改成APEX_180100,所以猜测和之前一样APEX 4升级到5,没有办法直接升级。以下升级过程在CentOS 6上运行,数据库为Oracle Database 11gR2,APEX版本为5.1.4。此外,如果不改变数据库,现有的APEX应用程序、工作区和模式不需要改变,升级后仍然可以使用,这一点应该得到APEX R & ampd部!事不宜迟,以下是相关组件:   

  

  APEX:不用说,不管你之前用的是3、4、5版本,你都要升级到最新的18.1版本;   

  

  ORDS:同步升级到最新版本18.1,重新配置部署到Tomcat 8.5   

  

  JAVA:ORDS 18.1要求JDK/JRE最低版本1.8以上;   

  

  Tomcat:ORDS 18.1要求Tomcat最低版本8.5以上;   

  

  Nignx:参数(SSL证书,静态文件路径等。)需要重新配置;   

  

  让刚哥带你开始今天的APEX升级(踩坑)之旅吧!   

  

  

准备工作

  

  

  

上传安装包

  

  首先把升级需要的安装包上传到服务器,比如:/u02/Media。   

  

  停止当前的nginx,tomcat服务。   

  

  # #停止nginx服务   

  

  服务nginx停止   

  

  # #停止tomcat服务   

  

  服务tomcat停止   

  

  使用java-version检查当前的JDK版本。从下图可以看出,目前系统JDK版本是1.7,不符合ORDS的需求,所以Java版本必须升级。   

  

     

  

  安装JDK 1.8   

  

  yum install-y Java-1 . 8 . 0-open JDK . x86 _ 64 Java-1 . 8 . 0-open JDK-devel . x86 _ 64   

  

  安装JDK后,将环境变量添加到~/。bash_profile文件;   

  

  # .bash_profile   

  

  #获取别名和函数   

  

  if-f ~/。bashrc然后。~/.没有则创建   

  

  船方不负担装货费用   

  

  #用户特定的环境和启动程序   

  

  出口   

NLS_LANG=American_America.AL32UTF8

  

export JAVA_HOME=/u01/java/jdk1.8.0_162

  

export JRE_HOME=/u01/java/jdk1.8.0_162/jre

  

export ORACLE_SID=XE

  

PATH=/bin:/sbin:/usr/bin:$JAVA_HOME/bin:$JRE_HOME/bin:$PATH:$HOME/bin

  

export PATH

  

CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

  

export CLASSPATH

  

手动初始化一下环境变量。

  

source ~/.bash_profile

  

## 再次查看JDK版本

  

java -version

  

JDK 版本应该已经变成1.8了。

  

升级 Tomcat

由于我当前用的 tomcat 版本是 7 的,ORDS 18.1 要求 tomcat 8.5 以上版本,所以需要更新一下 tomcat。

  

下载 Tomcat 8.5

  

## 切换到安装包目录

  

cd /u02/Media

  

## 下载tomcat 8.5以上版本

  

wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v8.5.31/bin/apache-tomcat-8.5.31.zip

  

## 解压缩安装包

  

unzip apache-tomcat-8.5.31.zip

  

## 将解压完的文件移动到 /u01/tomcat8 目录下

  

mv apache-tomcat-8.5.31/*/u01/tomcat8

  

## 授权

  

chown -Rf tomcat:tomcat /u01/tomcat8

  

chmod -Rf755/u01/tomcat8/bin/*

  

由于我用的是 CentOS 6,用的脚本启动 Tomcat,所以需要修改下 /etc/init.d/tomcat文件。

  

#!/bin/bash

  

# description: Tomcat Start Stop Restart

  

# processname: tomcat

  

# chkconfig: 234 20 80

  

JAVA_HOME=/u01/java/jdk1.8.0_162

  

export JAVA_HOME

  

PATH=$JAVA_HOME/bin:$PATH

  

export PATH

  

CATALINA_HOME=/u01/tomcat8

  

case $1 in

  

start)

  

/bin/su tomcat $CATALINA_HOME/bin/startup.sh

  

;;

  

stop)

  

/bin/su tomcat $CATALINA_HOME/bin/shutdown.sh

  

;;

  

restart)

  

/bin/su tomcat $CATALINA_HOME/bin/shutdown.sh

  

/bin/su tomcat $CATALINA_HOME/bin/startup.sh

  

;;

  

esac

  

./root/firewall.sh

  

exit 0

  

验证 tomcat 是否安装成功

  

service tomcat start

  

可以看到 tomcat 8 服务已经启动了,并且使用的是 jdk 1.8。

  

用浏览器访问 http://xxx.xxx.xxx.xxx:8080,也可以看到 tomcat 页面。

  

升级 APEX 18.1

解压缩安装包

## 切换到安装包目录

  

cd /u02/Media/

  

## 将安装包解压缩

  

unzip apex_18.1.zip

  

  

执行脚本安装 APEX 18.1

## 切换到 oracle 用户

  

su - oracle

  

cd /u02/Media/apex

  

以超级管理员身份登录数据库,这里以 Oracle Database 11g 数据库举例,12c 安装步骤类似。

  

sqlplus /as sysdba

  

--创建单独的 tablespace(不建议用系统默认的表空间)

  

SQL> create tablespace APEX181 DATAFILE '/u03/oradata/apex181.dbf' SIZE 1024m REUSE AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;

  

--安装 APEX 18.1,安装过程可能会持续5-10分钟

  

--这里的 APEX181 是刚刚创建的 tablespace

  

SQL>@apexins APEX181 APEX181 temp /i/

  

--重置 APEX 管理控制台账号密码

  

SQL>@apxchpwd

  

--配置RESTfulServices服务

  

SQL>@apex_rest_config.sql

  

--禁用数据库内置的PL/SQL网关

  

SQL>exec dbms_xdb.sethttpport(0);

  

SQL>exec dbms_xdb.setftpport(0);

  

--解锁ORDS用户账号

  

SQL> alter user apex_public_user account unlock;

  

SQL> alter user apex_public_user identified by"your password";

  

--断开数据库会话

  

SQL>exit

  

  

将静态文件部署到 tomcat

## 切换到root用户

  

su - root

  

## 在 Tomcat 的 webapps 目录下新建一个名为`i`的文件夹

  

mkdir -p /u01/tomcat8/webapps/i/

  

## 将APEX静态文件部署到tomcat目录下

  

cp -a /u02/Media/apex/images/*/u01/tomcat8/webapps/i/

  

## 授予相应权限

  

chown -Rf tomcat:tomcat /u01/tomcat8/webapps/

  

升级 ORDS 18.1

解压缩安装包

mkdir -p /u01/ords

  

unzip /u02/Media/ords.18.1.1.95.1251.zip-d /u01/ords/

  

执行安装脚本

cd /u01/ords

  

java -jar ords.war install advanced

  

  

为 tomcat 账号授权,确保 tomcat 账号可以读取 /u01/ords/conf目录内文件。

  

chown -R tomcat:tomcat /u01/ords/conf

  

将 ords.war 部署到 Tomcat

cp -a /u01/ords/ords.war /u01/tomcat8/webapps/

  

chown -Rf tomcat:tomcat /u01/tomcat8/webapps/

  

## 重启 tomcat 服务

  

service tomcat restart

  

验证 ORDS 已部署成功

打开浏览器,访问 http://xxx.xxx.xxx.xxx:8080/ords,如果部署成功,APEX 应该就可以访问了。

  

钢哥注:如果想把 url 里的 ords替换成别的,比如 qingxi,需要在先将 ords.war重命名为 qingxi.war,然后再跑 java-jar qingxi.war install advanced命令完成安装和部署动作。

  

如果想重装 ORDS,可以执行 java-jar ords.war uninstall命令,卸载成功后在删除安装目录的所有文件即可。

  

配置 Nginx (可选)

检查 nginx.conf 里是否有需要修改的地方,比如更新 i目录。

  

测试升级后的环境

打开浏览器,访问 http://xxx.xxx.xxx.xxx/ords,如果部署成功,APEX 应该就可以访问了。

  

登录到管理控制台,查看现有的工作空间(Existed Workspace),发现老铁都还在。

  

输入对应的账号后,检查之前的应用也都能正常运行,完美!!

  

  

结语

以上就是如何从之前的 APEX 升级到最新的 APEX 18.1 版本的实操,希望老铁们喜欢。

相关文章