在RockyLinux 9.3環境中採用RPM模式部署Oracle 19C

来源:https://www.cnblogs.com/fanzhenyong/p/18141041
-Advertisement-
Play Games

深度解析GaussDB(DWS)+Flink如何增強湖倉增量數據在不同數據模型層之間的實時流動能力,如何為消息數據流提供高性能通用入庫能力,又如何構建極致的端到端實時數倉解決方案。 ...


在RockyLinux 9.3環境中採用RPM模式部署Oracle 19C

用途

在開發資料庫系統時,可以驗證功能是否與Oracle的表現一致,驗證正確性和相容性

限制

  1. 虛擬機安裝,CPU 2*4 記憶體16G 磁碟100G
  2. 目標生產環境是RHEL 9.X,學習環境採用Rocky Linux 9.3
  3. 選擇Oracle版本是長期支持版19C
  4. 只驗證基礎的功能,可以禁用CDB PDB
  5. 安裝的Oracle只需要功能驗證不用於生產環境,也不進行性能測試

查找資料

  1. bing上查找資料,一般找到的安裝Oracle的資料是CentOS 7.x,8.x,而9.x的比較少,找到:
  2. 直接查找官方文檔

準備環境

安裝虛擬機的過程不再贅述,安裝後需要做的準備工作如下:

  1. 關閉防火牆
#檢查防火牆狀態
systemctl status firewalld.service 
#關閉防火牆
systemctl stop firewalld.service 
#禁止開機啟動防火牆
systemctl disable firewalld.service 
  1. 關閉SELINUX
vi /etc/selinux/config

編輯內容:

#SELINUX=enforcing  #註釋掉
SELINUX=disabled  #增加

存檔退出,下次重新啟動後生效。如果想使配置立即生效,執行:

setenforce 0  
  1. 配置功能變數名稱
    採用修改/etc/hostname的方式,重啟後生效
vi /etc/hostname
oracle19c.learning.cn
  1. 配置功能變數名稱解析
vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.154.19 oracle19c oracle19c.learning.cn
  1. 配置軟體源
    事先將rocky linux 9.3的ISO mount到/mnt/rocky9/
vi /etc/yum.repos.d/rocky.repo
[baseos]
name=Rocky Linux $releasever - BaseOS
baseurl=file:///mnt/rocky9/BaseOS/
gpgcheck=1
enabled=1
countme=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9

[appstream]
name=Rocky Linux $releasever - AppStream
baseurl=file:///mnt/rocky9/AppStream/
gpgcheck=1
enabled=1
countme=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
  1. 準備Oracle RPM
  1. Linux共用Windows目錄
    為了節省Linux的磁碟空間,直接在Linux中訪問Windows下載的rpm
  • 在Windows中共用保存rpm的文件夾,如名稱為//192.168.154.1/Oracle
  • 在Linux中鏈接Windows的共用
mkdir -p /mnt/oracle
mount -t cifs -o username=xxxx,password=yyyy //192.168.154.1/Oracle /mnt/oracle

請把"xxxx","yyyy"換成實際的用戶名和密碼

部署Oracle預安裝RPM包

按官方文檔,安裝 Preinstallation RPM時會:

  1. 解析Oracle Grid Infrastructure和Oracle Database所需的依賴項,並自動下載和安裝對應的RPM包
  2. 創建oracle用戶,將其加入新創建的oraInventory (oinstall)和 OSDBA (dba)組中
  3. 按Oracle資料庫預安裝RPM程式的建議設置sysctl.conf、系統啟動參數和驅動程式參數
  4. 設置硬和軟資源限制 Linux進程資源訪問限制
  5. 根據內核版本設置其他推薦參數
  6. 在Linux x86_64和Linux aarch64機器的內核中設置numa=off
dnf install -y /mnt/oracle/19c/oracle-database-preinstall-19c-1.0-1.el9.x86_64.rpm
Last metadata expiration check: 0:01:14 ago on Wed 17 Apr 2024 12:02:20 PM CST.
Dependencies resolved.
======================================================================================================
 Package                              Architecture  Version                  Repository          Size
