安装Oracle Database Free 23ai

官方文档

Oracle Database Free Installation Guide, 23ai for Linux
https://docs.oracle.com/en/database/oracle/oracle-database/23/xeinl/index.html
Database Installation Guide for Linux
https://docs.oracle.com/en/database/oracle/oracle-database/23/ladbi/index.html
Oracle Database Free 官网
https://www.oracle.com/database/free/
https://www.oracle.com/database/free/get-started/#installing

前言

Oracle Database Free 是 Oracle 的完全免费版本。本文参考官方文档,在 Oracle Linux 9.4 上安装、配置和卸载 Oracle Database Free。 

许可限制

CPU 限制

Oracle Database Free 会自动将自身限制为两个核心进行处理。 例如,在具有 2 个双核 CPU(4 核)的计算机上,如果大量数据库客户端尝试同时运行 CPU 密集型查询,则 Oracle Database Free 将仅以 2 核的速率处理查询,即使有更多 CPU 容量可用。

安装和运行限制


Oracle Database Free 将自身限制为每个逻辑环境只能安装一个。逻辑环境可以是虚拟主机(如 VM 或容器),也可以是物理主机。如果您尝试在此类逻辑环境中启动多个 Oracle Database Free 安装,则会显示 , ORA-00442: Oracle Database Free single instance violation error。 


用户数据限制


Oracle Database Free 中的用户数据量上限不能超过 12 GB。如果用户数据增长超过此限制,则系统会显示错误。ORA-12954: The request exceeds the maximum allowed database size of 12 GB。


RAM 限制


Oracle Database Free 的最大 RAM 量不能超过 2 GB,即使有更多可用 RAM 也不能超过 2 GB。


检查服务器硬件和内存配置

1、查看物理内存大小
[root@forest ~]# grep MemTotal /proc/meminfo
MemTotal:        3970744 kB
2、查看交换空间大小
[root@forest ~]# grep SwapTotal /proc/meminfo
SwapTotal:       4194300 kB
3、查看/tmp目录空间大小
[root@forest ~]# df -h /tmp
Filesystem                 Size  Used Avail Use% Mounted on
/dev/mapper/ol_forest-tmp  2.0G   47M  1.9G   3% /tmp
4、查看剩余的内存和swap
[root@forest ~]# free -m
               total        used        free      shared  buff/cache   available
Mem:            3877         437        3493           9         134        3439
Swap:           4095           0        4095
5、查看服务器系统架构
[root@forest ~]# uname -m
x86_64
6、查看共享内存
[root@forest ~]# df -h /dev/shm
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           1.9G     0  1.9G   0% /dev/shm

