Grid Infrastructure für Standalone Server ohne ASM

1. Juli 2024 Aus Von Markus Flechtner

„Oracle Grid Infrastructure“ wird meist Clustern in Verbindung gebracht. Mit Automatic Storage Management (ASM). Und (fast) fertig ist der Real Application Cluster. Aber auch bei Standalone Servern kann die Grid Infrastructure (früher „Oracle Restart“ genannt) wertvolle Dienste leisten. Und das geht dann auch ohne ASM.

Die Oracle Grid Infrastructure für den Standalone Single Server bringt zwar einen gewissen Overhead mit sich, bringt aber auch einige angenehme Funktionen mit sich: so übernimmt die GI den automatischen Start der Oracle Resourcen (Datenbanken, Listener), überwacht sie und versucht im Fehlerfall auch, die Resourcen neu zu starten.

Installieren wir doch mal die Grid Infrastructure 19c auf einem einzelnen Linux Server:

Ausgangssituation

  • Server mit Oracle Linux Server release 8.10 (aarch64)

Folgende Gruppen und Benutzer sind angelegt:

cat /etc/group
[…]
dba:x:54321:oracle,grid
oinstall:x:54322:
asmdba:x:54323:oracle,grid
asmadmin:x:54324:grid
kmdba:x:54325:oracle
dgdba:x:54326:oracle
backupdba:x:54327:oracle
racdba:x:54328:oracle,grid
oper:x:54329:oracle
asmoper:x:54330:grid

cat /etc/passwd
[…]
oracle:x:54331:54322::/home/oracle:/bin/bash
grid:x:54332:54322::/home/grid:/bin/bash

Im Gegensatz zur Grid Infrastructure-Installation für einen Cluster muss der Benutzer grid bei der GI-Installation für einen „Standalone-Server“ Mitglied der „dba“-Gruppe sein.

Das 19c-preinstall-rpm ist installiert:

[root@brouwer ~]# rpm -qa |grep preinstall
oracle-database-preinstall-19c-1.0-3.el8.aarch64

Software und Patches liegen bei mir unter

export SW_DIR=/mnt/software/oracle-software/RDBMS/19c/19.19-arm64
export PATCH_DIR=/mnt/software/oracle-software/patches/2024/2024-04-linux-arm64-19.23

.bash_profile für grid und oracle

Beide Dateien sind vorbereitet:

grid:

[...]
export ORACLE_BASE=/u00/app/oracle
export ORACLE_HOME=/u00/app/grid/product/19.23
export TNS_ADMIN=${ORACLE_BASE}/network/admin
export PATH=${ORACLE_HOME}/bin:${PATH}
export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:${LD_LIBRARY_PATH}

oracle:

export ORACLE_BASE=/u00/app/oracle
export ORACLE_HOME=/u00/app/oracle/product/19.23
export TNS_ADMIN=${ORACLE_BASE}/network/admin
export PATH=${ORACLE_HOME}/bin:${PATH}
export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:${LD_LIBRARY_PATH}

Installation der Grid Infrastructure

Auspacken der Software

[grid@brouwer 19.23]$ pwd
/u00/app/grid/product/19.23
[grid@brouwer ~]$ cd $ORACLE_HOME
[grid@brouwer 19.23]$ unzip -q ${SW_DIR}/LINUX.ARM64_1919000_grid_home.zip

OPatch aktualisieren:

[grid@brouwer 19.23]$ pwd
/u00/app/grid/product/19.23
[grid@brouwer 19.23]$ rm -rf OPatch/
[grid@brouwer 19.23]$ unzip -q ${PATCH_DIR}/2024-04-linux-arm64-19.23/p6880880_190000_Linux-ARM-64.zip

Release Update 19.23 installieren

[grid@brouwer stage]$ unzip -q ${PATCH_DIR}/p36233126_190000_Linux-ARM-64-2024-04-19-23-gi.zip

./gridSetup.sh -silent -applyRU /u00/app/oracle/stage/36233126
Preparing the home to patch...
Applying the patch /u00/app/oracle/stage/36233126...
Successfully applied the patch.
The log can be found at: /tmp/GridSetupActions2024-06-30_05-31-30PM/installerPatchActions_2024-06-30_05-31-30PM.log
Launching Oracle Grid Infrastructure Setup Wizard...

[FATAL] [INS-40426] Grid installation option has not been specified.
   ACTION: Specify the valid installation option.

Cluster-Verification Utility ausführen