======================================================================================================
Installing:
 oracle-database-preinstall-19c       x86_64        1.0-1.el9                @commandline        33 k
Installing dependencies:
 chkconfig                            x86_64        1.24-1.el9               baseos             161 k
 gssproxy                             x86_64        0.8.4-6.el9              baseos             108 k
 initscripts                          x86_64        10.11.5-1.el9            baseos             210 k
 keyutils                             x86_64        1.6.3-1.el9              baseos              72 k
 ksh                                  x86_64        3:1.0.0~beta.1-3.el9     appstream          879 k
 libXxf86dga                          x86_64        1.1.5-8.el9              appstream           20 k
 libaio-devel                         x86_64        0.3.111-13.el9           appstream           10 k
 libdmx                               x86_64        1.1.4-12.el9             appstream           16 k
 libev                                x86_64        4.33-5.el9               baseos              52 k
 libnfsidmap                          x86_64        1:2.5.4-20.el9           baseos              60 k
 libnsl                               x86_64        2.34-83.el9.7            baseos              77 k
 libverto-libev                       x86_64        0.3.2-3.el9              baseos              13 k
 nfs-utils                            x86_64        1:2.5.4-20.el9           baseos             425 k
 rpcbind                              x86_64        1.2.6-5.el9              baseos              56 k
 sssd-nfs-idmap                       x86_64        2.9.1-4.el9_3            baseos              42 k
 xorg-x11-utils                       x86_64        7.5-40.el9               appstream          106 k
 xorg-x11-xauth                       x86_64        1:1.1-10.el9             appstream           36 k

Transaction Summary
======================================================================================================
Install  18 Packages

Total size: 2.3 M
Installed size: 7.5 M
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                            1/1 
  Installing       : libnfsidmap-1:2.5.4-20.el9.x86_64                         1/18 
  Installing       : ksh-3:1.0.0~beta.1-3.el9.x86_64                           2/18 
  Running scriptlet: ksh-3:1.0.0~beta.1-3.el9.x86_64                           2/18 
  Installing       : libdmx-1.1.4-12.el9.x86_64                                3/18 
  Installing       : libXxf86dga-1.1.5-8.el9.x86_64                            4/18 
  Installing       : xorg-x11-utils-7.5-40.el9.x86_64                          5/18 
  Installing       : xorg-x11-xauth-1:1.1-10.el9.x86_64                        6/18 
  Installing       : libaio-devel-0.3.111-13.el9.x86_64                        7/18 
  Installing       : libnsl-2.34-83.el9.7.x86_64                               8/18 
  Installing       : keyutils-1.6.3-1.el9.x86_64                               9/18 
  Installing       : libev-4.33-5.el9.x86_64                                  10/18 
  Installing       : libverto-libev-0.3.2-3.el9.x86_64                        11/18 
  Installing       : gssproxy-0.8.4-6.el9.x86_64                              12/18 
  Running scriptlet: gssproxy-0.8.4-6.el9.x86_64                              12/18 
  Running scriptlet: rpcbind-1.2.6-5.el9.x86_64                               13/18 
  Installing       : rpcbind-1.2.6-5.el9.x86_64                               13/18 
  Running scriptlet: rpcbind-1.2.6-5.el9.x86_64                               13/18 
Created symlink /etc/systemd/system/multi-user.target.wants/rpcbind.service → /usr/lib/systemd/system/rpcbind.service.
Created symlink /etc/systemd/system/sockets.target.wants/rpcbind.socket → /usr/lib/systemd/system/rpcbind.socket.

  Running scriptlet: nfs-utils-1:2.5.4-20.el9.x86_64                          14/18 
  Installing       : nfs-utils-1:2.5.4-20.el9.x86_64                          14/18 
  Running scriptlet: nfs-utils-1:2.5.4-20.el9.x86_64                          14/18 
  Installing       : chkconfig-1.24-1.el9.x86_64                              15/18 
  Installing       : initscripts-10.11.5-1.el9.x86_64                         16/18 
  Running scriptlet: initscripts-10.11.5-1.el9.x86_64                         16/18 
