百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

如何从APEX 5.1.4升级到最新的APEX 18.1

sinye56 2024-09-27 21:09 16 浏览 0 评论

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

本文是钢哥的 Oracle APEX 系列文章的第8篇,完整文章目录如下:

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

  • Oracle APEX 系列文章2:在阿里云上打造属于你自己的APEX完整开发环境 (安装 CentOS)

  • Oracle APEX 系列文章3:在阿里云上打造属于你自己的APEX完整开发环境 (安装 Tomcat, Nginx)

  • Oracle APEX 系列文章4:在阿里云上打造属于你自己的APEX完整开发环境 (安装XE, ORDS, APEX)

  • Oracle APEX 系列文章5:在阿里云上打造属于你自己的APEX完整开发环境 (进一步优化)

  • Oracle APEX 系列文章6:Oracle APEX 到底适不适合企业环境?

  • Oracle APEX 系列文章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的鬼)。由于新版本的 APEX 的 DB Schema 已经变成了 APEX_180100,猜测跟之前 APEX 4 升到 5 一样,没办法直接升级。以下升级过程是跑在 CentOS 6 上的,数据库用的是 Oracle Database 11gR2,APEX 版本是 5.1.4。另外如果不更换数据库,已有的 APEX Application 应用、Workspace 及 Schema 都不需要改,升级后还可以使用,这一点要为 APEX 研发部门点赞!!闲话少说,以下就是涉及到的组件:

  • 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 服务。

  1. ## 停止 nginx 服务

  2. service nginx stop

  3. ## 停止 tomcat 服务

  4. service tomcat stop

升级 JDK / JRE

利用 java-version查看当前 JDK 版本,从下图可知,当前系统 JDK 版本是 1.7 的,不满足 ORDS 的需要,必须升级 Java 版本。

安装 JDK 1.8

  1. yum install -y java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64

安装完 JDK,将环境变量添加到 ~/.bash_profile 文件中;

  1. # .bash_profile

  2. # Get the aliases and functions

  3. if[-f ~/.bashrc ];then

  4. .~/.bashrc

  5. fi

  6. # User specific environment and startup programs

  7. export NLS_LANG=American_America.AL32UTF8

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

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

  10. export ORACLE_SID=XE

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

  12. export PATH

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

  14. export CLASSPATH

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

  1. source ~/.bash_profile

  2. ## 再次查看JDK版本

  3. java -version

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

升级 Tomcat

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

