Environment Configuration Details:
OEM Software Version: Oracle Enterprise Manager Cloud Control 24ai Release 1 (24.1.0.0.0)
Operating System: Oracle Linux 8.10 64 Bit
OEM 24ai Installation Step by Step:
Part-4 : OEM Installation
Step 1: Download OEM Setup files from Oracle.
Step 2: Transfer OEM Setup files to target server and extract the setup files.
[oracle@oemdb oracle]$ id uid=1001(oracle) gid=1002(oinstall) groups=1002(oinstall),1003(dba) [oracle@oemdb ~]$ cd /u01/app/oracle [oracle@oemdb oracle]$ ls -ltr drwxr-xr-x. 3 oracle oinstall 20 Feb 27 11:45 product drwxr-xr-x 2 oracle oinstall 6 Feb 27 13:26 checkpoints drwxrwxr-x 23 oracle oinstall 4096 Feb 27 13:26 diag drwxr-x--- 3 oracle oinstall 17 Feb 27 14:12 admin drwxr-x--- 3 oracle oinstall 17 Feb 27 14:14 audit drwxr-x--- 5 oracle oinstall 47 Feb 27 14:14 cfgtoollogs Directory Structure Creation export OMS_HOME=/u01/app/oracle/middleware export AGENT_HOME=/u01/app/oracle/agent [oracle@oemdb oracle]$ mkdir middleware agent [oracle@oemdb oracle]$ ls -ltr drwxr-xr-x. 3 oracle oinstall 20 Feb 27 11:45 product drwxr-xr-x 2 oracle oinstall 6 Feb 27 13:26 checkpoints drwxrwxr-x 23 oracle oinstall 4096 Feb 27 13:26 diag drwxr-x--- 3 oracle oinstall 17 Feb 27 14:12 admin drwxr-x--- 3 oracle oinstall 17 Feb 27 14:14 audit drwxr-x--- 5 oracle oinstall 47 Feb 27 14:14 cfgtoollogs drwxr-xr-x 2 oracle oinstall 6 Mar 6 10:16 middleware drwxr-xr-x 2 oracle oinstall 6 Mar 6 10:16 agent [root@oemdb ~]# cd /media/sf_Softwares/OEM/OEM_24/ [root@oemdb OEM_24]# ls -ltr -rwxrwx--- 1 root vboxsf 1669545916 Feb 6 15:05 V1046955-01.zip -rwxrwx--- 1 root vboxsf 1921746284 Feb 6 15:06 V1046953-01.zip -rwxrwx--- 1 root vboxsf 1624006261 Feb 6 15:06 V1046951-01.zip -rwxrwx--- 1 root vboxsf 1532547469 Feb 6 15:08 V1046952-01.zip -rwxrwx--- 1 root vboxsf 1679195404 Feb 6 15:08 V1046954-01.zip [root@oemdb OEM_24]# cp V* /home/oracle/setup [root@oemdb setup]# chmod 777 * [root@oemdb setup]# ls -ltr -rwxrwxrwx 1 root root 1624006261 Mar 6 10:20 V1046951-01.zip -rwxrwxrwx 1 root root 1532547469 Mar 6 10:22 V1046952-01.zip -rwxrwxrwx 1 root root 1921746284 Mar 6 10:23 V1046953-01.zip -rwxrwxrwx 1 root root 1679195404 Mar 6 10:26 V1046954-01.zip -rwxrwxrwx 1 root root 1669545916 Mar 6 10:31 V1046955-01.zip Extract the setup files by oracle user. Once the extract is done, you can remove the setup files. [oracle@oemdb setup]$ id uid=1001(oracle) gid=1002(oinstall) groups=1002(oinstall),1003(dba) [oracle@oemdb setup]$ unzip V1046951-01.zip Archive: V1046951-01.zip inflating: em24100_linux64.bin [oracle@oemdb setup]$ unzip V1046952-01.zip Archive: V1046952-01.zip extracting: em24100_linux64-2.zip [oracle@oemdb setup]$ unzip V1046953-01.zip Archive: V1046953-01.zip extracting: em24100_linux64-3.zip [oracle@oemdb setup]$ unzip V1046954-01.zip Archive: V1046954-01.zip extracting: em24100_linux64-4.zip [oracle@oemdb setup]$ unzip V1046955-01.zip Archive: V1046955-01.zip extracting: em24100_linux64-5.zip [oracle@oemdb setup]$ ls -ltr -r--r--r-- 1 oracle oinstall 1532547277 Dec 5 15:50 em24100_linux64-2.zip -r--r--r-- 1 oracle oinstall 1921746092 Dec 5 15:50 em24100_linux64-3.zip -r--r--r-- 1 oracle oinstall 1669545724 Dec 5 15:52 em24100_linux64-5.zip -r-xr-xr-x 1 oracle oinstall 1624325096 Dec 5 15:53 em24100_linux64.bin -rwxrwxrwx 1 root root 1624006261 Mar 6 10:20 V1046951-01.zip -rwxrwxrwx 1 root root 1532547469 Mar 6 10:22 V1046952-01.zip -rwxrwxrwx 1 root root 1921746284 Mar 6 10:23 V1046953-01.zip -rwxrwxrwx 1 root root 1679195404 Mar 6 10:26 V1046954-01.zip -rwxrwxrwx 1 root root 1669545916 Mar 6 10:31 V1046955-01.zip [oracle@oemdb setup]$ rm V*.zip [oracle@oemdb setup]$ ls -ltr -r--r--r-- 1 oracle oinstall 1532547277 Dec 5 15:50 em24100_linux64-2.zip -r--r--r-- 1 oracle oinstall 1921746092 Dec 5 15:50 em24100_linux64-3.zip -r--r--r-- 1 oracle oinstall 1669545724 Dec 5 15:52 em24100_linux64-5.zip -r-xr-xr-x 1 oracle oinstall 1624325096 Dec 5 15:53 em24100_linux64.bin |
Step 3: Run OEM EMPPREREQ_KIT to check the prerequisites before instaling OEM. This will not perform the installation, instead it is pre-requisites checks.
The EM Prerequisite Kit runs OEM repository prerequisites checks to ensure that you meet all the requirements for installing or upgrading OEM. This also takes care of corrective actions automatically when a prerequisite check fails. The EM Prerequisite Kit is also run internally by the OEM Installation Wizard while installing or upgrading OEM, but if you want to run this before installation,you can do it by passing parameter "EMPREREQ_KIT=true". The EM Prerequisites Kit does not perform installation, instead it shows the missing or successful checks.
By oracle user,execute below command.
[oracle@oemdb ]$ cd /home/oracle/setup
[oracle@oemdb setup]$ ./em24100_linux64.bin EMPREREQ_KIT=true
Step 4: Perform pre-requisites before installing OEM 24ai.
A) Certification Matrix: Enterprise Manager Base Platform - OMS 24.1.0.0.0 is certified on Linux x86-64 Oracle Linux 8.x Current Operating System : Oracle Enterprise Linux 8.10 64 Bit B) Hardware Requirement:
B) Kernel Parameters and Shell Limits. [root@oemdb ~]# id uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 [root@oemdb ~]# vi /etc/sysctl.conf [root@oemdb ~]# cat /etc/sysctl.conf | grep -v "#" fs.file-max = 6815744 kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 kernel.panic_on_oops = 1 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 net.ipv4.conf.all.rp_filter = 2 net.ipv4.conf.default.rp_filter = 2 fs.aio-max-nr = 1048576 net.ipv4.ip_local_port_range = 9000 65500 #Command to reflect changes. [root@oemdb ~]# sysctl -p fs.file-max = 6815744 kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 kernel.panic_on_oops = 1 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 net.ipv4.conf.all.rp_filter = 2 net.ipv4.conf.default.rp_filter = 2 fs.aio-max-nr = 1048576 net.ipv4.ip_local_port_range = 9000 65500 #Changes in limits.conf file for oracle user [root@oemdb ~]# id uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 [root@oemdb ~]# vi /etc/security/limits.conf [root@oemdb ~]# cat /etc/security/limits.conf | grep -v "#" oracle soft nofile 1024 oracle hard nofile 65536 oracle soft nproc 16384 oracle hard nproc 16384 oracle soft stack 10240 oracle hard stack 32768 oracle hard memlock 134217728 oracle soft memlock 134217728 oracle soft data unlimited oracle hard data unlimited C) Repository Database Parameter Changes 1) Compatible Parameter: Recommendation : The compatible instance parameter must be set to the same version value as the database instance of the EM repository. 2) db_block_size: Recommendation : The db_block_size instance parameter needs to be set to 8192. 3) Processes : Recommendation : The processes parameter needs to be set to at least 300. 4) pga_aggregate_target: Recommendation : The pga_aggregate_target parameter should be set to at least 191 MB. 5) workarea_size_policy: Recommendation : The workarea_size_policy parameter should be allowed to default. The default value is AUTO. 6) session_cached_cursors: Recommendation : The session_cached_cursors parameter should be set to any value between 200 and 500. 7) open_cursors: Recommendation : The open_cursors instance parameter should be set at least 300. 8) sga_target: Recommendation : The sga_target instance parameter should be set to at least 763 MB, and twice the size of the pga_aggregate_target setting. 9) log_buffer: Recommendation : The log_buffer instance parameter should be set to at least 977 KB. 10) shared_pool_size: Recommendation : The shared_pool_size instance parameter should be set to at least 429 MB or one third of the sga_target size. 11) db_cache_size : Recommendation : The db_cache_size instance parameter should be allowed to default. The default value is TRUE. 12) large_pool_size : Recommendation : The large_pool_size instance parameter should be allowed to default. The default value is TRUE. 13 java_pool_size : Recommendation : The java_pool_size instance parameter should be allowed to default. The default value is TRUE. 14 streams_pool_size : Recommendation : The streams_pool_size instance parameter should be allowed to default. The default value is TRUE. 15) timed_statistics : Recommendation : The timed_statistics instance parameter should be allowed to default or it should be set to TRUE, which is the default value. 16) statistics_level : Recommendation : The statistics_level instance parameter should be allowed to default. It should never be set to BASIC. 17) redo log size : Recommendation : The size of the EM database instance should be 48 MB or greater. Generally, there should be 3 or more redo logs available of this size. 18) _allow_insert_with_update_check: Recommendation : This parameter should be TRUE for enabling backward compatibility in policy setting. This can be set to FALSE after the Installation is complete. 19) Invalid Objects: Recommendation: Compile invalid objects in the database selected for the EM Repository. 20) job_queue_processes : Recommendation : The job_queue_processes instance parameter should be at least 20. 21) nls_length_semantics : Recommendation : Set nls_length_semantics to BYTE. 22) UNDO management : Recommendation : Set UNDO management to automatic 23) Autoextensibility for UNDO, SYSTEM, TEMP: Recommendation : Ensure that the undo tablespace has at least one datafile set to autoextensible. Ensure that the SYSTEM tablespace has at least one datafile set to autoextensible. Ensure that the TEMP tablespace has at least one tempfile set to autoextensible. 24) Partitioning Option : Recommendation : Install the partitioning option on the EM repository database. 25) remote_login_passwordfile: Recommendation: 26) SYSMAN and SYSMAN_STB schema availability: Recommendation : SYSMAN and SYSMAN_STB schemas should be absent before installing. 27) Public Synonyms Existence: Recommendation : Remove the public synonyms. 28) Mgmt Tablespaces Existence: Recommendation : Remove the public synonyms. 29) EM schemas Existence: Recommendation : Remove the EM schemas. 30) SQL Plan Baseline Capture: Recommendation : The EM repository database instance parameter optimizer_capture_sql_plan_baselines must be set to FALSE (or default) for EM. 31) TEMP Tablespace Existence: Recommendation : EM Deployment needs temporary tablespace TEMP. 32) All Adaptive Features Parameters: Recommendation : All adaptive features parameters should be unset for improved SQL performance. alter system reset "_optimizer_nlj_hj_adaptive_join" scope=both sid='*'; alter system reset "_optimizer_strans_adaptive_pruning" scope=both sid='*'; alter system reset "_px_adaptive_dist_method" scope=both sid='*'; alter system reset "_sql_plan_directive_mgmt_control" scope=both sid='*'; alter system reset "_optimizer_dsdir_usage_control" scope=both sid='*'; alter system reset "_optimizer_use_feedback" scope=both sid='*'; alter system reset "_optimizer_gather_feedback" scope=both sid='*'; alter system reset "_optimizer_performance_feedback" scope=both sid='*'; D) Repository DB Listener: Recommendation: Repository database listener should be running to connect Repository DB through OEM portal. E) Required RPM Packages for Linux 8 : Recommendation: Below RPM packages should be installed on Linux 8 server before installing OEM. Package Requirements for Oracle Management Service (Oracle Linux 8) :
Package Requirements for Oracle Management Agent (Oracle Linux 8) :
F) Minimum Patchset Version Please note that the monimum patch release is 19.22 to install OEM 24ai. [oracle@oemdb PATCH]$ su - Password: [root@oemdb ~]# cd /media/sf_Softwares/Oracle_19c/ [root@oemdb Oracle_19c]# ll -rwxrwx--- 1 root vboxsf 3369893688 Mar 17 19:27 p36916690_190000_Linux-x86-64.zip -rwxrwx--- 1 root vboxsf 131979850 Mar 17 19:32 p6880880_190000_Linux-x86-64.zip [root@oemdb Oracle_19c]# cp p* /u01/PATCH [oracle@oemdb PATCH]$ su - Password: [root@oemdb Oracle_19c]# cd /u01/PATCH/ [root@oemdb PATCH]# ll -rwxr-x--- 1 root root 3369893688 Mar 17 19:41 p36916690_190000_Linux-x86-64.zip -rwxr-x--- 1 root root 131979850 Mar 17 19:41 p6880880_190000_Linux-x86-64.zip [root@oemdb PATCH]# chmod 777 p* [root@oemdb PATCH]# ll -rwxrwxrwx 1 root root 3369893688 Mar 17 19:41 p36916690_190000_Linux-x86-64.zip -rwxrwxrwx 1 root root 131979850 Mar 17 19:41 p6880880_190000_Linux-x86-64.zip [root@oemdb PATCH]# exit logout [oracle@oemdb PATCH]$ id uid=1001(oracle) gid=1002(oinstall) groups=1002(oinstall),1003(dba) [oracle@oemdb PATCH]$ df -TH . Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/ol-root xfs 52G 26G 27G 50% / [oracle@oemdb PATCH]$ ls -ltr -rwxrwxrwx 1 root root 3369893688 Mar 17 19:41 p36916690_190000_Linux-x86-64.zip -rwxrwxrwx 1 root root 131979850 Mar 17 19:41 p6880880_190000_Linux-x86-64.zip [oracle@oemdb PATCH]$ cp p6880880_190000_Linux-x86-64.zip /u01/app/oracle/product/19.0.0/dbhome_1/ [oracle@oemdb PATCH]$ cd /u01/app/oracle/product/19.0.0/dbhome_1/ [oracle@oemdb dbhome_1]$ cd OPatch [oracle@oemdb OPatch]$ ./opatch version OPatch Version: 12.2.0.1.17 OPatch succeeded. [oracle@oemdb OPatch]$ cd .. [oracle@oemdb dbhome_1]$ mv OPatch OPatch_old [oracle@oemdb dbhome_1]$ unzip p6880880_190000_Linux-x86-64.zip Archive: p6880880_190000_Linux-x86-64.zip creating: OPatch/ creating: OPatch/auto/ creating: OPatch/auto/database/ creating: OPatch/auto/database/bin/ inflating: OPatch/auto/database/bin/BootStrapping.pl .... creating: OPatch/oracle_common/ creating: OPatch/oracle_common/modules/ inflating: OPatch/oracle_common/modules/com.oracle.glcm.common-logging_1.6.5.0.jar inflating: OPatch/oracle_common/modules/common-logging-config.jar inflating: OPatch/datapatch [oracle@oemdb dbhome_1]$ [oracle@oemdb dbhome_1]$ cd OPatch [oracle@oemdb OPatch]$ ./opatch version OPatch Version: 12.2.0.1.45 OPatch succeeded. [oracle@oemdb dbhome_1]$ rm -rf p6880880_190000_Linux-x86-64.zip [oracle@oemdb dbhome_1]$ cd /u01/PATCH/ [oracle@oemdb PATCH]$ ll -rwxrwxrwx 1 root root 3369893688 Mar 17 19:41 p36916690_190000_Linux-x86-64.zip -rwxrwxrwx 1 root root 131979850 Mar 17 19:41 p6880880_190000_Linux-x86-64.zip [oracle@oemdb PATCH]$ unzip p36916690_190000_Linux-x86-64.zip Archive: p36916690_190000_Linux-x86-64.zip creating: 36916690/ creating: 36916690/36917416/ creating: 36916690/36917416/etc/ creating: 36916690/36917416/etc/config/ ... inflating: 36916690/automation/bp1-rollback-inplace-non-rolling-automation.xml inflating: 36916690/automation/messages.properties inflating: 36916690/README.txt inflating: 36916690/README.html inflating: 36916690/bundle.xml inflating: PatchSearch.xml [oracle@oemdb PATCH]$ [oracle@oemdb PATCH]$ ll drwxr-x--- 8 oracle oinstall 159 Oct 11 11:16 36916690 -rwxrwxrwx 1 root root 3369893688 Mar 17 19:41 p36916690_190000_Linux-x86-64.zip -rwxrwxrwx 1 root root 131979850 Mar 17 19:41 p6880880_190000_Linux-x86-64.zip -rw-rw-r-- 1 oracle oinstall 2537084 Oct 15 20:06 PatchSearch.xml [oracle@oemdb PATCH]$ cd 36916690 [oracle@oemdb 36916690]$ ll drwxr-x--- 4 oracle oinstall 48 Oct 11 11:17 36758186 drwxr-x--- 5 oracle oinstall 81 Oct 11 11:17 36912597 drwxr-x--- 5 oracle oinstall 62 Oct 11 11:17 36917397 drwxr-x--- 5 oracle oinstall 62 Oct 11 11:16 36917416 drwxr-x--- 4 oracle oinstall 48 Oct 11 11:17 36940756 drwxr-x--- 2 oracle oinstall 4096 Oct 11 11:20 automation -rw-rw-r-- 1 oracle oinstall 5824 Oct 11 17:13 bundle.xml -rw-r--r-- 1 oracle oinstall 134032 Oct 14 15:31 README.html -rw-r--r-- 1 oracle oinstall 0 Oct 11 11:20 README.txt [oracle@oemdb 36916690]$ cd 36912597 [oracle@oemdb 36912597]$ ll drwxr-x--- 3 oracle oinstall 21 Oct 11 11:20 custom drwxr-x--- 3 oracle oinstall 20 Oct 11 11:20 etc drwxr-x--- 46 oracle oinstall 4096 Oct 11 11:17 files -rw-rw-r-- 1 oracle oinstall 88918 Oct 15 15:05 README.html -rw-r--r-- 1 oracle oinstall 21 Oct 11 11:20 README.txt [oracle@oemdb 36912597]$ . oraenv ORACLE_SID = [oracle] ? oem The Oracle base has been set to /u01/app/oracle [oracle@oemdb 36912597]$ [oracle@oemdb 36912597]$ env | grep ORA ORACLE_SID=oem ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1 [oracle@oemdb 36912597]$ export PATH=$ORACLE_HOME/OPatch:$PATH [oracle@oemdb 36912597]$ opatch prereq CheckConflictAgainstOHWithDetail -ph ./ Oracle Interim Patch Installer version 12.2.0.1.45 Copyright (c) 2025, Oracle Corporation. All rights reserved. PREREQ session Oracle Home : /u01/app/oracle/product/19.0.0/dbhome_1 Central Inventory : /u01/app/oraInventory from : /u01/app/oracle/product/19.0.0/dbhome_1/oraInst.loc OPatch version : 12.2.0.1.45 OUI version : 12.2.0.7.0 Log file location : /u01/app/oracle/product/19.0.0/dbhome_1/cfgtoollogs/opatch/opatch2025-03-17_19-55-00PM_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded. [oracle@oemdb 36912597]$ [oracle@oemdb 36912597]$ opatch apply Oracle Interim Patch Installer version 12.2.0.1.45 Copyright (c) 2025, Oracle Corporation. All rights reserved. Oracle Home : /u01/app/oracle/product/19.0.0/dbhome_1 Central Inventory : /u01/app/oraInventory from : /u01/app/oracle/product/19.0.0/dbhome_1/oraInst.loc OPatch version : 12.2.0.1.45 OUI version : 12.2.0.7.0 Log file location : /u01/app/oracle/product/19.0.0/dbhome_1/cfgtoollogs/opatch/opatch2025-03-17_19-56-53PM_1.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 36912597 Do you want to proceed? [y|n] y User Responded with: Y All checks passed. Please shutdown Oracle instances running out of this ORACLE_HOME on the local system. (Oracle Home = '/u01/app/oracle/product/19.0.0/dbhome_1') Is the local system ready for patching? [y|n] y User Responded with: Y Backing up files... Applying interim patch '36912597' to OH '/u01/app/oracle/product/19.0.0/dbhome_1' ApplySession: Optional component(s) [ oracle.network.gsm, 19.0.0.0.0 ] , [ oracle.crypto.rsf, 19.0.0.0.0 ] , [ oracle.pg4appc, 19.0.0.0.0 ] , [ oracle.pg4mq, 19.0.0.0.0 ] , [ oracle.precomp.companion, 19.0.0.0.0 ] , [ oracle.rdbms.ic, 19.0.0.0.0 ] , [ oracle.rdbms.tg4db2, 19.0.0.0.0 ] , [ oracle.tfa, 19.0.0.0.0 ] , [ oracle.sdo.companion, 19.0.0.0.0 ] , [ oracle.net.cman, 19.0.0.0.0 ] , [ oracle.oid.client, 19.0.0.0.0 ] , [ oracle.xdk.companion, 19.0.0.0.0 ] , [ oracle.options.olap.api, 19.0.0.0.0 ] , [ oracle.ons.eons.bwcompat, 19.0.0.0.0 ] , [ oracle.rdbms.tg4msql, 19.0.0.0.0 ] , [ oracle.network.cman, 19.0.0.0.0 ] , [ oracle.rdbms.tg4tera, 19.0.0.0.0 ] , [ oracle.rdbms.tg4ifmx, 19.0.0.0.0 ] , [ oracle.rdbms.tg4sybs, 19.0.0.0.0 ] , [ oracle.ldap.ztk, 19.0.0.0.0 ] , [ oracle.ons.cclient, 19.0.0.0.0 ] , [ oracle.options.olap, 19.0.0.0.0 ] , [ oracle.jdk, 1.8.0.191.0 ] , [ oracle.jdk, 1.8.0.391.11 ] not present in the Oracle Home or a higher version is found. Patching component oracle.rdbms, 19.0.0.0.0... Patching component oracle.rdbms.util, 19.0.0.0.0... Patching component oracle.rdbms.rsf, 19.0.0.0.0... Patching component oracle.assistants.acf, 19.0.0.0.0... Patching component oracle.assistants.deconfig, 19.0.0.0.0... Patching component oracle.assistants.server, 19.0.0.0.0... Patching component oracle.blaslapack, 19.0.0.0.0... Patching component oracle.buildtools.rsf, 19.0.0.0.0... Patching component oracle.ctx, 19.0.0.0.0... Patching component oracle.dbdev, 19.0.0.0.0... Patching component oracle.dbjava.ic, 19.0.0.0.0... Patching component oracle.dbjava.jdbc, 19.0.0.0.0... Patching component oracle.dbjava.ucp, 19.0.0.0.0... Patching component oracle.duma, 19.0.0.0.0... Patching component oracle.javavm.client, 19.0.0.0.0... Patching component oracle.ldap.owm, 19.0.0.0.0... Patching component oracle.ldap.rsf, 19.0.0.0.0... Patching component oracle.ldap.security.osdt, 19.0.0.0.0... Patching component oracle.marvel, 19.0.0.0.0... Patching component oracle.network.rsf, 19.0.0.0.0... Patching component oracle.odbc.ic, 19.0.0.0.0... Patching component oracle.ons, 19.0.0.0.0... Patching component oracle.ons.ic, 19.0.0.0.0... Patching component oracle.oracore.rsf, 19.0.0.0.0... Patching component oracle.perlint, 5.28.1.0.0... Patching component oracle.precomp.common.core, 19.0.0.0.0... Patching component oracle.precomp.rsf, 19.0.0.0.0... Patching component oracle.rdbms.crs, 19.0.0.0.0... Patching component oracle.rdbms.dbscripts, 19.0.0.0.0... Patching component oracle.rdbms.deconfig, 19.0.0.0.0... Patching component oracle.rdbms.oci, 19.0.0.0.0... Patching component oracle.rdbms.rsf.ic, 19.0.0.0.0... Patching component oracle.rdbms.scheduler, 19.0.0.0.0... Patching component oracle.rhp.db, 19.0.0.0.0... Patching component oracle.rsf, 19.0.0.0.0... Patching component oracle.sdo, 19.0.0.0.0... Patching component oracle.sdo.locator.jrf, 19.0.0.0.0... Patching component oracle.sqlplus, 19.0.0.0.0... Patching component oracle.sqlplus.ic, 19.0.0.0.0... Patching component oracle.wwg.plsql, 19.0.0.0.0... Patching component oracle.xdk.rsf, 19.0.0.0.0... Patching component oracle.javavm.server, 19.0.0.0.0... Patching component oracle.xdk.xquery, 19.0.0.0.0... Patching component oracle.ctx.rsf, 19.0.0.0.0... Patching component oracle.ovm, 19.0.0.0.0... Patching component oracle.oraolap, 19.0.0.0.0... Patching component oracle.nlsrtl.rsf.lbuilder, 19.0.0.0.0... Patching component oracle.rdbms.rat, 19.0.0.0.0... Patching component oracle.ldap.rsf.ic, 19.0.0.0.0... Patching component oracle.rdbms.dv, 19.0.0.0.0... Patching component oracle.xdk, 19.0.0.0.0... Patching component oracle.mgw.common, 19.0.0.0.0... Patching component oracle.ldap.client, 19.0.0.0.0... Patching component oracle.install.deinstalltool, 19.0.0.0.0... Patching component oracle.rdbms.rman, 19.0.0.0.0... Patching component oracle.oraolap.api, 19.0.0.0.0... Patching component oracle.dbtoolslistener, 19.0.0.0.0... Patching component oracle.rdbms.drdaas, 19.0.0.0.0... Patching component oracle.rdbms.hs_common, 19.0.0.0.0... Patching component oracle.rdbms.lbac, 19.0.0.0.0... Patching component oracle.sdo.locator, 19.0.0.0.0... Patching component oracle.rdbms.dm, 19.0.0.0.0... Patching component oracle.ldap.ssl, 19.0.0.0.0... Patching component oracle.xdk.parser.java, 19.0.0.0.0... Patching component oracle.odbc, 19.0.0.0.0... Patching component oracle.network.listener, 19.0.0.0.0... Patching component oracle.ctx.atg, 19.0.0.0.0... Patching component oracle.rdbms.install.common, 19.0.0.0.0... Patching component oracle.rdbms.hsodbc, 19.0.0.0.0... Patching component oracle.network.aso, 19.0.0.0.0... Patching component oracle.rdbms.locator, 19.0.0.0.0... Patching component oracle.rdbms.install.plugins, 19.0.0.0.0... Patching component oracle.nlsrtl.rsf, 19.0.0.0.0... Patching component oracle.nlsrtl.rsf.core, 19.0.0.0.0... Patching component oracle.nlsrtl.rsf.ic, 19.0.0.0.0... Patching component oracle.oraolap.dbscripts, 19.0.0.0.0... Patching component oracle.network.client, 19.0.0.0.0... Patching component oracle.precomp.common, 19.0.0.0.0... Patching component oracle.precomp.lang, 19.0.0.0.0... Patching component oracle.jdk, 1.8.0.201.0... Patch 36912597 successfully applied. Sub-set patch [29517242] has become inactive due to the application of a super-set patch [36912597]. Please refer to Doc ID 2161861.1 for any possible further required actions. Log file location: /u01/app/oracle/product/19.0.0/dbhome_1/cfgtoollogs/opatch/opatch2025-03-17_19-56-53PM_1.log OPatch succeeded. [oracle@oemdb 36912597]$ [oracle@oemdb 36912597]$ opatch lspatches 36912597;Database Release Update : 19.25.0.0.241015 (36912597) 29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399) OPatch succeeded. [oracle@oemdb 36912597]$ sqlplus -v SQL*Plus: Release 19.0.0.0.0 - Production Version 19.25.0.0.0 [oracle@oemdb 36912597]$ cd /u01/PATCH [oracle@oemdb PATCH]$ ls -ltr drwxr-x--- 8 oracle oinstall 159 Oct 11 11:16 36916690 -rw-rw-r-- 1 oracle oinstall 2537084 Oct 15 20:06 PatchSearch.xml -rwxrwxrwx 1 root root 3369893688 Mar 17 19:41 p36916690_190000_Linux-x86-64.zip -rwxrwxrwx 1 root root 131979850 Mar 17 19:41 p6880880_190000_Linux-x86-64.zip = [oracle@oemdb PATCH]$ rm -rf * [oracle@oemdb PATCH]$ ll total 0 Datapatch -Verbose Command: SQL> shut immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area 2415915888 bytes Fixed Size 8942448 bytes Variable Size 520093696 bytes Database Buffers 1879048192 bytes Redo Buffers 7831552 bytes Database mounted. Database opened. SQL> exit Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.25.0.0.0 [oracle@oemdb setup]$ cd $ORACLE_HOME/OPatch [oracle@oemdb OPatch]$ ./datapatch -sanity_checks SQL Patching sanity checks version 19.25.0.0.0 on Mon 17 Mar 2025 08:35:12 PM IST Copyright (c) 2021, 2025, Oracle. All rights reserved. Log file for this invocation: /u01/app/oracle/cfgtoollogs/sqlpatch/sanity_checks_20250317_203512_16281/sanity_checks_20250317_203512_16281.log Running checks JSON report generated in /u01/app/oracle/cfgtoollogs/sqlpatch/sanity_checks_20250317_203512_16281/sqlpatch_sanity_checks_summary.json file Checks completed. Printing report: Check: Database component status - OK Check: PDB Violations - OK Check: Invalid System Objects - OK Check: Tablespace Status - OK Check: Backup jobs - OK Check: Temp file exists - OK Check: Temp file online - OK Check: Data Pump running - OK Check: Container status - OK Check: Oracle Database Keystore - OK Check: Dictionary statistics gathering - OK Check: Scheduled Jobs - OK Check: GoldenGate triggers - OK Check: Logminer DDL triggers - OK Check: Check sys public grants - OK Check: Statistics gathering running - OK Check: Optim dictionary upgrade parameter - OK Check: Symlinks on oracle home path - OK Check: Central Inventory - OK Check: Queryable Inventory dba directories - OK Check: Queryable Inventory locks - OK Check: Queryable Inventory package - ERROR Datapatch uses Queryable Inventory to get OPatch Inventory information and create a patching installation plan. The Queryable Inventory package is not able to retrieve OPatch Inventory information. Refer to MOS Note 1602089.1 for details on verifying the Queryable Inventory package before patching. oem: | RESULT | |---------| | Failure | |---------| Check: Queryable Inventory external table - SKIPPED (ERROR) Message: Skipped as previous check wasn't executed successfully. Check: Imperva processes - OK Check: Guardium processes - OK Check: Locale - OK Refer to MOS Note 2680521.1 and debug log /u01/app/oracle/cfgtoollogs/sqlpatch/sanity_checks_20250317_203512_16281/sanity_checks_debug_20250317_203512_16281.log SQL Patching sanity checks completed on Mon 17 Mar 2025 08:35:17 PM IST [oracle@oemdb OPatch]$ ./datapatch -verbose SQL Patching tool version 19.25.0.0.0 Production on Mon Mar 17 20:35:45 2025 Copyright (c) 2012, 2024, Oracle. All rights reserved. Log file for this invocation: /u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_16520_2025_03_17_20_35_45/sqlpatch_invocation.log Connecting to database...OK Gathering database info...done Bootstrapping registry and package to current versions...done Determining current state...done Current state of interim SQL patches: No interim patches found Current state of release update SQL patches: Binary registry: 19.25.0.0.0 Release_Update 241010184253: Installed SQL registry: Applied 19.3.0.0.0 Release_Update 190410122720 successfully on 27-FEB-25 02.16.44.274657 PM Adding patches to installation queue and performing prereq checks...done Installation queue: No interim patches need to be rolled back Patch 36912597 (Database Release Update : 19.25.0.0.241015 (36912597)): Apply from 19.3.0.0.0 Release_Update 190410122720 to 19.25.0.0.0 Release_Update 241010184253 No interim patches need to be applied Installing patches... Patch installation complete. Total patches installed: 1 Validating logfiles...done Patch 36912597 apply: SUCCESS logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/36912597/25871884/36912597_apply_OEM_2025Mar17_20_36_33.log (no errors) SQL Patching tool complete on Mon Mar 17 20:44:55 2025 |
Step 5: Start OEM 24ai Installation
Login by oracle user, go to the setup location and run below command to initiate the OEM GUI.
[oracle@oemdb ~]$ id
uid=1001(oracle) gid=1002(oinstall) groups=1002(oinstall),1003(dba)
[oracle@oemdb ~]$ cd setup/
[oracle@oemdb setup]$ ls -ltr
-r--r--r-- 1 oracle oinstall 1532547277 Dec 5 15:50 em24100_linux64-2.zip
-r--r--r-- 1 oracle oinstall 1921746092 Dec 5 15:50 em24100_linux64-3.zip
-r--r--r-- 1 oracle oinstall 1679195212 Dec 5 15:51 em24100_linux64-4.zip
-r--r--r-- 1 oracle oinstall 1669545724 Dec 5 15:52 em24100_linux64-5.zip
-r-xr-xr-x 1 oracle oinstall 1624325096 Dec 5 15:53 em24100_linux64.bin
[oracle@oemdb setup]$ ./em24100_linux64.bin
Launcher log file is /tmp/OraInstall2025-04-11_05-42-52PM/launcher2025-04-11_05-42-52PM.log.
Extracting the installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Done
Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed
Checking swap space: must be greater than 512 MB. Actual 8083 MB Passed
Checking if this platform requires a 64-bit JVM. Actual 64 Passed (-d64 flag is not required)
Preparing to launch the Oracle Universal Installer from /tmp/OraInstall2025-04-11_05-42-52PM
......
Host name: oem.localdomain
PORT : 1521
Service: oem
Sys User Password : sys123
SQL> set lines 300 pages 3000
SQL> col property_name for a30
SQL> col property_value for a30
SQL> select property_name,property_value from database_properties where PROPERTY_NAME in('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET') order by 1;
PROPERTY_NAME PROPERTY_VALUE
-------------------------- ----------------
NLS_CHARACTERSET AL32UTF8
NLS_NCHAR_CHARACTERSET AL16UTF16
Please note down the SYSMAN user and Agent Regitration password. This screen give the data file names and locations of Management, Configuration, and JVM.
OEM requires allocation of several ports for internal communication between system components and to provide access to the console through a browser. In the below screen, recommended port ranges have been given for each component. By default, the first available port in the specified port range has been given.
You can see the textual format of allroot.sh script as below. [root@oemdb ~]# hostname oemdb.localdomain [root@oemdb ~]# id uid=0(root) gid=0(root) groups=0(root) [root@oemdb ~]# /u01/app/oracle/middleware/oms_home/allroot.sh Starting to execute allroot.sh ......... Starting to execute /u01/app/oracle/middleware/oms_home/root.sh ...... Check /u01/app/oracle/middleware/oms_home/install/root_oemdb.localdomain_2025-04-28_21-09-34-206849739.log for the output of root script Finished product-specific root actions. /etc exist Finished execution of /u01/app/oracle/middleware/oms_home/root.sh ...... Starting to execute /u01/app/oracle/agent/agent_24.1.0.0.0/root.sh ...... Finished product-specific root actions. /etc exist Finished execution of /u01/app/oracle/agent/agent_24.1.0.0.0/root.sh ...... [root@oemdb ~]# We can see the logfile of allroot.sh script. [root@oemdb ~]# cat /u01/app/oracle/middleware/oms_home/install/root_oemdb.localdomain_2025-04-28_21-09-34-206849739.log Performing root user operation. The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /u01/app/oracle/middleware/oms_home Copying dbhome to /usr/local/bin ... Copying oraenv to /usr/local/bin ... Copying coraenv to /usr/local/bin ... Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root script. Now product-specific root actions will be performed. /etc exist Creating /etc/oragchomelist file... Creating /etc/oragchomelist file... /u01/app/oracle/middleware/oms_home |
Once the allroot.sh script is completed then click OK to continue.
Use the following URL to access:
1. Enterprise Manager Cloud Control URL: https://oemdb.localdomain:7803/em
2. Admin Server URL: https://oemdb.localdomain:7102/console
The following details need to be provided while installing an additional OMS:
1. Admin Server Host Name: oemdb.localdomain
2. Admin Server Port: 7102
From Linux Machine, open the Firefox browser, and copy both the URLs availability. We have already noted down the username and password to login.
Issues faced during Installation:
1) Issue: Installation was taking longer time as many datafile resize operations were observed in alert log. 2025-04-28T20:07:56.644938+05:30 Resize operation completed for file# 3, fname /u01/oradata/data/OEM/sysaux01.dbf, old size 880640K, new size 890880K 2025-04-28T20:07:57.586795+05:30 ... 2025-04-28T20:07:56.644938+05:30 Resize operation completed for file# 3, fname /u01/oradata/data/OEM/sysaux01.dbf, old size 880640K, new size 890880K 2025-04-28T20:07:57.586795+05:30 Process termination requested for pid 269479 [source = rdbms], [info = 0] [request issued by pid: 269619, uid: 1001] 2025-04-28T20:08:05.292709+05:30 Resize operation completed for file# 1, fname /u01/oradata/data/OEM/system01.dbf, old size 1464320K, new size 1474560K 2025-04-28T20:09:45.051018+05:30 ..... Solution: Since the datafile was already in AUTOEXTEND mode, resize was not needed, but this is needed to avoid resize operations or you can resize data files to maximum size and disable autoextensibility. SQL> alter database datafile 8 resize 5g; Database altered. SQL> alter database datafile 1 resize 3g; Database altered. SQL> alter database datafile 3 resize 1g; Database altered. 2) Issue: The wait events "log buffer space" and "shared pool latch" were observed in session during installation process. +---+-----+---------+-------------+------------------------+---+--------+----+ |INS| SID | USERNAME| SQL_ID | EVENT |ET | STATUS | BS | +---+-----+---------+-------------+------------------------+---+--------+----+ | 1 | 290| SYS |4z66cpjz29fcu| log buffer space 0 | ACTIVE | | | 1 | 10| | | log file parallel write|48 | ACTIVE | | +---+-----+---------+-------------+------------------------+---+--------+----+ +---+-----+---------+-------------+------------------------+---+--------+----+ |INS| SID | USERNAME| SQL_ID | EVENT |ET | STATUS | BS | +---+-----+---------+-------------+------------------------+---+--------+----+ | 1 | 290| SYS |cdamsm7xtd4p6| log buffer space 0 | ACTIVE | | +---+-----+---------+-------------+------------------------+---+--------+----+ +---+-----+---------+-------------+------------------------+---+--------+----+ |INS| SID | USERNAME| SQL_ID | EVENT |ET | STATUS | BS | +---+-----+---------+-------------+------------------------+---+--------+----+ | 1 | 290| SYS |4t6vftg9a223b| log buffer space 0 | ACTIVE | | | 1 | 10| | | log file parallel write|48 | ACTIVE | | +---+-----+---------+-------------+------------------------+---+--------+----+ +---+-----+---------+-------------+------------------------+---+--------+----+ |INS| SID | USERNAME| SQL_ID | EVENT |ET | STATUS | BS | +---+-----+---------+-------------+------------------------+---+--------+----+ | 1 | 290| SYS |csx5utrfc1jbf| log buffer space 0 | ACTIVE | | +---+-----+---------+-------------+------------------------+---+--------+----+ +---+-----+---------+-------------+------------------------+---+--------+----+ |INS| SID | USERNAME| SQL_ID | EVENT |ET | STATUS | BS | +---+-----+---------+-------------+------------------------+---+--------+----+ | 1 | 290| SYS |5rx3aznhpwu28| latch: shared pool 0 | ACTIVE | | | 1 | 10| | | log file parallel write|48 | ACTIVE | | +---+-----+---------+-------------+------------------------+---+--------+----+ Solution: 1) Increased shared_pool size to 900MB as it was growing in v$SGA_dynamic_components. SQL> alter system set shared_pool_size=900m; System altered. 2) Increased redo log file size to 300MB. SQL> set lines 300 pages 3000 SQL> select * from v$log; +--------+-----------+------------+------------+---------+----------+ | GROUP# | SEQUENCE# | BYTES | BLOCKSIZE | MEMBERS | STATUS | +--------+-----------+------------+------------+---------+----------+ | 1 | 13 | 209,715,200| 512 | 1 | INACTIVE | | 2 | 14 | 209,715,200| 512 | 1 | CURRENT | | 3 | 12 | 209,715,200| 512 | 1 | INACTIVE | +--------+-----------+------------+------------+---------+----------+ SQL> alter database add logfile group 4 ('/u01/oradata/data/OEM/redo04.log') size 300m; Database altered. SQL> alter database add logfile group 5 ('/u01/oradata/data/OEM/redo05.log') size 300m; Database altered. SQL> alter database add logfile group 6 ('/u01/oradata/data/OEM/redo06.log') size 300m; Database altered. SQL> select GROUP#,SEQUENCE#,BYTES,BLOCKSIZE,MEMBERS,STATUS from v$log; +--------+-----------+------------+------------+---------+----------+ | GROUP# | SEQUENCE# | BYTES | BLOCKSIZE | MEMBERS | STATUS | +--------+-----------+------------+------------+---------+----------+ | 1 | 13 | 209,715,200| 512 | 1 | INACTIVE | | 2 | 14 | 209,715,200| 512 | 1 | CURRENT | | 3 | 12 | 209,715,200| 512 | 1 | INACTIVE | | 4 | 0 | 314,572,800| 512 | 1 | UNUSED | | 5 | 0 | 314,572,800| 512 | 1 | UNUSED | | 6 | 0 | 314,572,800| 512 | 1 | UNUSED | +--------+-----------+------------+------------+---------+----------+ SQL> alter database drop logfile group 1; Database altered. SQL> alter database drop logfile group 2; Database altered. SQL> alter database drop logfile group 3; Database altered. SQL> select GROUP#,SEQUENCE#,BYTES,BLOCKSIZE,MEMBERS,STATUS from v$log; +--------+-----------+------------+------------+---------+----------+ | GROUP# | SEQUENCE# | BYTES | BLOCKSIZE | MEMBERS | STATUS | +--------+-----------+------------+------------+---------+----------+ | 4 | 15 | 314,572,800| 512 | 1 | CURRENT | | 5 | 0 | 314,572,800| 512 | 1 | UNUSED | | 6 | 0 | 314,572,800| 512 | 1 | UNUSED | +--------+-----------+------------+------------+---------+----------+ |
Thanks for reading this post ! Please comment if you like this post ! Click FOLLOW to get future blog updates !
Very useful
ReplyDelete