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. 驗證一下版本
- 結果介面如下