下载 Tomcat 8.5

  1. ## 切换到安装包目录

  2. cd /u02/Media

  3. ## 下载tomcat 8.5以上版本

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

  5. ## 解压缩安装包

  6. unzip apache-tomcat-8.5.31.zip

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

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

  9. ## 授权

  10. chown -Rf tomcat:tomcat /u01/tomcat8

  11. chmod -Rf755/u01/tomcat8/bin/*

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

  1. #!/bin/bash

  2. # description: Tomcat Start Stop Restart

  3. # processname: tomcat

  4. # chkconfig: 234 20 80

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

  6. export JAVA_HOME

  7. PATH=$JAVA_HOME/bin:$PATH

  8. export PATH

  9. CATALINA_HOME=/u01/tomcat8

  10. case $1 in

  11. start)

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

  13. ;;

  14. stop)

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

  16. ;;

  17. restart)

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

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

  20. ;;

  21. esac

  22. ./root/firewall.sh

  23. exit 0

验证 tomcat 是否安装成功

  1. service tomcat start

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

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


升级 APEX 18.1

解压缩安装包

  1. ## 切换到安装包目录

  2. cd /u02/Media/

  3. ## 将安装包解压缩

  4. unzip apex_18.1.zip

执行脚本安装 APEX 18.1

  1. ## 切换到 oracle 用户

  2. su - oracle

  3. cd /u02/Media/apex

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

  1. sqlplus /as sysdba

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

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

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

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

  6. SQL>@apexins APEX181 APEX181 temp /i/

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

  8. SQL>@apxchpwd

  9. --配置RESTfulServices服务

  10. SQL>@apex_rest_config.sql

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

  12. SQL>exec dbms_xdb.sethttpport(0);

  13. SQL>exec dbms_xdb.setftpport(0);

  14. --解锁ORDS用户账号

  15. SQL> alter user apex_public_user account unlock;

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

  17. --断开数据库会话

  18. SQL>exit

将静态文件部署到 tomcat

  1. ## 切换到root用户

  2. su - root

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

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

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

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

  7. ## 授予相应权限

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


升级 ORDS 18.1

解压缩安装包

  1. mkdir -p /u01/ords

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

执行安装脚本

  1. cd /u01/ords

  2. java -jar ords.war install advanced

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

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

将 ords.war 部署到 Tomcat

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

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

  3. ## 重启 tomcat 服务

  4. 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 版本的实操,希望老铁们喜欢。

相关推荐

程序员:JDK的安装与配置(完整版)_jdk的安装方法

对于Java程序员来说,jdk是必不陌生的一个词。但怎么安装配置jdk,对新手来说确实头疼的一件事情。我这里以jdk10为例,详细的说明讲解了jdk的安装和配置,如果有不明白的小伙伴可以评论区留言哦下...

Linux中安装jdk并配置环境变量_linux jdk安装教程及环境变量配置

一、通过连接工具登录到Linux(我这里使用的Centos7.6版本)服务器连接工具有很多我就不一一介绍了今天使用比较常用的XShell工具登录成功如下:二、上传jdk安装包到Linux服务器jdk...

麒麟系统安装JAVA JDK教程_麒麟系统配置jdk

检查检查系统是否自带java在麒麟系统桌面空白处,右键“在终端打开”,打开shell对话框输入:java–version查看是否自带java及版本如图所示,系统自带OpenJDK,要先卸载自带JDK...

学习笔记-Linux JDK - 安装&配置

前提条件#检查是否存在JDKrpm-qa|grepjava#删除现存JDKyum-yremovejava*安装OracleJDK不分系统#进入安装文件目...

Linux新手入门系列:Linux下jdk安装配置

本系列文章是把作者刚接触和学习Linux时候的实操记录分享出来,内容主要包括Linux入门的一些理论概念知识、Web程序、mysql数据库的简单安装部署,希望能够帮到一些初学者,少走一些弯路。注意:L...

测试员必备:Linux下安装JDK 1.8你必须知道的那些事

1.简介在Oracle收购Sun后,Java的一系列产品就被整合到Oracle官网中,打开官网乍眼一看也不知道去哪里下载,还得一个一个的摸索尝试,而且网上大多数都是一些Oracle收购Sun前,或者就...

Linux 下安装JDK17_linux 安装jdk1.8 yum

一、安装环境操作系统:JDK版本:17二、安装步骤第一步:下载安装包下载Linux环境下的jdk1.8,请去官网(https://www.oracle.com/java/technologies/do...

在Ubuntu系统中安装JDK 17并配置环境变量教程

在Ubuntu系统上安装JDK17并配置环境变量是Java开发环境搭建的重要步骤。JDK17是Oracle提供的长期支持版本,广泛用于开发Java应用程序。以下是详细的步骤,帮助你在Ubuntu系...

如何在 Linux 上安装 Java_linux安装java的步骤

在桌面上拥抱Java应用程序,然后在所有桌面上运行它们。--SethKenlon(作者)无论你运行的是哪种操作系统,通常都有几种安装应用程序的方法。有时你可能会在应用程序商店中找到一个应用程序...

Windows和Linux环境下的JDK安装教程

JavaDevelopmentKit(简称JDK),是Java开发的核心工具包,提供了Java应用程序的编译、运行和开发所需的各类工具和类库。它包括了JRE(JavaRuntimeEnviro...

linux安装jdk_linux安装jdk软连接

JDK是啥就不用多介绍了哈,外行的人也不会进来看我的博文。依然记得读大学那会,第一次实验课就是在机房安装jdk,编写HelloWorld程序。时光飞逝啊,一下过了十多年了,挣了不少钱,买了跑车,娶了富...

linux安装jdk,全局配置,不同用户不同jdk

jdk1.8安装包链接:https://pan.baidu.com/s/14qBrh6ZpLK04QS8ogCepwg提取码:09zs上传文件解压tar-zxvfjdk-8u152-linux-...

运维大神教你在linux下安装jdk8_linux安装jdk1.7

1.到官网下载适合自己机器的版本。楼主下载的是jdk-8u66-linux-i586.tar.gzhttp://www.oracle.com/technetwork/java/javase/downl...

window和linux安装JDK1.8_linux 安装jdk1.8.tar

Windows安装JDK1.8的步骤:步骤1:下载JDK打开浏览器,找到JDK下载页面https://d.injdk.cn/download/oraclejdk/8在页面中找到并点击“下载...

最全的linux下安装JavaJDK的教程(图文详解)不会安装你来打我?

默认已经有了linux服务器,且有root账号首先检查一下是否已经安装过java的jdk任意位置输入命令:whichjava像我这个已经安装过了,就会提示在哪个位置,你的肯定是找不到。一般我们在...

取消回复欢迎 发表评论: