Skip to main content

Cross Platform RMAN Restoration || Windows to Linux



  • Introduction: In this article, we will do database migration from Windows to Linux via RMAN step by step. It can also be referred as Cross Platform restoration using RMAN from Windows to Linux.

  • Patch consideration: As Oracle provides different patches of Windows & Linux, so it is a best practice to run the datapatch verbose post restoration to update the sql patch registery.

  • Environment:
  • Source Database
    Hostname oraeasy
    OS Windows 11
    Database Name ORCL
    Database Version 19c(19.27)
    Oracle Home D:\app\oracle\product\19c\db_home1
    Datafile Location D:\app\oracle\oradata\ORCL

    Target Database
    Hostname uat.oraeasy.com
    OS OL 8
    Database Version 19c(19.27)
    Oracle Home /u01/app/oracle/product/19c/db_home
    Datafile Location /u01/app/oracle/oradata/orcl

  • Now proceed for migration activity step by step:

1. Take precheck at source.
First create a table with test user so that data can be validated post upgradation:

SQL> show user
USER is "TEST"
SQL> def
DEFINE _DATE           = "04-SEP-25" (CHAR)
DEFINE _CONNECT_IDENTIFIER = "orclpdb" (CHAR)
DEFINE _USER           = "TEST" (CHAR)
DEFINE _PRIVILEGE      = "" (CHAR)
DEFINE _SQLPLUS_RELEASE = "1927000000" (CHAR)
DEFINE _EDITOR         = "Notepad" (CHAR)
DEFINE _O_VERSION      = "Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.27.0.0.0" (CHAR)
DEFINE _O_RELEASE      = "1927000000" (CHAR)
SQL>
SQL>
SQL> CREATE TABLE COMPANY (EMP_ID INT,NAME VARCHAR(255), COMPANY VARCHAR(255));

Table created.

SQL> INSERT INTO COMPANY VALUES (101,'Yash','WIPRO');

1 row created.

SQL> INSERT INTO COMPANY VALUES (102,'Vijay','AIRTEL');

1 row created.

SQL> INSERT INTO COMPANY VALUES (103,'Riya','TCS');

1 row created.

SQL> commit;

Commit complete.

SQL> select count(*) from company;

  COUNT(*)
----------
         3
Now take Precheck like Database size, Patch , Invalid object count & Registery Components:

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB                        READ WRITE NO
         
SQL> SELECT name,db_unique_name,database_role,log_mode from v$database;

NAME      DB_UNIQUE_NAME                 DATABASE_ROLE    LOG_MODE
--------- ------------------------------ ---------------- ------------
ORCL      orcl                           PRIMARY          ARCHIVELOG

SQL>
SQL> SELECT
        (SELECT SUM(bytes)/1024/1024/1024 FROM dba_data_files) +
        (SELECT NVL(SUM(bytes),0)/1024/1024/1024 FROM dba_temp_files) +
        (SELECT SUM(bytes)/1024/1024/1024 FROM sys.v_$log) +
        (SELECT SUM(block_size*file_size_blks)/1024/1024/1024 FROM v$controlfile) "Size in GB"
    FROM dual;

Size in GB
----------
1.86004639

SQL> COLUMN action_time FORMAT A20
SQL> COLUMN action FORMAT A10
SQL> COLUMN status FORMAT A10
SQL> COLUMN description FORMAT A60
SQL> SELECT patch_uid, patch_id, source_version, target_version, 
     action, status, action_time, description 
     FROM dba_registry_sqlpatch;

 PATCH_UID   PATCH_ID SOURCE_VERSION  TARGET_VERSION  ACTION     STATUS     ACTION_TIME          DESCRIPTION
---------- ---------- --------------- --------------- ---------- ---------- -------------------- ------------------------------------------------------------
  26102912   37532350 19.1.0.0.0      19.27.0.0.0     APPLY      SUCCESS    03-SEP-25 04.54.27.5 Windows Database Bundle Patch : 19.27.0.0.250415 (37532350)
                                                                            83000 PM
SQL> COLUMN comp_id FORMAT A10
SQL> COLUMN version FORMAT A11
SQL> COLUMN status FORMAT A10
SQL> COLUMN comp_name FORMAT A37
SQL> SELECT comp_id, comp_name, version, status FROM dba_registry;

COMP_ID    COMP_NAME                             VERSION     STATUS
---------- ------------------------------------- ----------- ----------
CATALOG    Oracle Database Catalog Views         19.0.0.0.0  VALID
CATPROC    Oracle Database Packages and Types    19.0.0.0.0  VALID
RAC        Oracle Real Application Clusters      19.0.0.0.0  OPTION OFF
JAVAVM     JServer JAVA Virtual Machine          19.0.0.0.0  VALID
XML        Oracle XDK                            19.0.0.0.0  VALID
CATJAVA    Oracle Database Java Packages         19.0.0.0.0  VALID
APS        OLAP Analytic Workspace               19.0.0.0.0  VALID
XDB        Oracle XML Database                   19.0.0.0.0  VALID
OWM        Oracle Workspace Manager              19.0.0.0.0  VALID
CONTEXT    Oracle Text                           19.0.0.0.0  VALID
ORDIM      Oracle Multimedia                     19.0.0.0.0  VALID
SDO        Spatial                               19.0.0.0.0  VALID
XOQ        Oracle OLAP API                       19.0.0.0.0  VALID
OLS        Oracle Label Security                 19.0.0.0.0  VALID
DV         Oracle Database Vault                 19.0.0.0.0  VALID

15 rows selected.

SQL> select count(*) from dba_objects where status='INVALID';

  COUNT(*)
----------
         0

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB                        READ WRITE NO
SQL> alter session set container=ORCLPDB;

Session altered.

SQL> SELECT comp_id, comp_name, version, status FROM dba_registry;

COMP_ID    COMP_NAME                             VERSION     STATUS
---------- ------------------------------------- ----------- ----------
CATALOG    Oracle Database Catalog Views         19.0.0.0.0  VALID
CATPROC    Oracle Database Packages and Types    19.0.0.0.0  VALID
RAC        Oracle Real Application Clusters      19.0.0.0.0  OPTION OFF
JAVAVM     JServer JAVA Virtual Machine          19.0.0.0.0  VALID
XML        Oracle XDK                            19.0.0.0.0  VALID
CATJAVA    Oracle Database Java Packages         19.0.0.0.0  VALID
APS        OLAP Analytic Workspace               19.0.0.0.0  VALID
XDB        Oracle XML Database                   19.0.0.0.0  VALID
OWM        Oracle Workspace Manager              19.0.0.0.0  VALID
CONTEXT    Oracle Text                           19.0.0.0.0  VALID
ORDIM      Oracle Multimedia                     19.0.0.0.0  VALID
SDO        Spatial                               19.0.0.0.0  VALID
XOQ        Oracle OLAP API                       19.0.0.0.0  VALID
OLS        Oracle Label Security                 19.0.0.0.0  VALID
DV         Oracle Database Vault                 19.0.0.0.0  VALID

15 rows selected.

SQL> select count(*) from dba_objects where status='INVALID';

  COUNT(*)
----------
         0
2. Now take full database backup using RMAN

C:\Users\oraeasy>rman target /

Recovery Manager: Release 19.0.0.0.0 - Production on Thu Sep 4 12:03:42 2025
Version 19.27.0.0.0

Copyright (c) 1982, 2025, Oracle and/or its affiliates.  All rights reserved.

connected to target database: ORCL (DBID=1738304883)

RMAN> report schema;
report schema;
using target database control file instead of recovery catalog
Report of database schema for database with db_unique_name ORCL

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    1100     SYSTEM               YES     D:\APP\ORACLE\ORADATA\ORCL\SYSTEM01.DBF
3    790      SYSAUX               NO      D:\APP\ORACLE\ORADATA\ORCL\SYSAUX01.DBF
4    445      UNDOTBS1             YES     D:\APP\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF
5    440      PDB$SEED:SYSTEM      NO      D:\APP\ORACLE\ORADATA\ORCL\PDBSEED\SYSTEM01.DBF
6    390      PDB$SEED:SYSAUX      NO      D:\APP\ORACLE\ORADATA\ORCL\PDBSEED\SYSAUX01.DBF
7    5        USERS                NO      D:\APP\ORACLE\ORADATA\ORCL\USERS01.DBF
8    180      PDB$SEED:UNDOTBS1    NO      D:\APP\ORACLE\ORADATA\ORCL\PDBSEED\UNDOTBS01.DBF
9    450      ORCLPDB:SYSTEM       YES     D:\APP\ORACLE\ORADATA\ORCL\ORCLPDB\SYSTEM01.DBF
10   460      ORCLPDB:SYSAUX       NO      D:\APP\ORACLE\ORADATA\ORCL\ORCLPDB\SYSAUX01.DBF
11   190      ORCLPDB:UNDOTBS1     YES     D:\APP\ORACLE\ORADATA\ORCL\ORCLPDB\UNDOTBS01.DBF
12   5        ORCLPDB:USERS        NO      D:\APP\ORACLE\ORADATA\ORCL\ORCLPDB\USERS01.DBF

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    206      TEMP                 32767       D:\APP\ORACLE\ORADATA\ORCL\TEMP01.DBF
2    206      PDB$SEED:TEMP        32767       D:\APP\ORACLE\ORADATA\ORCL\PDBSEED\TEMP012025-08-30_16-44-47-581-PM.DBF
3    174      ORCLPDB:TEMP         32767       D:\APP\ORACLE\ORADATA\ORCL\ORCLPDB\TEMP01.DBF

