--prapare:

copy 192.168.63.83 D:\oracle_patch\1612 to 192.168.2.169 D:\oracle_patch\1612

cd D:\oracle_patch\1612
D:\app\Administrator\product\11.2.0\dbhome_1\OPatch\ocm\bin\emocmrsp.bat

set ORACLE_HOME=D:\app\Administrator\product\11.2.0\dbhome_1
set PATH=%ORACLE_HOME%\OPatch:%PATH%

mkdir db
mkdir ojvm
unzip p23530402_112040_MSWIN-x86-64.zip -d db
unzip p23515277_112040_MSWIN-x86-64.zip -d ojvm
unzip p6880880_112000_MSWIN-x86-64.zip -d %ORACLE_HOME%

D:\app\Administrator\product\11.2.0\dbhome_1\OPatch\ocm\bin\emocmrsp.bat
lsnrctl stop listener_testprd

sqlplus / as sysdba
shutdown immediate
exit

--apply

kill process extjob.exe
kill process omtsreco.exe
kill process TNSLSNR.EXE

opatch rollback -id 19799291 -ocmrf ocm.rsp
opatch rollback -id  19651773 -ocmrf ocm.rsp

opatch apply  -silent db\23530402 -ocmrf ocm.rsp
opatch apply   -silent  ojvm\23515277 -ocmrf ocm.rsp

net start OracleServicetestPROD

set ORACLE_SID=testPROD

cd %ORACLE_HOME%\rdbms\admin
sqlplus /nolog
CONNECT / AS SYSDBA
STARTUP
@catbundle.sql PSU apply
QUIT
/

cd %ORACLE_HOME%\sqlpatch\23515277
sqlplus /nolog
CONNECT / AS SYSDBA
SHUTDOWN
STARTUP UPGRADE
@postinstall.sql
SHUTDOWN
STARTUP
QUIT
/

net start OracleOraDb11g_home1TNSListenerLISTENER_testPROD

--regress
opatch rollback -id 23530402 -ocmrf ocm.rsp
opatch rollback -id  23515277 -ocmrf ocm.rsp

--------------
windows : ddl 进程active in opatch
Workaround 2:
 -------------------
 When a specific dll is mentioned during installation:
 On Windows XP use the utility TASKLIST to list the currently opened files.
 When using TASKLIST with option /m, it will list all active processes with their opened files.

For example:
 1. tasklist /m > tasks.txt
 2. notepad tasks.txt
 3. Search for the specified dll in tasks.txt and identify the process.
 4. Stop the involved process or service. 停下oracle 进程

05-08 08:27