This post demonstrates to apply a RU patch on 19c RDBMS standalone (non ASM & non CDB) binaries using out-of-place approach with Autoupgrade tool.
Environment:
==========
Existing 19c Version: 19.2
New 19c Version: 19.27
19.3 Home: /u01/app/oracle/product/19.0.0/db_1
19.27 Home: /u01/app/oracle/product/19.27/db_1
1. Install the new 19c home along with RU 19.27
Create the directories for 19.27 ORACLE HOME
[oracle@prod product]$ cd /u01/app/oracle/product/
[oracle@prod product]$ mkdir -p 19.27/db_1
[oracle@prod product]$ cd 19.27/db_1/
[oracle@prod db_1]$ pwd
/u01/app/oracle/product/19.27/db_1
—
Unzip the 19c(19.3) LINUX.X64_193000_db_home.zip binaries in 19.27 home.
unzip the RU 19.27 at patch locavtion. Here patch location is /patch/RU_19.27/37642901
Update the OPatch, unzip p6880880_190000_Linux-x86-64.zip
—
unset ORACLE_HOME ORACLE_SID ORACLE_RSID ORACLE_UNQNAME ORACLE_BASE
export ORACLE_HOME=/u01/app/oracle/product/19.27/db_1
export ORACLE_BASE=/u01/app/oracle
export PATH=$ORACLE_HOME/bin:$PATH
cd /u01/app/oracle/product/19.27/db_1
===
./runInstaller -ignorePrereq -silent -applyRU /patch/RU_19.27/37642901 \
oracle.install.option=INSTALL_DB_SWONLY \
ORACLE_HOSTNAME=prod \
UNIX_GROUP_NAME=oinstall \
ORACLE_HOME=/u01/app/oracle/product/19.27/db_1 \
ORACLE_BASE=/u01/app/oracle \
oracle.install.db.InstallEdition=EE \
oracle.install.db.OSDBA_GROUP=dba \
oracle.install.db.OSBACKUPDBA_GROUP=dba \
oracle.install.db.OSDGDBA_GROUP=dba \
oracle.install.db.OSKMDBA_GROUP=dba \
oracle.install.db.OSRACDBA_GROUP=dba \
DECLINE_SECURITY_UPDATES=true
[oracle@prod db_1]$ ./runInstaller -ignorePrereq -silent -applyRU /patch/RU_19.27/37642901 \
> oracle.install.option=INSTALL_DB_SWONLY \
> ORACLE_HOSTNAME=prod \
> UNIX_GROUP_NAME=oinstall \
> ORACLE_HOME=/u01/app/oracle/product/19.27/db_1 \
> ORACLE_BASE=/u01/app/oracle \
> oracle.install.db.InstallEdition=EE \
> oracle.install.db.OSDBA_GROUP=dba \
> oracle.install.db.OSBACKUPDBA_GROUP=dba \
> oracle.install.db.OSDGDBA_GROUP=dba \
> oracle.install.db.OSKMDBA_GROUP=dba \
> oracle.install.db.OSRACDBA_GROUP=dba \
> DECLINE_SECURITY_UPDATES=true
Preparing the home to patch…
Applying the patch /patch/RU_19.27/37642901…
Successfully applied the patch.
The log can be found at: /u01/app/oraInventory/logs/InstallActions2026-03-17_09-58-26PM/installerPatchActions_2026-03-17_09-58-26PM.log
Launching Oracle Database Setup Wizard…
[WARNING] [INS-13014] Target environment does not meet some optional requirements.
CAUSE: Some of the optional prerequisites are not met. See logs for details. /u01/app/oraInventory/logs/InstallActions2026-03-17_09-58-26PM/installActions2026-03-17_09-58-26PM.log
ACTION: Identify the list of failed prerequisite checks from the log: /u01/app/oraInventory/logs/InstallActions2026-03-17_09-58-26PM/installActions2026-03-17_09-58-26PM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
The response file for this session can be found at:
/u01/app/oracle/product/19.27/db_1/install/response/db_2026-03-17_09-58-26PM.rsp
You can find the log of this install session at:
/u01/app/oraInventory/logs/InstallActions2026-03-17_09-58-26PM/installActions2026-03-17_09-58-26PM.log
As a root user, execute the following script(s):
1. /u01/app/oracle/product/19.27/db_1/root.sh
Execute /u01/app/oracle/product/19.27/db_1/root.sh on the following nodes:
[prod]
Successfully Setup Software with warning(s).
Ensure to execute root.sh script.
—-
[oracle@prod bin]$ sqlplus -V
SQL*Plus: Release 19.0.0.0.0 – Production
Version 19.27.0.0.0
[oracle@prod bin]$
—
[oracle@prod OPatch]$ ./opatch lspatches
37642901;Database Release Update : 19.27.0.0.250415 (37642901)
29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
OPatch succeeded.
2. Download the latest “Autoupgrade.jar” file.
We can download from Doc 2485457.1 or from https://www.oracle.com/database/upgrades/.
In 19.27 home, take the backup of existing autoupgrade.jar file and place the latest autoupgrade.jar file.
cd /u01/app/oracle/product/19.27/db_1/rdbms/admin
mv autoupgrade.jar autoupgrade.jar_bkp
cp /tmp/autoupgrade.jar .
3. Generate a sample config file and edit accordingly.
[oracle@prod ~]$ /u01/app/oracle/product/19.27/db_1/jdk/bin/java -jar /u01/app/oracle/product/19.27/db_1/rdbms/admin/autoupgrade.jar -create_sample_file config /patch/autoupgrade/patch.cfg
Created sample configuration file /patch/autoupgrade/patch.cfg
Now, edit the config file.
global.global_log_dir=/patch/autoupgrade
upg1.sid=prod19
upg1.source_home=/u01/app/oracle/product/19.0.0/db_1
upg1.target_home=/u01/app/oracle/product/19.27/db_1
upg1.restoration=NO
—
This is test environment. So GRP not created. For real environment, create GRP before the activity.
4. Run Analyze to validate the environment is ready for patching
[oracle@prod autoupgrade]$ /u01/app/oracle/product/19.27/db_1/jdk/bin/java -jar /u01/app/oracle/product/19.27/db_1/rdbms/admin/autoupgrade.jar -config /patch/autoupgrade/patch.cfg -mode analyze
AutoUpgrade 26.2.260205 launched with default internal options
Processing config file …
+——————————–+
| Starting AutoUpgrade execution |
+——————————–+
1 Non-CDB(s) will be analyzed
Type ‘help’ to list console commands
upg> status
Config
User configuration file [/patch/autoupgrade/patch.cfg]
General logs location [/patch/autoupgrade/cfgtoollogs/upgrade/auto]
Mode [ANALYZE]
Jobs Summary
Total databases in configuration file [1]
Total Non-CDB being processed [1]
Total Containers being processed [0]
Jobs finished successfully [0]
Jobs finished/stopped [0]
Jobs in progress [1]
Progress
+—+———————————————————+
|Job| Progress|
+—+———————————————————+
|100|[||||||||||||||||| ] 33 %|
+—+———————————————————+
upg> status -job 100
Details
Job No 100
Oracle SID prod19
Start Time 26/03/17 22:25:13
Elapsed (min): 0
End time: N/A
Logfiles
Logs Base: /patch/autoupgrade/prod19
Job logs: /patch/autoupgrade/prod19/100
Stage logs: /patch/autoupgrade/prod19/100/prechecks
TimeZone: /patch/autoupgrade/prod19/temp
Remote Dirs:
Stages
SETUP <1 min
PRECHECKS ~0 min (RUNNING)
Stage-Progress Per Container
+——–+———+
|Database|PRECHECKS|
+——–+———+
| prod19| 0 % |
+——–+———+
upg> Job 100 completed
——————- Final Summary ——————–
Number of databases [ 1 ]
Jobs finished [1]
Jobs failed [0]
Please check the summary report at:
/patch/autoupgrade/cfgtoollogs/upgrade/auto/status/status.html
/patch/autoupgrade/cfgtoollogs/upgrade/auto/status/status.log
—
[oracle@prod autoupgrade]$ cat /patch/autoupgrade/cfgtoollogs/upgrade/auto/status/status.log
==========================================
Autoupgrade Summary Report
==========================================
[Date] Tue Mar 17 22:26:37 IST 2026
[Number of Jobs] 1
==========================================
[Job ID] 100
==========================================
[DB Name] prod19
[Version Before Upgrade] 19.3.0.0.0
[Version After Upgrade] 19.27.0.0.0
——————————————
[Stage Name] PRECHECKS
[Status] SUCCESS
[Start Time] 2026-03-17 22:25:13
[Duration] 0:01:24
[Log Directory] /patch/autoupgrade/prod19/100/prechecks
[Detail] /patch/autoupgrade/prod19/100/prechecks/prod19_preupgrade.log
Check passed and no manual intervention needed
5. Run Autoupgrade in Deploy mode.
[oracle@prod autoupgrade]$ /u01/app/oracle/product/19.27/db_1/jdk/bin/java -jar /u01/app/oracle/product/19.27/db_1/rdbms/admin/autoupgrade.jar -config /patch/autoupgrade/patch.cfg -mode deploy
AutoUpgrade 26.2.260205 launched with default internal options
Processing config file …
+——————————–+
| Starting AutoUpgrade execution |
+——————————–+
1 Non-CDB(s) will be processed
Type ‘help’ to list console commands
upg> status
Config
User configuration file [/patch/autoupgrade/patch.cfg]
General logs location [/patch/autoupgrade/cfgtoollogs/upgrade/auto]
Mode [DEPLOY]
Jobs Summary
Total databases in configuration file [1]
Total Non-CDB being processed [1]
Total Containers being processed [0]
Jobs finished successfully [0]
Jobs finished/stopped [0]
Jobs in progress [1]
Progress
+—+———————————————————+
|Job| Progress|
+—+———————————————————+
|101|[||||||||| ] 17 %|
+—+———————————————————+
upg> status -job 101
Details
Job No 101
Oracle SID prod19
Start Time 26/03/17 22:34:42
Elapsed (min): 0
End time: N/A
Logfiles
Logs Base: /patch/autoupgrade/prod19
Job logs: /patch/autoupgrade/prod19/101
Stage logs: /patch/autoupgrade/prod19/101/prechecks
TimeZone: /patch/autoupgrade/prod19/temp
Remote Dirs:
Stages
SETUP <1 min
PREUPGRADE <1 min
PRECHECKS ~0 min (RUNNING)
PREFIXUPS
DRAIN
DBUPGRADE
POSTCHECKS
POSTFIXUPS
POSTUPGRADE
SYSUPDATES
Stage-Progress Per Container
+——–+———+
|Database|PRECHECKS|
+——–+———+
| prod19| 0 % |
+——–+———+
upg> status -job 101
Details
Job No 101
Oracle SID prod19
Start Time 26/03/17 22:34:42
Elapsed (min): 2
End time: N/A
Logfiles
Logs Base: /patch/autoupgrade/prod19
Job logs: /patch/autoupgrade/prod19/101
Stage logs: /patch/autoupgrade/prod19/101/prefixups
TimeZone: /patch/autoupgrade/prod19/temp
Remote Dirs:
Stages
SETUP <1 min
PREUPGRADE <1 min
PRECHECKS 1 min
PREFIXUPS ~0 min (RUNNING)
DRAIN
DBUPGRADE
POSTCHECKS
POSTFIXUPS
POSTUPGRADE
SYSUPDATES
Stage-Progress Per Container
+——–+———+
|Database|PREFIXUPS|
+——–+———+
| prod19| 0 % |
+——–+———+
upg> status
Config
User configuration file [/patch/autoupgrade/patch.cfg]
General logs location [/patch/autoupgrade/cfgtoollogs/upgrade/auto]
Mode [DEPLOY]
Jobs Summary
Total databases in configuration file [1]
Total Non-CDB being processed [1]
Total Containers being processed [0]
Jobs finished successfully [0]
Jobs finished/stopped [0]
Jobs in progress [1]
Progress
+—+———————————————————+
|Job| Progress|
+—+———————————————————+
|101|[||||||||||||| ] 25 %|
+—+———————————————————+
upg> status
Config
User configuration file [/patch/autoupgrade/patch.cfg]
General logs location [/patch/autoupgrade/cfgtoollogs/upgrade/auto]
Mode [DEPLOY]
Jobs Summary
Total databases in configuration file [1]
Total Non-CDB being processed [1]
Total Containers being processed [0]
Jobs finished successfully [0]
Jobs finished/stopped [0]
Jobs in progress [1]
Progress
+—+———————————————————+
|Job| Progress|
+—+———————————————————+
|101|[|||||||||||||||||||||| ] 42 %|
+—+———————————————————+
upg> status -job 101
Details
Job No 101
Oracle SID prod19
Start Time 26/03/17 22:34:42
Elapsed (min): 7
End time: N/A
Logfiles
Logs Base: /patch/autoupgrade/prod19
Job logs: /patch/autoupgrade/prod19/101
Stage logs: /patch/autoupgrade/prod19/101/dbupgrade
TimeZone: /patch/autoupgrade/prod19/temp
Remote Dirs:
Stages
SETUP <1 min
PREUPGRADE <1 min
PRECHECKS 1 min
PREFIXUPS 2 min
DRAIN <1 min
DBUPGRADE ~2 min (RUNNING)
POSTCHECKS
POSTFIXUPS
POSTUPGRADE
SYSUPDATES
Stage-Progress Per Container
+——–+———+
|Database|DBUPGRADE|
+——–+———+
| prod19| 0 % |
+——–+———+
upg> status
Config
User configuration file [/patch/autoupgrade/patch.cfg]
General logs location [/patch/autoupgrade/cfgtoollogs/upgrade/auto]
Mode [DEPLOY]
Jobs Summary
Total databases in configuration file [1]
Total Non-CDB being processed [1]
Total Containers being processed [0]
Jobs finished successfully [0]
Jobs finished/stopped [0]
Jobs in progress [1]
Progress
+—+———————————————————+
|Job| Progress|
+—+———————————————————+
|101|[|||||||||||||||||||||| ] 42 %|
+—+———————————————————+
upg> status -job 101
Details
Job No 101
Oracle SID prod19
Start Time 26/03/17 22:34:42
Elapsed (min): 9
End time: N/A
Logfiles
Logs Base: /patch/autoupgrade/prod19
Job logs: /patch/autoupgrade/prod19/101
Stage logs: /patch/autoupgrade/prod19/101/dbupgrade
TimeZone: /patch/autoupgrade/prod19/temp
Remote Dirs:
Stages
SETUP <1 min
PREUPGRADE <1 min
PRECHECKS 1 min
PREFIXUPS 2 min
DRAIN <1 min
DBUPGRADE ~4 min (RUNNING)
POSTCHECKS
POSTFIXUPS
POSTUPGRADE
SYSUPDATES
Stage-Progress Per Container
+——–+———+
|Database|DBUPGRADE|
+——–+———+
| prod19| 12 % |
+——–+———+
upg> status -job 101
Details
Job No 101
Oracle SID prod19
Start Time 26/03/17 22:34:42
Elapsed (min): 11
End time: N/A
Logfiles
Logs Base: /patch/autoupgrade/prod19
Job logs: /patch/autoupgrade/prod19/101
Stage logs: /patch/autoupgrade/prod19/101/dbupgrade
TimeZone: /patch/autoupgrade/prod19/temp
Remote Dirs:
Stages
SETUP <1 min
PREUPGRADE <1 min
PRECHECKS 1 min
PREFIXUPS 2 min
DRAIN <1 min
DBUPGRADE ~6 min (RUNNING)
POSTCHECKS
POSTFIXUPS
POSTUPGRADE
SYSUPDATES
Stage-Progress Per Container
+——–+———+
|Database|DBUPGRADE|
+——–+———+
| prod19| 31 % |
+——–+———+
upg> status
Config
User configuration file [/patch/autoupgrade/patch.cfg]
General logs location [/patch/autoupgrade/cfgtoollogs/upgrade/auto]
Mode [DEPLOY]
Jobs Summary
Total databases in configuration file [1]
Total Non-CDB being processed [1]
Total Containers being processed [0]
Jobs finished successfully [0]
Jobs finished/stopped [0]
Jobs in progress [1]
Progress
+—+———————————————————+
|Job| Progress|
+—+———————————————————+
|101|[|||||||||||||||||||||| ] 42 %|
+—+———————————————————+
upg> lslj
Unrecognized cmd: lslj
upg> lsj
+—-+——-+———+———+——-+———-+——-+————+
|Job#|DB_NAME| STAGE|OPERATION| STATUS|START_TIME|UPDATED| MESSAGE|
+—-+——-+———+———+——-+———-+——-+————+
| 101| prod19|DBUPGRADE|EXECUTING|RUNNING| 22:34:42|43s ago|31%Patching |
+—-+——-+———+———+——-+———-+——-+————+
Total jobs 1
upg> lsj
+—-+——-+———+———+——-+———-+——-+————+
|Job#|DB_NAME| STAGE|OPERATION| STATUS|START_TIME|UPDATED| MESSAGE|
+—-+——-+———+———+——-+———-+——-+————+
| 101| prod19|DBUPGRADE|EXECUTING|RUNNING| 22:34:42|54s ago|34%Patching |
+—-+——-+———+———+——-+———-+——-+————+
Total jobs 1
upg> lsj
+—-+——-+———+———+——-+———-+——-+————+
|Job#|DB_NAME| STAGE|OPERATION| STATUS|START_TIME|UPDATED| MESSAGE|
+—-+——-+———+———+——-+———-+——-+————+
| 101| prod19|DBUPGRADE|EXECUTING|RUNNING| 22:34:42|34s ago|36%Patching |
+—-+——-+———+———+——-+———-+——-+————+
Total jobs 1
upg> Job 101 completed
——————- Final Summary ——————–
Number of databases [ 1 ]
Jobs finished [1]
Jobs failed [0]
Jobs restored [0]
Jobs pending [0]
Please check the summary report at:
/patch/autoupgrade/cfgtoollogs/upgrade/auto/status/status.html
/patch/autoupgrade/cfgtoollogs/upgrade/auto/status/status.log
=====
[oracle@prod autoupgrade]$ cat /patch/autoupgrade/cfgtoollogs/upgrade/auto/status/status.log
==========================================
Autoupgrade Summary Report
==========================================
[Date] Tue Mar 17 22:50:15 IST 2026
[Number of Jobs] 1
==========================================
[Job ID] 101
==========================================
[DB Name] prod19
[Version Before Upgrade] 19.3.0.0.0
[Version After Upgrade] 19.27.0.0.0
——————————————
[Stage Name] PREUPGRADE
[Status] SUCCESS
[Start Time] 2026-03-17 22:34:42
[Duration] 0:00:00
[Log Directory] /patch/autoupgrade/prod19/101/preupgrade
——————————————
[Stage Name] PRECHECKS
[Status] SUCCESS
[Start Time] 2026-03-17 22:34:42
[Duration] 0:01:24
[Log Directory] /patch/autoupgrade/prod19/101/prechecks
[Detail] /patch/autoupgrade/prod19/101/prechecks/prod19_preupgrade.log
Check passed and no manual intervention needed
——————————————
[Stage Name] PREFIXUPS
[Status] SUCCESS
[Start Time] 2026-03-17 22:36:07
[Duration] 0:02:38
[Log Directory] /patch/autoupgrade/prod19/101/prefixups
[Detail] /patch/autoupgrade/prod19/101/prefixups/prefixups.html
——————————————
[Stage Name] DRAIN
[Status] SUCCESS
[Start Time] 2026-03-17 22:38:46
[Duration] 0:00:56
[Log Directory] /patch/autoupgrade/prod19/101/drain
——————————————
[Stage Name] DBUPGRADE
[Status] SUCCESS
[Start Time] 2026-03-17 22:39:42
[Duration] 0:10:03
[Log Directory] /patch/autoupgrade/prod19/101/dbupgrade
——————————————
[Stage Name] POSTCHECKS
[Status] SUCCESS
[Start Time] 2026-03-17 22:49:45
[Duration] 0:00:00
[Log Directory] /patch/autoupgrade/prod19/101/postchecks
[Detail] /patch/autoupgrade/prod19/101/postchecks/prod19_postupgrade.log
Check passed and no manual intervention needed
——————————————
[Stage Name] POSTFIXUPS
[Status] SUCCESS
[Start Time] 2026-03-17 22:49:46
[Duration] 0:00:28
[Log Directory] /patch/autoupgrade/prod19/101/postfixups
[Detail] /patch/autoupgrade/prod19/101/postfixups/postfixups.html
——————————————
[Stage Name] POSTUPGRADE
[Status] SUCCESS
[Start Time] 2026-03-17 22:50:15
[Duration] 0:00:00
[Log Directory] /patch/autoupgrade/prod19/101/postupgrade
——————————————
[Stage Name] SYSUPDATES
[Status] SUCCESS
[Start Time] 2026-03-17 22:50:15
[Duration] 0:00:00
[Log Directory] /patch/autoupgrade/prod19/101/sysupdates
——————————————
Summary:/patch/autoupgrade/prod19/101/dbupgrade/datapatch_summary.log
6. Check the DB version and status of compoenets.
SQL> @db
NAME DB_UNIQUE_NAME OPEN_MODE DATABASE_ROLE INSTANCE_NAME HOST_NAME STARTUP_TIME
———- ————— ———- —————— ————— —————- ——————–
PROD19 prod19 READ WRITE PRIMARY prod19 prod 17-MAR-2026 22:39
BANNER BANNER_FULL
——————————————————————————– —————————————————————————————————————————————————————-
BANNER_LEGACY CON_ID
——————————————————————————– ———-
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production
Version 19.27.0.0.0
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production 0
====
SQL> set lines 1234 pages 1234
col comp_name for a50
col version for a15
col status for a10
SELECT comp_name, version, status FROM dba_registry;
COMP_NAME VERSION STATUS
————————————————– ————— ———-
Oracle Database Catalog Views 19.0.0.0.0 VALID
Oracle Database Packages and Types 19.0.0.0.0 VALID
Oracle Real Application Clusters 19.0.0.0.0 OPTION OFF
JServer JAVA Virtual Machine 19.0.0.0.0 VALID
Oracle XDK 19.0.0.0.0 VALID
Oracle Database Java Packages 19.0.0.0.0 VALID
OLAP Analytic Workspace 19.0.0.0.0 VALID
Oracle XML Database 19.0.0.0.0 VALID
Oracle Workspace Manager 19.0.0.0.0 VALID
Oracle Text 19.0.0.0.0 VALID
Oracle Multimedia 19.0.0.0.0 VALID
Spatial 19.0.0.0.0 VALID
Oracle OLAP API 19.0.0.0.0 VALID
Oracle Label Security 19.0.0.0.0 VALID
Oracle Database Vault 19.0.0.0.0 VALID
15 rows selected.
===
SQL> set linesize 300
col VERSION for a10
col ACTION for a20
col NAMESPACE for a15
col COMMENTS for a47
col ACTION_TIME for a30
select ACTION_TIME, ACTION, NAMESPACE,VERSION,COMMENTS from dba_registry_history;
ACTION_TIME ACTION NAMESPACE VERSION COMMENTS
—————————— ——————– ————— ———- ———————————————–
BOOTSTRAP DATAPATCH 19 RDBMS_19.27.0.0.0DBRU_LINUX.X64_250405
17-03-26 6:32:03.230647 PM RU_APPLY SERVER 19.0.0.0.0 Patch applied on 19.3.0.0.0: Release_Update – 1
90410122720
17-03-26 10:49:25.903440 PM RU_APPLY SERVER 19.0.0.0.0 Patch applied from 19.3.0.0.0 to 19.27.0.0.0: R
elease_Update – 250406131139
===
SQL> col DESCRIPTION for a70
SQL> select ACTION,ACTION_TIME,PATCH_ID,PATCH_UID,STATUS,DESCRIPTION from dba_registry_sqlpatch order by 2;
ACTION ACTION_TIME PATCH_ID PATCH_UID STATUS DESCRIPTION
——————– —————————— ———- ———- ———- ———————————————————————-
APPLY 17-03-26 6:32:07.037910 PM 29517242 22862832 SUCCESS Database Release Update : 19.3.0.0.190416 (29517242)
APPLY 17-03-26 10:49:25.884791 PM 37642901 27123174 SUCCESS Database Release Update : 19.27.0.0.250415 (37642901)
The RU patch has benn applied successfully.
Disclaimer:
Please note the above information is only for educational purpose and practised in personal test database only. Always test in test database before implementing in production database. The pre-requisites and ways of implementing may vary from one environment to another. Hence, not providing guarantee that it will work in your environment.