Created symlink /etc/systemd/system/sysinit.target.wants/import-state.service → /usr/lib/systemd/system/import-state.service.
Created symlink /etc/systemd/system/sysinit.target.wants/loadmodules.service → /usr/lib/systemd/system/loadmodules.service.

  Running scriptlet: oracle-database-preinstall-19c-1.0-1.el9.x86_64          17/18 
  Installing       : oracle-database-preinstall-19c-1.0-1.el9.x86_64          17/18 
  Installing       : sssd-nfs-idmap-2.9.1-4.el9_3.x86_64                      18/18 
  Running scriptlet: oracle-database-preinstall-19c-1.0-1.el9.x86_64          18/18 
  Running scriptlet: sssd-nfs-idmap-2.9.1-4.el9_3.x86_64                      18/18 
  Verifying        : chkconfig-1.24-1.el9.x86_64                               1/18 
  Verifying        : libverto-libev-0.3.2-3.el9.x86_64                         2/18 
  Verifying        : initscripts-10.11.5-1.el9.x86_64                          3/18 
  Verifying        : rpcbind-1.2.6-5.el9.x86_64                                4/18 
  Verifying        : libev-4.33-5.el9.x86_64                                   5/18 
  Verifying        : sssd-nfs-idmap-2.9.1-4.el9_3.x86_64                       6/18 
  Verifying        : gssproxy-0.8.4-6.el9.x86_64                               7/18 
  Verifying        : nfs-utils-1:2.5.4-20.el9.x86_64                           8/18 
  Verifying        : libnfsidmap-1:2.5.4-20.el9.x86_64                         9/18 
  Verifying        : keyutils-1.6.3-1.el9.x86_64                              10/18 
  Verifying        : libnsl-2.34-83.el9.7.x86_64                              11/18 
  Verifying        : libaio-devel-0.3.111-13.el9.x86_64                       12/18 
  Verifying        : xorg-x11-xauth-1:1.1-10.el9.x86_64                       13/18 
  Verifying        : xorg-x11-utils-7.5-40.el9.x86_64                         14/18 
  Verifying        : libXxf86dga-1.1.5-8.el9.x86_64                           15/18 
  Verifying        : libdmx-1.1.4-12.el9.x86_64                               16/18 
  Verifying        : ksh-3:1.0.0~beta.1-3.el9.x86_64                          17/18 
  Verifying        : oracle-database-preinstall-19c-1.0-1.el9.x86_64          18/18 

Installed:
  chkconfig-1.24-1.el9.x86_64          gssproxy-0.8.4-6.el9.x86_64          initscripts-10.11.5-1.el9.x86_64
  keyutils-1.6.3-1.el9.x86_64          ksh-3:1.0.0~beta.1-3.el9.x86_64      libXxf86dga-1.1.5-8.el9.x86_64
  libaio-devel-0.3.111-13.el9.x86_64   libdmx-1.1.4-12.el9.x86_64           libev-4.33-5.el9.x86_64
  libnfsidmap-1:2.5.4-20.el9.x86_64    libnsl-2.34-83.el9.7.x86_64          libverto-libev-0.3.2-3.el9.x86_64 
  nfs-utils-1:2.5.4-20.el9.x86_64      oracle-database-preinstall-19c-1.0-1.el9.x86_64     
  rpcbind-1.2.6-5.el9.x86_64           sssd-nfs-idmap-2.9.1-4.el9_3.x86_64  
  xorg-x11-utils-7.5-40.el9.x86_64     xorg-x11-xauth-1:1.1-10.el9.x86_64                 

Complete!

註意:安裝完成後重新啟動系統,確認所有的系統參數已經應用

驗證預安裝RPM的工作成果(不是強迫症無需關註這一部分)

  1. 檢查依賴項,執行命令