RMAN> run
{
allocate channel ch1 device type disk;
allocate channel ch2 device type disk;
backup as compressed backupset database format 'E:\RMAN\Fullback_%T_%U';
backup as compressed backupset archivelog all format 'E:\RMAN\Archive_%T_%U';
backup current controlfile format 'E:\RMAN\Controlback_%T_%U';
release channel ch1;
}
   run
2> {
3> allocate channel ch1 device type disk;
4> allocate channel ch2 device type disk;
5> backup as compressed backupset database format 'E:\RMAN\Fullback_%T_%U';
6> backup as compressed backupset archivelog all format 'E:\RMAN\Archive_%T_%U';
7> backup current controlfile format 'E:\RMAN\Controlback_%T_%U';
8> release channel ch1;
9> release channel ch2;
10> }
using target database control file instead of recovery catalog
allocated channel: ch1
channel ch1: SID=273 device type=DISK

allocated channel: ch2
channel ch2: SID=23 device type=DISK

Starting backup at 08-SEP-25
channel ch1: starting compressed full datafile backup set
channel ch1: specifying datafile(s) in backup set
input datafile file number=00001 name=D:\APP\ORACLE\ORADATA\ORCL\SYSTEM01.DBF
input datafile file number=00004 name=D:\APP\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF
channel ch1: starting piece 1 at 08-SEP-25
channel ch2: starting compressed full datafile backup set
channel ch2: specifying datafile(s) in backup set
input datafile file number=00003 name=D:\APP\ORACLE\ORADATA\ORCL\SYSAUX01.DBF
input datafile file number=00007 name=D:\APP\ORACLE\ORADATA\ORCL\USERS01.DBF
channel ch2: starting piece 1 at 08-SEP-25
channel ch2: finished piece 1 at 08-SEP-25
piece handle=E:\RMAN\FULLBACK_20250908_0L435ECP_1_1 tag=TAG20250908T114425 comment=NONE
channel ch2: backup set complete, elapsed time: 00:00:45
channel ch2: starting compressed full datafile backup set
channel ch2: specifying datafile(s) in backup set
input datafile file number=00010 name=D:\APP\ORACLE\ORADATA\ORCL\ORCLPDB\SYSAUX01.DBF
input datafile file number=00011 name=D:\APP\ORACLE\ORADATA\ORCL\ORCLPDB\UNDOTBS01.DBF
channel ch2: starting piece 1 at 08-SEP-25
channel ch2: finished piece 1 at 08-SEP-25
piece handle=E:\RMAN\FULLBACK_20250908_0M435EE6_1_1 tag=TAG20250908T114425 comment=NONE
channel ch2: backup set complete, elapsed time: 00:00:25
channel ch2: starting compressed full datafile backup set
channel ch2: specifying datafile(s) in backup set
input datafile file number=00006 name=D:\APP\ORACLE\ORADATA\ORCL\PDBSEED\SYSAUX01.DBF
input datafile file number=00008 name=D:\APP\ORACLE\ORADATA\ORCL\PDBSEED\UNDOTBS01.DBF
channel ch2: starting piece 1 at 08-SEP-25
channel ch2: finished piece 1 at 08-SEP-25
piece handle=E:\RMAN\FULLBACK_20250908_0N435EF1_1_1 tag=TAG20250908T114425 comment=NONE
channel ch2: backup set complete, elapsed time: 00:00:25
channel ch2: starting compressed full datafile backup set
channel ch2: specifying datafile(s) in backup set
input datafile file number=00009 name=D:\APP\ORACLE\ORADATA\ORCL\ORCLPDB\SYSTEM01.DBF
input datafile file number=00012 name=D:\APP\ORACLE\ORADATA\ORCL\ORCLPDB\USERS01.DBF
channel ch2: starting piece 1 at 08-SEP-25
channel ch1: finished piece 1 at 08-SEP-25
piece handle=E:\RMAN\FULLBACK_20250908_0K435ECP_1_1 tag=TAG20250908T114425 comment=NONE
channel ch1: backup set complete, elapsed time: 00:01:38
channel ch1: starting compressed full datafile backup set
channel ch1: specifying datafile(s) in backup set
input datafile file number=00005 name=D:\APP\ORACLE\ORADATA\ORCL\PDBSEED\SYSTEM01.DBF
channel ch1: starting piece 1 at 08-SEP-25
channel ch1: finished piece 1 at 08-SEP-25
piece handle=E:\RMAN\FULLBACK_20250908_0P435EFS_1_1 tag=TAG20250908T114425 comment=NONE
channel ch1: backup set complete, elapsed time: 00:00:45
channel ch2: finished piece 1 at 08-SEP-25
piece handle=E:\RMAN\FULLBACK_20250908_0O435EFR_1_1 tag=TAG20250908T114425 comment=NONE
channel ch2: backup set complete, elapsed time: 00:00:47
Finished backup at 08-SEP-25

Starting backup at 08-SEP-25
current log archived
channel ch1: starting compressed archived log backup set
channel ch1: specifying archived log(s) in backup set
input archived log thread=1 sequence=33 RECID=33 STAMP=1211281954
channel ch1: starting piece 1 at 08-SEP-25
channel ch2: starting compressed archived log backup set
channel ch2: specifying archived log(s) in backup set
input archived log thread=1 sequence=34 RECID=32 STAMP=1211281954
input archived log thread=1 sequence=35 RECID=34 STAMP=1211281955
input archived log thread=1 sequence=36 RECID=35 STAMP=1211282143
input archived log thread=1 sequence=37 RECID=36 STAMP=1211283452
channel ch2: starting piece 1 at 08-SEP-25
channel ch1: finished piece 1 at 08-SEP-25
piece handle=E:\RMAN\ARCHIVE_20250908_0Q435EHD_1_1 tag=TAG20250908T114653 comment=NONE
channel ch1: backup set complete, elapsed time: 00:00:08
channel ch1: starting compressed archived log backup set
channel ch1: specifying archived log(s) in backup set
input archived log thread=1 sequence=38 RECID=37 STAMP=1211283454
input archived log thread=1 sequence=39 RECID=38 STAMP=1211284013
channel ch1: starting piece 1 at 08-SEP-25
channel ch2: finished piece 1 at 08-SEP-25
piece handle=E:\RMAN\ARCHIVE_20250908_0R435EHD_1_1 tag=TAG20250908T114653 comment=NONE
channel ch2: backup set complete, elapsed time: 00:00:08
channel ch1: finished piece 1 at 08-SEP-25
piece handle=E:\RMAN\ARCHIVE_20250908_0S435EHL_1_1 tag=TAG20250908T114653 comment=NONE
channel ch1: backup set complete, elapsed time: 00:00:01
Finished backup at 08-SEP-25

Starting backup at 08-SEP-25
channel ch1: starting full datafile backup set
channel ch1: specifying datafile(s) in backup set
including current control file in backup set
channel ch1: starting piece 1 at 08-SEP-25
channel ch1: finished piece 1 at 08-SEP-25
piece handle=E:\RMAN\CONTROLBACK_20250908_0T435EHO_1_1 tag=TAG20250908T114704 comment=NONE
channel ch1: backup set complete, elapsed time: 00:00:04
Finished backup at 08-SEP-25

Starting Control File and SPFILE Autobackup at 08-SEP-25
piece handle=D:\APP\ORACLE\FAST_RECOVERY_AREA\ORCL\AUTOBACKUP\2025_09_08\O1_MF_S_1211284036_NCWX7JJ9_.BKP comment=NONE
Finished Control File and SPFILE Autobackup at 08-SEP-25

released channel: ch1

released channel: ch2

RMAN> exit
3. Now create a pfile.

SQL> create pfile='E:\RMAN\WINPFILE.ORA' from spfile;

File created.
4. Now transfer the backup to Linux machine.

E:\RMAN>dir
 Volume in drive E is Personal
 Volume Serial Number is 340F-6A45

 Directory of E:\RMAN