检查操作系统配置

    1、检查大页配置
    [root@forest ~]# grep Huge /proc/meminfo
    AnonHugePages:     10240 kB
    ShmemHugePages:        0 kB
    FileHugePages:         0 kB
    HugePages_Total:       0
    HugePages_Free:        0
    HugePages_Rsvd:        0
    HugePages_Surp:        0
    Hugepagesize:       2048 kB
    Hugetlb:               0 kB
     
    [root@forest ~]# cat /etc/security/limits.conf 
    [root@forest ~]# grep Hugepagesize /proc/meminfo
    Hugepagesize:       2048 kB
    2、检查操作系统内核配置
    [root@forest ~]# cat /etc/os-release 
    NAME="Oracle Linux Server"
    VERSION="9.4"
    ID="ol"
    ID_LIKE="fedora"
    VARIANT="Server"
    VARIANT_ID="server"
    VERSION_ID="9.4"
    PLATFORM_ID="platform:el9"
    PRETTY_NAME="Oracle Linux Server 9.4"
    ANSI_COLOR="0;31"
    CPE_NAME="cpe:/o:oracle:linux:9:4:server"
    HOME_URL="https://linux.oracle.com/"
    BUG_REPORT_URL="https://github.com/oracle/oracle-linux"
    ORACLE_BUGZILLA_PRODUCT="Oracle Linux 9"
    ORACLE_BUGZILLA_PRODUCT_VERSION=9.4
    ORACLE_SUPPORT_PRODUCT="Oracle Linux"
    ORACLE_SUPPORT_PRODUCT_VERSION=9.4
    [root@forest ~]# cat /etc/oracle-release 
    Oracle Linux Server release 9.4
    [root@forest ~]# uname -a
    Linux forest.oracle.com 5.15.0-205.149.5.1.el9uek.x86_64 #2 SMP Fri Apr 5 11:29:36 PDT 2024 x86_64 x86_64 x86_64 GNU/Linux
    3、配置主机名
    [root@forest ~]# vi /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.255.222 forest forest.oracle.com
    [root@forest ~]# ping forest -c 4
    PING forest (192.168.255.222) 56(84) bytes of data.
    64 bytes from forest (192.168.255.222): icmp_seq=1 ttl=64 time=0.061 ms
    64 bytes from forest (192.168.255.222): icmp_seq=2 ttl=64 time=0.344 ms
    64 bytes from forest (192.168.255.222): icmp_seq=3 ttl=64 time=0.161 ms
    64 bytes from forest (192.168.255.222): icmp_seq=4 ttl=64 time=0.139 ms
    --- forest ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3059ms
    rtt min/avg/max/mdev = 0.061/0.176/0.344/0.103 ms
    4、设置透明大页的值为madvise
    [root@forest ~]# cat /etc/default/grub 
    GRUB_TIMEOUT=5
    GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
    GRUB_DEFAULT=saved
    GRUB_DISABLE_SUBMENU=true
    GRUB_TERMINAL_OUTPUT="console"
    GRUB_CMDLINE_LINUX="resume=/dev/mapper/ol_forest-swap rd.lvm.lv=ol_forest/root rd.lvm.lv=ol_forest/swap"
    GRUB_DISABLE_RECOVERY="true"
    GRUB_ENABLE_BLSCFG=true
    [root@forest ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
    [always] madvise never
    5、检查操作系统内核参数设置
    [root@forest ~]# cat /etc/sysctl.conf 
    6、查看操作系统软硬件参数配置
    [root@forest ~]# cat /etc/security/limits.conf

    使用预安装RPM自动配置服务器

    1、基于 RPM 的安装执行安装前检查、提取数据库软件、将提取的软件的所有权重新分配给预配置的用户和组、维护 Oracle 清单,
    [root@forest ~]# dnf -y install oracle-database-preinstall-23ai
    2、Oracle Database Preinstallation RPM 会自动创建 Oracle 安装所有者和组
    [root@forest ~]# id oracle
    uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba)
    [root@forest ~]# cat /etc/passwd | grep oracle
    oracle:x:54321:54321::/home/oracle:/bin/bash
    [root@forest ~]# cat /etc/group | grep dba
    dba:x:54322:oracle
    backupdba:x:54324:oracle
    dgdba:x:54325:oracle
    kmdba:x:54326:oracle
    racdba:x:54330:oracle
    [root@forest ~]# cat /etc/group | grep oinstall
    oinstall:x:54321:oracle
    3、查看操作系统软硬件资源配置
    [root@forest ~]# cat /etc/security/limits.d/oracle-database-preinstall-23ai.conf 
    # oracle-database-preinstall-23ai setting for nofile soft limit is 1024
    oracle   soft   nofile    1024
    # oracle-database-preinstall-23ai setting for nofile hard limit is 65536
    oracle   hard   nofile    65536
    # oracle-database-preinstall-23ai setting for nproc soft limit is 16384
    # refer orabug15971421 for more info.
    oracle   soft   nproc    16384
    # oracle-database-preinstall-23ai setting for nproc hard limit is 16384
    oracle   hard   nproc    16384
    # oracle-database-preinstall-23ai setting for stack soft limit is 10240KB
    oracle   soft   stack    10240
    # oracle-database-preinstall-23ai setting for stack hard limit is 32768KB
    oracle   hard   stack    32768
    # oracle-database-preinstall-23ai 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-23ai 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-23ai setting for data soft limit is 'unlimited'
    oracle   soft   data    unlimited
    # oracle-database-preinstall-23ai setting for data hard limit is 'unlimited'
    oracle   hard   data    unlimited
    4、透明大页值为madvise
    [root@forest ~]# cat /etc/default/grub
    GRUB_TIMEOUT=5
    GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
    GRUB_DEFAULT=saved
    GRUB_DISABLE_SUBMENU=true
    GRUB_TERMINAL_OUTPUT="console"
    GRUB_CMDLINE_LINUX="resume=/dev/mapper/ol_forest-swap rd.lvm.lv=ol_forest/root rd.lvm.lv=ol_forest/swap numa=off transparent_hugepage=madvise"
    GRUB_DISABLE_RECOVERY="true"
    GRUB_ENABLE_BLSCFG=true
    [root@forest ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
    always [madvise] never
    5、系统内核参数配置
    [root@forest ~]# cat /etc/sysctl.conf 
    # sysctl settings are defined through files in
    # /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
    #
    # Vendors settings live in /usr/lib/sysctl.d/.
    # To override a whole file, create a new file with the same in
    # /etc/sysctl.d/ and put new settings there. To override
    # only specific settings, add a file with a lexically later
    # name in /etc/sysctl.d/ and put new settings there.
    #
    # For more information, see sysctl.conf(5) and sysctl.d(5).
    # oracle-database-preinstall-23ai setting for fs.file-max is 6815744
    fs.file-max = 6815744
    # oracle-database-preinstall-23ai setting for kernel.sem is '250 32000 100 128'
    kernel.sem = 250 32000 100 128
    # oracle-database-preinstall-23ai setting for kernel.shmmni is 4096
    kernel.shmmni = 4096
    # oracle-database-preinstall-23ai setting for kernel.shmall is 1073741824 on x86_64
    kernel.shmall = 1073741824
    # oracle-database-preinstall-23ai setting for kernel.shmmax is 4398046511104 on x86_64
    kernel.shmmax = 4398046511104
    # oracle-database-preinstall-23ai setting for kernel.panic_on_oops is 1 per Orabug 19212317
    kernel.panic_on_oops = 1
    # oracle-database-preinstall-23ai setting for net.core.rmem_default is 262144
    net.core.rmem_default = 262144
    # oracle-database-preinstall-23ai setting for net.core.rmem_max is 4194304
    net.core.rmem_max = 4194304
    # oracle-database-preinstall-23ai setting for net.core.wmem_default is 262144
    net.core.wmem_default = 262144
    # oracle-database-preinstall-23ai setting for net.core.wmem_max is 1048576
    net.core.wmem_max = 1048576
    # oracle-database-preinstall-23ai setting for net.ipv4.conf.all.rp_filter is 2
    net.ipv4.conf.all.rp_filter = 2
    # oracle-database-preinstall-23ai setting for net.ipv4.conf.default.rp_filter is 2
    net.ipv4.conf.default.rp_filter = 2
    # oracle-database-preinstall-23ai setting for fs.aio-max-nr is 1048576
    fs.aio-max-nr = 1048576
    # oracle-database-preinstall-23ai setting for net.ipv4.ip_local_port_range is 9000 65500
    net.ipv4.ip_local_port_range = 9000 65535
    # oracle-database-preinstall-23ai setting special parameters BEGIN
    # oracle-database-preinstall-23ai setting for kernel.panic is 10
    kernel.panic = 10
    # oracle-database-preinstall-23ai setting special parameters END

    安装 Oracle Database Free

    1、下载数据软件安装包oracle-database-free-23ai-1.0-1.el9.x86_64.rpm
    [root@forest ~]# wget https://download.oracle.com/otn-pub/otn_software/db-free/oracle-database-free-23ai-1.0-1.el9.x86_64.rpm
    [root@forest ~]# ll -h
    total 1.3G
    -rw-------. 1 root root 1.3K Oct  1 00:02 anaconda-ks.cfg
    -rw-r--r--. 1 root root 1.3G Aug 14 19:03 oracle-database-free-23ai-1.0-1.el9.x86_64.rpm
    2、安装数据库软件
    [root@forest ~]# dnf -y install oracle-database-free-23ai-1.0-1.el9.x86_64.rpm 
    Last metadata expiration check: 0:08:14 ago on Fri 04 Oct 2024 05:08:59 PM CST.
    Dependencies resolved.
    ================================================================================================
     Package                            Architecture    Version         Repository             Size
    ================================================================================================
    Installing:
     oracle-database-free-23ai          x86_64          1.0-1           @commandline          1.3 G
    Transaction Summary
    ================================================================================================
    Install  1 Package
    Total size: 1.3 G
    Installed size: 3.5 G
    Downloading Packages:
    Running transaction check
    Transaction check succeeded.
    Running transaction test
    Transaction test succeeded.
    Running transaction
      Preparing        :                                                                        1/1 
      Running scriptlet: oracle-database-free-23ai-1.0-1.x86_64                                 1/1 
      Installing       : oracle-database-free-23ai-1.0-1.x86_64                                 1/1 
      Running scriptlet: oracle-database-free-23ai-1.0-1.x86_64                                 1/1 
    [INFO] Executing post installation scripts...
    [INFO] Oracle home installed successfully and ready to be configured.
    To configure Oracle Database Free, optionally modify the parameters in '/etc/sysconfig/oracle-free-23ai.conf' and then run '/etc/init.d/oracle-free-23ai configure' as root.
      Verifying        : oracle-database-free-23ai-1.0-1.x86_64                                 1/1 
    Installed:
      oracle-database-free-23ai-1.0-1.x86_64                                                        
    Complete!
    3、查看初始化数据库脚本
    [root@forest ~]# more /etc/init.d/oracle-free-23ai 
    # DB defaults
    export ORACLE_HOME=/opt/oracle/product/23ai/dbhomeFree
    export ORACLE_SID=FREE
    export TEMPLATE_NAME=FREE_Database.dbc
    export PDB_NAME=FREEPDB1
    export LISTENER_NAME=LISTENER
    export NUMBER_OF_PDBS=1
    export CREATE_AS_CDB=true
    4、创建和配置数据库
    执行脚本/etc/init.d/oracle-free-23ai configure会创建一个名为FREE的CDB数据库和一个名为FREEPDB1的PDB,监听的默认端口是1521
    不能修改ORACLE_HOME和ORACLE_SID,只能创建ORACLE_SID为FREE的CDB,否则会提示报错
    以下配置文件中的参数是可以修改的
    [root@forest ~]# more /etc/sysconfig/oracle-free-23ai.conf 
    #This is a configuration file to setup the Oracle Database. 
    #It is used when running '/etc/init.d/oracle-free-23ai configure'.
    # LISTENER PORT used Database listener, Leave empty for automatic port assignment
    LISTENER_PORT=
    # Character set of the database
    CHARSET=AL32UTF8
    # Database file directory
    # If not specified, database files are stored under Oracle base/oradata
    DBFILE_DEST=
    # DB Domain name
    DB_DOMAIN=
    # Configure TDE
    CONFIGURE_TDE=false
    # Encrypt Tablespaces list, Leave empty for user tablespace alone or provide ALL for encrypting all tablespaces
    # For specific tablespaces use SYSTEM:true,SYSAUX:false
    ENCRYPT_TABLESPACES=
    # SKIP Validations, memory, space
    SKIP_VALIDATIONS=false
    [root@forest ~]# /etc/init.d/oracle-free-23ai configure
    Specify a password to be used for database accounts. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. Note that the same password will be used for SYS, SYSTEM and PDBADMIN accounts:
    Confirm the password:
    Configuring Oracle Listener.
    Listener configuration succeeded.
    Configuring Oracle Database FREE.
    Enter SYS user password: 
    ******** 
    Enter SYSTEM user password: 
    *********
    Enter PDBADMIN User Password: 
    **********
    Prepare for db operation
    7% complete
    Copying database files
    29% complete
    Creating and starting Oracle instance
    30% complete
    33% complete
    36% complete
    39% complete
    43% complete
    Completing Database Creation
    47% complete
    49% complete
    50% complete
    Creating Pluggable Databases
    54% complete
    71% complete
    Executing Post Configuration Actions
    93% complete
    Running Custom Scripts
    100% complete
    Database creation complete. For details check the logfiles at:
     /opt/oracle/cfgtoollogs/dbca/FREE.
    Database Information:
    Global Database Name:FREE
    System Identifier(SID):FREE
    Look at the log file "/opt/oracle/cfgtoollogs/dbca/FREE/FREE.log" for further details.
    Connect to Oracle Database using one of the connect strings:
         Pluggable database: forest.oracle.com/FREEPDB1
         Multitenant container database: forest.oracle.com

    连接 Oracle Database Free

    1、配置环境变量
    [oracle@forest ~]$ vi .bash_profile 
    export ORACLE_HOME=/opt/oracle/product/23ai/dbhomeFree
    export ORACLE_SID=FREE
    export PATH=$ORACLE_HOME/bin:$PATH
    [oracle@forest ~]$ source .bash_profile 
    [oracle@forest ~]$ vi $ORACLE_HOME/sqlplus/admin/glogin.sql 
    set sqlprompt "_connect'@'_identifier> "
    2、使用操作系统认证方式登录
    [oracle@forest ~]$ . oraenv
    ORACLE_SID = [FREE] ? 
    The Oracle base has been set to /opt/oracle
    [oracle@forest ~]$ sqlplus / as sysdba
    SQL*Plus: Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems on Wed Oct 9 07:50:11 2024
    Version 23.5.0.24.07
    Copyright (c) 1982, 2024, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
    Version 23.5.0.24.07
    SYS@FREE> show pdbs
        CON_ID CON_NAME                       OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
             2 PDB$SEED                       READ ONLY  NO
             3 FREEPDB1                       READ WRITE NO
    3、查看监听服务
    [oracle@forest ~]$ lsnrctl status
    LSNRCTL for Linux: Version 23.0.0.0.0 - for Oracle Cloud and Engineered Systems on 09-OCT-2024 07:51:44
    Copyright (c) 1991, 2024, Oracle.  All rights reserved.
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=forest)(PORT=1521)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 23.0.0.0.0 - for Oracle Cloud and Engineered Systems
    Start Date                09-OCT-2024 07:39:07
    Uptime                    0 days 0 hr. 12 min. 37 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Default Service           FREE
    Listener Parameter File   /opt/oracle/product/23ai/dbhomeFree/network/admin/listener.ora
    Listener Log File         /opt/oracle/diag/tnslsnr/forest/listener/alert/log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=forest)(PORT=1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
    Services Summary...
    Service "2400b476f9645251e063deffa8c08b00" has 1 instance(s).
      Instance "FREE", status READY, has 1 handler(s) for this service...
    Service "FREE" has 1 instance(s).
      Instance "FREE", status READY, has 1 handler(s) for this service...
    Service "FREEXDB" has 1 instance(s).
      Instance "FREE", status READY, has 1 handler(s) for this service...
    Service "freepdb1" has 1 instance(s).
      Instance "FREE", status READY, has 1 handler(s) for this service...
    The command completed successfully
    3、使用本地服务命名连接FREE和FREEPDB1
    [oracle@forest ~]$ vi $ORACLE_HOME/network/admin/tnsnames.ora 
    FREE =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = forest)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = FREE)
        )
      )
    LISTENER_FREE =
      (ADDRESS = (PROTOCOL = TCP)(HOST = forest)(PORT = 1521))
    PDB =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = forest)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = FREEPDB1)
        )
      )
    [oracle@forest ~]$ sqlplus sys/Oracle_4U@free as sysdba
    SQL*Plus: Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems on Wed Oct 9 07:58:10 2024
    Version 23.5.0.24.07
    Copyright (c) 1982, 2024, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
    Version 23.5.0.24.07
    SYS@free> show pdbs
        CON_ID CON_NAME                       OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
             2 PDB$SEED                       READ ONLY  NO
             3 FREEPDB1                       READ WRITE NO
    [oracle@forest ~]$ sqlplus sys/Oracle_4U@pdb as sysdba
    SQL*Plus: Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems on Wed Oct 9 07:58:29 2024
    Version 23.5.0.24.07
    Copyright (c) 1982, 2024, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
    Version 23.5.0.24.07
    SYS@pdb> show pdbs
        CON_ID CON_NAME                       OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
             3 FREEPDB1                       READ WRITE NO
    4、使用EasyConnect命名方式连接CDB
    [oracle@forest ~]$ vi $ORACLE_HOME/network/admin/listener.ora 
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = forest)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
      )
    SID_LIST_listener=
     (SID_LIST=
      (SID_DESC=
       (GLOBAL_DBNAME=FREE)
       (SID_NAME=FREE)
       (ORACLE_HOME=/opt/oracle/product/23ai/dbhomeFree)
      )
      (SID_DESC=
       (GLOBAL_DBNAME=freepdb1)
       (SID_NAME=FREE)
       (ORACLE_HOME=/opt/oracle/product/23ai/dbhomeFree)
      )
     )
    重载监听
    [oracle@forest ~]$ lsnrctl reload
    连接CDB
    [oracle@forest ~]$ sqlplus sys/Oracle_4U@forest:1521/free as sysdba
    SQL*Plus: Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems on Wed Oct 9 08:02:25 2024
    Version 23.5.0.24.07
    Copyright (c) 1982, 2024, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
    Version 23.5.0.24.07
    SYS@forest:1521/free> show pdbs
        CON_ID CON_NAME                       OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
             2 PDB$SEED                       READ ONLY  NO
             3 FREEPDB1                       READ WRITE NO
    [oracle@forest ~]$ sqlplus sys/Oracle_4U@forest:1521/freepdb1 as sysdba
    SQL*Plus: Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems on Wed Oct 9 08:04:53 2024
    Version 23.5.0.24.07
    Copyright (c) 1982, 2024, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
    Version 23.5.0.24.07
    SYS@forest:1521/freepdb1> 
    SYS@forest:1521/freepdb1> show pdbs
        CON_ID CON_NAME                       OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
             3 FREEPDB1                       READ WRITE NO

    启动和停止 Oracle Database Free

    1、使用sqlplus启动和停止数据库
    SYS@FREE> shutdown immediate
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SYS@FREE> startup
    ORACLE instance started.
    Total System Global Area 1217849560 bytes
    Fixed Size                  5359832 bytes
    Variable Size             352321536 bytes
    Database Buffers          855638016 bytes
    Redo Buffers                4530176 bytes
    Database mounted.
    Database opened.
    打开CDB后,PDB的状态也是READ WRITE
    SYS@FREE> show pdbs
        CON_ID CON_NAME                       OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
             2 PDB$SEED                       READ ONLY  NO
             3 FREEPDB1                       READ WRITE NO
    2、自动启动和关闭数据库
    [root@forest ~]# systemctl status oracle-free-23ai
    Unit oracle-free-23ai.service could not be found.
    [root@forest ~]# systemctl daemon-reload
    [root@forest ~]# systemctl status oracle-free-23ai
    ○ oracle-free-23ai.service - SYSV: This script is responsible for taking care of configuring the RPM Oracle FREE Database and >
         Loaded: loaded (/etc/rc.d/init.d/oracle-free-23ai; generated)
         Active: inactive (dead)
           Docs: man:systemd-sysv-generator(8)
    [root@forest ~]# systemctl enable oracle-free-23ai
    oracle-free-23ai.service is not a native service, redirecting to systemd-sysv-install.
    Executing: /usr/lib/systemd/systemd-sysv-install enable oracle-free-23ai
    [root@forest ~]# systemctl start oracle-free-23ai
    [root@forest ~]# systemctl stop oracle-free-23ai
    3、使用配置文件启动和关闭数据库
    [root@forest ~]# /etc/init.d/oracle-free-23ai status
    Status of the Oracle FREE 23ai service:
    LISTENER status: RUNNING
    FREE Database status:   RUNNING
    [root@forest ~]# /etc/init.d/oracle-free-23ai start
    [root@forest ~]# /etc/init.d/oracle-free-23ai stop

    卸载 Oracle Database Free

    卸载 Oracle Database Free 时,所有组件(包括数据文件、数据库和软件)都将被删除。 卸载后,数据库将不再运行。

    1、删除所有 Oracle Database Free 数据文件、侦听器和配置文件。此操作后,只保留日志和 Oracle 主软件。
    [root@forest ~]# /etc/init.d/oracle-free-23ai delete
    Deleting Oracle Listener.
    Deleting Oracle Database FREE.
    [WARNING] [DBT-19202] The Database Configuration Assistant will delete the Oracle instances and datafiles for your database. All information in the database will be destroyed.
    Prepare for db operation
    32% complete
    Connecting to database
    35% complete
    39% complete
    42% complete
    45% complete
    48% complete
    52% complete
    65% complete
    Updating network configuration files
    68% complete
    Deleting instance and datafiles
    84% complete
    100% complete
    Database deletion completed.
    Look at the log file "/opt/oracle/cfgtoollogs/dbca/FREE/FREE0.log" for further details.
    [oracle@forest ~]$ ll -h /opt/oracle/product/23ai/dbhomeFree/network/admin/listener.ora
    ls: cannot access '/opt/oracle/product/23ai/dbhomeFree/network/admin/listener.ora': No such file or directory
    [oracle@forest ~]$ ll -h /opt/oracle/oradata/FREE/
    ls: cannot access '/opt/oracle/oradata/FREE/': No such file or directory
    2、删除数据库软件
    [root@forest ~]# yum remove oracle-database-free-23ai
    Dependencies resolved.
    ================================================================================================
     Package                            Architecture    Version        Repository              Size
    ================================================================================================
    Removing:
     oracle-database-free-23ai          x86_64          1.0-1          @@commandline          3.5 G
    Transaction Summary
    ================================================================================================
    Remove  1 Package
    Freed space: 3.5 G
    Is this ok [y/N]: y
    Running transaction check
    Transaction check succeeded.
    Running transaction test
    Transaction test succeeded.
    Running transaction
      Preparing        :                                                                        1/1 
      Running scriptlet: oracle-database-free-23ai-1.0-1.x86_64                                 1/1 
      Erasing          : oracle-database-free-23ai-1.0-1.x86_64                                 1/1 
      Running scriptlet: oracle-database-free-23ai-1.0-1.x86_64                                 1/1 
      Verifying        : oracle-database-free-23ai-1.0-1.x86_64                                 1/1 
    Removed:
      oracle-database-free-23ai-1.0-1.x86_64                                                        
    Complete!
    3、删除 Oracle Database 预安装 RPM
    如果只在系统上安装了 Oracle Database Free,而没有安装其他 Oracle Database 软件,则还可以删除 Oracle Database 预安装 RPM
    [root@forest ~]# yum remove oracle-database-preinstall-23ai -y
    4、最后删除下载的 RPM 文件
    [root@forest ~]# rm -rf oracle-database-free-23ai*
    [root@forest ~]# rm -rf oracle-database-preinstall-23ai*
    请使用浏览器的分享功能分享到微信等