dnf repoquery --requires oracle-database-preinstall-19c-1.0-1.el9.x86_64.rpm
/bin/sh
/etc/redhat-release
/usr/bin/bash
bc
bind-utils
binutils
ethtool
glibc
glibc-devel
initscripts
ksh
libaio
libaio-devel
libgcc
libnsl
libstdc++
libstdc++-devel
make
module-init-tools
net-tools
nfs-utils
openssh-clients
pam
policycoreutils
policycoreutils-python-utils
procps
psmisc
smartmontools
sysstat
tar
unzip
util-linux-ng
xorg-x11-utils
xorg-x11-xauth

顯示所有的依賴項,說明在部署預安裝RPM過程中,檢查3個文件和31個rpm的依賴關係

  1. 檢查系統配置/etc/sysctl.conf 增加了內容
cat /etc/sysctl.conf

# oracle-database-preinstall-19c setting for fs.file-max is 6815744
fs.file-max = 6815744

# oracle-database-preinstall-19c setting for kernel.sem is '250 32000 100 128'
kernel.sem = 250 32000 100 128

# oracle-database-preinstall-19c setting for kernel.shmmni is 4096
kernel.shmmni = 4096

# oracle-database-preinstall-19c setting for kernel.shmall is 1073741824 on x86_64
kernel.shmall = 1073741824

# oracle-database-preinstall-19c setting for kernel.shmmax is 4398046511104 on x86_64
kernel.shmmax = 4398046511104

# oracle-database-preinstall-19c setting for kernel.panic_on_oops is 1 per Orabug 19212317
kernel.panic_on_oops = 1

# oracle-database-preinstall-19c setting for net.core.rmem_default is 262144
net.core.rmem_default = 262144

# oracle-database-preinstall-19c setting for net.core.rmem_max is 4194304
net.core.rmem_max = 4194304

# oracle-database-preinstall-19c setting for net.core.wmem_default is 262144
net.core.wmem_default = 262144

# oracle-database-preinstall-19c setting for net.core.wmem_max is 1048576
net.core.wmem_max = 1048576

# oracle-database-preinstall-19c setting for net.ipv4.conf.all.rp_filter is 2
net.ipv4.conf.all.rp_filter = 2

# oracle-database-preinstall-19c setting for net.ipv4.conf.default.rp_filter is 2
net.ipv4.conf.default.rp_filter = 2

# oracle-database-preinstall-19c setting for fs.aio-max-nr is 1048576
fs.aio-max-nr = 1048576

# oracle-database-preinstall-19c setting for net.ipv4.ip_local_port_range is 9000 65500
net.ipv4.ip_local_port_range = 9000 65500

註: 原文件備份在/etc/sysctl.d/99-initial-sysctl.conf

  1. 檢查系統配置/etc/sysconfig/network 增加了內容
cat /etc/sysconfig/network
# Created by anaconda
# oracle-database-preinstall-19c : Add NOZEROCONF=yes
NOZEROCONF=yes
  1. 檢查進程資源配置
cat /etc/security/limits.d/oracle-database-preinstall-19c.conf

# oracle-database-preinstall-19c setting for nofile soft limit is 1024
oracle   soft   nofile    1024

# oracle-database-preinstall-19c setting for nofile hard limit is 65536
oracle   hard   nofile    65536

# oracle-database-preinstall-19c setting for nproc soft limit is 16384
# refer orabug15971421 for more info.
oracle   soft   nproc    16384

# oracle-database-preinstall-19c setting for nproc hard limit is 16384
oracle   hard   nproc    16384

# oracle-database-preinstall-19c setting for stack soft limit is 10240KB
oracle   soft   stack    10240

# oracle-database-preinstall-19c setting for stack hard limit is 32768KB
oracle   hard   stack    32768

# oracle-database-preinstall-19c setting for memlock hard limit is maximum of 128GB on x86_64 or 3GB on x86 OR 90 % of RAM
oracle   hard   memlock    134217728

