1. 程式人生 > 資料庫 >Oracle APEX開發搭建二《rhel8 oracle 19c 19.3》

Oracle APEX開發搭建二《rhel8 oracle 19c 19.3》

oracle安裝(示例 19.3.0)


  • 可能會出現的問題

    1. libnsl 包缺失

      yum install libnsl
      
    2. ERROR: Unable to verify the graphical display setup. This application requires X display. Make sure that xdpyinfo exist under PATH variable.

       最簡單的方法,用oracle使用者登入linux,網上有設定 DISPLAY 的方法,我這裡不行,所以就採用這種方法。
      
    3. [INS-08101] Unexpected error while executing the action at state: 'supportedOSCheck’

       [oracle@henry dbhome_1]$ export CV_ASSUME_DISTID=RHEL7.6
      

1. 安裝oracle DB

  1. 建立相關的使用者組,修改密碼等等。建立工作的目錄,然後賦予相應的許可權。
/usr/sbin/groupadd -g 54321 oinstall
/usr/sbin/groupadd -g 54322 dba
/usr/sbin/groupadd -g 54323 oper
/usr/sbin/useradd -u 54321 -g oinstall -G dba,oper oracle

[root@localhost ~]# passwd oracle

[root@localhost ~]# mkdir -p /u01/app/oracle/product/19.3.0/db_1

[root@localhost ~]# chown -R oracle:oinstall /u01/

[root@localhost ~]# chmod -R 775 /u01/
  1. 配置Oracle的環境變數
su - oracle
vim .bash_profile

在 i 編輯模式下輸入。 有些引數是需要自己根據安裝環境修改的 SID UNQNAME是自己設定的 ORACLE_HOME 是根據你之前mkdir的路徑來

ORACLE_SID=sanshi;export ORACLE_SID  
ORACLE_UNQNAME=sanshi;export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/19.3.0/db_1; export ORACLE_HOME
NLS_DATE_FORMAT="YYYY:MM:DDHH24:MI:SS"; export NLS_DATE_FORMAT
NLS_LANG=american_america.ZHS16GBK; export NLS_LANG
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
umask 022

儲存之後退出。

  1. 修改核心引數

首先退出到root使用者,然後輸入

vim /etc/sysctl.conf

編輯模式下,輸入相關的變數

這裡的shmall 和 shammax shamax=實體記憶體 * 1024 * 1024 * 1024 * 0.8 shmall = shmmax / (1024 * 4) 其他引數都是oracle官方文件寫好的

fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500

然後輸入

sysctl --system

生效

img

  1. 下面開始安裝一些重要的包
yum install bc gcc gcc-c++ binutils compat-libcap1 compat-libstdc++ dtrace-modules dtrace-modules-headers dtrace-modules-provider-headers dtrace-utils elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libdtrace-ctf-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc librdmacm-devel libstdc++ libstdc++-devel libxcb make smartmontools sysstat 

把,這句話直接複製到命令列視窗即可,如果失敗的話,請參考該部落格https://www.cnblogs.com/xuzhaoyang/p/11264584.html配置本地的yum源

img

img

  1. 安裝包完成之後,將Windows的壓縮包上傳

img

然後輸入命令解壓壓縮包,rhel8是預設安裝zip的,進入到Oracle使用者下解壓檔案(解壓時間較長,耐心等待。。。。。。)

su - oracle
unzip LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.2.0/db_1/

解壓完成之後的目錄結構如圖所示

img

  1. 接下來開始最後一步 ,圖形安裝Oracle資料庫啦

在Oracle使用者下

[oracle@localhost db_1]$ ./runInstaller

就會開啟圖形化安裝介面,彈出框點選是

img

接下來,以圖片展示

img

img

img

img

img

img

img

  • 這裡可能會有一些warning,大概看一下英文不是特別重要都可以忽略,勾選上右上角的 Ignore All

img

img

img

img

然後等待安裝成功,這一步很快,後面建立instance那一步會特別久。安裝完成只恰應該會提示讓你用root許可權執行root.sh ,點cancel,下面我們會執行。

img

安裝成功之後,下面開始建立資料庫例項。

2. 安裝之後配置oracle資料庫

切換到root使用者下,切換目錄到db_1,執行,遇到選擇路徑的時候,直接回車就可以

[root@localhost ~] cd /u01/app/oracle/product/19.2.0/db_1/
[root@localhost db_1]./root.sh

img

然後進入到Oracle使用者下db_1目錄,執行命令

[oracle@localhost db_1]$ netca

彈出框之後點選是,然後出現下圖。下面就是配置資料庫監聽,我都是使用預設的1521,所以都是無腦下一步:

img

img

img

img

img

然後輸入下面的命令,開始建立一個數據庫的例項

[oracle@localhost db_1]$ dbca

img

img

一般事務處理(General Purpose or Transportion Processing):許多併發使用者執行許多需要快速訪問資料的事務。可用性、速度、併發性和可恢復性是關鍵問題。

定製資料庫(Custom Database):此模板允許使用者在定義資料庫時具有最大的靈活性,使用者可以更改正在建立的資料庫的任何設定。

建議使用資料倉庫,apex都是報表業務,主要是大量的sql查詢

資料倉庫(Data Warehouse):使用者執行大量的複雜查詢,處理大量資料。響應時間、準確性和可用性是關鍵問題。這些查詢(SELECT語句)範圍從幾個記錄到許多不同的表中以千計的記錄進行查詢。

img

  • oracle SID和PDB名稱,根據自己需求命名

img

img

img

img

img

img

  • 這個是oracle自帶的EM,類似於資料庫後臺管理系統,是基於web-UI的,如果勾選上第一個 configure EM 就可以在瀏覽器輸入http://你的IP:5500/em/ 就可以進入後臺了,可以監控各種東西。

img

img

(此處的密碼是小寫字母加數字加大寫字母,注意長度不要太長)

									![img](https://www.icode9.com/img/ll/?i=img_convert/8a48a1ebd28a42950e3e84bb4052bccb.png)

img

img

等待建立資料庫完成即可,這一步會特別久。

3. 安裝完成後,可以驗證是否正常啟動

--需要切到oracle使用者下
[oracle@localhost ~]# sqlplus / as sysdba
顯示一些版本資訊
SQL>show pdbs;

-- 可以看到剛才建立的PDB已經是開啟狀態了

除了在本機驗證,也可以在其他電腦上使用資料庫連線工具,我比較喜歡sql developer,oracle自帶的,試試能不能正常連線。

  • 設定PDB自啟

-- 從12c以後可以不用觸發器
-- 先開啟PDB,然後記住狀態
SQL>alter pluggable database all open;
SQL>alter pluggable database FAPDB1 save state;   --FAPDB1 是你自己的PDB名稱
  • 管理oracle資料庫簡單的命令
--檢視管理資料庫監聽狀態
[oracle@localhost ~]# lsnrctl status/start/stop
--進入SQL頁面
[oracle@localhost ~]# sqlplus / as sysdba
--完全啟動資料庫
SQL> startup;
--顯示當前的容器,預設是進入CDB
SQL> show pdbs;
--切換當前容器
SQL> alter session set container=你的PDB名稱;
SQL> show pdbs;  --此時應該只顯示一個PDB
--關閉資料庫
SQL> shutdown immediate;
--退出SQL模式
SQL>exit;