08-09-2025  11:47              .
08-09-2025  11:46        21,840,384 ARCHIVE_20250908_0Q435EHD_1_1
08-09-2025  11:46         7,870,976 ARCHIVE_20250908_0R435EHD_1_1
08-09-2025  11:47         1,790,976 ARCHIVE_20250908_0S435EHL_1_1
08-09-2025  11:47        18,907,136 CONTROLBACK_20250908_0T435EHO_1_1
08-09-2025  11:46       428,711,936 FULLBACK_20250908_0K435ECP_1_1
08-09-2025  11:45        91,234,304 FULLBACK_20250908_0L435ECP_1_1
08-09-2025  11:45        52,060,160 FULLBACK_20250908_0M435EE6_1_1
08-09-2025  11:45        97,861,632 FULLBACK_20250908_0N435EF1_1_1
08-09-2025  11:46       240,009,216 FULLBACK_20250908_0O435EFR_1_1
08-09-2025  11:46       238,952,448 FULLBACK_20250908_0P435EFS_1_1
05-09-2025  16:26             1,180 WINPFILE.ORA
              11 File(s)  1,199,240,348 bytes
               1 Dir(s)  133,782,732,800 bytes free
E:\RMAN>
E:\RMAN>scp * oracle@192.168.1.30:/tmp/rman
oracle@192.168.1.30's password:
ARCHIVE_20250908_0Q435EHD_1_1        100%   21MB  34.5MB/s   00:00
ARCHIVE_20250908_0R435EHD_1_1        100% 7687KB  18.2MB/s   00:00
ARCHIVE_20250908_0S435EHL_1_1        100% 1749KB  21.6MB/s   00:00
CONTROLBACK_20250908_0T435EHO_1_1    100%   18MB  32.5MB/s   00:00
FULLBACK_20250908_0K435ECP_1_1       100%  409MB  20.1MB/s   00:20
FULLBACK_20250908_0L435ECP_1_1       100%   87MB  26.8MB/s   00:03
FULLBACK_20250908_0M435EE6_1_1       100%   50MB  29.5MB/s   00:01
FULLBACK_20250908_0N435EF1_1_1       100%   93MB  30.7MB/s   00:03
FULLBACK_20250908_0O435EFR_1_1       100%  229MB  27.2MB/s   00:08
FULLBACK_20250908_0P435EFS_1_1       100%  228MB  25.6MB/s   00:08
WINPFILE.ORA                         100% 1180   576.1KB/s   00:00
5. Now modify the pfile according to Linux and create required directories.

[oracle@uat rman]$ pwd
/tmp/rman
[oracle@uat rman]$ ls -lrth
total 1.2G
-rwxrwxr-x. 1 oracle oinstall 1.2K Sep  5 12:48 WINPFILE.ORA
-rwxrwxr-x. 1 oracle oinstall  15M Sep  5 16:28 ARCHIVE_20250905_0H42U1I6_1_1
-rwxrwxr-x. 1 oracle oinstall  19M Sep  5 16:28 CONTROLBACK_20250905_0I42U1IF_1_1
-rwxrwxr-x. 1 oracle oinstall 496M Sep  5 16:28 FULLBACK_20250905_0E42U1AU_1_1
-rwxrwxr-x. 1 oracle oinstall 280M Sep  5 16:29 FULLBACK_20250905_0F42U1DT_1_1
-rwxrwxr-x. 1 oracle oinstall 322M Sep  5 16:29 FULLBACK_20250905_0G42U1G0_1_1
[oracle@uat rman]$ cat WINPFILE.ORA
orcl.__data_transfer_cache_size=0
orcl.__db_cache_size=3791650816
orcl.__inmemory_ext_roarea=0
orcl.__inmemory_ext_rwarea=0
orcl.__java_pool_size=184549376
orcl.__large_pool_size=16777216
orcl.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=1711276032
orcl.__sga_target=5100273664
orcl.__shared_io_pool_size=134217728
orcl.__shared_pool_size=956301312
orcl.__streams_pool_size=0
orcl.__unified_pga_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.audit_trail='db'
*.compatible='19.0.0'
*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/fast_recovery_area/orcl/control02.ctl'
*.db_block_size=8192
*.db_name='orcl'
*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area/orcl'
*.db_recovery_file_dest_size=12732m
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.enable_pluggable_database=true
*.log_archive_format='%t_%s_%r.dbf'
*.nls_language='AMERICAN'
*.nls_territory='AMERICA'
*.open_cursors=300
*.pga_aggregate_target=1617m
*.processes=320
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=4849m
*.undo_tablespace='UNDOTBS1'
[oracle@uat rman]$

[oracle@uat ~]$ mkdir -p /u01/app/oracle/admin/orcl/adump
[oracle@uat ~]$ mkdir -p /u01/app/oracle/oradata/orcl
[oracle@uat ~]$ mkdir -p /u01/app/oracle/fast_recovery_area/orcl
[oracle@uat ~]$ mkdir -p /u01/app/oracle/oradata/orcl/PDBSEED
[oracle@uat ~]$ mkdir -p /u01/app/oracle/oradata/orcl/ORCLPDB
6. Set the environment and start the database in nomount mode.