# oracle-database-preinstall-19c setting for memlock soft limit is maximum of 128GB on x86_64 or 3GB on x86 OR 90% of RAM
oracle   soft   memlock    134217728

# oracle-database-preinstall-19c setting for data soft limit is 'unlimited'
oracle   soft   data    unlimited

# oracle-database-preinstall-19c setting for data hard limit is 'unlimited'
oracle   hard   data    unlimited
  1. 檢查進啟動配置的變化
diff /boot/grub2/grub.cfg /boot/grub2/grub.cfg-oracle-database-preinstall-19c.orabackup
設置“numa=off transparent_hugepage=never”關閉了透明大頁和numa
<   set kernelopts="root=/dev/mapper/rl-root ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap rhgb quiet numa=off transparent_hugepage=never "
---
>   set kernelopts="root=/dev/mapper/rl-root ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap rhgb quiet "

註意:修改了內核參數,需要重新啟動

  1. 驗證創建用戶和用戶組
groups oracle
oracle : oinstall dba oper backupdba dgdba kmdba racdba
id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba)

從結果可見oracle屬於7個組

  1. 驗證透明大頁是否關閉
cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
cat /sys/kernel/mm/transparent_hugepage/defrag
always defer defer+madvise [madvise] never
  1. 也可以查看安裝日誌
cat /var/log/oracle-database-preinstall-19c/results/orakernel.log 

安裝Oracle RPM

dnf install -y /mnt/oracle/19c/oracle-database-ee-19c-1.0-1.x86_64.rpm
Last metadata expiration check: 0:04:44 ago on Wed 17 Apr 2024 12:02:20 PM CST.
Dependencies resolved.
==========================================================================================================
 Package                                            Architecture      Version       Repository       Size
==========================================================================================================
Installing:
 oracle-database-ee-19c                             x86_64            1.0-1         @commandline    2.5 G

Transaction Summary
==========================================================================================================
Install  1 Package

Total size: 2.5 G
Installed size: 6.9 G
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                  1/1 
  Running scriptlet: oracle-database-ee-19c-1.0-1.x86_64                                              1/1 
  Installing       : oracle-database-ee-19c-1.0-1.x86_64                                              1/1 
  Running scriptlet: oracle-database-ee-19c-1.0-1.x86_64                                              1/1 
[INFO] Executing post installation scripts...
[INFO] Oracle home installed successfully and ready to be configured.
To configure a sample Oracle Database you can execute the following service configuration script as root: /etc/init.d/oracledb_ORCLCDB-19c configure

  Verifying        : oracle-database-ee-19c-1.0-1.x86_64                                                                                                             1/1 

Installed:
  oracle-database-ee-19c-1.0-1.x86_64                                                                                                                                    

Complete!

禁用CDB

vi /etc/init.d/oracledb_ORCLCDB-19c
...
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1

export ORACLE_VERSION=19c
export ORACLE_SID=ORCLCDB
export TEMPLATE_NAME=General_Purpose.dbc
export CHARSET=AL32UTF8
export PDB_NAME=ORCLPDB1
export LISTENER_NAME=LISTENER
export NUMBER_OF_PDBS=1
export CREATE_AS_CDB=true
修改為
export CREATE_AS_CDB=false

初始化資料庫

[root@oracle19c ansible]# /etc/init.d/oracledb_ORCLCDB-19c configure
Configuring Oracle Database ORCLCDB.
Prepare for db operation
10% complete
Copying database files
40% complete
Creating and starting Oracle instance
42% complete
46% complete
50% complete
54% complete
60% complete
Completing Database Creation
66% complete
70% complete
Executing Post Configuration Actions
100% complete
Database creation complete. For details check the logfiles at:
 /opt/oracle/cfgtoollogs/dbca/ORCLCDB.
Database Information:
Global Database Name:ORCLCDB
System Identifier(SID):ORCLCDB
Look at the log file "/opt/oracle/cfgtoollogs/dbca/ORCLCDB/ORCLCDB.log" for further details.

