1. 程式人生 > 其它 >RPM包方式安裝Oracle21c的方法

RPM包方式安裝Oracle21c的方法

RPM包方式安裝Oracle21c的方法


前言


  • 北京時間2021.8.14 Oracle釋出了最新的資料庫版本Oracle21c, Oracle規劃不再發布Oracle20c和Oracle22c, 直接進發布Oracle21c和oracle23c, 其中Oracle21c 沒有擴充套件支援, 支援時間應該不會到2024年,預計使用的客戶不會很多.
  • 但是oracle21c的改進事項還是很多的包括了native的block chain 以及 json和javascript的支援.
  • 這裡面參考一下雲和恩墨的路線圖來進行說明, 感謝雲和恩墨老師的知識資料
  • 注意oracle將非長期支援的版本命名為創新版本

1. 環境準備.


  • 本次安裝遇到了一個深坑,CentOS8.0安裝時很多不相容性,強行安裝也失敗了,提示缺少部分java方式,所以沒辦法,換用的Oracle Enterprise Linux 8.4 安裝很順暢,一個半小時就完成相應的工作了.
Oracle官網下載OEL最新版本.
建議可以講環境安裝的全面一點可以節約很多時間,剩下獲取新的包了.
安裝好作業系統備用.

Oracle官網下載rpm包, 注意需要選擇下載el8的不能選擇el7的. 

https://download.oracle.com/otn/linux/oracle21c/oracle-database-ee-21c-1.0-1.ol8.x86_64.rpm?AuthParam=1629176797_ffffc61959e496fcaf6ca82b0509e16e
https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/getPackage/oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm

注意一個是 oracle本體包,一個是Oracle的preinstall的包,安裝的話非常簡單. 

2. rpm安裝.


  • 首先安裝preinstall
    yun localinstall oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm

  • 再進行安裝ee資料庫的安裝
    yum localinstall oracle-database-ee-21c-1.0-1.ol8.x86_64.rpm

  • 注意事項:

1. 機器需要能夠上網,需要能夠下載依賴的包
2. 儲存空間要足夠,避免檔案載入失敗.

3. 資料庫初始化


  • Oracle的21c與之前的版本完全一致,沒有特別的修改,需要設定基本上相同的配置檔案即可
3.1 修改初始化指令碼, 注意需要修改為自己定義的服務名以及字符集等.
vim /etc/init.d/oracledb_ORCLCDB-21c 
將內容修改為如下:
export ORACLE_HOME=/opt/oracle/product/21c/dbhome_1
export ORACLE_SID=ORA21C
export TEMPLATE_NAME=General_Purpose.dbc
export CHARSET=ZHS16GBK
export PDB_NAME=ORA21CPDB
export LISTENER_NAME=LISTENER
export NUMBER_OF_PDBS=1
export CREATE_AS_CDB=true
3.2 因為修改了自定義的服務名,所以需要複製一個配置檔案.
scp /etc/sysconfig/oracledb_ORCLCDB-21c.conf /etc/sysconfig/oracledb_ORA21C-21c.conf 
3.3 執行資料庫初始化的指令碼
/etc/init.d/oracledb_ORCLCDB-21c configure
# 注意這一步可能耗時比較久一些,需要等待執行成功
# CentOS8 就是這個地方報錯,造成後續失敗了. 
3.4 修改環境變數,使之能夠登入資料庫,以及設定NLS_LANG,開啟sqlplus可以正常顯示中文資訊.
vim /etc/profile.d/oracle21c.sh
export  ORACLE_HOME=/opt/oracle/product/21c/dbhome_1
export  PATH=$PATH:/opt/oracle/product/21c/dbhome_1/bin
export  ORACLE_SID=ORA21C
export NLS_LANG='SIMPLIFIED CHINESE_CHINA.AL32UTF8'
儲存並且切換使用者就會生效.
3.5 登入資料庫並且修改oracle系統管理員密碼
passwd oracle
su - oracle
sqlplus / as sysdba
alter user system identified by yournewpassword ;
3.6 注意需要新增一個儲存過程,能夠在開機時自動將pdb開啟
CREATE TRIGGER open_all_pdbs
   AFTER STARTUP ON DATABASE
BEGIN
   EXECUTE IMMEDIATE 'alter pluggable database all open';
END open_all_pdbs;
/

4. 設定開機自動啟動


  • 設定開機自動啟動能夠節約很多時間.
4.1 修改配置檔案
vim /etc/oratab
# 注意將N 修改為 Y
ORA21C:/opt/oracle/product/21c/dbhome_1:Y
4.2 設定啟動指令碼
vim /usr/bin/oracle.sh
#新增內容如下
#! /bin/bash
#  script  For oracle19c.service
/opt/oracle/product/21c/dbhome_1/bin/lsnrctl start
/opt/oracle/product/21c/dbhome_1/bin/dbstart /opt/oracle/product/19c/dbhome_1
4.3 設定可執行許可權
chmod 777 /usr/bin/oracle.sh
4.4 設定一個服務,並且設定為開機自動啟動
vim /etc/systemd/system/oracle21c.service
# 新增如下內容

[Unit]
Description=Oracle21c
After=syslog.target network.target

[Service]
LimitMEMLOCK=infinity
LimitNOFILE=65535
Type=oneshot
RemainAfterExit=yes
User=oracle
Environment="ORACLE_HOME=/opt/oracle/product/21c/dbhome_1"
ExecStart=/usr/bin/oracle.sh

[Install]
WantedBy=multi-user.target

# 設定開機啟動
systemctl enable oracle21c
4.5 重啟機器進行驗證.服務可以使用. 

5. 修改sqlplus 避免退格鍵不好用.

  • 這一步比較簡單了.
下載個 rlwrap的包我這邊下載的是
rlwrap-0.43-5.el8.x86_64.rpm
放置到機器上面執行
yum localinstall rlwrap-0.43-5.el8.x86_64.rpm

修改 之前的環境變數,新增一個別名
alias sqlplus='rlwrap sqlplus'
# 注意等號前後不能有空格.

6. 驗證一下版本


  • 結果介面如下