APEX升级

1、升级前准备

1.1、下载安装包

下载APEX22.1:https://www.oracle.com/tools/downloads/apex-downloads.html

下载ORDS:https://www.oracle.com/database/technologies/appdev/rest-data-services-downloads.html

1.2、APEX安装要求

可以在 Workspace主页或关于Oracle APEX页面上查看

APEX:产品工作版本号

ORDS:APEX_LISTENER_VERSION

1.3、上传安装包

2、升级

2.1、备份文件,并将新的apex解压

mv /u01/apex /u01/apex.bak
unzip apex_22.1.zip -d /u01/

2.2、切换用户oracle,并执行升级

cd /u01/apex
sqlplus / as sysdba
alter session set container=ORCLPDB1;
@apexins.sql SYSAUX SYSAUX TEMP /i/

2.3、复制图片

cd /u01/apex
\cp -aRf images/* /var/lib/tomcat/webapps/i

2.4、安装中文包

cd /u01/apex/builder/zh-cn
sqlplus / as sysdba
alter session set container = orclpdb1;
@load_zh-cn.sql

2.5、登录验证,如下提示,尝试清理浏览器缓存

3、升级ORDS

3.1、记录查看ORDS安装位置

java -jar ords.war configdir
2022-05-14T03:01:19.145Z INFO        config.dir 值是 /u01/ords

3.2、卸载ORDS

[root@localhost ords]# su - oracle
[oracle@localhost ~]$ sqlplus / as sysdba
SQL> alter pluggable database ORCLPDB1 open;
SQL> exit
[oracle@localhost ~]$ exit
[root@localhost ords]# cd /u01/ords
[root@localhost ords]# java -jar ords.war uninstall
指定要使用的数据库连接类型。
输入相应编号:[1] 基本  [2] TNS  [3] 定制 URL [1]:
输入数据库服务器的名称 [localhost]:apexjiaen.com
输入数据库监听端口 [1521]:
要指定数据库服务名称,请输入 1;要指定数据库 SID,请输入 2 [1]:
输入数据库服务名:ORCLPDB1 
要验证 Oracle REST Data Services 方案,需要使用管理员权限登录。

输入管理员用户名:sys
输入SYS AS SYSDBA的数据库口令:sysoracle
确认口令:sysoracle
正在连接到数据库用户:SYS AS SYSDBA URL:jdbc:oracle:thin:@//apexjiaen.com:1521/ORCLPDB1

检索信息.
正在卸载 Oracle REST Data Services
... 日志文件已写入/root/ords_uninstall_core_2022-05-12_154329_00459.log
已完成 Oracle REST Data Services 的卸载。用时: 00:00:01.752 

3.1、升级JDK 到11

rpm -ivh jdk-11.0.15_linux-x64_bin.rpm

3.2、安装ORDS

有两种方式,一种采用YUM源,一种官网下载包,后者只需要下载包后,解压到相应目录即可

3.2.1YUM安装

3.2.1.1、创建ORDS YUM源

OL7 仓库:https://yum.oracle.com/repo/OracleLinux/OL7/oracle/software/x86_64/

OL8 仓库:https://yum.oracle.com/repo/OracleLinux/OL8/oracle/software/x86_64/

vim ords.repo 
# apex-ords.repo
[ords]
name=APEX-ORDS - Media
baseurl=https://yum.oracle.com/repo/OracleLinux/OL7/oracle/software/x86_64/
gpgcheck=0
enabled=1   

3.2.1.2、YUM安装

yum install ords    

3.3、配置ORDS

方式1:解压后的,交互是升级,加载升级前的配置文件,服务运行命令:bin/ords serve

bin/ords --config /u01/ords/conf install -i --legacy-config /u01/ords.bak/ --log-folder /u01/ords/logs

方式2:yum安装后的独立部署模式运行,此次采用这种方式

[root@localhost ords]# ords --config /etc/ords/config  install

ORDS:发行版 22.1 生产,发行日期 周日 5月 15 01:42:17 2022

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

配置:
  /etc/ords/config

配置文件夹 /etc/ords/config 不包含任何配置文件。

Oracle REST Data Services - 交互式安装

  输入相应编号以选择安装类型
    [1] 仅在数据库中安装或升级 ORDS
    [2] 创建或更新数据库池并在数据库中安装/升级 ORDS
    [3] 仅创建或更新数据库池
  Choose [2]: 
已创建文件夹 /etc/ords/config
  输入相应编号以选择要使用的数据库连接类型
    [1] 基本(主机名、端口、服务名称)
    [2] TNS(TNS 别名、TNS 目录)
    [3] 定制数据库 URL
  Choose [1]: 
  输入数据库主机名 [localhost]: apexjiaen.com
  输入数据库监听端口 [1521]: 
  输入数据库服务名 [ORCLCDB]: ORCLPDB1
  提供具有管理员权限的数据库用户名。
    输入管理员用户名: sys
  输入SYS AS SYSDBA的数据库口令: 
正在连接到数据库用户:SYS AS SYSDBA URL:jdbc:oracle:thin:@//apexjiaen.com:1521/ORCLPDB1

检索信息.
  输入 ORDS_METADATA 和 ORDS_PUBLIC_USER 的默认表空间 [SYSAUX]: 
  输入 ORDS_METADATA 和 ORDS_PUBLIC_USER 的临时表空间 [TEMP]: 
  输入相应编号以选择要启用的其他功能:
    [1] 数据库操作(启用所有功能)
    [2] 启用 REST 的 SQL 和数据库 API
    [3] 启用 REST 的 SQL
    [4] 数据库 API
    [5] 无
  Choose [1]: 
  输入相应编号以在独立模式下配置和启动 ORDS
    [1] 在独立模式下配置和启动 ORDS
    [2] 跳过
  Choose [1]: 
  输入 HTTP 端口 [8080]: 
  输入 APEX 静态资源位置: /u01/apex/images
[root@localhost config]# mkdir /etc/ords/config/global/doc_root 

配置启动项

[root@localhost config]# chmod +x /etc/rc.d/rc.local
[root@localhost config]# chmod +x /etc/ords/config/ords.sh 
[root@localhost config]# cat /etc/ords/config/ords.sh 
#!/bin/bash
cd /etc/ords/config/ && ords serve
[root@localhost config]# echo "nohup /etc/ords/config/ords.sh &" >> /etc/rc.d/rc.local

3.4、遇到的问题

3.4.1、如提示:Disabling document root because the specified folder does not exist: /etc/ords/config/global/doc_root

则需要手动创建相应的文件夹

3.4.2、如提示:The pool named: |default|lo| is invalid and will be ignored: 名为 |default|lo| 的连接池的用户名或口令无效, 已失效或者帐户已被锁定

则需要检查数据库是否正确启动,切是否是PDB,同时监听也需要运行

4、验证