/runcluvfy.sh stage -pre hacfg -verbose`

[...]
Pre-check for Oracle Restart configuration was successful.

CVU operation performed:      stage -pre hacfg
Date:                         Jun 30, 2024 5:35:12 PM
CVU version:                  19.23.0.0.0 (040124aarch64)
CVU home:                     /u00/app/grid/product/19.23
User:                         grid
Operating system:             Linux5.15.0-207.156.6.el8uek.aarch64

Wenn man das Cluster Verification Utility ausführt, bevor der Release Update installiert ist, meldet runcluvfy.sh „this software is „390“ days old. It is a best practice to update the CRS home by downloading and applying the latest release update. Refer to MOS note 756671.1 for more details.“

Installation

Die Installation der Grid Infrastructure muss – wenn wir ohne ASM arbeiten wollen – im „silent mode“ erfolgen. Wir brauchen also zuerst ein Response-File

Dazu gibt es im Unterverzeichnis install/response Vorlagen:

[grid@brouwer 19.23]$ pwd
/u00/app/grid/product/19.23
[grid@brouwer 19.23]$ ls -l install/response/
total 40
-rw-r-----. 1 grid oinstall 35876 Feb 10  2023 gridsetup.rsp
-rw-r-----. 1 grid oinstall  1541 May 21  2016 sample.ccf

[grid@brouwer 19.23]$ cp install/response/gridsetup.rsp gi-ohne-asm.rsp

Folgende Anpassungen müssen im Response-File gi-ohne-asm.rsp gemacht werden:

INVENTORY_LOCATION=/u00/app/oraInventory
oracle.install.option=CRS_SWONLY
ORACLE_BASE=/u00/app/oracle
oracle.install.asm.OSDBA=asmdba
oracle.install.asm.OSOPER=asmoper
oracle.install.asm.OSASM=asmadmin
[grid@brouwer 19.23]$ ./gridSetup.sh -silent -responsefile /u00/app/grid/product/19.23/gi-ohne-asm.rsp
Launching Oracle Grid Infrastructure Setup Wizard...

The response file for this session can be found at:
 /u00/app/grid/product/19.23/install/response/grid_2024-06-30_05-42-32PM.rsp

You can find the log of this install session at:
 /tmp/GridSetupActions2024-06-30_05-42-32PM/gridSetupActions2024-06-30_05-42-32PM.log

As a root user, execute the following script(s):
	1. /u00/app/oraInventory/orainstRoot.sh
	2. /u00/app/grid/product/19.23/root.sh

Execute /u00/app/oraInventory/orainstRoot.sh on the following nodes:
[brouwer]
Execute /u00/app/grid/product/19.23/root.sh on the following nodes:
[brouwer]


Successfully Setup Software.
Moved the install session logs to:
 /u00/app/oraInventory/logs/GridSetupActions2024-06-30_05-42-32PM

orainst.root

[grid@brouwer 19.23]$ su
Password:
[root@brouwer 19.23]# /u00/app/oraInventory/orainstRoot.sh
Changing permissions of /u00/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /u00/app/oraInventory to oinstall.
The execution of the script is complete.

root.sh

[root@brouwer 19.23]# /u00/app/grid/product/19.23/root.sh
Check /u00/app/grid/product/19.23/install/root_brouwer.markusdba.internal_2024-06-30_17-47-39-504997332.log for the output of root script

roothas.sh

Die Grid Infrastructure wird dann mit dem Skript roothas.sh konfiguriert:

[root@brouwer 19.23]# /u00/app/grid/product/19.23/crs/install/roothas.sh
Smartmatch is deprecated at /u00/app/grid/product/19.23/crs/install/crsupgrade.pm line 6512.
Using configuration parameter file: /u00/app/grid/product/19.23/crs/install/crsconfig_params
The log of current session can be found at:
  /u00/app/oracle/crsdata/brouwer/crsconfig/roothas_2024-06-30_05-50-24PM.log
Redirecting to /bin/systemctl restart rsyslog.service
LOCAL ADD MODE
Creating OCR keys for user 'grid', privgrp 'oinstall'..
Operation successful.
LOCAL ONLY MODE
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
CRS-4664: Node brouwer successfully pinned.
2024/06/30 17:50:30 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service'

brouwer     2024/06/30 17:51:05     /u00/app/oracle/crsdata/brouwer/olr/backup_20240630_175105.olr     689998692
2024/06/30 17:51:05 CLSRSC-327: Successfully configured Oracle Restart for a standalone server
[root@brouwer 19.23]# exit
exit

Das Ergebnis:

[grid@brouwer 19.23]$ ps -ef |grep d.bin
grid       22900       1  1 17:50 ?        00:00:01 /u00/app/grid/product/19.23/bin/ohasd.bin reboot
grid       23132       1  0 17:51 ?        00:00:00 /u00/app/grid/product/19.23/bin/evmd.bin
grid       23334    5990  0 17:52 pts/1    00:00:00 grep --color=auto d.bin
[grid@brouwer 19.23]$ crsctl stat res -t
--------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------
ora.ons
               OFFLINE OFFLINE      brouwer                  STABLE
--------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------
ora.cssd
      1        OFFLINE OFFLINE                               STABLE
ora.diskmon
      1        OFFLINE OFFLINE                               STABLE
ora.evmd
      1        ONLINE  ONLINE       brouwer                  STABLE
--------------------------------------------------------------------------

Listener konfigurieren

An der Liste der Ressourcen sieht man, dass da noch der Listener fehlt. Diesen müssen wir manuell mittels netca konfigurieren:

[grid@brouwer ~]$ netca -silent -responseFile $ORACLE_HOME/network/install/netca_typ.rsp

Parsing command line arguments:
    Parameter "silent" = true
    Parameter "responsefile" = /u00/app/grid/product/19.23/network/install/netca_typ.rsp
Done parsing command line arguments.
Oracle Net Services Configuration:
Profile configuration complete.
Oracle Net Listener Startup:
    Listener started successfully.
Listener configuration complete.
Oracle Net Services configuration successful. The exit code is 0

Der Start des Listeners hat auf meinem (virtuellen) Test-System einige Zeit gedauert, also abwarten und Tee trinken.

Kontrolle:

[grid@brouwer ~]$ crsctl stat res -t
--------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       brouwer                  STABLE
ora.ons
               OFFLINE OFFLINE      brouwer                  STABLE
--------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------
ora.cssd
      1        OFFLINE OFFLINE                               STABLE
ora.diskmon
      1        OFFLINE OFFLINE                               STABLE
ora.evmd
      1        ONLINE  ONLINE       brouwer                  STABLE
--------------------------------------------------------------------------

Damit ist der Grid-Infrastructure-Teil der Installation abgeschlossen. Das System hat folgenden Software-Stand:

[grid@brouwer ~]$ $ORACLE_HOME/OPatch/opatch lspatches
36460248;TOMCAT RELEASE UPDATE 19.0.0.0.0 (36460248)
36383196;DBWLM RELEASE UPDATE 19.0.0.0.0 (36383196)
36240578;OCW RELEASE UPDATE 19.23.0.0.0 (36240578)
36233343;ACFS RELEASE UPDATE 19.23.0.0.0 (36233343)
36233263;Database Release Update : 19.23.0.0.240416 (36233263)

RDBMS-Software installieren

(als oracle)

Auspacken

[oracle@brouwer ~]$ echo $ORACLE_HOME
/u00/app/oracle/product/19.23
[oracle@brouwer ~]$ mkdir -p $ORACLE_HOME
[oracle@brouwer ~]$ cd $ORACLE_HOME
[oracle@brouwer 19.23]$ pwd
/u00/app/oracle/product/19.23

[oracle@brouwer 19.23]$ unzip -q ${SW_DIR}/19.19-arm64/LINUX.ARM64_1919000_db_home.zip

OPatch aktualisieren

[oracle@brouwer 19.23]$ rm -rf OPatch/
[oracle@brouwer 19.23]$ unzip -q ${PATCH_DIR}/p6880880_190000_Linux-ARM-64.zip

Release Update 19.23 und weitere Patches installieren

[oracle@brouwer 19.23]$ cd /u00/app/oracle/stage/
[oracle@brouwer stage]$ unzip -uq ${PATCH_DIR}/p36233263_190000_Linux-ARM-64-2024-04-19-23-db.zip
[oracle@brouwer stage]$ unzip -uq ${PATCH_DIR}/p36199232_190000_Linux-ARM-64-2024-04-19-23-ojvm.zip
[oracle@brouwer stage]$ unzip -uq ${PATCH_DIR}/p36195566_190000_Linux-ARM-64-2024-04-19-23-jdk.zip
[oracle@brouwer stage]$ unzip -uq ${PATCH_DIR}/p36420641_1923000DBRU_Generic-19-23-datapump-bundle.zip

Die Monthly Recommended Patches (MRP), die in der MOS-Note 888.1 aufgeführt sind, gibt es nur für Linux x86-64, daher gibt es in meinem Fall – Installation auf Linux arm64 – keine dementsprechenden MRPs, die zusätzlich zu installieren wären. Es lohnt sich aber in so einem Fall generell der Blick in die MOS-Note 555.1, in der die empfohlenen Patches für andere OS angegeben sind.

[oracle@brouwer stage]$ cd $ORACLE_HOME
[oracle@brouwer 19.23]$ ./runInstaller -silent -applyRU /u00/app/oracle/stage/36233263
Preparing the home to patch...
Applying the patch /u00/app/oracle/stage/36233263...
Successfully applied the patch.
The log can be found at: /u00/app/oraInventory/logs/InstallActions2024-07-01_11-49-12AM/installerPatchActions_2024-07-01_11-49-12AM.log
Launching Oracle Database Setup Wizard...

[FATAL] [INS-35071] Global database name cannot be left blank.
   CAUSE: The Global database name was left blank.
   ACTION: Specify a value for the Global database name.

[oracle@brouwer 19.23]$ ./runInstaller -silent -applyRU /u00/app/oracle/stage/36199232
Preparing the home to patch...
Applying the patch /u00/app/oracle/stage/36199232...
Successfully applied the patch.
The log can be found at: /u00/app/oraInventory/logs/InstallActions2024-07-01_11-51-18AM/installerPatchActions_2024-07-01_11-51-18AM.log
Launching Oracle Database Setup Wizard...

[FATAL] [INS-35071] Global database name cannot be left blank.
   CAUSE: The Global database name was left blank.
   ACTION: Specify a value for the Global database name.

[oracle@brouwer 19.23]$ ./runInstaller -silent -applyRU /u00/app/oracle/stage/36195566
Preparing the home to patch...
Applying the patch /u00/app/oracle/stage/36195566...
Successfully applied the patch.
The log can be found at: /u00/app/oraInventory/logs/InstallActions2024-07-01_11-53-06AM/installerPatchActions_2024-07-01_11-53-06AM.log
Launching Oracle Database Setup Wizard...

[FATAL] [INS-35071] Global database name cannot be left blank.
   CAUSE: The Global database name was left blank.
   ACTION: Specify a value for the Global database name.

[oracle@brouwer 19.23]$ ./runInstaller -silent -applyOneOffs /u00/app/oracle/stage/36420641
Preparing the home to patch...
Applying the patch /u00/app/oracle/stage/36420641...
Successfully applied the patch.
The log can be found at: /u00/app/oraInventory/logs/InstallActions2024-07-01_11-56-19AM/installerPatchActions_2024-07-01_11-56-19AM.log
Launching Oracle Database Setup Wizard...

[FATAL] [INS-35071] Global database name cannot be left blank.
   CAUSE: The Global database name was left blank.
   ACTION: Specify a value for the Global database name.

Zusätzlich zu den Datenbank-Patches ist es auch sinnvoll, die OCW-Komponente der RDBMS-Software auf den aktuellen Stand zu bringen. Der OCW-Patch ist Teil des Grid-Infrastructure Release-Updates:

[oracle@brouwer 19.23]$ ./runInstaller -silent -applyOneOffs /u00/app/oracle/stage/36233126/36240578
Preparing the home to patch...
Applying the patch /u00/app/oracle/stage/36233126/36240578...
Successfully applied the patch.
The log can be found at: /u00/app/oraInventory/logs/InstallActions2024-07-01_11-59-28AM/installerPatchActions_2024-07-01_11-59-28AM.log
Launching Oracle Database Setup Wizard...

[FATAL] [INS-35071] Global database name cannot be left blank.
   CAUSE: The Global database name was left blank.
   ACTION: Specify a value for the Global database name.

(Die Patchnummer des OCW-Patches findet man am einfachsten mit einem „opatch lspatches“ in der GI-Umgebung heraus)

Installation der RDBMS-Software

[oracle@brouwer 19.23]$ ./runInstaller -ignorePrereq  -waitforcompletion -silent \
>      -responseFile `pwd`/install/response/db_install.rsp \
>      oracle.install.option=INSTALL_DB_SWONLY \
>      ORACLE_HOSTNAME=`hostname`  \
>      UNIX_GROUP_NAME=oinstall\
>      INVENTORY_LOCATION=$/u00/app/oraInventory \
>      SELECTED_LANGUAGES=en\
>      ORACLE_HOME=`pwd`\
>      ORACLE_BASE=$ORACLE_BASE\
>      oracle.install.db.InstallEdition=EE \
>      oracle.install.db.OSDBA_GROUP=dba \
>      oracle.install.db.OSOPER_GROUP=oper \
>      oracle.install.db.OSBACKUPDBA_GROUP=backupdba \
>      oracle.install.db.OSDGDBA_GROUP=dgdba  \
>      oracle.install.db.OSKMDBA_GROUP=kmdba  \
>      oracle.install.db.OSRACDBA_GROUP=racdba \
>      SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \
>      DECLINE_SECURITY_UPDATES=true

Launching Oracle Database Setup Wizard...

The response file for this session can be found at:
 /u00/app/oracle/product/19.23/install/response/db_2024-07-01_12-27-11PM.rsp

You can find the log of this install session at:
 /u00/app/oraInventory/logs/InstallActions2024-07-01_12-27-11PM/installActions2024-07-01_12-27-11PM.log

As a root user, execute the following script(s):
	1. /u00/app/oracle/product/19.23/root.sh

Execute /u00/app/oracle/product/19.23/root.sh on the following nodes:
[brouwer]


Successfully Setup Software.

root.sh

[oracle@brouwer 19.23]$ su
Password:
[root@brouwer 19.23]# /u00/app/oracle/product/19.23/root.sh
Check /u00/app/oracle/product/19.23/install/root_brouwer.markusdba.internal_2024-07-01_12-28-53-378754252.log for the output of root script
[root@brouwer 19.23]# exit
exit

Read-Only-Oracle-Home aktivieren

[oracle@brouwer 19.23]$ /u00/app/oracle/product/19.23/bin/roohctl -enable
Enabling Read-Only Oracle home.
Update orabasetab file to enable Read-Only Oracle home.
Orabasetab file has been updated successfully.
Create bootstrap directories for Read-Only Oracle home.
Bootstrap directories have been created successfully.
Bootstrap files have been processed successfully.
Read-Only Oracle home has been enabled successfully.
Check the log file /u00/app/oracle/cfgtoollogs/roohctl/roohctl-240701PM122940.log for more details.

Ergebnis:

[oracle@brouwer 19.23]$ $ORACLE_HOME/OPatch/opatch lspatches
36240578;OCW RELEASE UPDATE 19.23.0.0.0 (36240578)
36420641;DATAPUMP BUNDLE PATCH 19.23.0.0.0
36195566;JDK BUNDLE PATCH 19.0.0.0.240416
36199232;OJVM RELEASE UPDATE: 19.23.0.0.240416 (36199232)
36233263;Database Release Update : 19.23.0.0.240416 (36233263)

OPatch succeeded.

Datenbank anlegen

Für die Verzeichnisse (Daten bzw. FRA) nutzen wir die Mount-Points /u01 /u02

[oracle@brouwer 19.23]$ ls -al /u01 /u02
/u01:
total 0
drwxr-xr-x.  3 root   root      21 Jun 22 11:23 .
dr-xr-xr-x. 20 root   root     257 Jun 22 11:20 ..
drwxr-xr-x.  2 oracle oinstall   6 Jun 22 11:23 oradata

/u02:
total 0
drwxr-xr-x.  3 root   root      32 Jun 22 11:23 .
dr-xr-xr-x. 20 root   root     257 Jun 22 11:20 ..
drwxr-xr-x.  2 oracle oinstall   6 Jun 22 11:23 fast_recovery_area

dbca im Silent Mode:

[oracle@brouwer 19.23]$ $ORACLE_HOME/bin/dbca -silent -createDatabase \
>  -templateName General_Purpose.dbc \
>  -gdbname BROUWCDB -sid BROUWCDB -responseFile NO_VALUE \
>  -characterSet AL32UTF8 \
>  -sysPassword manager \
>  -systemPassword manager \
>  -createAsContainerDatabase  true \
>  -databaseType MULTIPURPOSE \
>  -memoryMgmtType auto_sga \
>  -totalMemory 4000 \
>  -storageType FS \
>  -useLocalUndoForPDBs true \
>  -datafileDestination "/u01/oradata/" \
>  -redoLogFileSize 500 \
>  -emConfiguration NONE \
>  -ignorePreReqs \
>  -recoveryAreaDestination "/u02/fast_recovery_area" \
>  -recoveryAreaSize 14000 \
>  -ignorePrereqFailure
[WARNING] [DBT-06208] The 'SYS' password entered does not conform to the Oracle recommended standards.
   CAUSE:
a. 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].
b.The password entered is a keyword that Oracle does not recommend to be used as password
   ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.
[WARNING] [DBT-06208] The 'SYSTEM' password entered does not conform to the Oracle recommended standards.
   CAUSE:
a. 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].
b.The password entered is a keyword that Oracle does not recommend to be used as password
   ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.
   [...]
 Completing Database Creation
68% complete
70% complete
71% complete
Executing Post Configuration Actions
100% complete
Database creation complete. For details check the logfiles at:
 /u00/app/oracle/cfgtoollogs/dbca/BROUWCDB.
Database Information:
Global Database Name:BROUWCDB
System Identifier(SID):BROUWCDB
Look at the log file "/u00/app/oracle/cfgtoollogs/dbca/BROUWCDB/BROUWCDB.log" for further details.

PDB anlegen

[oracle@brouwer ~]$ export ORACLE_SID=BROUWCDB
[oracle@brouwer ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Mon Jul 1 12:58:08 2024
Version 19.23.0.0.0
Copyright (c) 1982, 2023, Oracle.  All rights reserved.

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.23.0.0.0

SQL> create pluggable database BROUWPDB admin user pdbadmin identified by manager roles=(DBA) file_name_convert=('pdbseed','brouwpdb');

Pluggable database created.

SQL> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.23.0.0.0

Service für die PDB anlegen

[oracle@brouwer ~]$ srvctl add service -db BROUWCDB -service BROUWAPP -role primary -pdb BROUWPDB
[oracle@brouwer ~]$ srvctl start service -db BROUWCDB -service BROUWAPP
[oracle@brouwer ~]$ srvctl status service -db BROUWCDB -service BROUWAPP
Service BROUWAPP is running

Der Service sorgt dafür, dass die PDB geöffnet wird, wenn die Instanz der CDB gestartet wird und die CDB geöffnet wird.

Ergebnis

[oracle@brouwer ~]$ /u00/app/grid/product/19.23/bin/crsctl stat res -t
--------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       brouwer                  STABLE
ora.ons
               OFFLINE OFFLINE      brouwer                  STABLE
--------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------
ora.brouwcdb.brouwapp.svc
      1        ONLINE  ONLINE       brouwer                  STABLE
ora.brouwcdb.db
      1        ONLINE  ONLINE       brouwer                  Open,HOME=/u00/app/o
                                                             racle/product/19.23,
                                                             STABLE
ora.cssd
      1        OFFLINE OFFLINE                               STABLE
ora.diskmon
      1        OFFLINE OFFLINE                               STABLE
ora.evmd
      1        ONLINE  ONLINE       brouwer                  STABLE
--------------------------------------------------------------------------

Im Gegensatz zum Cluster oder dem Single Server mit Grid Infrastructure inkl. ASM, ist der Overhead der Grid Infrastructure ohne ASM gering. Es sind nur wenige Prozesse, die die Grid Infrastructure in diesem Fall mit sich bringt:

[oracle@brouwer ~]$ ps -ef |grep grid
grid        2711       1  0 23:18 ?        00:00:01 /u00/app/grid/product/19.23/bin/ohasd.bin reboot
grid        2916       1  0 23:18 ?        00:00:00 /u00/app/grid/product/19.23/bin/oraagent.bin
grid        2943       1  0 23:18 ?        00:00:00 /u00/app/grid/product/19.23/bin/evmd.bin
grid        2955       1  0 23:18 ?        00:00:00 /u00/app/grid/product/19.23/bin/tnslsnr LISTENER -no_crs_notify -inherit
grid        3004    2943  0 23:18 ?        00:00:00 /u00/app/grid/product/19.23/bin/evmlogger.bin -o /u00/app/grid/product/19.23/log/[HOSTNAME]/evmd/evmlogger.info -l /u00/app/grid/product/19.23/log/[HOSTNAME]/evmd/evmlogger.log

Zusammenfassung

Die Grid Infrastructure für den Standalone Server („Oracle Restart“) kann ganz einfach auch ohne ASM genutzt werden. Die Installation über die GUI ist leider nicht möglich, aber das ist in Zeiten von skriptbasierten, automatisierten Installationen keine wirkliche Einschränkung. Die GI übernimmt auf dem System dann den automatischen Start und die Überwachung der Oracle Ressourcen.

Referenzen und Links