Database configuration completed successfully. The passwords were auto generated, you must change them by connecting to the database using 'sqlplus / as sysdba' as the oracle user.

可以查看詳細一點兒的日誌(輸出了時間)

cat /opt/oracle/cfgtoollogs/dbca/ORCLCDB/ORCLCDB.log

本次初始化耗時6分鐘,對比沒有禁用CDB的一次實驗,初始化耗時15分鐘

修改oracle用戶的環境變數

su - oracle
vi .bashrc
# 在原文件最後增加
umask 022
export TMP=/tmp
export TMPDIR=$TMP
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19c/dbhome_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=ORCLCDB
export PATH=$ORACLE_HOME/bin:$PATH

小技巧:修改.bashrc 而不是.bash_profile的原因是可以支持非登錄模式執行shell

驗證基本功能

返回root重新以oracle用戶執行

su - oracle
[oracle@oracle19c ~]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Thu Apr 18 17:23:03 2024
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle.  All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> create table t1(a int primary key,b varchar(16));
Table created.
SQL> insert into t1 values(100,'beijing');
1 row created.
SQL> insert into t1 values(200,'天津');
1 row created.
SQL> select * from t1 order by a desc;
         A B
---------- ----------------
       200 天津
       100 beijing

重新啟動系統後,發現服務不會自動重啟,設置自動重啟

採用RPM安裝並沒有設置自動重新啟動Oracle的服務,運行 sqlplus / as sysdba 執行簡單SQL報錯,信息如下:

[oracle@oracle19c ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Apr 18 22:59:25 2024
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle.  All rights reserved.
Connected to an idle instance.

SQL> select * from t1 ;
select * from t1
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0

所以要手工增加自動重啟的服務,此處主要參考ORACLE 19C 在centos 7的本地rpm包安裝及調試,個別地方稍作修正

  • 設置公共環境變數文件
vi /etc/sysconfig/ORCLCDB.oracledb
ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
ORACLE_SID=ORCLCDB
  • 創建監聽服務
vi /usr/lib/systemd/system/[email protected]
[Unit]
Description=Oracle Net Listener
After=syslog.target network.target

[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/ORCLCDB.oracledb
ExecStart=/opt/oracle/product/19c/dbhome_1/bin/lsnrctl start
ExecStop=/opt/oracle/product/19c/dbhome_1/bin/lsnrctl stop
User=oracle

[Install]
WantedBy=multi-user.target
  • 創建服務啟動服務
vi /usr/lib/systemd/system/[email protected]
[Unit]
Description=Oracle Database service
After=syslog.target network.target lsnrctl.service

[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/ORCLCDB.oracledb
ExecStart=/opt/oracle/product/19c/dbhome_1/bin/dbstart $ORACLE_HOME
ExecStop=/opt/oracle/product/19c/dbhome_1/bin/dbshut $ORACLE_HOME
User=oracle

[Install]
WantedBy=multi-user.target
  • 設置啟動
vi /etc/oratab
...
#ORCLCDB:/opt/oracle/product/19c/dbhome_1:N
#將此處原來的N修改為Y
ORCLCDB:/opt/oracle/product/19c/dbhome_1:Y
  • 激活服務
    systemctl enable ORCLCDB@lsnrctl
    systemctl enable ORCLCDB@oracledb

  • 小技巧,先不忙著啟動系統,先手工啟動服務進行驗證

systemctl start ORCLCDB@lsnrctl
systemctl start ORCLCDB@oracledb

如果有錯誤信息,則通過 systemctl status ORCLCDB@lsnrctl 分析問題

  • 重啟後檢驗服務狀態
[root@oracle19c ansible]# netstat -tunlp | grep -E '1521|5500'
tcp6       0      0 :::5500                 :::*                    LISTEN      1090/tnslsnr        
tcp6       0      0 :::1521                 :::*                    LISTEN      1090/tnslsnr        
[root@oracle19c ansible]# su - oracle
[oracle@oracle19c ~]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Thu Apr 18 23:21:52 2024
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle.  All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> select * from t2 ;
         A B
---------- ----------------
       100 beijing
       200 天津
 

總結

本文的內容主要來自網路,但是經過了本人多次的驗證和整理,剔除了一些不必要的環節,也為大家跳過了一些坑。如果有不足之處,請不吝指正,我一定及時修改更新。

1、RPM安裝的限制

  1. 僅用於安裝 Oracle 資料庫軟體,RAC不能這樣安裝,並且扣除preinstallation,安裝rpm的難度與靜默安裝相當。
  2. RPM 只能用於安裝軟體,而不能用於更新軟體
  3. 無法控制軟體安裝的目錄,即不一定能滿足企業安裝規範的目錄約束
  4. 推薦僅用於實驗環境,不要用於生產環境

2、一些坑(網上個別文檔有些筆誤)

  1. 19C 預設在/etc/init.d/oracledb_ORCLCDB-19c 設置了字元集為AL32UTF8,無需在其他地方設置伺服器字元集
  2. /etc/hosts 一定要設置正確,但是無需刪除127.0.0.1,::1 那兩行
  3. 預安裝RPM準備的內容見“驗證預安裝RPM的工作成果”部分,這些工作都不需要手工執行
  4. 僅僅功能驗證的話不要啟動CDB,否則連創建一個普通用戶都要好幾步操作

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.環境說明 1.1源端SQLSserver 版本 IP 埠 Microsoft SQL Server 2017 192.168.140.160 1433 1.2目標端GreatSQL 版本 IP 埠 GreatSQL-8.0.32 192.168.139.86 3308 2.安裝環境 2.1安 ...
  • 目錄一、什麼是redis Cluster集群二、集群架構圖三、redis Cluster部署架構1、測試環境2、生產環境四、原生命令手動部署Redis Cluster1、環境準備2、為所有節點啟用redis集群支持3、執行meet操作實現互相通信在任意一節點上和其它所有節點進行meet通信,以m1為 ...
  • 項目背景 數字金融是數字經濟的重要支撐和驅動力。近年來,我國針對數字金融的發展政策頻頻出台,《金融科技發展規劃 (2022-2025年)》、《“十四五”數字經濟發展規劃》、《關於銀行業保險業數字化轉型的指導意見》、《金融標準化“十 四五”發展規劃》等相繼發佈,頂層設計逐步完善。 2024年,政府工作 ...
  • DB2是IBM的一款關係型資料庫管理系統,JDBC DB2 Source Connector是一個用於通過JDBC讀取外部數據源數據的連接器。Apache SeaTunnel如何支持JDBC DB2 Sink Connector?請參考本文檔。 支持引擎 Spark Flink SeaTunnel ...
  • JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,常用於將數據從伺服器發送到Web應用程式。 ...
  • 前言 今天docker安裝mysql8.0.20捯飭了半天,主要是掛載問題和連接問題,索性記錄一下。網上很多千篇一律,還有很多就是過時了,那還是我自己上場吧。大家看的時候,請睜大眼睛,按步驟來。 Docker安裝MySQL8.0.20 此處預設你已經搭建好了docker環境 第一步 拉鏡像 dock ...
  • 前幾天遇到了一起備份失敗案例,RMAN備份過程中遇到了歸檔日誌損壞的情況,還是第一次遇到這種案例,這裡記錄一下這個案例的具體情況。 備份作業失敗,檢查RMAN備份的輸出日誌,發現一個歸檔日誌文件損壞(corrupt)了,如下所示: RMAN-08137: warning: archived log  ...
  • 1.背景概述 客戶業務發生死鎖的報錯,根據業務程式日誌及業務流程,發現造成死鎖的原因是:事務1 delete + insert ,事務2 delete + insert 2個事務交替執行導致的死鎖;由於GAP鎖阻塞了插入意向鎖,並且當delete的數據存在時死鎖不會發生,當delete的數據不存在時 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...