摘要:停止當前,服務。鋼哥注如果想把里的替換成別的,比如,需要在先將重命名為,然后再跑命令完成安裝和部署動作。輸入對應的賬號后,檢查之前的應用也都能正常運行,完美結語以上就是如何從之前的升級到最新的版本的實操,希望老鐵們喜歡。
本文是鋼哥的 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 服務。
## 停止 nginx 服務 service nginx stop ## 停止 tomcat 服務 service tomcat stop升級 JDK / JRE
利用java -version查看當前 JDK 版本,從下圖可知,當前系統 JDK 版本是 1.7 的,不滿足 ORDS 的需要,必須升級 Java 版本。
安裝 JDK 1.8
yum install -y java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64
安裝完 JDK,將環境變量添加到 ~/.bash_profile 文件中;
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs export 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 版本是 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 -Rf 755 /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 頁面。
## 切換到安裝包目錄 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 -- 配置RESTful Services服務 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/
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.conf 里是否有需要修改的地方,比如更新i目錄
打開瀏覽器,訪問 http://xxx.xxx.xxx.xxx/ords,如果部署成功,APEX 應該就可以訪問了。
登錄到管理控制臺,查看現有的工作空間(Existed Workspace),發現老鐵都還在。
輸入對應的賬號后,檢查之前的應用也都能正常運行,完美!!
以上就是如何從之前的 APEX 升級到最新的 APEX 18.1 版本的實操,希望老鐵們喜歡。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/39951.html
閱讀 1888·2021-11-12 10:36
閱讀 2327·2021-09-01 10:29
閱讀 2358·2019-08-30 15:56
閱讀 1027·2019-08-30 12:56
閱讀 2357·2019-08-26 13:58
閱讀 2278·2019-08-23 18:38
閱讀 1499·2019-08-23 18:32
閱讀 2114·2019-08-23 16:53