Oracle APEX開發搭建二《rhel8 oracle 19c 19.3》
oracle安裝(示例 19.3.0)
-
可能會出現的問題
-
libnsl 包缺失
yum install libnsl
-
ERROR: Unable to verify the graphical display setup. This application requires X display. Make sure that xdpyinfo exist under PATH variable.
最簡單的方法,用oracle使用者登入linux,網上有設定 DISPLAY 的方法,我這裡不行,所以就採用這種方法。
-
[INS-08101] Unexpected error while executing the action at state: 'supportedOSCheck’
[oracle@henry dbhome_1]$ export CV_ASSUME_DISTID=RHEL7.6
-
1. 安裝oracle DB
- 建立相關的使用者組,修改密碼等等。建立工作的目錄,然後賦予相應的許可權。
/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/
- 配置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
儲存之後退出。
- 修改核心引數
首先退出到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
生效
- 下面開始安裝一些重要的包
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源
- 安裝包完成之後,將Windows的壓縮包上傳
然後輸入命令解壓壓縮包,rhel8是預設安裝zip的,進入到Oracle使用者下解壓檔案(解壓時間較長,耐心等待。。。。。。)
su - oracle
unzip LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.2.0/db_1/
解壓完成之後的目錄結構如圖所示
- 接下來開始最後一步 ,圖形安裝Oracle資料庫啦
在Oracle使用者下
[oracle@localhost db_1]$ ./runInstaller
就會開啟圖形化安裝介面,彈出框點選是
接下來,以圖片展示
- 這裡可能會有一些warning,大概看一下英文不是特別重要都可以忽略,勾選上右上角的
Ignore All
然後等待安裝成功,這一步很快,後面建立instance那一步會特別久。安裝完成只恰應該會提示讓你用root許可權執行root.sh ,點cancel,下面我們會執行。
安裝成功之後,下面開始建立資料庫例項。
2. 安裝之後配置oracle資料庫
切換到root使用者下,切換目錄到db_1,執行,遇到選擇路徑的時候,直接回車就可以
[root@localhost ~] cd /u01/app/oracle/product/19.2.0/db_1/
[root@localhost db_1]./root.sh
然後進入到Oracle使用者下db_1目錄,執行命令
[oracle@localhost db_1]$ netca
彈出框之後點選是,然後出現下圖。下面就是配置資料庫監聽,我都是使用預設的1521,所以都是無腦下一步:
然後輸入下面的命令,開始建立一個數據庫的例項
[oracle@localhost db_1]$ dbca
一般事務處理(General Purpose or Transportion Processing):許多併發使用者執行許多需要快速訪問資料的事務。可用性、速度、併發性和可恢復性是關鍵問題。
定製資料庫(Custom Database):此模板允許使用者在定義資料庫時具有最大的靈活性,使用者可以更改正在建立的資料庫的任何設定。
建議使用資料倉庫,apex都是報表業務,主要是大量的sql查詢
資料倉庫(Data Warehouse):使用者執行大量的複雜查詢,處理大量資料。響應時間、準確性和可用性是關鍵問題。這些查詢(SELECT語句)範圍從幾個記錄到許多不同的表中以千計的記錄進行查詢。
- oracle SID和PDB名稱,根據自己需求命名
- 這個是oracle自帶的EM,類似於資料庫後臺管理系統,是基於web-UI的,如果勾選上第一個
configure EM
就可以在瀏覽器輸入http://你的IP:5500/em/ 就可以進入後臺了,可以監控各種東西。
(此處的密碼是小寫字母加數字加大寫字母,注意長度不要太長)
![img](https://www.icode9.com/img/ll/?i=img_convert/8a48a1ebd28a42950e3e84bb4052bccb.png)
等待建立資料庫完成即可,這一步會特別久。
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;