0 A                       ) !"# . $% &'() *+ &, - *. ./0 .123 456789:; < = >?@ H H A BCD E NF >G >HI >J >KL M N  OP \QRS \TUVW \X YZ[ >\ \]^_ ` ab o oc od >ef tgh vij vkl m nop vq vr tr s \t u v >wx  yz{ |}~  X                               / 1    >           y    \       \ )      >        >  >  >    >  \                 \ \   \ y             \    $ &   2 $  $    sessionNameLjava/lang/String;NRollbackSessionLoracle/opatch/OPatchSession;()VCodeLineNumberTableLocalVariableTablethis$Loracle/opatch/opatchutil/NRollback;process(Ljava/lang/String;)VreLjava/lang/RuntimeException;eidiIsetLjava/util/TreeSet;tLjava/lang/Throwable;detailLjava/util/Vector;patchIDobjLjava/lang/Object;msgsizenotInstalledPatchesinstalledPatchesresult)Loracle/opatch/opatchprereq/PrereqResult;Ljava/lang/Exception;poLoracle/opatch/PatchObject;#Loracle/opatch/ExitOPatchException;bIDjlineLjava/lang/StringBuffer;bugs[Loracle/opatch/Bug;commentpatchIDs[Ljava/lang/String;triggeredPatchIDs"Ljava/lang/IllegalAccessException;p0Loracle/opatch/PreReadMeAction;p1Loracle/opatch/PreScriptAction;preBuff PreScriptBuff InnerClasses9Loracle/opatch/opatchutil/OPatchUtilHelper$PreScriptBuff;p2 Loracle/opatch/PostReadMeAction;p3 Loracle/opatch/PostScriptAction;postBuffPostScriptBuff:Loracle/opatch/opatchutil/OPatchUtilHelper$PostScriptBuff;&Ljava/lang/CloneNotSupportedException; eachCookedIDprevAppliedPatchLocation preReadMeLoc postReadMeLoc preScriptLoc postScriptLocpreRead preScriptpostRead postScriptreadmescriptargerrLjava/lang/Error;okZpatchLocrollbackSessionLoracle/opatch/RollbackSession;originalPatchLoc rollbackSqlLoracle/opatch/PatchmdXml;rollbackSqlPathoracleHomePathbuffisLocalpatchesToRollbackgenericInventory Loracle/opatch/GenericInventory;selectsMinDowntimeNodeSelection5Loracle/opatch/RacProcessor$MinDowntimeNodeSelection; rbPatchIDsrbPatchObjects[Loracle/opatch/PatchObject;patchesToRollbackSet&Loracle/opatch/opatchprereq/PrereqSet;mPo!Loracle/opatch/MergedPatchObject; rbListMsglocsInterimrInterimfInterimLjava/io/File; frInterimfwLjava/io/FileWriter; interimWriteLjava/io/BufferedWriter; cookedPatchIDpsLoc doRestore preReadMesLjava/util/ArrayList; preScripts postReadMes postScripts onlinePropLjava/util/Properties; Exceptions processRemote(Ljava/lang/String;Loracle/opatch/RacProcessor$MinDowntimeNodeSelection;[Loracle/opatch/PatchObject;Loracle/opatch/MergedPatchObject;)Vgi no_inventoryLjava/io/IOException;homeInfo!Loracle/opatch/OUIOracleHomeInfo;node createRacFilefFPDPFRDRMPRCpatchStorageRacreportapplyrollback autoRollBack localNode remoteNodeslocalminDTrollingshutdownallNodesilentorder RacPatchOrder#Loracle/opatch/Rules$RacPatchOrder;rollbackPatchObjectsoracleHomeInventory#Loracle/opatch/OracleHomeInventory;racTypeRacTypeLoracle/opatch/Rac$RacType; runPrereqs1(Ljava/lang/String;[Loracle/opatch/PatchObject;)Vpe%Loracle/opatch/PrereqFailedException; sysCmdResactiveFilesRes applicableRes SourceFileNRollback.java FGjava/lang/StringBufferNRollback::process() on " FN "  ! "# $ %$ &Njava/lang/Stringoracle/opatch/PatchObject/ getting a list of patches to be n-rolled back.' ()java/lang/RuntimeException'You need to specify a list of patch ID #separated by commas. For example:  -id 1,2,3,4 *+ ,- ./ OUI-67306java/lang/Object NRollback 01java/util/TreeSetPatch to roll back: 2T 34 56You have specified patch ID  more than once. 768 9$"Lock the home to access inventory.: ;<java/lang/Throwable =+3NRollback::process() was not able to get a Session. >$:Running pre-requisite checks on patches to be rolled back.java/util/Vector? @AB CE+NRollback::process(): PrereqResult is NULL.+Prereq checkInstalledOneOffs returned null.F GH IJ KL MH _N OP,  OUI-67307 QN.Prereq. API failed but no detail is available."NRollback failed in prereq phase. "Prereq. API succeeds but no patch is available for rollback.'Prereq vector does not contain patchID.1Construct a list of patch objects to roll back...+Loading patches from Oracle Home inventory. BC (RS TUjava/lang/Exception V+ OUI-67322$oracle/opatch/opatchprereq/PrereqSet WX FY Z[ \[ OUI-67321 ]^ _^ nrollback `a NRollback: Fboracle/opatch/MergedPatchObject-The following patch(es) will be rolled back: !NRollback: a PatchObject is Null."Create a merged patch using patch cd  : backed-up files are under " e+ fg" (Run all the prereqs related to rollback. h ij!oracle/opatch/ExitOPatchException/UtilSession: NRollback exits on user's request. kl ml java/io/File n$ o$ pqjava/io/FileWriter Frjava/io/BufferedWriter Fs0# nrollback: list of patches to be rolled back. tN :rollback: uvw x+, yG zG {| }~ $ $ "oracle/opatch/opatchutil/NRollback  java/lang/IllegalAccessException g- NRollback: begins rolling back each patch...java/util/ArrayList g l l l loracle/opatch/PreReadMeAction oracle/opatch/PostReadMeAction oracle/opatch/PreScriptAction oracle/opatch/PostScriptAction      $ 7oracle/opatch/opatchutil/OPatchUtilHelper$PreScriptBuff F8oracle/opatch/opatchutil/OPatchUtilHelper$PostScriptBuff F$java/lang/CloneNotSupportedException.NRollback not able to clone Pre/Post Actions: G*N-Rollback: Disable all pre/post of patch ! so that they wont run as OPatch processes each patch. MG v [C l M + G G G G G G Rolling back patch ... #Calling RollbackSession::process()  with a PatchObject.   GNRollback doesn't have permission to invoke RollbckSession::process(). 4Some patches have been processed --> treat as Error.  java/lang/Error% Done with rolling back all patches.  $oracle/opatch/PatchmdXml  F + 6 OUI-67272 N  T 4 OUI-67273 l G OUI-67266 + 1  +  $ | ~ l ~  NNRollback::processRemote()>NRollback::processRemote() not supported on SA Oracle Home yet!oracle/opatch/OracleHomeInventory $5 needs a non-null oracleHomeInventory and patchObject java/io/IOException     7 not a RAC system, no-op for NRollback::processRemote()LNRollback::processRemote() will roll back the patch on the following nodes: ) (node ). RAC mode is: + $ $ $ $ $ $  OUI-67250 N . Patching order is: g $6NRollback::processRemote() was not able to locate the Rdirectory containing listed files/dirs to be propagated/removed on remote nodes. EMoreover, since users request that no RAC listed files be generated, ,OPatch cannot go on patching remote nodes.  l l l l l l l;OPatch will use the following files to patch remote nodes:  " +    3 Pre-requiste "CheckSystemCommandAvailable" failed.#oracle/opatch/PrereqFailedException*Prereq checkSystemCommandAvailable failed.-All the required system commands are present. 6 Pre-requiste "CheckActiveFilesAndExecutables" failed.-Prereq checkActiveFilesAndExecutables failed.#None of the executables are active. ' Pre-requiste "CheckApplicable" failed.Prereq checkApplicable failed.4All the actions of the given patches are applicable. +  DE!oracle/opatch/opatchutil/NSession3oracle/opatch/RacProcessor$MinDowntimeNodeSelection!oracle/opatch/Rules$RacPatchOrderoracle/opatch/Rac$RacTypeappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;oracle/opatch/OLoggerdebug(Ljava/lang/StringBuffer;)Voracle/opatch/OPatchEnv setNRollback(Z)V()ZisStandAloneHomevalidateConnectStringNodes)oracle/opatch/opatchutil/OPatchUtilHelpergetPatchesToRollback()[Ljava/lang/String;toString()Ljava/lang/String; getStackTrace ()[Ljava/lang/StackTraceElement; setStackTrace!([Ljava/lang/StackTraceElement;)V getString9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;FINElog(ILjava/lang/String;)Vcontains(Ljava/lang/Object;)Zaddoracle/opatch/RulesOUIRead_continueoracle/opatch/UtilSessiongetGenericInventory4(Ljava/lang/String;)Loracle/opatch/GenericInventory; getMessage shouldCheckIfInventoryHasPatches$oracle/opatch/opatchprereq/PrereqAPIcheckInstalledOneOffst(Ljava/lang/String;[Ljava/lang/String;Ljava/util/Vector;Ljava/util/Vector;)Loracle/opatch/opatchprereq/PrereqResult;'oracle/opatch/opatchprereq/PrereqResult getResult ExecuteStatus9()Loracle/opatch/opatchprereq/PrereqResult$ExecuteStatus;5oracle/opatch/opatchprereq/PrereqResult$ExecuteStatus NOT_EXECUTED7Loracle/opatch/opatchprereq/PrereqResult$ExecuteStatus;getResultDetails()Ljava/util/Vector;processPrereqNotExecuted(Ljava/util/Vector;)VFAILED()Iget(I)Ljava/lang/Object;printlnU(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)[Loracle/opatch/PatchObject;!oracle/opatch/OPatchSessionHelper sortOnOverlay;([Loracle/opatch/PatchObject;Z)[Loracle/opatch/PatchObject; getPatchIDgetOneOffObjectsL(Ljava/lang/String;[Loracle/opatch/PatchObject;)[Loracle/opatch/OneOffEntry;([Loracle/opatch/OneOffEntry;)V hasHotPatch)(Loracle/opatch/opatchprereq/PrereqSet;)ZhasNonHotPatchgetHotPatchIDs:(Loracle/opatch/opatchprereq/PrereqSet;)Ljava/lang/String;getNonHotPatchIDsvalidateRunSqlOptionC(Ljava/lang/String;[Loracle/opatch/PatchObject;Ljava/lang/String;)V*(Ljava/lang/String;Ljava/lang/Throwable;)Vmerge1(Ljava/lang/String;Loracle/opatch/PatchObject;Z)VgetCookedPatchIDgetPatchStorageDirectoryPath8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;runRollbackPrereqspromptForShutdowni(Ljava/lang/String;Loracle/opatch/GenericInventory;)Loracle/opatch/RacProcessor$MinDowntimeNodeSelection;getInterimInventoryFileLoc&(Ljava/lang/String;)Ljava/lang/String;getRecordInventoryFileLocexistsdeletewriteRecordedEntriesC(Ljava/io/File;Ljava/lang/String;Loracle/opatch/GenericInventory;)V(Ljava/io/File;Z)V(Ljava/io/Writer;)Vwrite getBugsToFix()[Loracle/opatch/Bug;oracle/opatch/BuggetBugIDflushclose%createUtilSessionPatchStorageLocation'(Ljava/lang/String;Ljava/lang/String;)VbackupForRestore5(Ljava/lang/String;Loracle/opatch/GenericInventory;)VSystemWrite_continueOUIWrite_continuecreateSessionProperties_(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Voracle/opatch/OPatchACLsetLocal(Ljava/lang/Object;Z)V"getUtilSessionPatchStorageLocationgetPatchBackupDirectoryPathgetPreReadMeFilePathgetPostReadMeFilePathgetPreScriptFilePathgetPostScriptFilePathsetPreReadMeAction"(Loracle/opatch/PreReadMeAction;)VsetPostReadMeAction#(Loracle/opatch/PostReadMeAction;)VsetPreScriptAction"(Loracle/opatch/PreScriptAction;)VsetPostScriptAction#(Loracle/opatch/PostScriptAction;)VgetPreReadMeAction!()Loracle/opatch/PreReadMeAction;getPreScriptAction!()Loracle/opatch/PreScriptAction;getPostReadMeAction"()Loracle/opatch/PostReadMeAction;getPostScriptAction"()Loracle/opatch/PostScriptAction;isNoOpclone()Ljava/lang/Object;4(Loracle/opatch/PreScriptAction;Ljava/lang/String;)V5(Loracle/opatch/PostScriptAction;Ljava/lang/String;)VdisablePrePosta%getPreScriptActionArgumentForRollBack9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)IgetPatchLocationdisableFuserCheckdisableMakeActiondisablePromptForShutdowndisablePromptForStartupdisableRestoreFileCreationdisableSystemCommandCheckcreateAndUpdatePatchListT(Ljava/lang/String;Ljava/lang/String;Loracle/opatch/PatchObject;Ljava/lang/String;)Voracle/opatch/OPatchSessionROLLBACKprocessRollback(Ljava/lang/Object;Loracle/opatch/RollbackSession;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Loracle/opatch/PatchObject;)V restoreOH(Ljava/lang/String;)ZwarnRestoreMessage((Ljava/lang/String;Ljava/lang/String;Z)VinvokeConsolidatedMakeisRunSqlgetAllIncludedCopyActions()Ljava/util/ListIterator;R(Ljava/lang/String;Ljava/lang/String;ZLjava/util/ListIterator;Ljava/lang/String;)V getSqlPathequals runSqlScriptprintStackTrace(Ljava/lang/Throwable;)VINFO printlnOnLogwarnrunCustomScriptgetSqlScriptFilePathgetOnlinePropertyFromFile*(Ljava/lang/String;)Ljava/util/Properties; getLocalNoderemoveOnlineRollbackSidsY(Ljava/util/Properties;[Loracle/opatch/PatchObject;Ljava/lang/String;Ljava/lang/String;)VisSqlRelatedActionsremoveSidFromSqlPropertyFile&getPostScriptActionArgumentForRollBackpromptForStartuporacle/opatch/GenericInventoryreleaseoracle/opatch/PrereqSessionisInvmodgenerateRacFilesU(Ljava/lang/String;[Loracle/opatch/PatchObject;Ljava/lang/String;Ljava/lang/String;)VgetOUIOracleHomeInfo#()Loracle/opatch/OUIOracleHomeInfo;oracle/opatch/Rac getInstance?(Loracle/opatch/OUIOracleHomeInfo;Z)Loracle/opatch/Rac$RacType;>(Loracle/opatch/OUIOracleHomeInfo;)Loracle/opatch/Rac$RacType;shouldPropagate(Loracle/opatch/Rac$RacType;)ZshouldRemoteRungetRemoteNodes getDetail isMinDowntime isRolling isShutdown isAllNodeisSilentforceAllNodeMode setAllNodeinfogetRacPatchOrderE(Loracle/opatch/Rac$RacType;ZZZZZ)Loracle/opatch/Rules$RacPatchOrder;getPatchStorageRacDirectoryPathisCreateRacFileoracle/opatch/RacFileCreator checkPsRacgetFPFinalNamegetDPFinalNamegetFRFinalNamegetDRFinalNamegetMPFinalNamegetRCFinalNamegetShutdownMsgoracle/opatch/RacProcessorpatchRemoteNodesr(Ljava/lang/String;[Ljava/lang/String;Loracle/opatch/Rules$RacPatchOrder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;Loracle/opatch/RacProcessor$MinDowntimeNodeSelection;ZZZLjava/lang/String;Ljava/lang/String;[Loracle/opatch/PatchObject;[Loracle/opatch/PatchObject;Ljava/lang/String;ZZ)V toOneOffEntry/(Ljava/lang/String;)Loracle/opatch/OneOffEntry;getExecutables'(Ljava/lang/String;)[Ljava/lang/String;checkSystemCommandAvailablek(Ljava/lang/String;Loracle/opatch/OneOffEntry;[Ljava/lang/String;)Loracle/opatch/opatchprereq/PrereqResult;checkActiveFilesAndExecutablesX(Ljava/lang/String;Loracle/opatch/PatchObject;)Loracle/opatch/opatchprereq/PrereqResult;checkRollbackableY(Ljava/lang/String;[Loracle/opatch/PatchObject;)Loracle/opatch/opatchprereq/PrereqResult;getNRollbackSessionNameUTILLoracle/opatch/UtilSession;!ABCDEFGH3*I J KL MNH) zYL+*W+W+ =N:: *  : :YL+N;:YL+W+W+Y+:   --.YYSYSL+Y+Y:6  -d- 2: YL+ W +! "+Y#L+ W+$W+Y+ %W & '!*(: :Y*:    Y+L+Y+, -!.Y/:.Y/: *- 0:   1Y2L+Y3 14 5:  6:   1786  fY9L6   8 ::  ! :+W ` +;W <Y+S:  =>=Y?:    8(Y@L+AW+Y+:   8 :6   8I  ::   :   S!YBL+Y+:   -:-:YCL +! D!*EF:G:%::YI:  J Y9L6+KW+2LWMY+S:=NY*OP:  Q5 R-YSY TSY USYVS:  *W&: YYXY Z [\YE]: Y^: 6  e 2:  Y_LY+ YX` L! * a L: bW YcL+EW+dW* ef: + W+gW +!YhL+*i = *j:: YlL+= :  *m: *n::oY p:q rW:oYp:q rW::VsVstYu:vYw:x:y6YX:2:L:zW{:6-2|:Wd }WcWy~~: e:* *: < :62LS:*E eY:* e:YL+6Y:Y:Y:Y:6w2:L::*::: :!:"YY Y!Y":#:$:%:&###:''W$*$"$:'Y':((W%%%:''W&*&"&:'Y':((W%:'YL+'WY+YL+W+W+6:66::::W6Z62:L::ŻYƷL+W+ǶW+=YȷL+ɶW+* eEʧ::Y*̧:YͷL+ζWY+:  ϶ :FYзL+ *6 E  YZ:!!!: *6 E  Yַ:!!׶! ظ! *٧R: *6EY*:ڶY*:ڶ6ۙ*2:Y*22L::j9`YSYSY2LS=7:ZYSYSY2LSWQ%:ZYSW*:*ۙ+6 2*26:66::::W *Y: * )* :Y*:ڶASVDJM)?RU?RZHk3HKHTbe-0 \ j mH t t  t  L T W)  ! [ ^ a . 9 < S Y \)I6 #%(+15;AKOSVXbipt (06<DJMO]gjoy}   #',)+-.0 246&8/:7<>=E?NAU6[FmIrJuMzPS[^`acdhjlnpqruxz|j #-7?JRUWZ\jtw4@KV]blx  )0358>DGRZ`"c#n%|()-023789:;<=>?@A BC?!F)G3H89>KCLHNMYT]Z_bdeagcjgvi~jljoqy}{ '.5<CQ_m{%-02<FRWamtx~       # ( 2 9 @ G Q X \ j m o t M       " $ & ) + , . 0 1 2 6 ; > @ A C E #I 1J ;K > DP LW Tk WY Y[ a] k_ pa ~b c g h i r u y ~     ! # ( 3 Ur [ ^ a c h s                   & . 9 < > D N S Y \ ^ l v yJ\ OP X6QPURC hST kUV] QP OWXQP  YZ >[C/&\] <ST m^C OP  {_T QP [C QP 7\] PST w`ZnaZ cbc WQPj OP \Qd"STOP !QP  RC]Uef NjST Qg 5QP hC2iTnjkgef`RCLlmSTnCMQdgQPST~1opqpQrst'uv'wz({|'}~'%(2 Q'gef`RCYC'QC.JC5CC <<C!C5C"t#v$|%~&|STt!ST!wzv[C C=ST oQd OP .Qr ! - KQP 1 OP! - 5QBef ;[C 4C t_ST ~  OP aE YMQX #2QP C s lC ST c QP %ST | !ST ! ~ [C  C =ST >Qr l OP ^WX zC pk# W% Up( R+ O; ?pA 9^C @: K/k C ><C D6CG3cT&CC{  HY::-e::*: :  =Y : :Y*:    &,46"WY*,E :Y:   &:: :Y:Y : : :  56   *  2:  W W W WW 6 6 -6 -6 66-&!  6Y:   :WW::::::9:*:6oYp:;q3Y:W W!W="W#:$:%:&:':(: :Y:Y):*WWgW*WWgW*WWgW*WWgW*WWgW*WWgW !666*  E+-+,, :: BE)VWVWVWI   "(,1;BEGU_bq$~&(*,3:5789<>ABEHJNRV!W(Y-[8]?_H`PaY[_ehfshxi}jklmsuvw}z '3<ENVW]dkry #+09AINW_grux{J-,^C " U QP GWX~$ OP Q?C 0/ST Qrxm OPQCCCCCCCku:x7{4QPQ!C(p xD }? 9 3 .)C kC HI;YXMo>+g*+2*-+2*./:1417.Y0M,1W,=2Y34: 5!d>+\*+26:1417.Y7M,1W,=2Y84: 9!&VP*+:N-14 -17-Y;M,-1W,=2Y<4: =!I!  *@KU\h!k%tz,.047:;=@D.LORUXY"[.]1a:eJp h*JcjSTJc_ST.Gc;C;3k2GH) >E?@I xzy2x     *&D