The patching was just "hanging" without any sign of progress. I left the shell for several hours, thinking progress would eventually be made and patience would be needed.
When I came back the morning after, it had not progressed at all.
The solution was found in the logfiles located $ORACLE_BASE/cfgtoollogs:
cd $ORACLE_BASE/cfgtoollogs/sqlpatch # list your directories. Enter the most recent ones: ls -latr drwxr-xr-x 2 oracle dba 4.0K Feb 1 18:25 sqlpatch_9072_2024_02_01_18_13_47 drwxr-xr-x 2 oracle dba 4.0K May 14 09:21 sqlpatch_2561578_2024_05_14_09_20_33 -rw-r--r-- 1 oracle dba 0 May 23 18:12 36199232_25601966.lock drwxr-xr-x 3 oracle dba 4.0K May 23 18:12 36199232 -rw-r--r-- 1 oracle dba 0 May 23 18:12 36420641_25643730.lock drwxr-xr-x 3 oracle dba 4.0K May 23 18:12 36420641 -rw-r--r-- 1 oracle dba 0 May 23 18:12 36233263_25638263.lock drwxr-xr-x 3 oracle dba 4.0K May 23 18:12 36233263 drwxr-xr-x 2 oracle dba 4.0K May 23 18:25 sqlpatch_4642_2024_05_23_18_11_41 drwxr-xr-x 2 oracle dba 4.0K Jul 12 10:30 sqlpatch_1073748_2024_07_12_10_13_30 cd sqlpatch_1073748_2024_07_12_10_13_30 ls -altrh total 75M -rw-r--r-- 1 oracle dba 12K Jul 12 10:14 install1.sql -rw------- 1 oracle dba 3.7M Jul 12 10:26 sqlpatch_catcon_0.log -rw------- 1 oracle dba 689 Jul 12 10:26 sqlpatch_catcon__catcon_1073748.lst -rw-r--r-- 1 oracle dba 12K Jul 12 10:26 sqlpatch_summary.json -rw-r--r-- 1 oracle dba 133 Jul 12 10:26 sqlpatch_progress.json -rw-r--r-- 1 oracle dba 5.5M Jul 12 10:26 sqlpatch_invocation.log -rw-r--r-- 1 oracle dba 66M Jul 12 10:26 sqlpatch_debug.logThe source of the error was found in the file sqlpatch_catcon_0.log:
CREATE OR REPLACE PACKAGE BODY ku$_dpload AS * ERROR at line 1: ORA-00604: error occurred at recursive SQL level 1 ORA-01653: unable to extend table SYS.SOURCE$ by 8192 in tablespace SYSTEMThis simple error caused the rest of the script to fail:
SQL> -- SQL> -- ============================================================================ SQL> -- BEGINNING OF APPLY EXECUTION SQL> -- ============================================================================ SQL> -- SQL> -- Initial phase sets up internal infrastructure for rest of dpload. SQL> -- SQL> SELECT ku$_dpload.prepare('setup') AS fname FROM sys.dual; SELECT ku$_dpload.prepare('setup') AS fname FROM sys.dual * ERROR at line 1: ORA-04067: not executed, package body "SYS.KU$_DPLOAD" does not exist ORA-06508: PL/SQL: could not find program unit being called: "SYS.KU$_DPLOAD" ORA-06512: at line 1Obvious solution: Increase the tablespace datafile, or add a new file:
sqlplus / as sysdba alter session set container=PDB01; select f.file_name,f.bytes/1024/1024 "MB", f.autoextensible,f.maxbytes/1024/1024 "MaxMB", t.bigfile from dba_data_files f, v$tablespace t where f.tablespace_name='SYSTEM' and f.tablespace_name = t.name;
FILE_NAME | MB | AUTOEXTENSIBLE | MaxMB | BIGFILE |
---|---|---|---|---|
/oradata/pdb01/system01.dbf | 32712 |
YES | 32767,984375 |
NO |
Add a datafile, still in the same session connected to the PDB01:
alter tablespace system add datafile '/oradata/pdb01/system02.dbf' size 256M autoextend on next 128M maxsize unlimited;