[oracle@uat ~]$ . oraenv
ORACLE_SID = [devdb] ? orcl
ORACLE_HOME = [/home/oracle] ? /u01/app/oracle/product/19c/db_home
The Oracle base remains unchanged with value /u01/app/oracle
[oracle@uat ~]$
[oracle@uat ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Sep 4 14:07:26 2025
Version 19.27.0.0.0

Copyright (c) 1982, 2024, Oracle.  All rights reserved.

Connected to an idle instance.

SQL>
SQL> def
DEFINE _DATE           = "04-SEP-25" (CHAR)
DEFINE _CONNECT_IDENTIFIER = "orcl" (CHAR)
DEFINE _USER           = "SYS" (CHAR)
DEFINE _PRIVILEGE      = "AS SYSDBA" (CHAR)
DEFINE _SQLPLUS_RELEASE = "1925000000" (CHAR)
DEFINE _EDITOR         = "vi" (CHAR)
DEFINE _O_VERSION      = "" (CHAR)
DEFINE _O_RELEASE      = "" (CHAR)
SQL>
SQL> startup nomount pfile='/tmp/rman/WINPFILE.ORA';
ORACLE instance started.

Total System Global Area 3221225296 bytes
Fixed Size                  9183056 bytes
Variable Size             654311424 bytes
Database Buffers         2550136832 bytes
Redo Buffers                7593984 bytes
SQL> exit
7. Restore the controlfile and mount the database.

[oracle@uat ~]$ rman target /

Recovery Manager: Release 19.0.0.0.0 - Production on Fri Sep 5 12:48:55 2025
Version 19.27.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

connected to target database: ORCL (not mounted)

RMAN> restore controlfile from '/tmp/rman/CONTROLBACK_20250908_0T435EHO_1_1';
restore controlfile from '/tmp/rman/CONTROLBACK_20250908_0T435EHO_1_1';
Starting restore at 08-SEP-25
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=19 device type=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:04
output file name=/u01/app/oracle/oradata/orcl/control01.ctl
output file name=/u01/app/oracle/fast_recovery_area/orcl/control02.ctl
Finished restore at 08-SEP-25
RMAN>
RMAN> alter database mount;
alter database mount;
released channel: ORA_DISK_1
Statement processed

RMAN> report schema;
report schema;
RMAN-06139: warning: control file is not current for REPORT SCHEMA
Report of database schema for database with db_unique_name ORCL

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    0        SYSTEM               ***     D:\APP\ORACLE\ORADATA\ORCL\SYSTEM01.DBF
3    0        SYSAUX               ***     D:\APP\ORACLE\ORADATA\ORCL\SYSAUX01.DBF
4    0        UNDOTBS1             ***     D:\APP\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF
5    0        PDB$SEED:SYSTEM      ***     D:\APP\ORACLE\ORADATA\ORCL\PDBSEED\SYSTEM01.DBF
6    0        PDB$SEED:SYSAUX      ***     D:\APP\ORACLE\ORADATA\ORCL\PDBSEED\SYSAUX01.DBF
7    0        USERS                ***     D:\APP\ORACLE\ORADATA\ORCL\USERS01.DBF
8    0        PDB$SEED:UNDOTBS1    ***     D:\APP\ORACLE\ORADATA\ORCL\PDBSEED\UNDOTBS01.DBF
9    0        ORCLPDB:SYSTEM       ***     D:\APP\ORACLE\ORADATA\ORCL\ORCLPDB\SYSTEM01.DBF
10   0        ORCLPDB:SYSAUX       ***     D:\APP\ORACLE\ORADATA\ORCL\ORCLPDB\SYSAUX01.DBF
11   0        ORCLPDB:UNDOTBS1     ***     D:\APP\ORACLE\ORADATA\ORCL\ORCLPDB\UNDOTBS01.DBF
12   0        ORCLPDB:USERS        ***     D:\APP\ORACLE\ORADATA\ORCL\ORCLPDB\USERS01.DBF

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    20       TEMP                 32767       D:\APP\ORACLE\ORADATA\ORCL\TEMP01.DBF
2    36       PDB$SEED:TEMP        32767       D:\APP\ORACLE\ORADATA\ORCL\PDBSEED\TEMP012025-08-30_16-44-47-581-PM.DBF
3    36       ORCLPDB:TEMP         32767       D:\APP\ORACLE\ORADATA\ORCL\ORCLPDB\TEMP01.DBF

RMAN>
8. Catalog the backup files.

RMAN> catalog start with '/tmp/rman';
catalog start with '/tmp/rman';
Starting implicit crosscheck backup at 08-SEP-25
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=19 device type=DISK
Crosschecked 9 objects
Finished implicit crosscheck backup at 08-SEP-25

Starting implicit crosscheck copy at 08-SEP-25
using channel ORA_DISK_1
Finished implicit crosscheck copy at 08-SEP-25

searching for all files in the recovery area
cataloging files...
no files cataloged

searching for all files that match the pattern /tmp/rman

List of Files Unknown to the Database
=====================================
File Name: /tmp/rman/ARCHIVE_20250908_0Q435EHD_1_1
File Name: /tmp/rman/ARCHIVE_20250908_0R435EHD_1_1
File Name: /tmp/rman/ARCHIVE_20250908_0S435EHL_1_1
File Name: /tmp/rman/CONTROLBACK_20250908_0T435EHO_1_1
File Name: /tmp/rman/FULLBACK_20250908_0K435ECP_1_1
File Name: /tmp/rman/FULLBACK_20250908_0L435ECP_1_1
File Name: /tmp/rman/FULLBACK_20250908_0M435EE6_1_1
File Name: /tmp/rman/FULLBACK_20250908_0N435EF1_1_1
File Name: /tmp/rman/FULLBACK_20250908_0O435EFR_1_1
File Name: /tmp/rman/FULLBACK_20250908_0P435EFS_1_1
File Name: /tmp/rman/WINPFILE.ORA

Do you really want to catalog the above files (enter YES or NO)? YES
cataloging files...
cataloging done

List of Cataloged Files
=======================
File Name: /tmp/rman/ARCHIVE_20250908_0Q435EHD_1_1
File Name: /tmp/rman/ARCHIVE_20250908_0R435EHD_1_1
File Name: /tmp/rman/ARCHIVE_20250908_0S435EHL_1_1
File Name: /tmp/rman/CONTROLBACK_20250908_0T435EHO_1_1
File Name: /tmp/rman/FULLBACK_20250908_0K435ECP_1_1
File Name: /tmp/rman/FULLBACK_20250908_0L435ECP_1_1
File Name: /tmp/rman/FULLBACK_20250908_0M435EE6_1_1
File Name: /tmp/rman/FULLBACK_20250908_0N435EF1_1_1
File Name: /tmp/rman/FULLBACK_20250908_0O435EFR_1_1
File Name: /tmp/rman/FULLBACK_20250908_0P435EFS_1_1

List of Files Which Were Not Cataloged
=======================================
File Name: /tmp/rman/WINPFILE.ORA
  RMAN-07517: Reason: The file header is corrupted

RMAN>
9.Now execute the restoration script.

RMAN> RUN
{
ALLOCATE CHANNEL c1 DEVICE TYPE disk;
ALLOCATE CHANNEL c2 DEVICE TYPE disk;
set newname for datafile 1  to '/u01/app/oracle/oradata/orcl/SYSTEM01.DBF';
set newname for datafile 3  to '/u01/app/oracle/oradata/orcl/SYSAUX01.DBF';
set newname for datafile 4  to '/u01/app/oracle/oradata/orcl/UNDOTBS01.DBF';
set newname for datafile 5  to '/u01/app/oracle/oradata/orcl/PDBSEED/SYSTEM01.DBF';
set newname for datafile 6  to '/u01/app/oracle/oradata/orcl/PDBSEED/SYSAUX01.DBF';
set newname for datafile 7  to '/u01/app/oracle/oradata/orcl/USERS01.DBF';
set newname for datafile 8  to '/u01/app/oracle/oradata/orcl/PDBSEED/UNDOTBS01.DBF';
set newname for datafile 9  to '/u01/app/oracle/oradata/orcl/ORCLPDB/SYSTEM01.DBF';
set newname for datafile 10 to '/u01/app/oracle/oradata/orcl/ORCLPDB/SYSAUX01.DBF';
set newname for datafile 11 to '/u01/app/oracle/oradata/orcl/ORCLPDB/UNDOTBS01.DBF';
set newname for datafile 12 to '/u01/app/oracle/oradata/orcl/ORCLPDB/USERS01.DBF';
set newname for tempfile  1 to '/u01/app/oracle/oradata/orcl/TEMP01.DBF';
set newname for tempfile  2 to '/u01/app/oracle/oradata/orcl/PDBSEED/TEMP01.DBF';
set newname for tempfile  3 to '/u01/app/oracle/oradata/orcl/ORCLPDB/TEMP01.DBF';
restore database;
switch datafile all;
switch tempfile all;
recover database;
release channel c1;
release channel c2;
}
RMAN> RUN
2> {
3> ALLOCATE CHANNEL c1 DEVICE TYPE disk;
4> ALLOCATE CHANNEL c2 DEVICE TYPE disk;
5> set newname for datafile 1  to '/u01/app/oracle/oradata/orcl/SYSTEM01.DBF';
6> set newname for datafile 3  to '/u01/app/oracle/oradata/orcl/SYSAUX01.DBF';
7> set newname for datafile 4  to '/u01/app/oracle/oradata/orcl/UNDOTBS01.DBF';
8> set newname for datafile 5  to '/u01/app/oracle/oradata/orcl/PDBSEED/SYSTEM01.DBF';
9> set newname for datafile 6  to '/u01/app/oracle/oradata/orcl/PDBSEED/SYSAUX01.DBF';
10> set newname for datafile 7  to '/u01/app/oracle/oradata/orcl/USERS01.DBF';
11> set newname for datafile 8  to '/u01/app/oracle/oradata/orcl/PDBSEED/UNDOTBS01.DBF';
12> set newname for datafile 9  to '/u01/app/oracle/oradata/orcl/ORCLPDB/SYSTEM01.DBF';
13> set newname for datafile 10 to '/u01/app/oracle/oradata/orcl/ORCLPDB/SYSAUX01.DBF';
14> set newname for datafile 11 to '/u01/app/oracle/oradata/orcl/ORCLPDB/UNDOTBS01.DBF';
15> set newname for datafile 12 to '/u01/app/oracle/oradata/orcl/ORCLPDB/USERS01.DBF';
16> set newname for tempfile  1 to '/u01/app/oracle/oradata/orcl/TEMP01.DBF';
17> set newname for tempfile  2 to '/u01/app/oracle/oradata/orcl/PDBSEED/TEMP01.DBF';
18> set newname for tempfile  3 to '/u01/app/oracle/oradata/orcl/ORCLPDB/TEMP01.DBF';
19> restore database;
20> switch datafile all;
21> switch tempfile all;
22> recover database;
23> release channel c1;
24> release channel c2;
25> }
using target database control file instead of recovery catalog
allocated channel: c1
channel c1: SID=252 device type=DISK

allocated channel: c2
channel c2: SID=17 device type=DISK

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting restore at 08-SEP-25

channel c1: starting datafile backup set restore
channel c1: specifying datafile(s) to restore from backup set
channel c1: restoring datafile 00003 to /u01/app/oracle/oradata/orcl/SYSAUX01.DBF
channel c1: restoring datafile 00007 to /u01/app/oracle/oradata/orcl/USERS01.DBF
channel c1: reading from backup piece /tmp/rman/FULLBACK_20250908_0L435ECP_1_1
channel c2: starting datafile backup set restore
channel c2: specifying datafile(s) to restore from backup set
channel c2: restoring datafile 00010 to /u01/app/oracle/oradata/orcl/ORCLPDB/SYSAUX01.DBF
channel c2: restoring datafile 00011 to /u01/app/oracle/oradata/orcl/ORCLPDB/UNDOTBS01.DBF
channel c2: reading from backup piece /tmp/rman/FULLBACK_20250908_0M435EE6_1_1
channel c2: piece handle=/tmp/rman/FULLBACK_20250908_0M435EE6_1_1 tag=TAG20250908T114425
channel c2: restored backup piece 1
channel c2: restore complete, elapsed time: 00:01:26
channel c2: starting datafile backup set restore
channel c2: specifying datafile(s) to restore from backup set
channel c2: restoring datafile 00006 to /u01/app/oracle/oradata/orcl/PDBSEED/SYSAUX01.DBF
channel c2: restoring datafile 00008 to /u01/app/oracle/oradata/orcl/PDBSEED/UNDOTBS01.DBF
channel c2: reading from backup piece /tmp/rman/FULLBACK_20250908_0N435EF1_1_1
channel c1: piece handle=/tmp/rman/FULLBACK_20250908_0L435ECP_1_1 tag=TAG20250908T114425
channel c1: restored backup piece 1
channel c1: restore complete, elapsed time: 00:01:34
channel c1: starting datafile backup set restore
channel c1: specifying datafile(s) to restore from backup set
channel c1: restoring datafile 00001 to /u01/app/oracle/oradata/orcl/SYSTEM01.DBF
channel c1: restoring datafile 00004 to /u01/app/oracle/oradata/orcl/UNDOTBS01.DBF
channel c1: reading from backup piece /tmp/rman/FULLBACK_20250908_0K435ECP_1_1
channel c2: piece handle=/tmp/rman/FULLBACK_20250908_0N435EF1_1_1 tag=TAG20250908T114425
channel c2: restored backup piece 1
channel c2: restore complete, elapsed time: 00:01:08
channel c2: starting datafile backup set restore
channel c2: specifying datafile(s) to restore from backup set
channel c2: restoring datafile 00005 to /u01/app/oracle/oradata/orcl/PDBSEED/SYSTEM01.DBF
channel c2: reading from backup piece /tmp/rman/FULLBACK_20250908_0P435EFS_1_1
channel c2: piece handle=/tmp/rman/FULLBACK_20250908_0P435EFS_1_1 tag=TAG20250908T114425
channel c2: restored backup piece 1
channel c2: restore complete, elapsed time: 00:01:17
channel c2: starting datafile backup set restore
channel c2: specifying datafile(s) to restore from backup set
channel c2: restoring datafile 00009 to /u01/app/oracle/oradata/orcl/ORCLPDB/SYSTEM01.DBF
channel c2: restoring datafile 00012 to /u01/app/oracle/oradata/orcl/ORCLPDB/USERS01.DBF
channel c2: reading from backup piece /tmp/rman/FULLBACK_20250908_0O435EFR_1_1
channel c1: piece handle=/tmp/rman/FULLBACK_20250908_0K435ECP_1_1 tag=TAG20250908T114425
channel c1: restored backup piece 1
channel c1: restore complete, elapsed time: 00:02:26
channel c2: piece handle=/tmp/rman/FULLBACK_20250908_0O435EFR_1_1 tag=TAG20250908T114425
channel c2: restored backup piece 1
channel c2: restore complete, elapsed time: 00:00:56
Finished restore at 08-SEP-25

datafile 1 switched to datafile copy
input datafile copy RECID=15 STAMP=1211294119 file name=/u01/app/oracle/oradata/orcl/SYSTEM01.DBF
datafile 3 switched to datafile copy
input datafile copy RECID=16 STAMP=1211294121 file name=/u01/app/oracle/oradata/orcl/SYSAUX01.DBF
datafile 4 switched to datafile copy
input datafile copy RECID=17 STAMP=1211294122 file name=/u01/app/oracle/oradata/orcl/UNDOTBS01.DBF
datafile 5 switched to datafile copy
input datafile copy RECID=18 STAMP=1211294123 file name=/u01/app/oracle/oradata/orcl/PDBSEED/SYSTEM01.DBF
datafile 6 switched to datafile copy
input datafile copy RECID=19 STAMP=1211294124 file name=/u01/app/oracle/oradata/orcl/PDBSEED/SYSAUX01.DBF
datafile 7 switched to datafile copy
input datafile copy RECID=20 STAMP=1211294124 file name=/u01/app/oracle/oradata/orcl/USERS01.DBF
datafile 8 switched to datafile copy
input datafile copy RECID=21 STAMP=1211294124 file name=/u01/app/oracle/oradata/orcl/PDBSEED/UNDOTBS01.DBF
datafile 9 switched to datafile copy
input datafile copy RECID=22 STAMP=1211294125 file name=/u01/app/oracle/oradata/orcl/ORCLPDB/SYSTEM01.DBF
datafile 10 switched to datafile copy
input datafile copy RECID=23 STAMP=1211294125 file name=/u01/app/oracle/oradata/orcl/ORCLPDB/SYSAUX01.DBF
datafile 11 switched to datafile copy
input datafile copy RECID=24 STAMP=1211294125 file name=/u01/app/oracle/oradata/orcl/ORCLPDB/UNDOTBS01.DBF
datafile 12 switched to datafile copy
input datafile copy RECID=25 STAMP=1211294126 file name=/u01/app/oracle/oradata/orcl/ORCLPDB/USERS01.DBF

renamed tempfile 1 to /u01/app/oracle/oradata/orcl/TEMP01.DBF in control file
renamed tempfile 2 to /u01/app/oracle/oradata/orcl/PDBSEED/TEMP01.DBF in control file
renamed tempfile 3 to /u01/app/oracle/oradata/orcl/ORCLPDB/TEMP01.DBF in control file

Starting recover at 08-SEP-25

starting media recovery

channel c1: starting archived log restore to default destination
channel c1: restoring archived log
archived log thread=1 sequence=39
channel c1: reading from backup piece /tmp/rman/ARCHIVE_20250908_0S435EHL_1_1
channel c1: piece handle=/tmp/rman/ARCHIVE_20250908_0S435EHL_1_1 tag=TAG20250908T114653
channel c1: restored backup piece 1
channel c1: restore complete, elapsed time: 00:00:01
archived log file name=/u01/app/oracle/fast_recovery_area/orcl/ORCL/archivelog/2025_09_08/o1_mf_1_39_ncx72v67_.arc thread=1 sequence=39
channel default: deleting archived log(s)
archived log file name=/u01/app/oracle/fast_recovery_area/orcl/ORCL/archivelog/2025_09_08/o1_mf_1_39_ncx72v67_.arc RECID=39 STAMP=1211294131
unable to find archived log
archived log thread=1 sequence=40
RMAN Command Id : 2025-09-08T14:30:09
RMAN Command Id : 2025-09-08T14:30:09
RMAN Command Id : 2025-09-08T14:30:09
released channel: c1
released channel: c2
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 09/08/2025 14:35:33
RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 40 and starting SCN of 2632626
RMAN Client Diagnostic Trace file : /u01/app/oracle/diag/clients/user_oracle/RMAN_3062585620_110/trace/ora_rman_13475_0.trc
RMAN Server Diagnostic Trace file : /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_13488.trc

RMAN> exit;
10. Now open the database and create spfile.

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open

SQL> alter database open RESETLOGS;

Database altered.

SQL>  SELECT name,db_unique_name,database_role,log_mode from v$database;

NAME      DB_UNIQUE_NAME                 DATABASE_ROLE    LOG_MODE
--------- ------------------------------ ---------------- ------------
ORCL      orcl                           PRIMARY          ARCHIVELOG

SQL> create spfile from '/tmp/rman/WINPFILE.ORA';

File created.

SQL> shut immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area 1174402832 bytes
Fixed Size                  9312016 bytes
Variable Size             905969664 bytes
Database Buffers          251658240 bytes
Redo Buffers                7462912 bytes
Database mounted.
Database opened.

SQL> SELECT name,db_unique_name,database_role,log_mode from v$database;

NAME      DB_UNIQUE_NAME                 DATABASE_ROLE    LOG_MODE
--------- ------------------------------ ---------------- ------------
ORCL      orcl                           PRIMARY          ARCHIVELOG

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  YES
         3 ORCLPDB                        READ WRITE YES
Now as we see from above output that PDB$SEED & ORCLPDB are in restircted state. This is due to patch conflict, so let's proceed to reolve this.

11. First run the datapatch verbose.

[oracle@uat ~]$ cd $ORACLE_HOME/OPatch
[oracle@uat OPatch]$ ./datapatch -verbose
SQL Patching tool version 19.27.0.0.0 Production on Mon Sep  8 15:41:56 2025
Copyright (c) 2012, 2025, Oracle.  All rights reserved.

Log file for this invocation: /u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_17214_2025_09_08_15_41_56/sqlpatch_invocation.log

Connecting to database...OK
Gathering database info...done

Note:  Datapatch will only apply or rollback SQL fixes for PDBs
       that are in an open state, no patches will be applied to closed PDBs.
       Please refer to Note: Datapatch: Database 12c Post Patch SQL Automation
       (Doc ID 1585822.1)

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.27.0.0.0 Release_Update 250406131139: Installed
  PDB CDB$ROOT:
    Applied 19.27.0.0.0 Release_Update 250422102456 successfully on 03-SEP-25 04.54.27.583000 PM
  PDB ORCLPDB:
    Applied 19.27.0.0.0 Release_Update 250422102456 successfully on 03-SEP-25 05.06.05.000000 PM
  PDB PDB$SEED:
    Applied 19.27.0.0.0 Release_Update 250422102456 successfully on 03-SEP-25 05.07.24.064000 PM

Adding patches to installation queue and performing prereq checks...done
Installation queue:
  For the following PDBs: CDB$ROOT PDB$SEED ORCLPDB
    No interim patches need to be rolled back
    Patch 37532350 (Windows Database Bundle Patch : 19.27.0.0.250415 (37532350)):
      Rollback from 19.27.0.0.0 Release_Update 250422102456 to 19.27.0.0.0 Release_Update 250406131139
    No interim patches need to be applied

Installing patches...

Patch installation complete.  Total patches installed: 3

Validating logfiles...done
Patch 37532350 rollback (pdb CDB$ROOT): WITH ERRORS
  logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/37532350/26102912/37120618_rollback_ORCL_CDBROOT_2025Sep08_15_50_56.log (errors)
  -> Error at line 23558: script md/admin/catsem.sql
      - ORA-29548: Java system class reported: release of Java system classes in the
      - database (19.3.0.0.0 1.8) does not match that of the oracle executable
      - (19.0.0.0.0 1.8)
      - ORA-06512: at "SYS.DBMS_JAVA", line 587
      - ORA-06512: at line 1
Patch 37532350 rollback (pdb PDB$SEED): WITH ERRORS
  logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/37532350/26102912/37120618_rollback_ORCL_PDBSEED_2025Sep08_16_00_08.log (errors)
  -> Error at line 23558: script md/admin/catsem.sql
      - ORA-29548: Java system class reported: release of Java system classes in the
      - database (19.3.0.0.0 1.8) does not match that of the oracle executable
      - (19.0.0.0.0 1.8)
      - ORA-06512: at "SYS.DBMS_JAVA", line 587
      - ORA-06512: at line 1
Patch 37532350 rollback (pdb ORCLPDB): WITH ERRORS
  logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/37532350/26102912/37120618_rollback_ORCL_ORCLPDB_2025Sep08_16_00_08.log (errors)
  -> Error at line 23558: script md/admin/catsem.sql
      - ORA-29548: Java system class reported: release of Java system classes in the
      - database (19.3.0.0.0 1.8) does not match that of the oracle executable
      - (19.0.0.0.0 1.8)
      - ORA-06512: at "SYS.DBMS_JAVA", line 587
      - ORA-06512: at line 1

Adding patches to retry installation queue...done
Retry installation queue:
  For the following PDBs: CDB$ROOT PDB$SEED ORCLPDB
    No interim patches need to be rolled back
    Patch 37532350 (Windows Database Bundle Patch : 19.27.0.0.250415 (37532350)):
      Rollback from 19.27.0.0.0 Release_Update 250422102456 to 19.27.0.0.0 Release_Update 250406131139
    No interim patches need to be applied

Installing patches...
Patch installation complete.  Total patches installed: 3

Validating logfiles...done
Patch 37532350 rollback (pdb CDB$ROOT): WITH ERRORS
  logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/37532350/26102912/37120618_rollback_ORCL_CDBROOT_2025Sep08_16_14_28.log (errors)
  -> Error at line 22572: script md/admin/catsem.sql
      - ORA-29548: Java system class reported: release of Java system classes in the
      - database (19.3.0.0.0 1.8) does not match that of the oracle executable
      - (19.0.0.0.0 1.8)
      - ORA-06512: at "SYS.DBMS_JAVA", line 587
      - ORA-06512: at line 1
Patch 37532350 rollback (pdb PDB$SEED): WITH ERRORS
  logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/37532350/26102912/37120618_rollback_ORCL_PDBSEED_2025Sep08_16_22_41.log (errors)
  -> Error at line 22572: script md/admin/catsem.sql
      - ORA-29548: Java system class reported: release of Java system classes in the
      - database (19.3.0.0.0 1.8) does not match that of the oracle executable
      - (19.0.0.0.0 1.8)
      - ORA-06512: at "SYS.DBMS_JAVA", line 587
      - ORA-06512: at line 1
Patch 37532350 rollback (pdb ORCLPDB): WITH ERRORS
  logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/37532350/26102912/37120618_rollback_ORCL_ORCLPDB_2025Sep08_16_22_42.log (errors)
  -> Error at line 22572: script md/admin/catsem.sql
      - ORA-29548: Java system class reported: release of Java system classes in the
      - database (19.3.0.0.0 1.8) does not match that of the oracle executable
      - (19.0.0.0.0 1.8)
      - ORA-06512: at "SYS.DBMS_JAVA", line 587
      - ORA-06512: at line 1

Please refer to MOS Note 1609718.1 and/or the invocation log
/u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_17214_2025_09_08_15_41_56/sqlpatch_invocation.log
for information on how to resolve the above errors.

SQL Patching tool complete on Mon Sep  8 16:35:26 2025

Now we got the ORA-29548 error due to Java System mismatch. So we need to execute "update_javavm_db.sql" to fix this.

12. Execute the "update_javavm_db.sql".

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  YES
         3 ORCLPDB                        READ WRITE YES

==> For CDB.

SQL> @?/javavm/install/update_javavm_db.sql
SQL> SET FEEDBACK 1
SQL> SET NUMWIDTH 10
SQL> SET LINESIZE 80
SQL> SET TRIMSPOOL ON
SQL> SET TAB OFF
SQL> SET PAGESIZE 100
SQL>
SQL> alter session set "_ORACLE_SCRIPT"=true;

Session altered.

SQL>
SQL> -- If Java is installed, do CJS.
SQL>
SQL> -- If CJS can deal with the SROs inconsistent with the new JDK,
SQL> -- the drop_sros() call here can be removed.
SQL> call initjvmaux.drop_sros();

Call completed.

SQL>
SQL> create or replace java system;
  2  /

Java created.

SQL>
SQL> update dependency$
  2    set p_timestamp=(select stime from obj$ where obj#=p_obj#)
  3    where (select stime from obj$ where obj#=p_obj#)!=p_timestamp and
  4          (select type# from obj$ where obj#=p_obj#)=29  and
  5          (select owner# from obj$ where obj#=p_obj#)=0;

0 rows updated.

SQL>
SQL> commit;

Commit complete.

SQL>
SQL> alter session set "_ORACLE_SCRIPT"=false;

Session altered.

SQL>

==> For PDB.

SQL> alter session set container=ORCLPDB;

Session altered.

SQL>
SQL> @?/javavm/install/update_javavm_db.sql
SQL> Rem
SQL> Rem $Header: javavm/install/update_javavm_db.sql /main/6 2017/07/03 21:56:55 stanaya Exp $
SQL> Rem
SQL> Rem update_javavm_db.sql
SQL> Rem
SQL> Rem Copyright (c) 2011, 2017, Oracle and/or its affiliates.
SQL> Rem All rights reserved.
SQL> Rem
SQL> Rem    NAME
SQL> Rem      update_javavm_db.sql - update JDK in the database
SQL> Rem
SQL> Rem    DESCRIPTION
SQL> Rem
SQL> Rem    NOTES
SQL> Rem      To be run as SYS.
SQL> Rem
SQL> Rem    BEGIN SQL_FILE_METADATA
SQL> Rem    SQL_SOURCE_FILE: javavm/install/update_javavm_db.sql
SQL> Rem    SQL_SHIPPED_FILE: javavm/install/update_javavm_db.sql
SQL> Rem    SQL_PHASE: UTILITY
SQL> Rem    SQL_STARTUP_MODE: NORMAL
SQL> Rem    SQL_IGNORABLE_ERRORS: NONE
SQL> Rem    END SQL_FILE_METADATA
SQL> Rem
SQL> Rem    MODIFIED   (MM/DD/YY)
SQL> Rem    nneeluru    01/22/14 - Fix ORA-65023; Also set/unset _ORACLE_SCRIPT
SQL> Rem    nneeluru    09/13/12 - Fix timestamps
SQL> Rem    nneeluru    07/04/12 - Drop SROs
SQL> Rem    nneeluru    10/03/11 - Script to be run in the database to switch JDK
SQL> Rem    nneeluru    10/03/11 - Created
SQL> Rem
SQL>
SQL> SET ECHO ON
SQL> SET FEEDBACK 1
SQL> SET NUMWIDTH 10
SQL> SET LINESIZE 80
SQL> SET TRIMSPOOL ON
SQL> SET TAB OFF
SQL> SET PAGESIZE 100
SQL>
SQL> alter session set "_ORACLE_SCRIPT"=true;

Session altered.

SQL>
SQL> -- If Java is installed, do CJS.
SQL>
SQL> -- If CJS can deal with the SROs inconsistent with the new JDK,
SQL> -- the drop_sros() call here can be removed.
SQL> call initjvmaux.drop_sros();

Call completed.

SQL>
SQL> create or replace java system;
  2  /

Java created.

SQL>
SQL> update dependency$
  2    set p_timestamp=(select stime from obj$ where obj#=p_obj#)
  3    where (select stime from obj$ where obj#=p_obj#)!=p_timestamp and
  4          (select type# from obj$ where obj#=p_obj#)=29  and
  5          (select owner# from obj$ where obj#=p_obj#)=0;

0 rows updated.

SQL>
SQL> commit;

Commit complete.

SQL>
SQL> alter session set "_ORACLE_SCRIPT"=false;

Session altered.

SQL>
13. Now again execute the datapatch verbose.

[oracle@uat ~]$ cd $ORACLE_HOME/OPatch
[oracle@uat OPatch]$ ./datapatch -verbose
SQL Patching tool version 19.27.0.0.0 Production on Mon Sep  8 17:31:23 2025
Copyright (c) 2012, 2025, Oracle.  All rights reserved.

Log file for this invocation: /u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_25518_2025_09_08_17_31_23/sqlpatch_invocation.log

Connecting to database...OK
Gathering database info...done

Note:  Datapatch will only apply or rollback SQL fixes for PDBs
       that are in an open state, no patches will be applied to closed PDBs.
       Please refer to Note: Datapatch: Database 12c Post Patch SQL Automation
       (Doc ID 1585822.1)

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.27.0.0.0 Release_Update 250406131139: Installed
  PDB CDB$ROOT:
    Rolled back to 19.27.0.0.0 Release_Update 250406131139 with errors on 08-SEP-25 04.21.39.438219 PM
  PDB ORCLPDB:
    Rolled back to 19.27.0.0.0 Release_Update 250406131139 with errors on 08-SEP-25 04.32.48.219390 PM
  PDB PDB$SEED:
    Rolled back to 19.27.0.0.0 Release_Update 250406131139 with errors on 08-SEP-25 04.32.48.178275 PM

Adding patches to installation queue and performing prereq checks...done
Installation queue:
  For the following PDBs: CDB$ROOT PDB$SEED ORCLPDB
    No interim patches need to be rolled back
    Patch 37532350 (Windows Database Bundle Patch : 19.27.0.0.250415 (37532350)):
      Rollback from 19.27.0.0.0 Release_Update 250422102456 to 19.27.0.0.0 Release_Update 250406131139
    No interim patches need to be applied

Installing patches...
Patch installation complete.  Total patches installed: 3

Validating logfiles...done
Patch 37532350 rollback (pdb CDB$ROOT): SUCCESS
  logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/37532350/26102912/37120618_rollback_ORCL_CDBROOT_2025Sep08_17_37_27.log (no errors)
Patch 37532350 rollback (pdb PDB$SEED): WITH ERRORS
  logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/37532350/26102912/37120618_rollback_ORCL_PDBSEED_2025Sep08_17_48_55.log (errors)
  -> Error at line 22572: script md/admin/catsem.sql
      - ORA-29548: Java system class reported: release of Java system classes in the
      - database (19.3.0.0.0 1.8) does not match that of the oracle executable
      - (19.0.0.0.0 1.8)
      - ORA-06512: at "SYS.DBMS_JAVA", line 587
      - ORA-06512: at line 1
Patch 37532350 rollback (pdb ORCLPDB): SUCCESS
  logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/37532350/26102912/37120618_rollback_ORCL_ORCLPDB_2025Sep08_17_48_59.log (no errors)

Adding patches to retry installation queue...done
Retry installation queue:
  For the following PDBs: PDB$SEED
    No interim patches need to be rolled back
    Patch 37532350 (Windows Database Bundle Patch : 19.27.0.0.250415 (37532350)):
      Rollback from 19.27.0.0.0 Release_Update 250422102456 to 19.27.0.0.0 Release_Update 250406131139
    No interim patches need to be applied

Installing patches...
Patch installation complete.  Total patches installed: 1

Validating logfiles...done
Patch 37532350 rollback (pdb PDB$SEED): WITH ERRORS
  logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/37532350/26102912/37120618_rollback_ORCL_PDBSEED_2025Sep08_18_02_01.log (errors)
  -> Error at line 22572: script md/admin/catsem.sql
      - ORA-29548: Java system class reported: release of Java system classes in the
      - database (19.3.0.0.0 1.8) does not match that of the oracle executable
      - (19.0.0.0.0 1.8)
      - ORA-06512: at "SYS.DBMS_JAVA", line 587
      - ORA-06512: at line 1

Please refer to MOS Note 1609718.1 and/or the invocation log
/u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_25518_2025_09_08_17_31_23/sqlpatch_invocation.log
for information on how to resolve the above errors.

SQL Patching tool complete on Mon Sep  8 18:10:40 2025
14. Check the patch registery and bounce the database.

[oracle@uat rman]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Mon Sep 8 18:11:03 2025
Version 19.27.0.0.0

Copyright (c) 1982, 2024, Oracle.  All rights reserved.

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

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  YES
         3 ORCLPDB                        READ WRITE YES
         
SQL> COLUMN action_time FORMAT A20
SQL> COLUMN action FORMAT A10
SQL> COLUMN status FORMAT A10
SQL> COLUMN description FORMAT A60
SQL> SELECT patch_uid, patch_id, source_version, target_version, 
     action, status, action_time, description 
     FROM dba_registry_sqlpatch;         
		 	 
 PATCH_UID   PATCH_ID SOURCE_VERSION  TARGET_VERSION  ACTION     STATUS      ACTION_TIME          DESCRIPTION
---------- ---------- --------------- --------------- ---------- ----------  -------------------- ------------------------------------------------------------
  26102912   37532350 19.1.0.0.0      19.27.0.0.0     APPLY      SUCCESS      03-SEP-25 04.54.27.5 Windows Database Bundle Patch : 19.27.0.0.250415 (37532350)
                                                                              83000 PM
 
  26102912   37532350 19.27.0.0.0     19.27.0.0.0     ROLLBACK   WITH ERRORS  08-SEP-25 03.59.21.0 Windows Database Bundle Patch : 19.27.0.0.250415 (37532350)
                                                                              46109 PM
 
  26102912   37532350 19.27.0.0.0     19.27.0.0.0     ROLLBACK   WITH ERRORS  08-SEP-25 04.21.39.4 Windows Database Bundle Patch : 19.27.0.0.250415 (37532350)
                                                                              38219 PM
 
  26102912   37532350 19.27.0.0.0     19.27.0.0.0     ROLLBACK   SUCCESS      08-SEP-25 05.47.34.4 Windows Database Bundle Patch : 19.27.0.0.250415 (37532350)
                                                                              53190 PM		 

SQL> shut immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL> startup
ORACLE instance started.

Total System Global Area 3221225296 bytes
Fixed Size                  9183056 bytes
Variable Size             654311424 bytes
Database Buffers         2550136832 bytes
Redo Buffers                7593984 bytes
Database mounted.
Database opened.
SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  YES
         3 ORCLPDB                        READ WRITE NO
Now our main PDB is fine but PDB$SEED is in stil restricted and it will cause issue while creating new PDBs. So let's resolve this as well.

15. Open the PDBSEED in Read/Write mode and then execute "update_javavm_db.qsl".

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  YES
         3 ORCLPDB                        READ WRITE NO
SQL> alter session set container=ORCLPDB;

Session altered.

SQL> alter pluggable database pdb$seed close immediate instances=all;

Pluggable database altered.

SQL>  select open_mode from v$database;

OPEN_MODE
--------------------
MOUNTED

SQL> alter pluggable database pdb$seed OPEN READ WRITE;

Warning: PDB altered with errors.

SQL> @?/javavm/install/update_javavm_db.sql
SQL> SET FEEDBACK 1
SQL> SET NUMWIDTH 10
SQL> SET LINESIZE 80
SQL> SET TRIMSPOOL ON
SQL> SET TAB OFF
SQL> SET PAGESIZE 100
SQL>
SQL> alter session set "_ORACLE_SCRIPT"=true;

Session altered.

SQL>
SQL> -- If Java is installed, do CJS.
SQL>
SQL> -- If CJS can deal with the SROs inconsistent with the new JDK,
SQL> -- the drop_sros() call here can be removed.
SQL> call initjvmaux.drop_sros();

Call completed.

SQL>
SQL> create or replace java system;
  2  /

Java created.

SQL>
SQL> update dependency$
  2    set p_timestamp=(select stime from obj$ where obj#=p_obj#)
  3    where (select stime from obj$ where obj#=p_obj#)!=p_timestamp and
  4          (select type# from obj$ where obj#=p_obj#)=29  and
  5          (select owner# from obj$ where obj#=p_obj#)=0;

0 rows updated.

SQL>
SQL> commit;

Commit complete.

SQL>
SQL> alter session set "_ORACLE_SCRIPT"=false;

Session altered.

SQL>
16. Again execute the datapatch verbose.

[oracle@uat OPatch]$ ./datapatch -verbose
SQL Patching tool version 19.27.0.0.0 Production on Wed Sep 10 14:00:13 2025
Copyright (c) 2012, 2025, Oracle.  All rights reserved.

Log file for this invocation: /u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_21048_2025_09_10_14_00_13/sqlpatch_invocation.log

Connecting to database...OK
Gathering database info...done

Note:  Datapatch will only apply or rollback SQL fixes for PDBs
       that are in an open state, no patches will be applied to closed PDBs.
       Please refer to Note: Datapatch: Database 12c Post Patch SQL Automation
       (Doc ID 1585822.1)

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.27.0.0.0 Release_Update 250406131139: Installed
  PDB CDB$ROOT:
    Rolled back to 19.27.0.0.0 Release_Update 250406131139 successfully on 08-SEP-25 05.47.34.453190 PM
  PDB ORCLPDB:
    Rolled back to 19.27.0.0.0 Release_Update 250406131139 successfully on 08-SEP-25 06.00.02.789889 PM
  PDB PDB$SEED:
    Applied 19.27.0.0.0 Release_Update 250406131139 with errors on 10-SEP-25 01.40.15.137387 PM

Adding patches to installation queue and performing prereq checks...done
Installation queue:
  For the following PDBs: CDB$ROOT ORCLPDB
    No interim patches need to be rolled back
    No release update patches need to be installed
    No interim patches need to be applied
  For the following PDBs: PDB$SEED
    No interim patches need to be rolled back
    Patch 37642901 (Database Release Update : 19.27.0.0.250415 (37642901)):
      Apply from 19.1.0.0.0 Feature Release to 19.27.0.0.0 Release_Update 250406131139
    No interim patches need to be applied

Installing patches...
Patch installation complete.  Total patches installed: 1

Validating logfiles...done
Patch 37642901 apply (pdb PDB$SEED): SUCCESS
  logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/37642901/27123174/37642901_apply_ORCL_PDBSEED_2025Sep10_14_02_52.log (no errors)
SQL Patching tool complete on Wed Sep 10 15:32:54 2025
17. Now take the bounce of the database.

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ WRITE YES
         3 ORCLPDB                        READ WRITE NO
SQL>
SQL>
SQL> shut immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup
ORACLE instance started.

Total System Global Area 3221225296 bytes
Fixed Size                  9183056 bytes
Variable Size            1040187392 bytes
Database Buffers         2164260864 bytes
Redo Buffers                7593984 bytes
Database mounted.

Database opened.

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB                        READ WRITE NO
Now PDB$SEED is also fine and the issue has been resolved.

18. Perform the post check.

SQL> SELECT name,db_unique_name,database_role,log_mode from v$database;

NAME      DB_UNIQUE_NAME                 DATABASE_ROLE    LOG_MODE
--------- ------------------------------ ---------------- ------------
ORCL      orcl                           PRIMARY          ARCHIVELOG

SQL>
SQL> SELECT
    (SELECT SUM(bytes)/1024/1024/1024 FROM dba_data_files) +
    (SELECT NVL(SUM(bytes),0)/1024/1024/1024 FROM dba_temp_files) +
    (SELECT SUM(bytes)/1024/1024/1024 FROM sys.v_$log) +
    (SELECT SUM(block_size*file_size_blks)/1024/1024/1024 FROM v$controlfile) "Size in GB"
FROM dual; 

Size in GB
----------
3.44421387

SQL> COLUMN action_time FORMAT A20
SQL> COLUMN action FORMAT A10
SQL> COLUMN status FORMAT A10
SQL> COLUMN description FORMAT A60
SQL> SELECT patch_uid, patch_id, source_version, target_version, 
     action, status, action_time, description 
     FROM dba_registry_sqlpatch;

 PATCH_UID   PATCH_ID SOURCE_VERSION  TARGET_VERSION  ACTION     STATUS     ACTION_TIME          DESCRIPTION
---------- ---------- --------------- --------------- ---------- ---------- -------------------- ------------------------------------------------------------
  26102912   37532350 19.1.0.0.0      19.27.0.0.0     APPLY      SUCCESS     03-SEP-25 04.54.27.5 Windows Database Bundle Patch : 19.27.0.0.250415 (37532350)
                                                                             83000 PM

  26102912   37532350 19.27.0.0.0     19.27.0.0.0     ROLLBACK   WITH ERRORS 08-SEP-25 03.59.21.0 Windows Database Bundle Patch : 19.27.0.0.250415 (37532350)
                                                                             46109 PM

  26102912   37532350 19.27.0.0.0     19.27.0.0.0     ROLLBACK   WITH ERRORS 08-SEP-25 04.21.39.4 Windows Database Bundle Patch : 19.27.0.0.250415 (37532350)
                                                                             38219 PM

  26102912   37532350 19.27.0.0.0     19.27.0.0.0     ROLLBACK   SUCCESS     08-SEP-25 05.47.34.4 Windows Database Bundle Patch : 19.27.0.0.250415 (37532350)
                                                                             53190 PM

SQL> COLUMN comp_id FORMAT A10
COLUMN version FORMAT A11
COLUMN status FORMAT A10
COLUMN comp_name FORMAT A37
SELECT comp_id, comp_name, version, status FROM dba_registry;

COMP_ID    COMP_NAME                             VERSION     STATUS
---------- ------------------------------------- ----------- ----------
CATALOG    Oracle Database Catalog Views         19.0.0.0.0  VALID
CATPROC    Oracle Database Packages and Types    19.0.0.0.0  VALID
RAC        Oracle Real Application Clusters      19.0.0.0.0  OPTION OFF
JAVAVM     JServer JAVA Virtual Machine          19.0.0.0.0  VALID
XML        Oracle XDK                            19.0.0.0.0  VALID
CATJAVA    Oracle Database Java Packages         19.0.0.0.0  VALID
APS        OLAP Analytic Workspace               19.0.0.0.0  VALID
XDB        Oracle XML Database                   19.0.0.0.0  VALID
OWM        Oracle Workspace Manager              19.0.0.0.0  VALID
CONTEXT    Oracle Text                           19.0.0.0.0  VALID
ORDIM      Oracle Multimedia                     19.0.0.0.0  VALID
SDO        Spatial                               19.0.0.0.0  VALID
XOQ        Oracle OLAP API                       19.0.0.0.0  VALID
OLS        Oracle Label Security                 19.0.0.0.0  VALID
DV         Oracle Database Vault                 19.0.0.0.0  VALID

15 rows selected.


SQL> select count(*) from dba_objects where status='INVALID';

  COUNT(*)
----------
         0

SQL> alter session set container=ORCLPDB;

Session altered.

SQL> SELECT comp_id, comp_name, version, status FROM dba_registry;

COMP_ID    COMP_NAME                             VERSION     STATUS
---------- ------------------------------------- ----------- ----------
CATALOG    Oracle Database Catalog Views         19.0.0.0.0  VALID
CATPROC    Oracle Database Packages and Types    19.0.0.0.0  VALID
RAC        Oracle Real Application Clusters      19.0.0.0.0  OPTION OFF
JAVAVM     JServer JAVA Virtual Machine          19.0.0.0.0  VALID
XML        Oracle XDK                            19.0.0.0.0  VALID
CATJAVA    Oracle Database Java Packages         19.0.0.0.0  VALID
APS        OLAP Analytic Workspace               19.0.0.0.0  VALID
XDB        Oracle XML Database                   19.0.0.0.0  VALID
OWM        Oracle Workspace Manager              19.0.0.0.0  VALID
CONTEXT    Oracle Text                           19.0.0.0.0  VALID
ORDIM      Oracle Multimedia                     19.0.0.0.0  VALID
SDO        Spatial                               19.0.0.0.0  VALID
XOQ        Oracle OLAP API                       19.0.0.0.0  VALID
OLS        Oracle Label Security                 19.0.0.0.0  VALID
DV         Oracle Database Vault                 19.0.0.0.0  VALID

15 rows selected.

SQL> select count(*) from dba_objects where status='INVALID';

  COUNT(*)
----------
         0

SQL> select count(*) from test.company;

  COUNT(*)
----------
         3

SQL>

So this way you can migrate the database from Windows to Linux using RMAN. Although you should perform complete testing prior to using this method for Production database.


Thank you for reading!

I hope this content has been helpful to you. Your feedback and suggestions are always welcome — feel free to leave a comment or reach out with any queries.

Abhishek Shrivastava

📧 Email: oraeasyy@gmail.com
🌐 Website: www.oraeasy.com

Follow Us

Comments