Edit D:\app\Administrator\product\11.2.0\dbhome_1\OPatch\jlib\oracle\opatch\opatchutil\NRollback.class
?? 0 A??? ? ?? ?? ?? ?? ?? ? ? ? ? ? ? ? ) !"# .? $% &'() *+ &, - *. ./0 .123 ?456789:; ?< = >?@ H HA 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? $ $ ? ? ? sessionName Ljava/lang/String; NRollbackSession Loracle/opatch/OPatchSession; <init> ()V Code LineNumberTable LocalVariableTable this $Loracle/opatch/opatchutil/NRollback; process (Ljava/lang/String;)V re Ljava/lang/RuntimeException; e id i I set Ljava/util/TreeSet; t Ljava/lang/Throwable; detail Ljava/util/Vector; patchID obj Ljava/lang/Object; msg size notInstalledPatches installedPatches result )Loracle/opatch/opatchprereq/PrereqResult; Ljava/lang/Exception; po Loracle/opatch/PatchObject; #Loracle/opatch/ExitOPatchException; bID j line Ljava/lang/StringBuffer; bugs [Loracle/opatch/Bug; comment patchIDs [Ljava/lang/String; triggeredPatchIDs "Ljava/lang/IllegalAccessException; p0 Loracle/opatch/PreReadMeAction; p1 Loracle/opatch/PreScriptAction; preBuff PreScriptBuff InnerClasses 9Loracle/opatch/opatchutil/OPatchUtilHelper$PreScriptBuff; p2 Loracle/opatch/PostReadMeAction; p3 Loracle/opatch/PostScriptAction; postBuff PostScriptBuff :Loracle/opatch/opatchutil/OPatchUtilHelper$PostScriptBuff; &Ljava/lang/CloneNotSupportedException; eachCookedID prevAppliedPatchLocation preReadMeLoc postReadMeLoc preScriptLoc postScriptLoc preRead preScript postRead postScript readme script arg err Ljava/lang/Error; ok Z patchLoc rollbackSession Loracle/opatch/RollbackSession; originalPatchLoc rollbackSql Loracle/opatch/PatchmdXml; rollbackSqlPath oracleHomePath buff isLocal patchesToRollback genericInventory Loracle/opatch/GenericInventory; selects MinDowntimeNodeSelection 5Loracle/opatch/RacProcessor$MinDowntimeNodeSelection; rbPatchIDs rbPatchObjects [Loracle/opatch/PatchObject; patchesToRollbackSet &Loracle/opatch/opatchprereq/PrereqSet; mPo !Loracle/opatch/MergedPatchObject; rbListMsg loc sInterim rInterim fInterim Ljava/io/File; frInterim fw Ljava/io/FileWriter; interimWrite Ljava/io/BufferedWriter; cookedPatchID psLoc doRestore preReadMes Ljava/util/ArrayList; preScripts postReadMes postScripts onlineProp Ljava/util/Properties; Exceptions processRemote ?(Ljava/lang/String;Loracle/opatch/RacProcessor$MinDowntimeNodeSelection;[Loracle/opatch/PatchObject;Loracle/opatch/MergedPatchObject;)V gi no_inventory Ljava/io/IOException; homeInfo !Loracle/opatch/OUIOracleHomeInfo; node createRacFile f FP DP FR DR MP RC patchStorageRac report apply rollback autoRollBack localNode remoteNodes local minDT rolling shutdown allNode silent order RacPatchOrder #Loracle/opatch/Rules$RacPatchOrder; rollbackPatchObjects oracleHomeInventory #Loracle/opatch/OracleHomeInventory; racType RacType Loracle/opatch/Rac$RacType; runPrereqs 1(Ljava/lang/String;[Loracle/opatch/PatchObject;)V pe %Loracle/opatch/PrereqFailedException; sysCmdRes activeFilesRes applicableRes <clinit> SourceFile NRollback.javaFG java/lang/StringBuffer NRollback::process() on "FN " !"#?$%$&N java/lang/String oracle/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-67306 java/lang/Object NRollback01 java/util/TreeSet Patch to roll back: 2T3456 You have specified patch ID more than once.7689$ "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?@ABCE +NRollback::process(): PrereqResult is NULL. +Prereq checkInstalledOneOffs returned null.FGHIJKLMH_N OP , OUI-67307QN .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(RSTU java/lang/Exception V+ OUI-67322 $oracle/opatch/opatchprereq/PrereqSetWXFYZ[\[ OUI-67321]^_^ nrollback`a NRollback: Fb oracle/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.klml java/io/Filen$o$pq java/io/FileWriterFr java/io/BufferedWriterFs 0# nrollback: list of patches to be rolled back. tN :rollback:uvwx+ ,yGzG{|}~$?$?? "oracle/opatch/opatchutil/NRollback??? java/lang/IllegalAccessException?g - NRollback: begins rolling back each patch... java/util/ArrayList?g?l?l?l?l oracle/opatch/PreReadMeAction?? oracle/opatch/PostReadMeAction?? oracle/opatch/PreScriptAction?? oracle/opatch/PostScriptAction???????????$?? 7oracle/opatch/opatchutil/OPatchUtilHelper$PreScriptBuffF? 8oracle/opatch/opatchutil/OPatchUtilHelper$PostScriptBuffF? $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?lM??+?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?~????N NRollback::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/NSession 3oracle/opatch/RacProcessor$MinDowntimeNodeSelection !oracle/opatch/Rules$RacPatchOrder oracle/opatch/Rac$RacType append ,(Ljava/lang/String;)Ljava/lang/StringBuffer; oracle/opatch/OLogger debug (Ljava/lang/StringBuffer;)V oracle/opatch/OPatchEnv setNRollback (Z)V ()Z isStandAloneHome validateConnectStringNodes )oracle/opatch/opatchutil/OPatchUtilHelper getPatchesToRollback ()[Ljava/lang/String; toString ()Ljava/lang/String; getStackTrace ()[Ljava/lang/StackTraceElement; setStackTrace !([Ljava/lang/StackTraceElement;)V getString 9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; FINE log (ILjava/lang/String;)V contains (Ljava/lang/Object;)Z add oracle/opatch/Rules OUIRead_continue oracle/opatch/UtilSession getGenericInventory 4(Ljava/lang/String;)Loracle/opatch/GenericInventory; getMessage shouldCheckIfInventoryHasPatches $oracle/opatch/opatchprereq/PrereqAPI checkInstalledOneOffs t(Ljava/lang/String;[Ljava/lang/String;Ljava/util/Vector;Ljava/util/Vector;)Loracle/opatch/opatchprereq/PrereqResult; 'oracle/opatch/opatchprereq/PrereqResult getResult ExecuteStatus 9()Loracle/opatch/opatchprereq/PrereqResult$ExecuteStatus; 5oracle/opatch/opatchprereq/PrereqResult$ExecuteStatus NOT_EXECUTED 7Loracle/opatch/opatchprereq/PrereqResult$ExecuteStatus; getResultDetails ()Ljava/util/Vector; processPrereqNotExecuted (Ljava/util/Vector;)V FAILED ()I get (I)Ljava/lang/Object; println U(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)[Loracle/opatch/PatchObject; !oracle/opatch/OPatchSessionHelper sortOnOverlay ;([Loracle/opatch/PatchObject;Z)[Loracle/opatch/PatchObject; getPatchID getOneOffObjects L(Ljava/lang/String;[Loracle/opatch/PatchObject;)[Loracle/opatch/OneOffEntry; ([Loracle/opatch/OneOffEntry;)V hasHotPatch )(Loracle/opatch/opatchprereq/PrereqSet;)Z hasNonHotPatch getHotPatchIDs :(Loracle/opatch/opatchprereq/PrereqSet;)Ljava/lang/String; getNonHotPatchIDs validateRunSqlOption C(Ljava/lang/String;[Loracle/opatch/PatchObject;Ljava/lang/String;)V *(Ljava/lang/String;Ljava/lang/Throwable;)V merge 1(Ljava/lang/String;Loracle/opatch/PatchObject;Z)V getCookedPatchID getPatchStorageDirectoryPath 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; runRollbackPrereqs promptForShutdown i(Ljava/lang/String;Loracle/opatch/GenericInventory;)Loracle/opatch/RacProcessor$MinDowntimeNodeSelection; getInterimInventoryFileLoc &(Ljava/lang/String;)Ljava/lang/String; getRecordInventoryFileLoc exists delete writeRecordedEntries C(Ljava/io/File;Ljava/lang/String;Loracle/opatch/GenericInventory;)V (Ljava/io/File;Z)V (Ljava/io/Writer;)V write getBugsToFix ()[Loracle/opatch/Bug; oracle/opatch/Bug getBugID flush close %createUtilSessionPatchStorageLocation '(Ljava/lang/String;Ljava/lang/String;)V backupForRestore 5(Ljava/lang/String;Loracle/opatch/GenericInventory;)V SystemWrite_continue OUIWrite_continue createSessionProperties _(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V oracle/opatch/OPatchACL setLocal (Ljava/lang/Object;Z)V "getUtilSessionPatchStorageLocation getPatchBackupDirectoryPath getPreReadMeFilePath getPostReadMeFilePath getPreScriptFilePath getPostScriptFilePath setPreReadMeAction "(Loracle/opatch/PreReadMeAction;)V setPostReadMeAction #(Loracle/opatch/PostReadMeAction;)V setPreScriptAction "(Loracle/opatch/PreScriptAction;)V setPostScriptAction #(Loracle/opatch/PostScriptAction;)V getPreReadMeAction !()Loracle/opatch/PreReadMeAction; getPreScriptAction !()Loracle/opatch/PreScriptAction; getPostReadMeAction "()Loracle/opatch/PostReadMeAction; getPostScriptAction "()Loracle/opatch/PostScriptAction; isNoOp clone ()Ljava/lang/Object; 4(Loracle/opatch/PreScriptAction;Ljava/lang/String;)V 5(Loracle/opatch/PostScriptAction;Ljava/lang/String;)V disablePrePost a %getPreScriptActionArgumentForRollBack 9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I getPatchLocation disableFuserCheck disableMakeAction disablePromptForShutdown disablePromptForStartup disableRestoreFileCreation disableSystemCommandCheck createAndUpdatePatchList T(Ljava/lang/String;Ljava/lang/String;Loracle/opatch/PatchObject;Ljava/lang/String;)V oracle/opatch/OPatchSession ROLLBACK processRollback ?(Ljava/lang/Object;Loracle/opatch/RollbackSession;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Loracle/opatch/PatchObject;)V restoreOH (Ljava/lang/String;)Z warnRestoreMessage ((Ljava/lang/String;Ljava/lang/String;Z)V invokeConsolidatedMake isRunSql getAllIncludedCopyActions ()Ljava/util/ListIterator; R(Ljava/lang/String;Ljava/lang/String;ZLjava/util/ListIterator;Ljava/lang/String;)V getSqlPath equals runSqlScript printStackTrace (Ljava/lang/Throwable;)V INFO printlnOnLog warn runCustomScript getSqlScriptFilePath getOnlinePropertyFromFile *(Ljava/lang/String;)Ljava/util/Properties; getLocalNode removeOnlineRollbackSids Y(Ljava/util/Properties;[Loracle/opatch/PatchObject;Ljava/lang/String;Ljava/lang/String;)V isSqlRelatedActions removeSidFromSqlPropertyFile &getPostScriptActionArgumentForRollBack promptForStartup oracle/opatch/GenericInventory release oracle/opatch/PrereqSession isInvmod generateRacFiles U(Ljava/lang/String;[Loracle/opatch/PatchObject;Ljava/lang/String;Ljava/lang/String;)V getOUIOracleHomeInfo #()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;)Z shouldRemoteRun getRemoteNodes getDetail isMinDowntime isRolling isShutdown isAllNode isSilent forceAllNodeMode setAllNode info getRacPatchOrder E(Loracle/opatch/Rac$RacType;ZZZZZ)Loracle/opatch/Rules$RacPatchOrder; getPatchStorageRacDirectoryPath isCreateRacFile oracle/opatch/RacFileCreator checkPsRac getFPFinalName getDPFinalName getFRFinalName getDRFinalName getMPFinalName getRCFinalName getShutdownMsg oracle/opatch/RacProcessor patchRemoteNodesr(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; checkSystemCommandAvailable k(Ljava/lang/String;Loracle/opatch/OneOffEntry;[Ljava/lang/String;)Loracle/opatch/opatchprereq/PrereqResult; checkActiveFilesAndExecutables X(Ljava/lang/String;Loracle/opatch/PatchObject;)Loracle/opatch/opatchprereq/PrereqResult; checkRollbackable Y(Ljava/lang/String;[Loracle/opatch/PatchObject;)Loracle/opatch/opatchprereq/PrereqResult; getNRollbackSessionName UTIL Loracle/opatch/UtilSession; ! ?A BC DE FG H 3 *? ? I ?J KL MN H ? ) z? Y? L+*? W+? W+? ? ? =N::? ? *? ? :? :? Y? L+? ? N? ;:? Y? L+? W+? W+? ? Y+? ? : ? ? ?-? -? .? Y? YSYS? ? L+? ? Y+? ? ? Y? :6 -? d- 2: ? Y? L+ ? W? +? ? ! ? "? +? Y#? L+ ? W+$? W+? ? Y+? ? ? ? %W? ?? &?? '? !*? (:? :? Y? *? : ? ? ?? ? Y+? L+? ? Y+? ? ? ,?? -? !? .Y? /:? .Y? /: *- ? 0: ? ? 1? ? Y2? L+? ? Y3? ? ? 1? 4? ? 5:? 6? :? ? ? 1? 7? ?? 86? f? Y9? L6? 8? :: ? ? ! ? :+? W`? +;? W???<? Y+? S? :? =? >? =? Y?? :? ? ? 8? (? Y@? L+A? W+? ? Y+? ? :? ? 8? :6 ? 8? I ? ::? ? ? : S? !? YB? L+? ? Y+? ? : ??? -:? -:? YC? L? +? ? !? D? !*? E? F:? G:? %:?:? Y? I? : ? J? ? Y9? L6? +K? W+2? L? W???M? Y+? S? :? =? NY*? O? P: ? Q? 5 ? R? -? YS? Y ? TSY ? USYVS? ? : ?*? W? &: ? Y? Y? XY? ? Z? ? ? [? \Y? E? ]: ? Y^? :6? e2: ? ? Y_? L? Y+? ? ? ? Y? X`? ? L? ? ? ! * ? a ? L:? b? W??? Yc? L+? E? W+d? W* ? e? f:+? W+g? W? +? ? !? Yh? L+? *? i? ? = *? j:? : ? Yl? L+? ? = ?: ?*? m: *? n::? oY ? p:? q? ? rW:? oY? p:? q? ? rW::V? sV? s? tY? u:? vY? w:x:? y6? ?? Y? X:2:? L:? z? W? {:6? -2? |:? W?d? }? W???c? W? ? y? ~??~? ? ?? : ? e:*? ? *? ? :? ? ? ? <? :6? 2? LS???:*? E ? e? ? ?? ?? ? :* ? e? ?:? Y? L+? 6? ?? ?:? ?? ?:? ?? ?:? ?? ?:6?w2:? L:? ?:*? ?:? ?:? ?: ? ?:!? ?:"? ?? ? ?? ? ? ? ?? ?!? ? ?? ?"? ? ?? ?:#? ?:$? ?:%? ?:&#? #? ? #? ? ?:''? ?$? *$? ? "$? ? ?:'? ?'? ?:((? ?%? %? ? %? ? ?:''? ?&? *&? ? "&? ? ?:'? ?'? ?:((? ?? %:'? Y? L+'? ? W? Y+? ? ?? ? Y? L+? ? W+? W+? ???6? ? ? ? ?:? ???6? ? 6? ? ?:? ?:? ?:? ?:? ????6?Z? 62:? L:? ?:? ?? ?? ?? ?? ?? ? Y? L+? W+? W+? ? =? Y? L+? W+? * ? e? E? ? :? ?:? ?? ?*? ? ?:? Y? L+? ? W? Y+? ? : ? ? ?:? F? Y? L+? *? ?6 ? E ? ? ? ? ?? Z? ?:!!? ? ?!???: *? ?6 ? E ? ? ? ? Y? ? :!!? ? !??? ? ! *? ? R: *? ?6? E? ?? ? ?? *? ?:? ? ?? Y? *? :? ? ?6? ? ? ?*2? ? ?:? ?*2? ?2? L? ?:? ?:? j9? ? `?? YSYSY2? LS? ? =? ? 7:? ? ?? Z? ??? YSYSY2? LS? ? ???Q? ? %:? ? ?? Z? ??? Y? ?? ?*? ?:? ?*? ? ? +6? 2? ? *2? ? ???6? ? ? ? ?:? ???6? ? 6? ? ?:? ?:? ?:? ?:? ???? *? ? ?? ?? ? :? ? * ? ?? )*? ? :? Y? *? :? ? ? A S V DJM )??? ?RU ?RZ H k3 ?HK HTbe ??? ??-0 ? \ j m H t ? ? ? t ? ? t ? ? L T W ) ?! [^a .9<