z#$VDE Guide to Using VDE,ŶVDE_GUIDE_NAME_2  Contents  Tables IndexDB*DECdocument V3.2n&C/ gCONTENTSCONTENTS8 E\TitlePageTitle Page@E\ CopyrightPageCopyright Page 1xE\PrefacePreface@g$K1 Introduction1 IntroductionNg% $K1.1&KWhatisVDE?1.1 What is VDE?ww$; $K1.2.&KVDEandtheOpenVMSVAXLibrary1.2 VDE and the OpenVMS VAX Library$bg/ $L1.3"&LModulesand Facilities1.3 Modules and Facilities)[w+ $L1.4&L DevelopmentStreams1.4 Development Streams-Jg" $K1.5&K Generations1.5 Generations2Ng$ $K1.6&K Architectures1.6 Architectures6dw0 $K1.7#&K PropogationandFolding1.7 Propogation and Folding9lw 4 $K1.8'&K CustomizationUsingScripts1.8 Customization Using Scripts>]g, $K1.9&K ConvenienceFeatures1.9 Convenience FeaturesAOl!!$@1.9.1Kept Subprocess1.9.1 Kept SubprocessBY\&&$@1.9.2InitializationFiles1.9.2 Initialization FilesEal++$A1.9.3 SelectingaTextEditor1.9.3 Selecting a Text EditorKyl*77$A1.9.4Grouping ReservationsintoSessions1.9.4 Grouping Reservations into SessionsOsl'44$A1.9.5DefiningDefaultsUsingContexts1.9.5 Defining Defaults Using ContextsRjg#//$@1.9.6Default Libraries, Mnemonics1.9.6 Default Libraries, MnemonicsUiw"//$K2 Reservingand ReplacingModules2 Reserving and Replacing ModulesXrw#7 $K2.1*&K IdentifyingModule Generations2.1 Identifying Module GenerationsZWw) $L2.2&L ReservingModules2.2 Reserving Modulesc_\))$A2.2.1 Concurrent Reservations2.2.1 Concurrent ReservationsvW\%%$A2.2.2Queued Reservations2.2.2 Queued Reservations^w- $K2.3 &KCreatingNewModules2.3 Creating New ModulesUw( $K2.4&KFetchingModules2.4 Fetching Modules[w+ $K2.5&K UnreservingModules2.5 Unreserving Modulescw/ $L2.6"&L Displaying Reservations2.6 Displaying ReservationsWw) $K2.7&K ReplacingModules2.7 Replacing Modules~w(> $L2.81&LChange PropagationandFoldRecords2.8 Change Propagation and Fold Recordsrw#7 $K2.9*&K DisplayingQueued Replacements2.9 Displaying Queued Replacementstw$8$K2.10*&K CancellingQueued Replacements2.10 Cancelling Queued ReplacementsUw$$$K3 Displaying Information3 Displaying Information_w- $K3.1 &K Displaying Facilities3.1 Displaying FacilitiesYw* $K3.2&K DisplayingModules3.2 Displaying Modulestw$8 $L3.3+&L Displaying Generation Histories3.3 Displaying Generation Historiesw/D $K3.47&K Displaying Differencesbetween Generations3.4 Displaying Differences between Generationsrw#7 $K3.5*&K Displaying DevelopmentStreams3.5 Displaying Development StreamsUw( $K3.6&K DisplayingUsers3.6 Displaying Usersdw ,,$K4 ReviewingQueued Replacements4 Reviewing Queued Replacements w-C $K4.16&K ReviewingModulesQueuedfor Replacement4.1 Reviewing Modules Queued for Replacement w0G $L4.2:&L Acceptingor RejectingaQueued Replacement4.2 Accepting or Rejecting a Queued Replacement#\w(($L5ProjectLeader Operations5 Project Leader Operations-rw#7 $K5.1*&K PerformingQueued Replacements5.1 Performing Queued Replacements/_w- $K5.2 &K Inserting Generations5.2 Inserting Generations<]w, $K5.3&KRemoving Generations5.3 Removing GenerationsC]w, $K5.4&KDeleting Generations5.4 Deleting GenerationsK}w(= $K5.50&KMarkingModule GenerationsObsolete5.5 Marking Module Generations ObsoleteQw/E $K5.68&K SpecifyingReviewerand NotificationLists5.6 Specifying Reviewer and Notification ListsR^w- $L5.7 &LCreatingNewStreams5.7 Creating New Streams^^l))$A5.7.1CreatingBuildStreams5.7.1 Creating Build Streams`bl++$A5.7.2CreatingReleaseStreams5.7.2 Creating Release Streamshbl++$A5.7.3ExampleStream Creations5.7.3 Example Stream Creationsxyw&; $K5.8.&K Tailoring ProcessingWithScripts5.8 Tailoring Processing With Scripts|_w**$K6 EstablishingaVDELibrary6 Establishing a VDE Librarycw0 $L6.1#&LCreatingaVDELibrary6.1 Creating a VDE Libraryvl(66$A6.1.1The VDE$UPLOADCMSUploadUtility6.1.1 The VDE$UPLOAD CMS Upload Utilityg\!..$A6.1.2TheCREATELIBRARYCommand6.1.2 The CREATE LIBRARY Command@l$A6.1.3Examples6.1.3 Examplesw-C $K6.26&KOptionalLibrary AttributesandSettings6.2 Optional Library Attributes and SettingsU\$$$@6.2.1Database Placement6.2.1 Database Placementbl++$A6.2.2StandardUser Privileges6.2.2 Standard User Privileges\.==$A6.2.3 AutomaticAdditionofUserstoDatabase6.2.3 Automatic Addition of Users to Databasekl#00$A6.2.4 ConversionofLibraryFormat6.2.4 Conversion of Library Formatfl!--$A6.2.5SendingMail Notifications6.2.5 Sending Mail Notifications~l,::$A6.2.6AllowingDeletionofLibraryEntities6.2.6 Allowing Deletion of Library Entitiespl%33$A6.2.7CMSHistoryandNotesDefaults6.2.7 CMS History and Notes Defaultscl ++$@6.2.8 Configuring Architectures6.2.8 Configuring Architecturesa\**$@6.2.9 Miscellaneous Attributes6.2.9 Miscellaneous Attributeslw 4 $L6.3'&LLibrary Directory Structure6.3 Library Directory Structure^\))$A6.3.1DeltaFile Directories6.3.1 Delta File Directoriesbl++$A6.3.2StagingArea Directories6.3.2 Staging Area Directoriesnl%11$A6.3.3 DevelopmentStream Directories6.3.3 Development Stream Directoriesnw 6 $K6.4)&KAddingUserstotheLibrary6.4 Adding Users to the Librarya\++$@6.4.1TheCREATEUSERCommand6.4.1 The CREATE USER Commandi\"//$A6.4.2 AutomaticAdditionofUsers6.4.2 Automatic Addition of UsersUw( $L6.5&LCreatingStreams6.5 Creating Streams\l(($A6.5.1Stream DirectoryTree6.5.1 Stream Directory Treerl&44$A6.5.2ScriptstoPopulateNewStreams6.5.2 Scripts to Populate New Streams nl%11$@6.5.3Stream Successor Relationships6.5.3 Stream Successor Relationships [w+ $K6.6&KCreating Facilities6.6 Creating Facilities |w'= $L6.70&L PopulatingaFacilitywithModules6.7 Populating a Facility with Modulesl.==$@6.7.1GettingSourceModulesfroma Directory6.7.1 Getting Source Modules from a Directoryl0@@$@6.7.2GettingSourceModulesfromaCMSLibrary6.7.2 Getting Source Modules from a CMS Libraryml$11$A6.7.3ExampleCMSUpload Procedures6.7.3 Example CMS Upload Proceduressl'44$A6.7.4Adding IndividualSourceModules6.7.4 Adding Individual Source Modulesfw!--$K7Library Maintenance Operations7 Library Maintenance Operationssw#8 $K7.1+&KCreatingSCTNotes Conferences7.1 Creating SCT Notes ConferencesZw+ $K7.2&KTakingVDEOffline7.2 Taking VDE Offlinelw 4 $K7.3'&K ResolvingDatabaseProblems7.3 Resolving Database Problems#^\))$A7.3.1UserProcess Deadlocks7.3.1 User Process Deadlocks%L\  $A7.3.2FreezeinRdb7.3.2 Freeze in Rdb(Tl$$$A7.3.3Rdbprocessdumps7.3.3 Rdb process dumps,il"//$@7.3.4Rdbrun-unitjournalerrors7.3.4 Rdb run-unit journal errors.ql&33$@7.3.4.1Missingrun-unitjournalarea7.3.4.1 Missing run-unit journal area0l.<<$@7.3.4.2Rdbrun-unitjournal diskquotaerrors7.3.4.2 Rdb run-unit journal diskquota errors7kl#00$A7.3.4.3Rdbrecoveryprocessdumps7.3.4.3 Rdb recovery process dumps;sl'44$A7.3.4.4Missingrun-unitjournalfiles7.3.4.4 Missing run-unit journal files>w,B $K7.45&KDatabaseBackupandRecovery Procedures7.4 Database Backup and Recovery ProceduresDml$11$@7.4.1OverviewofBackup Procedures7.4.1 Overview of Backup ProceduresFl0??$A7.4.2 PlacementofBackupFilesand Directories7.4.2 Placement of Backup Files and DirectoriesJ_l))$@7.4.3 After-Image Journalling7.4.3 After-Image JournallingKl-;;$@7.4.4CreatingtheDatabaseBackup Procedure7.4.4 Creating the Database Backup ProcedureLl.<<$@7.4.5CreatingtheDatabaseRestore Procedure7.4.5 Creating the Database Restore ProcedureSjl"00$A7.4.6BackinguptheVDEDatabase7.4.6 Backing up the VDE DatabaseTgl!..$A7.4.7 RestoringtheVDEDatabase7.4.7 Restoring the VDE Databasef{l*99$A7.4.8 RecoveringfromaLostJournalFile7.4.8 Recovering from a Lost Journal Filem`\**$A7.4.9 AssociatedRdbcommands7.4.9 Associated Rdb commandstol%22$@7.4.10 RecoveringLostCMS Libraries7.4.10 Recovering Lost CMS Librariesyjl"00$@7.4.11MovingtoLargerCMSDisks7.4.11 Moving to Larger CMS Disksjl"00$A7.4.12MovingtoLargerRdbDisks7.4.12 Moving to Larger Rdb Disksw)? $L7.52&LPurgingtheStagingArea Directories7.5 Purging the Staging Area Directoriesbw/ $K7.6"&K OffloadingLargeFiles7.6 Offloading Large Filesqw"7 $K7.7*&K DefragmentingtheCMSLibrary7.7 Defragmenting the CMS Libraryhw2 $K7.8%&K RelocatingRdb Components7.8 Relocating Rdb Componentshw2 $K7.9%&K RecreatingRdb Components7.9 Recreating Rdb Componentsew --$L8BuildingyourSoftwareSystem8 Building your Software Systemdw0 $L8.1#&LBuild DependencyGraphs8.1 Build Dependency Graphsdw0 $L8.2#&LCentralBuild Algorithm8.2 Central Build Algorithm\w, $L8.3&LCreatingBuildJobs8.3 Creating Build Jobs`w. $K8.4!&K DisplayingBuildJobs8.4 Displaying Build JobsZw+ $K8.5&KRunningBuildJobs8.5 Running Build JobsXl&&$@8.5.1StartingBuildJobs8.5.1 Starting Build JobsXl&&$@8.5.2StoppingBuildJobs8.5.2 Stopping Build Jobs\l(($A8.5.3 SuspendingBuildJobs8.5.3 Suspending Build Jobs_l**$A8.5.4WaitingforBuildJobs8.5.4 Waiting for Build Jobsxw%; $K8.6.&KScriptsforBuildStep Execution8.6 Scripts for Build Step Executionyw&; $K8.7.&K Performing IndividualBuildSteps8.7 Performing Individual Build StepsEl$@8.7.1CopySteps8.7.1 Copy StepsKl$@8.7.2CompileSteps8.7.2 Compile StepsEl$A8.7.3LinkSteps8.7.3 Link Stepsyw&; $L8.8.&L Initializingthe DependencyGraph8.8 Initializing the Dependency GraphQw""$K9 ArchitectureSupport9 Architecture Supportw3K $K9.1>&K ArchitecturesintheSourceCodeLibraryRoots9.1 Architectures in the Source Code Library Rootsw/E $K9.28&KCommandstoSpecifyMultiple Architectures9.2 Commands to Specify Multiple Architecturesw+? $K9.32&KCreatingArchitecture-SpecificModules9.3 Creating Architecture-Specific Modulessw#8 $K9.4+&K OperationofExistingCommands9.4 Operation of Existing Commands~w(> $K9.51&KChange PropagationandFoldRecords9.5 Change Propagation and Fold Recordsgw!..$L10The GraphicalUser Interfaces10 The Graphical User InterfacesUg($L10.1&LMotif Interface10.1 Motif Interfacef\!--$A10.1.1MotifVersion Information10.1.1 Motif Version Informationbl++$A10.1.2MotifLibrary Selection10.1.2 Motif Library Selectionsl'44$@10.1.3MotifLibraryDefault Selection10.1.3 Motif Library Default SelectionQ\""$@10.1.4Motif Resources10.1.4 Motif Resources_g-$L10.2&L WWW/Mosaic Interface10.2 WWW/Mosaic Interfaceg1 $\A&\TroubleShooting InformationA TroubleShooting Information]g, $KA.1&KPeriodic MaintenanceA.1 Periodic Maintenance[w+ $KA.2&KCMSTroubleshootingA.2 CMS TroubleshootingVl%%$@A.2.1CMSLibraryLockedA.2.1 CMS Library Lockedj\"00$@A.2.2CMS3.8-2andIndexedFilesA.2.2 CMS 3.8-2 and Indexed Filesml$11$@A.2.3 RecoveringLostCMS LibrariesA.2.3 Recovering Lost CMS Librarieshl!//$AA.2.4MovingtoLargerCMSDisksA.2.4 Moving to Larger CMS Disksew0 $KA.3#&KVMS_MENUTroubleshootingA.3 VMS_MENU Troubleshootingw+@ $KA.43&KVDESpawned ProcessingTroubleshootingA.4 VDE Spawned Processing Troubleshooting[w+ $KA.5&KRdbTroubleshootingA.5 Rdb Troubleshooting^\))$AA.5.1UserProcess DeadlocksA.5.1 User Process DeadlocksL\  $@A.5.2FreezeinRdbA.5.2 Freeze in Rdb il"//$@A.5.3 ResolvingRdbprocessdumpsA.5.3 Resolving Rdb process dumps il"//$@A.5.4Rdbrun-unitjournalerrorsA.5.4 Rdb run-unit journal errorsml$11$AA.5.5Missingrun-unitjournalareaA.5.5 Missing run-unit journal area~l,::$AA.5.6Rdbrun-unitjournal diskquotaerrorsA.5.6 Rdb run-unit journal diskquota errorsgl!..$AA.5.7RdbrecoveryprocessdumpsA.5.7 Rdb recovery process dumpssl'44$@A.5.7.1Missingrun-unitjournalfilesA.5.7.1 Missing run-unit journal files{l*99$@A.5.8 RecoveringfromaLostJournalFileA.5.8 Recovering from a Lost Journal Filehl!//$@A.5.9MovingtoLargerRdbDisksA.5.9 Moving to Larger Rdb Disksu#: $\B/\ ComparisonofVDE,VSC,andVTSCB Comparison of VDE, VSC, and VTSCn +gTABLESTABLESs\'44=A2-1 QualifierstotheRESERVEcommand2- 1 Qualifiers to the RESERVE commandp\-;;=@2-2 QualifierstotheCREATEMODULEcommand2- 2 Qualifiers to the CREATE MODULE commando\%22=@2-3 QualifierstotheFETCHcommand2- 3 Qualifiers to the FETCH command\0>>=@2-4 QualifierstotheSHOW RESERVATIONcommand2- 4 Qualifiers to the SHOW RESERVATION commands\'44=A2-5 QualifierstotheREPLACEcommand2- 5 Qualifiers to the REPLACE command\0>>=@2-6 QualifierstotheSHOW REPLACEMENTcommand2- 6 Qualifiers to the SHOW REPLACEMENT command\2@@=A2-7 QualifierstotheCANCEL REPLACEMENTcommand2- 7 Qualifiers to the CANCEL REPLACEMENT command\-;;=A3-1 QualifierstotheSHOWFACILITYcommand3- 1 Qualifiers to the SHOW FACILITY command|\+99=A3-2 QualifierstotheSHOWMODULEcommand3- 2 Qualifiers to the SHOW MODULE command\/===A3-3 QualifierstotheSHOW GENERATIONcommand3- 3 Qualifiers to the SHOW GENERATION command{\+88=@3-4 Qualifierstothe DIFFERENCEScommand3- 4 Qualifiers to the DIFFERENCES command|\+99=@3-5 QualifierstotheSHOWSTREAMcommand3- 5 Qualifiers to the SHOW STREAM commandx\)77=A3-6 QualifierstotheSHOWUSERcommand3- 6 Qualifiers to the SHOW USER command \2@@=A4-1 QualifierstotheREVIEW REPLACEMENTcommand4- 1 Qualifiers to the REVIEW REPLACEMENT command;R?=A4-2CommandsAcceptedintheREVIEW REPLACEMENT Subsystem4- 2 Commands Accepted in the REVIEW REPLACEMENT SubsystemJcD=A4-3 QualifierstotheACCEPT REPLACEMENTandREJECT REPLACEMENTcommands4- 3 Qualifiers to the ACCEPT REPLACEMENT and REJECT REPLACEMENT commands+\3AA=@5-1 QualifierstothePERFORM REPLACEMENTcommand5- 1 Qualifiers to the PERFORM REPLACEMENT command:\1??=@5-2 QualifierstotheINSERT GENERATIONcommand5- 2 Qualifiers to the INSERT GENERATION commandB\1??=A5-3 QualifierstotheREMOVE GENERATIONcommand5- 3 Qualifiers to the REMOVE GENERATION commandJ\1??=A5-4 QualifierstotheDELETE GENERATIONcommand5- 4 Qualifiers to the DELETE GENERATION commandPLl=A5-5ScriptCommands5- 5 Script Commands~f\!--=A6-1DeltaFileDisk Directories6- 1 Delta File Disk Directoriesjl#//=@6-2StagingAreaDisk Directories6- 2 Staging Area Disk Directories]\((=A6-3StreamDisk Directories6- 3 Stream Disk DirectoriesRg##=@B-1VDE,VSCandVTSCB- 1 VDE, VSC and VTSC nD$* Copyright December1997 ~AllRights Reserved.^4 O]VDEOGuidetoUsing OfVDE"O 11-DEC-1998 17:46:21.27WOJThisisaguideforthe development environmentpackageusedwithinOOpenVMS engineering. /XO{Thisguidecoversthecommon componentsandnormal operationsoftheQOOpenVMS Development Environmentsystem, includingan introductionKOandoverviewoftheOpenVMS Development Environment(VDE)./KO{TheOpenVMS Development EnvironmentpackageisusedwithinPOvariousDigital engineeringorganizations, includingtheOpenVMSOgroup.,~'ORevision/Update Information:2^Thismanual supersedestheGuideto%^UsingVDE,Version1.4-nc9OSoftwareVersion:^VDEVersion1.5-0,o%O OperatingSystemVersion:&^OpenVMSAlphaVersion6.2$^OpenVMSVAXVersion6.2* * t #J)ODigital Equipment Corporation!O Maynard, Massachusetts   O O"O  11-DEC-1998 17:46:21.27 O$O Copyright December1997aOThe followingare trademarksofDigital Equipment Corporation:) Bookreader,DEC[ONotes, DECdirect, DECwindows,Digital,OpenVMS,OpenVMSCluster,VAX,VAX@O Document, VMScluster,VMS,andtheDIGITALlogo.7OThe followingare third-party trademarks:\OSMotif,OSF,OSF/1, OSF/Motif,andOpenSoftware Foundationare registered@O trademarksoftheOpenSoftware Foundation,Inc.hO0Allother trademarksand registered trademarksarethepropertyoftheir respectiveOsholders.* U  ;OPreface    OIntendedAudienceLOUThismanualisintendedforuserswhowanttolearnmoreHOabouttheOpenVMS Development Environment,orabouttheOVDEutility. O Associated Documents `U6UVDE InstallationandNewFeaturesGuide ` VDE ReferenceManual kO ConventionsGOUInthismanual,everyuseofOpenVMSAlphameanstheEOOpenVMSAlpha operatingsystem,everyuseofOpenVMSGOVAXmeanstheOpenVMSVAX operatingsystem,andeveryGO^useofOpenVMSmeansboththeOpenVMSAlpha operatingK PF1,thenpressandreleaseanotherkeyora#K pointingdevicebutton.OZ GOLD %Z x%KZ AsequencesuchasGOLD Z xZ indicatesthat9K youmustfirstpressandreleasethekeyK6 thesyntaxofa substring specificationinan!K assignment statement.)O {}8K Informat descriptions,bracessurrounda;KK requiredchoiceofoptions;youmustchoose(K oneoftheoptionslisted.O boldfacetext>K Boldfacetext representsthe introductionofa9K` newtermorthenameofan argument,an$K attribute,orareason.?K' Boldfacetextisalsousedtoshowuserinput4Kt in Bookreaderversionsofthemanual.O italictext5K Italictext emphasizes importantinfor-8K< mation, indicates variables,and indicatesKt indicatestherightmousebutton.!(Thebuttons-K canbe redefinedbytheuser.)RO; PB1,PB2,PB3,PB4PB1,PB2,PB3,andPB4indicatebuttonsonK thepuck.O SB,SB:K SBandSBindicatebuttonsonthestylus.#5 M2NVSCdefaultstotheuseofakept subprocess.)Thiscanbe<5 overriddenwiththe/NOKEPT_PROCESS qualifier.D O 1.2 IntroductionOOOneofthemost importanttasksfoundinanylargesoftwareFO engineering effortinvolvesthe coordination, tracking,HOB maintenanceand protectionofthesourcefiles.,OpenVMSCO engineeringusestheOpenVMS Development EnvironmentJO(VDE)packageforthese purposes,andforarcanereasonsLOLreferstothe aggregate collectionofOpenVMSsourcefiles)Oandsource librariesasthe MasterPack .? DOTheOpenVMS Development Environment(VDE)packageisKOthesetoftoolsthattheOpenVMS developmentgroupusesQO5tocontrolandtotrackchangestothemultipleVDE libraries5OthatcomprisetheOpenVMSMasterPack.2l) B'O1.3BModulesand FacilitiesDOUTheOpenVMSVAXlibrarycontainsover22,000sourcePOmodules.(Asthisisfartoomanymodulesforanyonetorea-MOsonablykeeptrackofthevarious associations,thelibrary+O^isbrokendownintoover200^ facilities^,andeachmoduleOObelongstooneofthose facilities.*TheVDEsystemusestheRO followingsyntaxtospecifyamoduleandthefacilitytowhichOhitbelongs:&O[fac-name]mod-name.type-name* NDOForexample,[FACIL]MOD.TYPreferstomoduleMOD.TYPMOinfacilityFACIL.ThissyntaxisacceptedonVDEcommands.O5andis displayedinVDEoutput.+oJOIfyouomitthe bracketedfacilityname,asinMOD.TYP,OOVDEassumesthatthemodulebelongstothedefault facility,NO5providedadefaultfacilityisdefined.,Youspecifythede-LOfaultfacilityforyourVDEsessionwiththeSETFACILITYOcommand:OkVDE> kSET%FACILITY%SYS*,LOThiscommandmakesfacilitySYSthedefault facility.)YourNOdefaultfacilityisnormally undefinedatthestartofeachJO5VDEsession.,Toseeyourdefault facility,usetheSHOWODEFAULTScommand. >-#O1.4B DevelopmentStreamsHOUStreamsarecentraltothesourcecontrolsystem..EachMOstreamholdsa particular generationofamodule,andeachIOstreamhas information associatedthatcontrolsthepro-JO^pogationofchangesamong releases,the selectionoftheLO appropriateCMS generationnumbers,thelistofusersthatSOreviewchanges,thelistofusersthatarenotifiedofchanges,*Ohandvariousother attributes.. aGOTheOpenVMS DevelopmentGroupusuallyhasseveralver-EOsionsofOpenVMSunder developmentatanyonetime.&O5Theseversionsarecalled5 developmentstreamsW5,orsim- Oply streams>.(Examplesof developmentstreamsincludepastLOversionsofOpenVMS(suchasV4.7orV5.0),versionscur-IO>rentlyunder development(oftenwithcodenamessuchasDODRAGONorEAGLE),off-to-the-side developmentstreamsOO(oftencalled ``variant streams''or ``variant threads''),andOHbaselevels./ [IOAsaVDEuser,youmustalwaysreservemodulesfromaLO specifiedstream,andyoumustthenlaterreplacetheup-MO5datedmodulesintothesamestream.'Asaresult,manyVDEKOcommandsrequireyoutospecifythe developmentstreamto.Owhichthecommandsshouldapply.0 IOManysuchcommandsallowyoutospecifythe developmentMOstreamwiththe/STREAM qualifier.)Ifyouomitthisquali-PO5fierorthecommanddoesnotacceptit,thecommandactsonPOthedefaultstream,providedadefaultstreamisdefined.'OneNO specifiesthedefault developmentstreamfortheVDEsession*O>withtheSETSTREAMcommand:OVDE> SET%STREAM%EPSILON11 FOThiscommandmakesstreamEPSILONthedefaultstream.QOThedefaultstreamisnormally undefinedatthestartofeachNO5VDEsession.)Todisplaythecurrentdefaultstream,usethe"OSHOWDEFAULTScommand. 2 O1.5B GenerationsJOUVDEandVDEcanstoremultiple instancesofeachsource@Omoduleinalibrary.(Eachinstanceiscalleda generation ofOthemodule.K3!HOModule generationsare analogoustoarailroadnetwork-OOsometrackscanbranchoffandrunparalleltothemainlineMO5track,somesidingscandivergeoffthe mainline,andsome=Osidingscan reconnectbackintothe mainline.4 kNOEach generationcan representacurrentorpastinstanceofQOthemoduleasitwasatsomepointduringits historicalde-LO5 velopment.( Different generationscanalso representvariantsLOofthemodulethatbelongto different developmentstreamsJObeing developed concurrently.)Each generationofamoduleOO>iscreatedby reservingtheprevious generation,editingthatMO generationtoproducethenew generation,and replacingtheNOnew generationintothelibrary.(Each generation(excepttheMOHfirst)thushasa predecessor.)Agiven generationmayhaveLOzeroormore successors.,Iftherearemultiple successors,MOthese successor generations representvariantsofthemodule/ORfor different developmentstreams.5 POForeachmodulethatis representedinagivenstream,therePOisexactlyone generationthatstoresthecurrentcontentsofMO5thatmoduleforthatstream.+This generationiscalledtheO latest generation9ofthemoduleforthestream.'ThesourceHOcontroldatabaserecordswhat generationofeachmoduleKO>belongstoeachstream.,AmoduleneednothavealatestJO generationforeverystream,however.*Forexample,are-MOcentlyaddedmodulewillnotbeusedinolderversionsofLOHOpenVMSandwill thereforenothavelatest generationsforOthosestreams.9 (O1.7B PropogationandFoldingOUVDEsupportsTU propogation ZUandU folding U.) PropogationisanKO automaticprocessthatcausesthe replacementofasourcePOmoduleinthe specified replacementstream,andintoallsuc-PO^cessorstreams;intoallstreamsthathave descendedfromtheO specifiedstream.N:$LOFoldingisamanualformof propogationandisusedwhenOOtheVDE automatic propogationisnot feasible.(AfoldrecordKO5iscreatedasareminderthatamodulemustbemanually>O propogatedintoparalleland successorstreams.r; HROFoldingrecordscanbeusedto coordinatefilesacrossmultipleHO arch-roots.* Automatic propogationofsourcecodechangesKO5acrossmultiple arch-rootsisnot supportedasitisex-KOpectedthearchitecture-specificmoduleswilldifferratherOsubstantially.<! KOThe automatic propogationoccursin successorstreamsonlyOOifthemodulehasnotbeenchangedinthe successorstream-OO5thechangeis propogatedonlyifthemoduleisofthesameOO generation.'Ifthemodulehas changed-ifthesourcecodehasLO diverged-inany successorstream,afoldrecordiscreatedKO>foreach successorstream.* PropogationisbasedonmoduleO generationnumbers.*=H M3AVSCandVTSCusethelogicalnamesVDE$INITandJ5 VTSC$INIT, respectively,andthedefaultspecificationsof: VSC$INIT.VDEandVTSC$INIT.VDE, respectively. Xe0O 2.2 Reserving!and" Replacing"ModulesNOThischapter describeshowtousetheVSCutilitytoiden-MOtifyspecificmodulesinaVDElibrary.-ItalsoshowsyouKOBhowtocreate,reserveandreplacemodules,howtofetchIOmodule generationswithout reservingthem,howtocreateNOnewmodules,howtocancel reservations,andhowtodisplayIOL reservation informationfromthesourcecontrol database.JY!  NOThissectionalso describessome conveniencefeaturespresentPOinVSCandVDE.Examplesofthesefeaturesincludetheabil-8O5itytoreservegroupsofmodules,called5 sessions$5,andtreatROthesemodulesasaunit.)AlsocoveredistheabilitytoqueueIOa reservationrequestwhenamoduleisreservedbyan-NO>otheruser,andhowtoreceive notificationwhenthequeued8O reservationrequestis eventuallygranted.y  pz D  diverged)ortheymaybetwo different generations (assuming(Othestreamshave diverged).i\ ?OOWhenonereferstoa generationbyits generationnumberonKOaVSCcommand,one specifiesa semicolonandthegenera-JO5tionnumberafterthemodulename.'The generationnumberQOisrelativetosomestreamthatone specifies explicitly(usu-OOallywiththe/STREAM qualifier)orbydefault.'Forexample,LO> MOD.TYP;5refersto generation5forthe specifiedstream.MOOnecanalsospecifyazeroornegative generationnumber;LOsucha generationnumberisrelativetothelatestgener-LOHationforthestream.+ MOD.TYP;0thusreferstothelatestJO generationand MOD.TYP;-1referstothenextmostrecent@O generation,and MOD.TYP;-0referstotheoldest.] krLOCMS generation expressionsareassignedby differentmeans.JOThefirst generationforamodulehas generationexpres-RO5sion1.'Itcanhavemultiple successors(for differentstreams)KOwith generation expressions2,1A1,1B1,1C1,andsoon.HO Generation1B1caninturnhave successors1B2,1B1A1,NO>1B1B1,andsoon.'Each generationthushasauniquegener-MOation expressionthatencodesits genealogy.*This expressionKOis independentofstream.-Tospecifya generationbyitsCOH generation expression,onemustusethe /GENERATIONKO qualifierforthosecommandsthatacceptit.+Forexample,AOMOD.TYP/GENERATION=1B1referstothe generationofBORmoduleMOD.TYPthathas generation expression1B1.^ hNOIfoneomitsboththe generationnumberandthe /GENERATIONIO qualifier,mostVSCcommands referencethelatestgener-LO5ationofthemoduleforthe specifiedstream.,ThiscausesJOthecommandtooperateonthemostrecent generationby;O default-thisisnormallythedesiredeffect.7_ > GOBecause generationnumbersarealwaysrelativetosomeOOstream,theyareusedtoshowlinesofdescentforagivenLO5streamandto reference generationsrelativetoaspecificEOstream.,CMS generation expressionsare independentofLOstreamandthusgiveabsolutenamestothe generationsofIO>amodule.,Thesetwokindsof generationnamesarepri-?OmarilyusedwiththeSHOW GENERATIONandFETCHLO commands.(Forexample,tofetchthenextmostrecentgen-FOHerationofmoduleFOO.BARforstreamFRED,onewouldIOrequest generationnumber-1,asshowninthisexample:O%VSC>) %FETCH& /STREAM=FRED% FOO.BAR;-13` JOHowever,onecanalsorequestthe generationwithgener-LOation expression10A3(whichisanabsolutename;entirely;O5 independentofstream),asinthisexample:OVSC>* FETCH&FOO.BAR%/GENERATION=10A3a! JOFormost commands, includingFETCH,oneshouldnotspec-POifya generation.'Thedefault referencesthelatest generationTO5fora specified(or defaulted)stream,andthisisnearlyalwaysLOthe generationone typicallywishesto reference.)Whenre-QOservingamodule,onenever specifiesa generationtoreserve;NO>VSCalways retrievesthelatest generationforthe specifiedOstream.Eb #OAuditTrail IdentifiersIO4When modifyingasourcemodule,one typicallyaddscodeHOcommentsthatexplainthenatureofthechanges.-These0Ocommentsshouldbelabelledbyan"F audittrail identifier }.MO>Theaudittrail identifierissimplytheexpectedCMSgen-KOeration expressionofthenew generationonecreateswhenHO replacingthechangedmoduleintotheVDElibrary.,VDEIOGdisplaystheexpectedCMS generation expressionwhentheNOmoduleis initially reserved.*Inrarecircumstances,theac-MOtual generation expressionusedwhenthemoduleisreplacedHOQmaydifferfromtheexpected generation expressiondis-KOplayedwhenthemoduleis reserved.+Ifthishappens,VSCHOdisplaysan informationalmessage.+OnemustthenupdateRO[thesourcemoduletocorrecttheaudittrail identifierintheOcode comments. " c COTable2-2:7 QualifierstotheCREATEMODULEcommand O OF /LOGO /NOLOGoK Specifywhether informationallogmessagesareprintedaftereachmoduleiscreated.&/LOGjK[ causessuchmessagestobeprintedand/NOLOG suppressesthem.!/LOGisthedefault.O /MARKERO" /NOMARKERwK Specifythatthemoduleisa``markerfile''.'Amarkerfileisanybinary,image,saveset,orDK libraryfilethatshouldnotstoredviathenormal` delta0 mechanismusedwithintheCMSli-pK7 brary,butshouldbestoredasaseperatemoduleinthemarkerfile directory(seeSHOWnK DIRECTORY/DELTA).Thissettingavoidshaving extensive delta-related processingandstorageTK overheadbetweenone generationofabinarymoduleandthenext.OL /REMARK="string"vK Specifiesaone-lineremarkstringtobe associatedwiththemodule.$Thisremark typicallyex-zK plainsthepurposeorfunctionofthemodule.$Ifyouomitthis qualifier,VSCpromptsyouforaKa remark.O /SESSION=session-namevKT /SESSIONallowsyouto associatedvariousreservedandcreatedmodulestogetherintoasession;yK sessionsallowyoutolaterreplaceawholeseriesofreservedandcreatedmodulesviaasinglelK REPLACEcommand."Whenusedwiththequeued-replacement environment,theuseofsessions|K= alsoprovidesaclear indicationtothe reviewersandtotheprojectleaderthatthemodulesbeingtK replacedare associated."The particularsessionnameusedis typicallyamnemonicnamechosenaK bytheuser,andusuallyreflectsthe particularsetofchangesbeingmade.OQ /STREAM=stream-name`K Specifiesthe developmentstreamfromwhichthenewmoduleis reserved.$The stream-name{K parametergivesthenameofthestream.#Ifthis qualifierisomitted,themoduleisreservedfromJKf yourdefault developmentstream,providedoneisdefined. O $G!c U!O2.2B ReservingModulesKOUToreserveamodulefromaVDElibrary,usetheRESERVEIOcommand.)Thiscommandreservesa specifiedmoduleforaLOgiven developmentstreamandfetchesthatmoduleintoyourOO^default directory.*Thisexample illustratesthesyntaxoftheORESERVEcommand:O<VSC>> <RESERVE/STREAM=FOO%[FACIL]MOD.TYP%"Remark&string"d NGOThiscommandreservesmoduleMOD.TYPinfacilityFACILOOfromaVDElibrary.(Thelatest generationofthemoduleforBO5streamFOOiscopiedintoyourdefault directory.el sLOWiththeRESERVEcommand,youcanspecifyalistofmod-KOulenames separatedbycommas.)This syntax-orthesessionKO5support-allowsyouto manipulateanumberofmoduleswith0Oonlyafew commands.'Forexample:OVSC> SET%FACILITY%SYSOZVSC>L ZRESERVE/STREAM=FOO%A.MAR,B.MAR,C.MAR%"Reduce&memory-scrambling"zfPMOThisexamplereservesmodulesA,B,andCinfacilitySYSNOfromstreamFOO.NotethatyoudonothavetoincludetheHO5facilitynameswiththeRESERVEcommandifthemodulesQObelongtothedefaultfacility establishedwithapreviousSETOFACILITYcommand.g KOYoucanusewildcard charactersinthemodulenames.(TheROpercentsign( % )inanamematchesanysingle characterinOvariousRESERVEandCREATEMODULEcommandsto-FO5gether,byusingthe/SESSION qualifier.-The/SESSIONPO qualifierallowsyoutopickanameforagroupofmodules,MOandtoavoidhavingtospecifyeachmoduleontheREPLACEJO>command.)Theuseof/SESSIONalsoprovidesthe reviewersSOandtheprojectleaderwithaclear indicationthatagroupof-O replacementmodulesarerelated.iWMOThe reservationremarkstringcanbe specifiedasaparam-MOeterattheendofthecommand,asshowninthepreviousKO5example.(Theremark parameterhasthesameeffectasthe+O/REMARK qualifier describedinTable2-1iandappliestoallHOreservedmodulesunless overriddenby/REMARK qualifiers7O>onthe individual module-name parameters.*iPb?pjL EOTheRESERVEcommanddisplaystheexpectedCMSgener-OOation expressionforthenew generationthatwillbecreatedIO5whenthemoduleislater replaced..YoushouldusethisQO generation expressionasthe``audittrail identifier''fortheLOcommentsinyourcodethatexplainyournewchanges.(This@O>example illustratestheRESERVE command'soutput:OVSC>HRESERVE/STREAM=BIRCH%[FACIL]MOD.TYP%"Add%gasket% modulator"RO %VDE-I-FETCHED,% generation%[FACIL]MOD.TYP;3(3)&fetched%from%libraryAOS%VDE-I-OUTFILE,%output&file%is%DEV$:[MYDIR]MOD.TYP;ZO%VDE-I-RESERVED,& generation%[FACIL]MOD.TYP;3(3)%reserved%from&stream%BIRCHXO%VDE-I-EXPGENEXPR,%expected% generation% expression&at& replacement&is&3A1MO+%VDE-I-COMMIT,%database% transaction%has% successfully& committedOsVSC>Kk !UOInthiscase,youshoulduse3A1asyouraudittrail identifier.JOThisexpectedCMS generation expressionmightdifferfromLO5theoneactuallyassignedwhenyoulaterreplacethemod-OOule,butonlyincertainunusualcircumstances.(VSCprintsaKOmessagewhenthe replacementis performediftheexpectedOO>andactual generation expressionsdiffer.*Ifso,youneedtoMO rereservethemoduletocorrecttheaudittrail identifier.laHOThesourcecontrolsystemkeepstrackof successorre-GO lationshipsbetweenstreams.-IfsourcechangesreplacedMO5intoastreamAshouldnormallyalsobe propagatedtoan-3OotherstreamB,thenstreamBisaR successorofstreamA.KO Successor relationshipsbetweenstreamsaredefinedbytheMO> maintainersoftheVDE libraries,andresideinthesourceLOcontrol database.*These relationshipsensurethatbugfixesGOandotherchangesmadetooneversionofOpenVMSarethe/STREAM qualifier,the reservationcoversyourde-NOfaultstreamandits successors.)ThismeansthatyouexpectJOyourchangestobe propagatedtothosestreamswhenyouMOHlaterreplacethemodule.)However,the reservationdoesnotLOcoveranystreaminwhichthemodulehasalreadydivergedJOfromtheoriginalstreambecauseVSCcannot automatically:OR propagatesourcechangestosuchastream.n! a@OTheRESERVEcommand determineswhatstreamsyourOO reservationwillcoverandchecksifanyexisting reservationSO5forthemodulealreadycoversoneofthosestreams.(Ifso,theDORESERVEcommandrejectsyour reservationattemptun-OOlessyou explicitlyrequesta concurrent reservation.(YoucanMO>limitchange propagation,and thereforerestrictthestreamsEOcoveredbyyour reservation,byusingthe /PROPAGATEFOand /NOPROPAGATE qualifiers.(BycoveringfewerstreamsPOH(when appropriate),youmake reservation conflictslesslikely.Wo! -IOTheRESERVEcommandacceptsanumberof qualifiers.'TheROhelptextandthe referencemanualhavethedetailsonallof6O5the qualifiersacceptedbythecommand.5Table2-15listssome3Oofthemore commonly-used qualifiers.*ob?ptsL JOExamplesLOThisisanexampleoftheoutputoftheRESERVEcommand:OVSC>> RESERVE/STREAM=BIRCH&[FACIL]MOD.TYP&"Fix%QAR&55"RO,%VDE-I-FETCHED,% generation%[FACIL]MOD.TYP;3(3)&fetched%from%libraryAOt%VDE-I-OUTFILE,%output&file%is%DEV$:[MYDIR]MOD.TYP;ZO%VDE-I-RESERVED,& generation%[FACIL]MOD.TYP;3(3)%reserved%from&stream%BIRCHXO%VDE-I-EXPGENEXPR,%expected% generation% expression&at& replacement&is&3A1MOL%VDE-I-COMMIT,%database% transaction%has% successfully& committedOVSC>t! KOInthisexample,moduleMOD.TYPinfacilityFACILisre-DOservedfromtheOpenVMSVAXlibrary..ThemoduleisJOireservedforstreamBIRCHandall successorstreamsthatGOhavethesame generationofMOD.TYPasBIRCH.OneofNOthelogmessages indicatesthat generation3inthatstreamMOrwasfetchedout.(Thenew generationcreatedwhenyoulaterPOreplacethemoduleisexpectedtohavethe generationexpres-WO#sion3A1;youshouldusethisstringastheaudittrail identifier=O|inthecodecomments explainingyourchanges.}u SKOThe followingexampleshowshowVSCdisplaysmultiplelogJOmessageswhenyoureservemultiplemoduleswiththesameO5RESERVEcommand:OVSC> SET%FACILITY%SYSOVSC>M RESERVE/STREAM=PHOENIX%A.MAR,B.MAR,C.MAR%"Add%scramble%feature"ROI%VDE-I-FETCHED,% generation%[FACIL]A.MAR;5(2A3)&fetched%from%library?O%VDE-I-OUTFILE,%output&file%is%DEV$:[MYDIR]A.MAR;PO%VDE-I-FETCHED,% generation%[FACIL]B.MAR;1(1)%fetched&from%library?O!%VDE-I-OUTFILE,%output&file%is%DEV$:[MYDIR]B.MAR;POi%VDE-I-FETCHED,% generation%[FACIL]C.MAR;3(3)%fetched&from%library?O%VDE-I-OUTFILE,%output&file%is%DEV$:[MYDIR]C.MAR;\O%VDE-I-RESERVED,& generation%[FACIL]A.MAR;5(2A3)%reserved%from&stream%PHOENIXXOA%VDE-I-EXPGENEXPR,%expected% generation% expression&at& replacement&is&2A4ZO%VDE-I-RESERVED,& generation%[FACIL]B.MAR;1(1)%reserved%from%stream%PHOENIXVO%VDE-I-EXPGENEXPR,%expected% generation% expression&at& replacement&is&2ZO%VDE-I-RESERVED,& generation%[FACIL]C.MAR;3(3)%reserved%from%stream%PHOENIXVOa%VDE-I-EXPGENEXPR,%expected% generation% expression&at& replacement&is&4MO%VDE-I-COMMIT,%database% transaction%has% successfully& committedOVSC>v! U)O2.2.1B Concurrent ReservationsKO4Amodule reservationissaidto ``cover''all developmentJOstreamstowhichyouexpectthemoduletobe propagatedMOwhenyoulaterreplaceit.,Thismeansthat,ifthestreamMO=thatyoureserveamodulefromhasa successorstreamandOOifthemodulehasnotyetdivergedbetweenthetwostreams,NOthe reservationcoversbothstreams.)Ifthe successorstreamTOGalsohasa successor,thatstreamiscoveredtoo(ifthemoduleROhasnot diverged),andsoon.(Iftwo reservationsofthesameKOmodulecoveratleastonecommon developmentstream,then3OQthetwo reservationsaresaidtobe"+Q concurrent reservationsOofthemodule.w! kOOThesourcecontrolsystemdoesnotbydefaultcreateacon-LOcurrent reservationforyouwhenyoureserveamodule.)IfPO5someoneelse'sexisting reservation conflictswiththereserva-YOtionyouaretryingtocreate,itisbestforyoutowaitfortheMOother developertoreplace(or unreserve)themodulebeforeUO>youreserveitandstarttomodifyit.)IfbothofyoumodifyaROmoduleatthesametimeforthesamestream,oneofyouwillOOhavetomanuallymergetheparallelsetsofchangestomakeOOHthemoduleright.)ThisextrastepineffectrequiressomeoneNOtoenterhisorherchangestwice,whichismoreworkandOO increasestheriskoferrors.'Avoiding concurrent reservations,ORis thereforeyourbestpolicy.x! LOHowever,thereare exceptions.' SometimesyoumightneedtoROchangeamoduletofixabuginthecurrentbuild,forexam-OO5ple,eventhoughsomeoneelse(orevenyou yourself)alreadyNOhasreservedthemoduleformore extensivechanges.'InsuchBOcases,youcanusethe/OVERRIDE=CONCURRENTquali-IO>fierontheRESERVEcommandto concurrentlyreservetheHOmodule.)Whenyouhave completedyourchange,youqueueEOthemodulefor replacementwiththeREPLACEcommand.KOHWhenthereleaseprojectleaderperformsyour replacement,SOtheother developer's reservationis cancelledandheorsheisQOnotifiedofthisfactbyamailmessage.(Thatother developerKORmustthen rereservethemodule,mergehisorherchangesNOwithyourchanges,andthencontinuehisorherwork.'WhenLOyoucreatea concurrent reservationforamoduleandthenMO[replacethemodulefirst,youthuscreateworkforanotherEO developer,soyouneedagoodreasonfordoingso.yq r[MOThe followingexample illustrateswhathappenswhenyoutry>Otoreserveamodulethatisalready reserved:OaVSC>; aRESERVE%[RMS]MODULE_E.B32% "Emergency%bug%fix"=OModule%[BUILD_TEST]E.B32%is% currently& reserved:I Reservation%1&by&user%HOFFMAN%on% 18-JAN-1990% 15:45:51.77%/9Remark:&FIRST& RESERVATION\O%VDE-E-MODALRRES,%module%[RMS]MODULE_E.B32%already%reserved%by%another&user3tattempt%to%reserve&module%has%failed?O%VDE-I-ROLLBACK,&database& transaction&rolled%backOYVSC>z WHOInthisexample,theRESERVEcommandfailsbecausetheKOmoduleisalreadyreservedbyanotheruser.'The command'sNO5output identifiesthe conflicting reservationsoyoucanseeIOwhoownsit(userHOFFMANinthis example).(Thereser-OOvation conflictswiththeoneyouwantedtomakebecauseit?O>coverssomecommonstreamforthesamemodule.l{ BNOIfyoudecidethatyoumustcreatea concurrent reservationCOforthemoduleafterall,youenterthiscommand:OaVSC>O aRESERVE/OVERRIDE=CONCURRENT%[RMS]MODULE_E.B32% "Emergency&bug%fix"=OModule%[BUILD_TEST]E.B32%is% currently& reserved:I Reservation%1&by&user%HOFFMAN%on% 18-JAN-1990% 15:45:51.77%/9Remark:&FIRST& RESERVATIONUO%VDE-I-FETCHED,% generation%[RMS]MODULE_E.B32;1(1)&fetched%from%libraryFO%VDE-I-OUTFILE,%output&file%is%DEV$:[MYDIR]MODULE_E.B32;]O%VDE-I-RESERVED,& generation%[RMS]MODULE_E.B32;1(1)%reserved%from&stream%BIRCHVOY%VDE-I-EXPGENEXPR,%expected% generation% expression&at& replacement&is&2MO%VDE-I-COMMIT,%database% transaction%has% successfully& committedOVSC>M|& #EOThisRESERVEcommandcreatesa concurrent reservationLOforthemodulebecauseitcontainsthe/OVERRIDE=CONCURRENTJO5 qualifier.-ItalsosendsmailtouserHOFFMANtonotifyHOHOFFMANthatyoujust concurrentlyreservedthemodule.} +XOOWhenyoureserveamodule,youcanspecifythatyoudonotLOwantother developerstocreate concurrent reservationsforHO5thatmodule.'Todoso,usethe /NOCONCURRENT qualifier$OontheRESERVEcommand:OVSC>C RESERVE/NOCONCURRENT&[RMS]MODULE_E.B32&"Remark%string"~ POThis qualifiercausesthesourcecontrolsystemtorejectfu-OOtureattemptstocreate reservationsthatare concurrentwithRO5thisoneuntilyoureplacethemoduleintothelibraryorun-ROreserveit.'Ifyouareabouttomake complicatedchangestoaKOmodule,youcanthuspreventothersfrom concurrentlyre-NO>servingthatmodule.(Normalusage,however,istoomitthisMO qualifierandtoallow concurrent reservationsincasetheyMOareneededinan emergency.'Youcanchangea reservation'sAOH noconcurrent attributewiththeMODIFY RESERVATIONOcommand.m! `C%O2.2.2BQueued ReservationsIO4VSCandVSCsupportqueued reservations.(WhenyouqueueNOa reservationrequest,thesourcecontrolsystemrecordstheQOqueued reservationinits database,pendingthe availabilityofMO=the specifiedmodule.&Whenthe developerwhoownsthecur-QOrent reservationlaterreplacesthemoduleintothelibraryorLOcancelsthe reservation,VSCsendsamailmessagetoeachLOGuserwhohasqueueda reservationrequestforthemodule.vKOThequeued reservationrequestmailmessage indicatesthatQOthemoduleisnow availablefor reservation,anditlistsallOO5userswhohave requestedit,intheordertherequestswereLOposted.)Theuserslistedinthemessagemustdecideamong?O themselveswhoshouldreservethemodulefirst.hMOToactuallyreservethemodule,onemustenteranexplicitORESERVEcommand.NHOInadditionto displayingother reservation information,@OtheSHOW RESERVATIONcommanddisplaysallqueuedO5 reservations.S$9z " :OTable2-3:7 QualifierstotheFETCHcommand O OF /CONFIRMO /NOCONFIRMO /LOGO/ /NOLOGO| /OUTPUTO /STREAM/KD SameasfortheRESERVEcommand.O /GENERATION=gen-exprsK7 Specifiesthatthemodule generationbefetchedthathastheCMS generation expressiongivenK bythe gen-exprbo parameter.%This expressionisalsothe generation'saudittrail identifier.&IfwK this qualifierisomitted,thecommandfetchesthe generationgivenbythe generationnumberonsK  the module-name parameter.$Ifboththis qualifierandthe generationnumberareomitted,thetKm commandfetchesthemostrecent generationofthemoduleinthe specified developmentstream.O /HISTORY[="string"]O4 /NOHISTORYrK DeterminewhetherCMShistory informationisincludedinthefetchedsourcemodule.!/HISTORYqK causesCMShistory informationtobeincludedintheoutputfileand /NOHISTORY suppressesuKI such information.'Ifneither qualifieris specified,thehistory attributeforeachmodulede-nK termineswhetherhistory informationis included.%ForOpenVMSVAX,history informationis#K turnedoffbydefault.O^ /NOTES[="string"]O /NONOTESO /POSITION=col-numnKs DeterminewhetherCMSnotes informationisincludedinthefetchedsourcemodule.%/NOTEStK causesCMSnotes informationtobeincludedintheoutputfileand/NONOTEScausessuchin-xK formationtobeomitted.!IfCMSnotesare included,the /POSITION qualifier specifiesthecolumnwK[ numberofthenotestext.$Ifneither/NOTESnor/NONOTESis specified,thenotes attributeforsK eachmodule determineswhethernotesare included."ForOpenVMSVAX,notesareturnedoffbyK default. O  ! # K%O2.3BCreatingNewModulesGOUTocreateanewsourcemodule,usetheCREATEMODULEOcommand:O2VSC>Q 2CREATE%MODULE%[FACIL]MOD.TYP% /STREAM=BIRCH%/REMARK="Remark%string" WIOThiscommandrecordsthenewmoduleinthesourcecon-QOtroldatabaseandcreatesa reservationforthemoduleintheOO5 specifiedstream.+Itdoesnotcreatethefirst generationofHOthemodule,however.(Youmustusea subsequentREPLACEJOcommandtoactuallycreatetheinitial generationoftheO>module.NFOYoucancreatemultiplemoduleswithasingleCREATEEOMODULEcommandby specifyingalistofmodulenames O5 separatedbycommas.b 8MOVDEalsoallowsyouto associateanumberofmodulesfrom>OvariousRESERVEandCREATEMODULEcommandsto-FO5gether,byusingthe/SESSION qualifier.-The/SESSIONPO qualifierallowsyoutopickanameforagroupofmodules,MOandtoavoidhavingtospecifyeachmoduleontheREPLACEJO>command.)Theuseof/SESSIONalsoprovidesthe reviewersSOandtheprojectleaderwithaclear indicationthatagroupof-O replacementmodulesarerelated.. NOIfyoushould mistakenlycreateamoduleunderan incorrectJOmodulename,orshouldyoucreateamodulethatbecomes!O5 unnecessary,youcan-(5priortomodule replacementi5-issuea7ODELETEMODULEcommand.+TheDELETEMODULENOcommandwillcancelthe reservation,andwill correctlybackCO>outtheCREATEMODULEcommand.)ForfurtherdetailsOonthis,seethe vVDE ReferenceManual .V,>OTheCREATEMODULEcommandacceptsanumberofIO qualifiers.-Thehelptextandthe referencemanualhaveQO5thedetailsonallofthe qualifiersacceptedbythecommand.OTable2-2@listssomeofthemore commonly-used qualifiers.*OPb?& OExamplesBOThisisanexampleoftheCREATEMODULEcommand:OVSC> SET%STREAM%PHOENIXOVSC>K CREATE%MODULE%[FACNAM]NEWMOD.C%/REMARK="Update%widget&table"YO%VDE-I-RESERVED,& generation%[FACNAM]NEWMOD.C%reserved%from&stream%PHOENIXNOd%VDE-I-MODADDED,&module%[FACNAM]NEWMOD.C&added&to&the%databaseMO%VDE-I-COMMIT,%database% transaction%has% successfully& committedOVSC> GOThisexamplemakesstreamPHOENIXthedefaultdevelop-FOmentstreamandthencreatesthenewmoduleNEWMOD.C=OiinfacilityFACNAM.TheCREATEMODULEcommandNOaddsthemoduletothesourcecontroldatabaseandreservesGOitfromthedefaultstream.+A subsequentREPLACEcom-POrmand(notshown)isneededtocreatethefirst generationof(Othemoduleinthelibrary.# !%K O2.4BFetchingModulesLOUTofetchanexistingmodulewithout reservingit,usethe(OFETCHcommand.'Forexample:O2VSC>* 2FETCH/STREAM=FOO%[FACIL]MOD.TYP! NOThiscommandcopiesthelatest generationforstreamFOOofMOmoduleMOD.TYPinfacilityFACILtoyourdefault directory.UEOTheFETCHcommandacceptsmultiplemodulenamessep-ationofthemoduleinthe specifiedstreamand MOD.TYP;-1OOrefersto generation-1relativetothelatest generationinOOthestream(inotherwords,tothenextmostrecentgenera-NOHtion).(Thesecondmethodtospecifythe generationyouwant(Oistousethe /GENERATION=gen-expr  qualifiertospecifyIOtheCMS ``generation expression''ofthedesiredgenera-KORtion.-Ifyouspecifyneithera generationnumbernortheHO /GENERATION qualifier,VSCfetchesthelatest generationBOforthe specified(ordefault) developmentstream. WDOInadditiontothe /GENERATION qualifier,theFETCHGOcommandacceptsasubsetoftheRESERVEcommandqual-KO5ifiers.(TheFETCHcommandalsoacceptsanoptionalquotedGOremark parameterfor compatibilitywithCMS,butsinceLOthereisnoreasontorecordfetch operations,theremark(O>stringissimply discarded.O! %GOTheFETCHcommandacceptsanumberof qualifiers.)TheNOhelptextandthe referencemanualhavethedetailsonthe1O5 qualifiersacceptedbythecommand.5Table2-35containssome3Oofthemore commonly-used qualifiers.*`?9l }OExamples9OThisisanexampleoftheFETCHcommand:OVSC> FETCH&A.REQSO%VDE-I-FETCHED,% generation%[FACNAM]A.REQ;3(2A1)%fetched&from%library?O%VDE-I-OUTFILE,%output&file%is%DEV$:[MYDIR]A.REQ;OdVSC>n 3DLOThisexamplefetches generation3(forthedefaultstream)EOofmoduleA.REQinfacilityFACNAM.The generation'sPOiCMS generation expression(andaudittrail identifier)is2A1.OOVSCplacesafile containingthat generationinyourdefaultO directory.aL :7NOThe followingexamplefetchestwomodules,C.B32infacilityOOSYSandD.B32infacilityBAD,andcopiesthemto directoryO5[MYDIR]:OVSC>P FETCH/OUTPUT=[MYDIR]&0[SYS]C.B32/STREAM=V4.4,[BAD]D.B32/GENERATION=3A2NO%VDE-I-FETCHED,% generation%[SYS]C.B32;4(4)%fetched%from&library?OI%VDE-I-OUTFILE,%output&file%is%DEV$:[MYDIR]C.B32;PO%VDE-I-FETCHED,% generation%[BAD]D.B32;5(3A2)%fetched&from%library?O%VDE-I-OUTFILE,%output&file%is%DEV$:[MYDIR]D.B32;O!VSC>NHOThecommandfetchesthelatest generationofC.B32forPOstreamV4.4,anditfetchesthe generationofD.B32thathas+O5CMS generation expression3A2. ' w FOTable2-4:7 QualifierstotheSHOW RESERVATIONcommand O OF /BEFORE=date-time`K Displaysonlythose reservationscreatedbeforethe specifieddateandtime.O: /BRIEFO /FULLtK Determinethetypeof information displayedforeach reservation.$/BRIEFdisplaysthereserva-{KO tion identifier,thenameofthereservedmodule,the reservinguser,thedateofthe reservation,wK andthestreaminwhichthemoduleis reserved.#Thisdisplaynormallyfitsononeline.$/FULLvK displaysalldatabase informationaboutthe reservation;thisdisplayrequiresseverallinesper1K7 reservation."/BRIEFisthedefault.O /NOQUEUE{K+ Specifiesthatqueued reservationrequestsnotbe displayed.#Ifthis qualifierisomitted,thecom-YKx manddisplaysbothqueued reservationrequestsandnormal reservations.O /OUTPUT=filespecXKl Directstheprintedoutputofthiscommandtoa specifiedfile.$The l filespec l parameter specifieszK thenameofthefile."VSCcreatesanewfilewiththatname,directsthe command'sprintoutputK tothatfile,andprintsnothingonyour terminal.!Ifthis qualifierisomitted,alloutputappearsonKT the terminal.O /SINCE=date-timegKH Displaysonlythose reservationscreatedonorafterthe specifieddateandtime.O /STREAM[=stream-name]bK; Displaysonlythose reservationsmadeforthe developmentstreamgivenbythe ; stream-nameK parameter.#Ifthe stream-nameN} parameterisomitted,thecommandonlydisplaysthosereser-wK vationsmadeforyourdefaultstream."Ifthe/STREAM qualifierisomitted entirely,thecommand4K$ displays reservationsforallstreams.O /TOTALnK Showsthetotalnumberof reservationsthatmatchthe specifiedmodulenames, usernames,sKe andother constraints.'Onlythetotalcountisshown;other informationaboutthe individual'K reservationsisnotshown.O, /USERNAME[=username]xK SpecifiestheOpenVMSusernamefortheuserwhose reservationsaretobeshown."Ifthisqual-ZK ifieris specified,VSConlydisplaysthatuser's reservations.'Ifthe username parameterisyKA omitted,VSConlydisplaysyourown reservations."Ifthewhole qualifierisomitted,VSCdisplays(K reservationsforallusers. O  &%(_5'O2.6B Displaying ReservationsKOUOncea reservationhasbeenenteredintothesourcecon-KOtrolsystem's database,youcandisplayitwiththeSHOW?O RESERVATIONcommand.'Thisisatypicalexample:OVSC>+ SHOW% RESERVATION%[FACIL]MOD.TYPL"HOThiscommandshowsall reservationsandqueuedreserva-MOtionrequestsformoduleMOD.TYPinfacilityFACIL.IftheFO5 module-name parameterisomitted,thecommanddisplaysGOall reservationsformodulesinyourdefault facility. f?OTheSHOW RESERVATIONcommandacceptsalistofHOmodulenames separatedbycommas,andyoucanusetheO5asterisk( @*G5)andpercentsign( % )wildcard charactersintheKOmodulenames.)All reservationsformodulesthatmatchthe-Owildcardpatternsare displayed.j@=OTheSHOW RESERVATIONcommandacceptsanumberMOof qualifiers.*Thehelptextandthe referencemanualhaveQO5thedetailsonallofthe qualifiersacceptedbythecommand.OTable2-4< describesanumberofthemore commonly-usedO qualifiers.*OPc?B eOExamplesFOThisis an exampleof the briefoutputof the SHOWO` RESERVATIONcommand:OVSC> SHOW% RESERVATION,O, Reservation%1&of&[FACIL]FOO.MAR,SMITH, 18-NOV-1990%BIRCH/Ot Reservation%1&of&[FACIL]FUMBLE.MARtJONESt 5-SEP-1990%PHOENIXYOQueued% reservation%2%of%[FACIL]FUMBLE.MARp MURGATROIDp 21-NOV-1990%PHOENIX1O Reservation%1&of&[FACIL]SCRAMBLE.B32SMITH 31-OCT-1990%MUSHROOMOLVSC> 5dJOThe followingexampleshowsthefulloutputoftheSHOW6O RESERVATIONcommandforone reservation:OVSC>0 SHOW%RESERVATION/FULL%[FACIL]FOO.MAR,O Reservation%1&of&[FACIL]FOO.MAR<% Reservation%created&on& 18-NOV-1990& 10:39:54.31>m Reservation%created&by&user%SMITH%(Jane%Smith)= Generation&15&(15)%reserved%from%stream%BIRCH_Expected% generation& expression%at% replacement%is%16%(audit&trail& identifier)0E Concurrent& reservations%are%allowed&Remark:&Fix%QAR%23%againOVSC>, z e FOTable2-6:7 QualifierstotheSHOW REPLACEMENTcommand O OF /ACCEPTED{K Specifiesthatonlythose replacementsthathavebeenacceptedbyalltheir reviewersbe displayed.O: /BEFORE=date-time_K Displaysonlythose replacementsqueuedbeforethe specifieddateandtime.O- /BRIEFO{ /FULLtK Determinethetypeof information displayedforeach replacement.#/BRIEFdisplaysthereplace-tKB mentname,thedateofthe replacement,the replacinguser,andthe replacementstatus.%ThisyK displaynormallyfitsononeline."/FULLdisplaysall informationaboutthe replacementstoredinUK the database;thisdisplayrequiresmultiplelinesper replacement.OW /IN_REVIEW{K Specifiesthatonlythose replacementsthatareinreviewbe displayed.!A replacementisinreviewK ifithasnotbeenrejectedbyany reviewer,hasbeenacceptedbyatleastone reviewer,andhasnot2Kl yetbeenacceptedbyall reviewers.O /NOT_REVIEWED|K_ Specifiesthatonlythose replacementsthathavenotyetbeenacceptedorrejectedbyany reviewersK be displayed.O& /OUTPUT=filespecXK Directstheprintedoutputofthiscommandtoa specifiedfile.$The  filespec  parameter specifieszK thenameofthefile."VSCcreatesanewfilewiththatname,directsthe command'sprintoutputK; tothatfile,andprintsnothingonyour terminal.!Ifthis qualifierisomitted,alloutputappearsonK the terminal.O /REJECTED~K| Specifiesthatonlythose replacementsthathavebeenrejectedbyatleastonereviewerbe displayed.O /REVIEWER[=username]|Kp Specifiesthatonlythose replacementsforwhichthe specifieduserisareviewerbe displayed.!TheK username` parameter specifiestheOpenVMSusernameofthereviewerwhose replacements&K aretobeshown."Ifthe/ usernameO parameterisomitted,those replacementsforwhichyouarea{KX reviewerareshown.!Ifthe qualifierisomitted entirely, replacementsforall reviewersareshown.O /SINCE=date-timefKL Displaysonlythose replacementsqueuedonorafterthe specifieddateandtime.l  O O /STREAM[=stream-name]OK Displays replacementsforthe developmentstreamgivenbythe  stream-name  parameter.&IfnK this parameterisomitted,thecommanddisplays replacementsforyourdefault developmentvK) stream.#Ifthe/STREAM qualifierisomitted entirely,thecommanddisplays replacementsforallKw developmentstreams.O /TOTALrKj Showsthetotalnumberof replacementsthatmatchthe specified replacementnamesandotheryK selection criteria.#Onlythetotalcountisshown;other informationaboutthe individualreplace- K mentsisnotshown.O /USERNAME[=username]pK SpecifiestheOpenVMSusernameoftheuserwhose replacementsaretobeshown.'Ifthis[KF qualifieris specified,onlythatuser's replacementsareshown.$Ifthe F username^ F parameterisuK omitted,onlyyourown replacementsareshown."Ifthe /USERNAME qualifierisomitted entirely,4K replacementsforallusersareshown. O (* (+ )6O2.8BChange PropagationandFoldRecordsLOUWhenyoureplaceamodule,youmakeyournewsourcefileLOthemostrecent generationofthemoduleinthe specifiedLO(ordefault) developmentstream.(Thatinstanceofthemod-RO^uleisthusthe generationyougetbydefaultina subsequentIOFETCHorRESERVEcommandandisthe generationthatis#Obuiltforthatstream.U+LOIfthe specifiedstreamhas successors,VSC propagatestheMOnewmodule generationtoall successorstreamsif possible.NO5Forexample,ifstreamV5.4isa successorofstreamV5.3,MOthenanymodulethatisreplacedintostreamV5.3isalsoKOreplacedinstreamV5.4automatically.+IfstreamV5.4hasKO> additional successors(suchasstreamV5.5),thenewmod-KOule generationis propagatedtothosestreams,andsoonO recursively.3  LOChange propagationworksasfollows.)Ifthelatestgenera-NOtionsofthemodulefortheoriginal developmentstreamandNO5the successorstreamarethesame,thenthenewmodulein-NOstancebeingreplacedbecomesthelatest generationforbothLOstreams.(Bothstreamsarethusequally up-to-datewithre-MO>specttothechangesmadetothatmodule.*However,iftheOOlatest generationsofthemoduledifferforthetwostreams,JOwhichmeansthatthemodulehasalreadydivergedbetweenNOHthosetwostreams,thesourcecontrolsystemdoesnotprop-JOagatethenewmodule generationtothe successorstream."OInstead,itcreatesa' foldrecord'inthedatabasetoremindLORthe developerthatthechangemadetothemodulefortheMOfirststreammustbemanually ``folded''intothe successorOstream. RtFOYoudisplayfoldrecordswiththeSHOWFOLDcommand.EOThisexampleshowsthebriefoutputofthecommand:OaVSC> aSHOW%FOLD%*.MARVOFold&1%of%[FACIL]FOO.MAR;29(27B2)%into%stream%V5.4 23-MAR-1989%SMITH@OFold&2%of%[FACIL]BAR.MAR;2(1A1)&into%stream&V5.5T 24-MAR-1989%JONESO9VSC>! N3OEachfoldrecordis identifiedbya fold identifierA.&Thisiden-QOtifierisaunique,smallintegervaluethatVSCassignswhen&O5creatingthefoldrecord.:JOThe followingexampleshowsthefulloutputoftheSHOW0OFOLDcommandforonefoldrecord:OaVSC>" aSHOW% FOLD/FULL&FOO.MAR.OFold&1%of%[FACIL]FOO.MAR;29(27B2)HModule%to%be%folded&from%stream&V5.3%into%stream%V5.4@9 Reservation% performed%by%user%SMITH%(Jane%Smith)> Reservation% performed%on% 23-MAR-1989% 18:09:51.80> Replacement% performed%on% 25-MAR-1989% 20:29:05.23&Remark:&Fix%QAR%23%againOVSC>:KOThenormalwaytoremovefoldrecordsistospecifytheGO/FOLD qualifierwiththeREPLACEcommandthatreplaces4 REPLACE/STREAM=V5.4%[FACIL]FOO.MAR/FOLD=2w! MJOThisexamplereplacesmoduleFOO.MARintostreamV5.4toLO propagateachangethatVSCcouldnot automaticallypropa-SO5gate.'The parametertothe/FOLD qualifier(thevalue``2'')isXOthefold identifierofafoldrecordtodeleteaspartofthere-NO placement.'This parametercanbeomittedifthemoduleonlyJO>hasone outstandingfoldrecord.*Forqueued replacements,NOVSCdeletesthefoldrecordwhenthereleaseprojectleader&Operformsyour replacement.Cf OOYoucanalsodeleteafoldrecordthatisnolongerneededNO (possiblybecausethechangeisnolonger required)withan*O5explicitCANCELFOLDcommand:OVSC>D CANCEL%FOLD&,[FACIL]FOO.MAR/IDENTIFICATION=2/STREAM=BIRCHWFOThiscommanddeletesfoldrecord2(asgivenbythe;O/IDENTIFICATION qualifier)formoduleFOO.MARMO5infacilityFACIL.ThisfoldrecordisaremindertofoldIOachangeintostreamBIRCH.IfthereisonlyonefoldLOrecordforthegivenmoduleandstream,youcanomitthe%O>/IDENTIFICATION qualifier..? cHOTable2-7:7 QualifierstotheCANCEL REPLACEMENTcommand O OF /CONFIRMO /NOCONFIRMsK /CONFIRMasksyoutoconfirmthatyouwanteach replacementdeleted.$This qualifierispar-qK[ ticularlyusefulifyouusewildcard charactersinthe replacementname.# /NOCONFIRMdeletes_K each replacementwithoutaskingfor confirmation.! /NOCONFIRMisthedefault.O" /LOGOp /NOLOGsK Specifywhether informationallogmessagesareprintedafterthe replacementisdeleted.$/LOGjK7 causessuchmessagestobeprintedand/NOLOG suppressesthem.!/LOGisthedefault. O]  +*-z/O2.9B DisplayingQueued ReplacementsCOUOncetheREPLACEcommandhasenteredaqueuedre-NO placementintothesourcecontrolsystem's database,youcanAOdisplaythe replacementwiththeSHOW REPLACEMENTGO^command.'Thisexample illustratesthe command'ssyntax:OVSC>$ SHOW% REPLACEMENT%SMITH-1/GOThiscommanddisplaysallqueued replacements specifiedGObythe replacementname parameter(SMITH-1intheex-IO5ample).)Ifthe replacementnameisomitted,thecommand.Odisplaysallqueued replacements. aAOWiththeSHOW REPLACEMENTcommand,youcanspec-KOifyalistof replacementnames separatedbycommas,and)O5youcanusetheasterisk( @*2)5)andpercentsign( % )wildcardLO characters.'Allqueued replacementsthatmatchthewildcard#Opatternsare displayed.P! &AOTheSHOW REPLACEMENTcommandacceptsanumberofNO qualifiers.)Thehelptextandthe referencemanualhavetheCO5detailsonthe qualifiersacceptedbythecommand.}5Table2-6@Olistssomeofthemore commonly-used qualifiers.*}b?L dOExamplesFOThisis an exampleof the briefoutputof the SHOWO` REPLACEMENTcommand:OVSC>$ SHOW% REPLACEMENT%SMITH-5&O,Queued% replacement%SMITH-5, 23-MAR-1989%SMITHZ ,Rejected&OtQueued% replacement%JONES-3t 24-MAR-1989%JONESZ tNot%reviewedOVSC>A JOThe followingexampleshowsthefulloutputoftheSHOW>O REPLACEMENTcommandforonequeued replacement.NOiNotethatthisoutputlistsallmodulesthatbelongtotheBO replacementandall reviewersforthe replacement.OFVSC>) FSHOW%REPLACEMENT/FULL%SMITH-5&OQueued% replacement%SMITH-5= Replacement%queued%by%user%SMITH%(Jane%Smith): Replacement%queued%onK 4-OCT-1990% 16:55:02.06^f Replacement%staging& directory%is%/VSC$STAGEDISK:[VMS.STAGE.VDE$STG_1.VDE$REP_115]0 Replacement%review%status:%Rejected/ Replacement%is%for%stream&PHOENIX.>Unique% replacement%number&is&115( Reservations%in% replacement:B/ Reservation%1&of&[FACIL]FOO.MAR&for%stream%PHOENIXC/ Reservation%1&of&[RMS]FUMBLE.B32%for%stream&PHOENIX0] Replacement%contains%2& reservations& Reviewers%for& replacement:S/Accepted%by%user&HOFFMAN%(Bill%Hoffman)%onK 4-OCT-1990% 17:08:03.08N/5Rejected%by%user&JONES&(Jim%Jones)&onK 4-OCT-1990& 17:08:03.082}Remark:&Bad%choice%of%variable%name5/Not%reviewed%byKSNURD& (Mortimer%Snurd)' Remark:&Fix% bad-status&bugOVSC>-+/<0O2.10C CancellingQueued ReplacementsIOUIfyoudecidethata replacementyouqueuedshouldnotHObe performed,youcancancelthat replacementwiththeO followingcommand:OVSC>& CANCEL% REPLACEMENT%SMITH-1! UEOThiscommandremovesthequeued replacement specifiedEObythe replacementname parameter (SMITH-1)fromtheMO5sourcecontrolsystem's database.'Theoriginalmodulereser-LOvations associatedwiththe cancelled replacementremaininOOthe database.'Thetypicalreasonfor cancellinga replacementLO>isthatyouorareviewerfound somethingwrongwiththeQOcodetobe replaced.(Afterfixingthe erroneouscode,youcanFOqueueanew replacementwithanotherREPLACEcommand. y SHOW%FACILITY%FACNAMY/HOThisexampledisplays informationaboutfacilityFACNAM.LOIfthefacilitynameisomitted,thecommanddisplaysin-MOi formationaboutall facilitiesinthecurrentlibrary.,WithOOthiscommand,youcanspecifyalistoffacilitynamessep-COaratedbycommas,andyoucanusetheasterisk( f&*)andQOrpercentsign( % )wildcard charactersinthefacilitynames.POAll facilitiesthatmatchthewildcardpatternsare displayed.OTable3-1:liststhe qualifiersfortheSHOWFACILITY4Ocommandand describestheir functions.*OFe?@OExamplesGOThisisanexampleofthenormaloutputoftheSHOWO`FACILITYcommand:OVSC> SHOW%FACILITY%B*O,Facility%BACKUP,"BACKUP%facilityOtFacility%BAD&t"Michael%Jackson% facility"OFacility%BADBLK  "Bad-block% faciility"OFacility%BASRTL-"BASIC&Run-Time&Libary% facility"OLFacility%BLAS1!L "Blasphemous& facility"OFacility%BOOTS#"OpenVMS%boot% facility"OVSC>k APOThe followingisanexampleofthebriefoutputoftheSHOWOFACILITYcommand:OVSC>" SHOW%FACILITY/BRIEF%B*OFacility%BACKUPO%Facility%BADOmFacility%BADBLKOFacility%BASRTLOFacility%BLAS1OEFacility%BOOTSOVSC>rJOThe followingexampleshowsthefulloutputoftheSHOW0OFACILITYcommandforone facility:OaVSC>" aSHOW% FACILITY/FULL%SYSOFacility%SYSEFacility%added%to%database%on% 19-OCT-1990% 10:38:05.44G9Facility%added%to%database%by%user&SMITH&(Jane&Smith)'Facility%cannot%be%deleted.Remark:&OpenVMS% Executive&modulesOYVSC>HOThisexampleshowstheeffectofthe/TOTAL qualifier:OVSC>! SHOW%FACILITY/TOTAL%*9OPNumber%of% facilities%matching%name&*:&228OVSC>.5 w  EOTable3-3:7 QualifierstotheSHOW GENERATIONcommand O OF /BEFORE=date-time^K Displaysonlythose generationcreatedbeforethe specifieddateandtime.O: /BRIEFO /FULLqK Determinethetypeof information displayedforeach generation.%/BRIEFdisplaysthemodulenKO name, generationnumber, generation expression,creatinguser,andcreationdateandtimeoK ofeach generationthatmatchesthegeneration-specification parameters.&/FULLdisplaysall7K database informationforeach generation.Oc /GENERATION=gen-exprjK Specifiesthatthemodule generationwiththeCMS generation expressiongivenbythe  gen-expr#K+ parameterbe displayed.O /IF_SAME=stream-name#O /IF_DIFFERENT=stream-nameyKl Displaysonlythose generationsthatarethesame(or different)intwostreams."These qualifierswK selectthelatest generationofeach specifiedmoduleinthestreamgivenbythe/STREAMqual-{K ifier(oryourdefaultstream).#The/IF_SAME qualifierdisplaysthis generationonlyifitisalsoSKT thelatest generationofthemoduleinthestreamgivenbytheT stream-name T parameter.$ThexK /IF_DIFFERENT qualifierdisplaysthis generationonlyifitdiffersfromthelatest generationof6K themoduleinthestreamgivenbythe stream-name8 parameter."These qualifiersthusshowforqK= whatmodulestwo developmentsstreamsarestillthesameandforwhatmodulesthestreamsK differ.}K Thelatest generationsoftwostreamsare consideredtobethesameonlyiftheyarethe identicalsKQ generationwiththesame generation expression.$VSC determinesthisfromthecontentsofthe_K sourcecontrol database,notby comparingthetextofthetwo generations.O /OUTPUT=filespecXK Directstheprintedoutputofthiscommandtoa specifiedfile.$The filespec parameter specifieszK thenameofthefile."VSCcreatesanewfilewiththatname,directsthe command'sprintoutputK- tothatfile,andprintsnothingonyour terminal.!Ifthis qualifierisomitted,alloutputappearsonK{ the terminal.O /SINCE=date-timeeKn Displaysonlythose generationcreatedonorafterthe specifieddateandtime.0O /STATISTICS=(keyword[, keyword...])d q :  O `K Computesanddisplayscertains statisticsabouttheselected generations.#The  keyword  param-{Kb etersspecifywhat statisticstodisplayandhowtosortthem.$The qualifieracceptsthe followingK keyword parameters: \j ALPHABETICALLY-Sortthedisplayalphabeticallybyfacilitynameortypename.%Ifthish keywordisomitted,VSCsortsthedisplayin descendingorderby generationcount. \g[g FACILITY-Computeanddisplaythenumberof generationsineach facility. \d TYPES-Computeanddisplaythenumberof generationsthathaveeachmoduletype.mKk Ifyouspecifyonlyoneofthese keywords,the surrounding parenthesescanbeomitted.yK Whenthis qualifierisused,other informationaboutthe individual generationsisnotshown.!UsevK2 selection qualifiersandwildcard charactersinthe generation specification parameterstoselectIK the generation populationforwhichyouwant statistics.O /STREAM=stream-namevKs Specifiesthatthe generationnumbersyouspecifyonthecommand parametersareforthestreamK specifiedbythe= stream-nameQ/ parameter.$Ifthis qualifierisomitted, generationnumbersare.K relativetoyourdefaultstream.O /TOTALsK Showsthetotalnumberof generationsthatmatchthe specifiedgeneration-specificationparam-wKO eters.%Onlythetotalcountisshown;other informationaboutthe individual generationsisnotK shown.O /TREExK Displaysthefull generationtreeforeach specifiedmodule.$The generationsareorderedbycre-yK ationdate(themostrecent generationsareshownfirst).$Foreach generationthatisthelatestpK+ generationofsome developmentstream,thenameofthatstreamis displayed.'ThisdisplaycKy is equivalenttothedisplaythattheCMSSHOW GENERATION /DESCENDANTS/MEMBERK commandgives.O@ /USERNAME[=username]XK Displaysonlythose generationscreatedbytheuser specifiedbythe username parameter."IftheK usernameh parameterisomitted,VSCdisplaysonlythose generationsthatyoucreated.%Ifthe]KU whole qualifierisomitted,VSCdisplays generationscreatedbyanyuser. O{  2 04K"O3.2B DisplayingModulesDOUTheSHOWMODULEcommandlists informationaboutthe9Omodulesundersourcecontrol.'Forexample:O2VSC>& 2SHOW%MODULE&[FACIL]MOD.TYP ^GOInthisexample,VSCdisplays informationaboutmoduleNOMOD.TYPinfacilityFACIL.Ifthefacilitynameisomitted,PO5thecurrentdefaultfacilityisassumed.(Ifthewholemodule-MOname parameterisomitted, informationaboutallmodulesin,Othedefaultfacilityisshown.! _GOWiththeSHOWMODULEcommand,youcanspecifyalistLOofmodulenames separatedbycommas,andyoucanusetheO5asterisk( @*G5)andpercentsign( % )wildcard charactersintheLOmodulenames.'AllmodulesthatmatchthewildcardpatternsOare displayed.OTable3-28liststhe qualifiersfortheSHOWMODULE4Ocommandand describestheir functions.*OFe? OExamplesGOThisisanexampleofthenormaloutputoftheSHOWO`MODULEcommand:OVSC>' SHOW%MODULE&[ADARTL]PPLSS_*>O,Module%[ADARTL]PPLSS_DISPATCH.MAR"SS% dispatcher"1OtModule%[ADARTL]PPLSS_KERNEL_WORKER.B32"Kernel%worker")OModule%[ADARTL]PPLSS_RESET.MAR"Cleanup&routine"FOLModule%[ADARTL]PPLSS_SERVICES.MAR"Service&entry&points")OModule%[ADARTL]PPLSS_TABLE.B32%"Sys%Service% definitions")OModule%[ADARTL]PPLSS_TABLE.REQ%"Sys%Service% definitions"OO$Module%[ADARTL]PPLSS_USER_WORKER.B32K"User&mode%worker& routines"OlVSC> POThe followingisanexampleofthebriefoutputoftheSHOWOMODULEcommand:OVSC> SHOW% MODULE/BRIEF OModule%[FACIL]FOO.BAR!O%Module%[FACIL]MOD1.FOR!OmModule%[FACIL]MOD2.FOR!OModule%[FACIL]MOD3.FOR!OModule%[FACIL]MOD4.FOR!OEModule%[FACIL]MOD5.FOR!OModule%[FACIL]MOD6.FOROVSC>J JOThe followingexampleshowsthefulloutputoftheSHOW,OMODULEcommandforonemodule:OaVSC>, aSHOW%MODULE&[FACIL]MOD1.FOR/FULL!OModule%[FACIL]MOD1.FORBModule%added%to%database%onK 4-APR-1989% 14:58:39.66E9Module%added%to%database%by%user%SMITH%(Jane%Smith)'Module%is%a%source%module%Module%cannot&be&deleted1Module%may&be& concurrently%reserved>YHistory& information&is&not%provided%by%default!History&string:%CJ#B<Notes% information%is%not%provided%by%default0Notes%string:&!K#GxNote& position:%81# Reviewers:&JONES,%SNURD$Users%to%notify:&MERMANPRemark:&Test%moduleOVSC>HOThisexampleshowstheeffectofthe/TOTAL qualifier:OVSC>$ SHOW% MODULE/TOTAL&[RMS]*=OPNumber%of%modules%matching%name& [RMS]*.*:%236OVSC>7su I@OTable3-4:7 Qualifierstothe DIFFERENCEScommand O OF /GENERATION=gen-exproK Specifiesthatthemodule generationthathastheCMS generation expressiongivenbytheb  gen-K exprq parameterbe compared."Ifthis qualifierisomitted,thecommandusesthe generationgivenuK[ bythe generationnumberonthe module-name parameter."Ifboththis qualifierandthegenera-xK tionnumberareomitted,thecommandusesthelatest generationofthemoduleforthe specifiedK developmentstream.Op /KEEPtK Specifiesthatthefetchedandcomparedmodule generationsberetainedafterthecommandcom-zK7 pletes.&Ifthis qualifierisomitted,thefiles containingthose generationsaredeletedafterthe%K differencesare computed.O /STREAM=stream-namevKx Specifiesthatthe generationtobecomparedshouldbetakenfromthe developmentstreamgivenK bythe stream-name_  parameter.$Ifthis qualifierisomitted,the generationistakenfromyourIK defaultstreamunlessyouusethe /GENERATION qualifier.O /CHANGE_BARO /COMMENT_DELIMITERO( /IGNOREOu /MAXIMUM_DIFFERENCESO /MATCHO /MERGEDO^ /MODEO /NUMBERO /NONUMBEROF /OUTPUTO /PARALLELO /SEPARATEDO/ /SLPO| /WIDTHO /WINDOWkKC These qualifiersarepassedthroughtothespawnedOpenVMS DIFFERENCEScommandwithoutPK change.$Seethe descriptionofthe DIFFERENCEScommandinthe" OpenVMSDCL DictionaryUK manualfora descriptionofthese qualifiersandtheir parameters. O $426U! +0O3.3B Displaying Generation HistoriesFOUTheSHOW GENERATIONcommandlists historicalanddif-NO ferential informationaboutthemodule generationspresentin/Othecurrentlibrary.'Forexample:OVSC>* SHOW% GENERATION%[FACIL]MOD.TYP WNOThisexampledisplays informationaboutthelatest generationDOofmodule[FACIL]MOD.TYPinyourdefault developmentQO5stream.)Ifthefacilitynameisomitted,yourdefaultfacilityOOisassumed.)Ifthewhole parameterisomitted,themostre-QOcent generationsforthedefaultstreamofallmodulesinthe(O>defaultfacilityareshown.! W@OWiththeSHOW GENERATIONcommand,youcanspec-POifyalistofmodulenames separatedbycommas,andyoucanO5usetheasterisk( @*95)andpercentsign( % )wildcardchar-@Oactersinthemodulenames.,TheSHOW GENERATIONMOcommanddisplays generationsforallmodulesthatmatchtheO>wildcard patterns.z PLOEach generationforagivenmoduleisnamedintwoways.OOnenameisthe generationnumber!thatVSCassignsandO5theotheristhe 5 generation expression+5thatCMSassigns.QOYoucanuseeithernametospecifythe generationtodisplay. KOVSCassigns generationnumbersin sequentialordertotheIO generationsforeach developmentstream.+ Generation1isQO5thusthefirst generationforthestream, generation2isitsNO successor,andsoon.* Generation2ofstreamAcanbetheNOsameas generation2ofstreamB(ifthestreamshavenotRO>yet diverged)ortheycanbetwo different generations(ifthe#Ostreamshave diverged). KOWhenyourefertoa generationbyits generationnumber,NOyouspecifya semicolonandthe generationnumberaftertheFO5modulename.*Forexample, MOD.TYP;5referstogenera-ROtion5forthedefaultstream(orthestream specifiedbytheKO/STREAM qualifier).+Youcanalsospecifyazeroornega-NO>tive generationnumber;sucha generationnumberisrelativeIOtothelatest generationforthestream.+ MOD.TYP;0thusOOreferstothelatest generationand MOD.TYP;-1referstotheMOHnextmostrecent generation.)Ifyouspecifytheasterisk( XT* H)NOwildcard characterinplaceofthe generationnumber(asinOMOD.TYP; *6),theSHOW GENERATIONcommanddisplaysOORall generationsforthestreamstartingwiththemostrecentO generation.t kJIOCMS generation expressionsareassigneda differentway.JOThefirst generationforamodulehas generationexpres-RO5sion1.'Itcanhavemultiple successors(for differentstreams)KOwith generation expressions2,1A1,1B1,1C1,andsoon.HO Generation1B1caninturnhave successors1B2,1B1A1,NO>1B1B1,andsoon.'Each generationthushasauniquegener-QOation expressionthatencodesits genealogy.&This expressionisOO independentofstream.'Tospecifya generationbyitsgener-JOHation expression,youmustusethe /GENERATION qualifier.;OForexample,MOD.TYP/GENERATION=1B1referstoEOthe generationofmoduleMOD.TYPthathas generationOR expression1B1. NMOIfyouomitboththe generationnumberandthe /GENERATIONRO qualifier,VSCdisplaysthelatest generationinthedefaultorO5 specifiedstream.! W@OTheSHOW GENERATIONcommandalsoacceptsanum-VOberof qualifiersthatselectsubsetsofthe specified generations.LO5Forexample,youcanselectall generationscreatedbeforePOorsinceacertaindateandtime,youcanselectthegener-NOationscreatedbyacertainuser,andyoucanselectthose;O> generationsthatdifferbetweentwostreams.OTable3-3<liststhe qualifiersfortheSHOW GENERATION4Ocommandand describestheir functions.*OFb?" WOExamplesMOThisexampleshowsthebriefoutputoftheSHOW GENERATIONIO`command.*Each generation'smodulenameisfollowedbyaKO semicolonandtheVCS generationnumberwhichinturnisNOfollowedbytheCMS generation expression(audittrailiden-POitifier)in parentheses.'Theoutputalsoshowswhocreatedthe2O generationandwhenitwascreated:OGVSC> GSHOW% GENERATION%*.*:O Generations%for% development%stream& MUSHROOM:,O Generation&[RMS]MODULE_A.REQ;2(2)SMITH 12-DEC-1989&08:44:12:O Generation&[RMS]MODULE_B.REQ;25(10A12B3)JONES  9-DEC-1989&20:34:00/Of Generation&[RMS]MODULE_C.B32;14(9H5)fBROWN f 9-DEC-1989&20:34:45,O Generation&[RMS]MODULE_D.B32;1(1)* MURGATROID 9-DEC-1989&20:34:57.O Generation&[RMS]MODULE_E.B32;8(6A2)JONES 29-DEC-1989&13:12:32O>VSC>2 OOThisnextexampleshowshowtodisplayall generationsofaPOgivenmodulethatgaverisetothelatest generationinyourOidefaultstream:OVSC>* SHOW% GENERATION%MODULE_E.B32;*:O5 Generations%for% development%stream& MUSHROOM:.O} Generation&[RMS]MODULE_E.B32;8(6A2)}JONES} 29-DEC-1989&13:12:32.O Generation&[RMS]MODULE_E.B32;7(6A1)JONES 26-DEC-1989&14:00:00,O  Generation&[RMS]MODULE_E.B32;6(6) SMITH  19-DEC-1989&15:37:12,OU Generation&[RMS]MODULE_E.B32;5(5)UPORTERU 12-DEC-1989&13:10:01,O Generation&[RMS]MODULE_E.B32;4(4))DINGDONG 12-DEC-1989&08:43:27,O Generation&[RMS]MODULE_E.B32;3(3)SMITH 12-DEC-1989&08:37:31,O- Generation&[RMS]MODULE_E.B32;2(2)-JONES- 12-DEC-1989&08:35:54,Ou Generation&[RMS]MODULE_E.B32;1(1)uJONES u 9-DEC-1989&20:34:02OVSC>JOThe followingexampleshowsthefulloutputoftheSHOW4 aSHOW% GENERATION%[RMS]MODULE_E.B32;8/FULL)O Generation&[RMS]MODULE_E.B32;8; Generation&created%on% 29-DEC-1989% 13:12:32.25<9 Generation&created%by%user%JONES%(Jim&Jones)'Module%is%a%source%module0CMS% generation% expression&is&"6A2"(Delta%letters&in&use:KNone/Y Generation&created%in%stream&V5.4GLatest% generation%for%stream& MUSHROOM,% X4PM_BIRCH,%V5.44Module%is%current%for%stream&MUSHROOM20Remark:&Add%the% mumble-fratz&featureOVSC> GOThisexampleshowstheoutputofthe/TREE qualifier:OVSC>3 SHOW%GENERATION/TREE&[EXEC]MODULE_X.MAR 9w AOTable3-5:7 QualifierstotheSHOWSTREAMcommand O OF /BRIEFO /NORMALO /FULLuK[ Determinethetypeof information displayedforeachstream.$/BRIEFdisplaysthenameofeachiK streamthatmatchesthe stream-name parameters.$/NORMALdisplaysthenameandremarkzK stringforeachstream;thisisthedefaultoutput.$/FULLdisplaysall attributesofeachstream,]KD includingitsname,creationdateandtime, reviewers,andremarkstring.O /OPENO  /FROZENOX /CLOSEDtK Displaysonlythosestreamswiththe specifiedstatus.%/OPENdisplaysonlythosestreamsthatqK  areopenfor replacements.(/FROZENdisplaysonlythosestreamsthatare ``frozen''sothatrKm replacementsarenot currently possible.#/CLOSEDdisplaysonlythosestreamsthatareperma-yK nentlyclosedagainst replacements.#Ifyouomitallofthese qualifiers,VSCdisplaysallstreams!K regardlessofstatus.O /OUTPUT=filespecXK Directstheprintedoutputofthiscommandtoa specifiedfile.$The  filespec  parameter specifieszKI thenameofthefile."VSCcreatesanewfilewiththatname,directsthe command'sprintoutputK tothatfile,andprintsnothingonyour terminal.!Ifthis qualifierisomitted,alloutputappearsonK the terminal.O^ /SUCCESSORsK Showsthefullstream successorchainforeach displayed developmentstream.#This informationZK% showstowhatstreamschangeswillbe propagatedfromagivenstream.O /TOTALrK Showsthetotalnumberofstreamsthatmatchthe specified stream-name parameters.#OnlythehKf totalcountisshown;other informationaboutthe individualstreamsisnotshown. O o6 48e ;9  DIFFERENCES&[FACIL]MOD.TYP;5%[FACIL]MOD.TYP;2 HOThisexamplefetches generation5ofmoduleMOD.TYPinKOfacilityFACILand generation2ofthesamemodule,com-RO5putesthe differencesbetweenthosetwofiles,anddisplaystheMO differences.)These generationsareforyourdefaultdevelop-IOmentstream.*Thesecond parametercanbe abbreviatedtoNO>justa semicolonandthe generationnumber(suchas``;2'')POifthemodulenameisthesameforboth generations.)IftheLOsecond parameterisomitted entirely,the specifiedgenera-KOHtioniscomparedwiththe immediately preceding generationGOinthesame developmentstream.,Ifthesecondparame-POterisomittedinthepreviousexample, generation5isthusIORcomparedwith generation4.*Zeroandnegative generationMOnumbersarealsoallowed;these generationnumbersarerel-POativetothelatest generationofthemoduleforthestream.PO[Ifthe generationnumberisomitted, generation0(thelatest0O generation)isassumedbydefault.+|MOThe generationscanalsobe identifiedbytheirCMSgener-FOation expressions(suchas10A2)withthe /GENERATIONLO5 qualifier.,Ifboth generationsare generationsofthesameSOmodule(theusualcase),thisformofthe qualifierisallowed:OVSC><  DIFFERENCES&%[FACIL]MOD.TYP/GENERATION=(10A2,11B1)N GOThiscommandcomparesthe generationsof[FACIL]MOD.TYPMO identifiedbytheCMS generation expressions10A2and11B1. LOIfyoudonotspecifythe /GENERATION qualifier,VSCusesJOthe specified(ordefault) generationnumbersandassumesOO5the generationnumberstoberelativetoyourdefaultdevel-JOopmentstream.)YoucanspecifythatyouwanttocompareKO generationsfromotherstreamswiththe/STREAM qualifier:OkVSC>4 k DIFFERENCES&[FACIL]MOD.TYP/STREAM=PHOENIX JOThiscommandcomparesthetwomostrecent generationsofIOthe specifiedmoduleinstreamPHOENIX.Tocomparegen-MO5erationsfrom differentstreams,youcaneitherspecifytheIO/STREAM qualifieronbothcommand parametersoryoucanSOusethisspecialformofthe qualifierwithjustone parameter:OkVSC>; k DIFFERENCES&$[FACIL]MOD.TYP/STREAM=(V5.4,PHOENIX)NGOThiscommandcomputesthe differencesbetweenthemostGOrecent generationsofthemoduleforstreamsV5.4andO5PHOENIX./! IOThe DIFFERENCEScommandalsoacceptsall qualifiersthatAOtheDCL DIFFERENCEScommandaccepts.*Thesequali-NO5fiersaresimplypassedthroughtothe subprocessthatruns-OtheOpenVMS DIFFERENCESutility. GOToperformitsaction,the DIFFERENCEScommandfetchesROthe specified generationsintoascratch directory.'IfyouhaveFO5definedlogicalname VDE$SCRATCH,VSCusesthedirec-POtorygivenbythatlogicalnameasthescratch directory.*IfOOthislogicalnameisnotdefined,VSCcreatesa subdirectoryGO>VDE$SCRATCH.DIR(unlessitexistsalready)in directoryLO SYS$SCRATCHandstoresthefilesinthat subdirectory.((ByHOdefault, SYS$SCRATCHisyourlogin directory.)*VSCthenEOHspawnsa subprocesstoruntheDCL DIFFERENCEScom-KOmandanddisplaythe differences.*VSCdeletesthefetchedQOfilesattheendofthecommandunlessyouspecifythe/KEEPKOR qualifier.-The differenceoutputgoestoyourterminalbyNOdefault,butyoucandirectittoafilewiththe/OUTPUTO qualifier.OTable3-4=liststhe qualifiersforthe DIFFERENCEScom-1Omandand describestheir functions.*OFc?;o w E?OTable3-6:7 QualifierstotheSHOWUSERcommand O OF /BRIEFO /FULLrK Determinethetypeof information displayedforeachuser.$/BRIEFdisplaystheOpenVMSusersK[ nameandthefullname(firstnameandlastname)ofeachuserwhomatchestheusernameVK parameters.!/FULLdisplaysalldatabase informationabouteachuser.O" /OUTPUT=filespecXK Directstheprintedoutputofthiscommandtoa specifiedfile.$The  filespec  parameter specifieszK thenameofthefile."VSCcreatesanewfilewiththatname,directsthe command'sprintoutputK7 tothatfile,andprintsnothingonyour terminal.!Ifthis qualifierisomitted,alloutputappearsonK the terminal.O /TOTALtKx Showsthetotalnumberofusersthatmatchthe specifiedusername parameters.$Onlythetotal_K countisshown;other informationaboutthe individualusersisnotshown. O [ 86:,/O3.5B Displaying DevelopmentStreamsDO(TheSHOWSTREAMcommandlists informationabouttheLO developmentstreamsdefinedinthesourcecontrol database.HOStreamsincludepastversionsofOpenVMS,versionscur-MO1rentlyunder development,buildbaselevels,and off-to-the-KOside developmentstreams.)The followingexample illustrates6OthesyntaxoftheSHOWSTREAMcommand:OgVSC> gSHOW%STREAM&PHOENIXGGOThisexampledisplays informationaboutstreamPHOENIX.JOIfthestreamnameisomitted,thecommandshowsinfor-NOimationaboutallstreamsdefinedinthe database.*WiththisLOcommand,youcanspecifyalistofstreamnames separated;Obycommas,andyoucanusetheasterisk( `&*)andpercentKOrsign( % )wildcard charactersinthestreamnames.-AllHOstreamsthatmatchthewildcardpatternsare displayed.OTable3-5>liststhe qualifiersfortheSHOWSTREAMcom-1Omandand describestheir functions.*OFb?bl 8OExamplesGOThisisanexampleofthenormaloutputoftheSHOWO`STREAMcommand:OVSC> SHOW%STREAMO,Stream%MUSHROOM2, "Maintenance&stream,%formerly%V5.4-1"OtStream%PHOENIX:t"V6.0%(?)&release%stream&(ne% Thunderbolt)"OStream%V4.4'"SDC%release&of&VMS%V4.4"OStream%V5.0'"SDC%release&of&VMS%V5.0"OLStream%V5.2'L"SDC%release&of&VMS%V5.2"OStream%V5.4'"SDC%release&of&VMS%V5.4"OVSC>Z 0POThe followingisanexampleofthebriefoutputoftheSHOWOSTREAMcommand:OVSC> SHOW% STREAM/BRIEF&*OStream%MUSHROOMO%Stream%PHOENIXOmStream%V4.4OStream%V5.0OStream%V5.2OEStream%V5.4OVSC>iJOThe followingexampleshowsthefulloutputoftheSHOW,OSTREAMcommandforonestream:OaVSC>% aSHOW% STREAM/FULL%MUSHROOMOStream%MUSHROOM7Stream%created%on% 19-OCT-1990% 10:37:00.7799Stream%created%by%user&SMITH&(Jane&Smith);Stream%owner%is%user%SNURD% (Mortimer%Snurd)"Parent%stream&is&V5.4& Successor%streams:KPHOENIX>YStream%is%part%of%the%main% development%thread%Stream%cannot&be&deleted1CMS%class%is% maintained%for%stream00 Replacements%are&queued%for%stream)xStream%is%open%for%checkins)Remark:&V5.4-1%release&classOPVSC>7f  LOThisexampleshowstheeffectofthe /SUCCESSOR qualifier:OVSC>( SHOW%STREAM&V5.3% /SUCCESSOROPStream%V5.3 Successor%chains:K/V5.3&->&V5.3-1%->%V5.3-2%->%V5.4%->%MUSHROOM%->%PHOENIXOpVSC>V%) z [   O }K Specifiesthesourcefiletobeusedasinputforthe replacement.$Ifyouomitthe directoryspec-Kb ificationfromtheb filespecZb parameter,thefileistakenfromyourdefault directory.$Ifyouomit}K thefilenameorfiletype,themodulenameandmoduletypeareusedbydefault."IfyouomitthexK /INPUT qualifier entirely,thefileistakenfromyourdefault directoryandmusthavethesame1KK filenameandtypeasthemodule.O /LOGO /NOLOGuK Specifywhether informationallogmessagesareprintedaftereachmoduleisreplacedorqueuedpK for replacement."/LOGcausessuchmessagestobeprintedand/NOLOG suppressesthem."/LOGK& isthedefault.O /NOTE=sct-note-numbervK Specifiesthenumberofapreviously-enteredSCTnoteintheSCTnotes conference."Whenspeci-|Kh fied,VSCusesthedefaultnamefortheSCTnotes conference.!Ifomitted,VSCwillpromptforthe#K SCT-related information. O/ /OTHER="otherreason"{K Specifiesthatthe replacementisnot associatedwithanSCTentryoraFOLDrecord,andincludesK thereasonwhy.Op /PROJECT=project-namesK /PROJECT specifiestheprojectnamewithwhichthe replacementis associated.$Theprojectis}K7 usedfor statisitical purposes,andtheprojectnameisusedin conjunctionwiththeremarktextasBK thetitleusedforanySCTnoteenteredbyVSC. O /PROPAGATE=stream-nameOL /NOPROPAGATEmK /PROPAGATE specifiesthatthemodulechangesbeingreplacedshouldbe propagatedtoalltK successorsoftheinitial developmentstreamuptoand includingthestream specifiedbytheKa stream-nameb=a parameter.#Changescannotbe propagatedfurtherthan specifiedontheoriginalgK RESERVEcommand,however.% /NOPROPAGATE specifiesthatthechangesnotbe propagatedyK pasttheinitial developmentstream."Ifneither qualifieris specified,VSC propagatesthechangesoKI asfaras requestedontheoriginalRESERVEcommand,whichbydefault propagateschangesLK toall successors (recursively)ofthecurrentstream.$SeeU Section2.8' formoredetailonchangeK propagation.lK^ ForOpenVMSVAX,most replacementsshouldusethedefault propagationbehaviorandyou2K shouldseldomneedthese qualifiers.O% /REASON=reason-code*Ud J4 z j  O rK Specifiesthereasoncodeforthe replacement.& Typically associatedwithanSCTentry.'Bug-gKb relatedreasoncodesrequirethe specificationofthenumberofdefects corrected.O /REMARK="string"|KV Specifiesaone-lineremarkstringtobe associatedwiththe replacement."Ifthis qualifierandtheuK remark parameterareomitted,youarepromptedfora replacementremark.#IfyouenteranullpK replacementremark,VSCusestheremarkstringfromeachmodule's reservation.#TheprojectiK> nameandtheremarktextareusedasthetitleforanySCTnoteenteredbyVSC. O /REPLACEMENT=repl-nameuK2 Specifiesthenameofthequeued replacementifthe replacementisqueued.&(This qualifieristK ignoredfor immediatereplacements.)"Ifaqueued replacementbythatnamealreadyexists,VSCtK appendsthe specifiedmodulestothatqueued replacement.! Otherwise,VSCcreatesanewqueuedtK replacementbythatname.$Ifthis qualifierisomitted,VSCcreatesanewqueued replacement_Kh andassignsitaunique replacementnamebasedonyourOpenVMSusername.0O /REVIEWER=(username[, username...])NK[ Specifiestheuserswhoshouldreviewthis replacement."Each[ username#f [ parameter specifiestheqK OpenVMSusernameofonereviewerforthe replacement.#Eachsuchrevieweris automaticallyvK notifiedwithamailmessage.#These reviewersareexpectedtoreviewthechangesthatmakeup6KD thecurrent replacementas describedin@D Chapter4.O /SCT=sct-file-nameuK7 SpecifiestheSCTnotetobeenteredintotheSCTnotes conference.%When specified,VSCuseswK thedefaultnamefortheSCTnotes conference.#Ifomitted,VSCwillpromptforthe SCT-relatedK information.OL /SESSION=session-namewK /SESSIONallowsyoutoreplaceanumberofreservedandcreatedmodulestogetherwithasinglenK command,andallowsyoutoavoid specifyingeachmoduleonthecommand.%WhenusedwithvKa thequeued-replacement environment,theuseofsessionsalsoprovidesaclear indicationtothezK reviewersandtotheprojectleaderthatthemodulesbeingreplacedare associated."The particularqK sessionnameusedis typicallyamnemonicnamechosenbytheuserwhentheCREATEMODULEtKI orRESERVEcommandisissued,andusuallyreflectsthe particularsetofchangesbeingmade.O /STREAM=stream-namewK= Specifiesthe developmentstreaminwhichthemodulestobereplacedare currentlyreservedand7K intowhichtheyshouldbe replaced.!TheI stream-name7: parametergivesthenameofthestream.sK Ifthis qualifierisomitted,VSCreplacesthemodulesintoyourdefault developmentstream.OQ /USERNAME=username*@3D G ) O tK SpecifiesthatthemodulesshouldbereplacedonbehalfoftheuserwhoseOpenVMSusernameKb isgivenbythe"b usernameSb parameter.#YoumusthaveaVSC privilege (USERNAME)tousethiswK qualifier;itismeantforreleaseprojectleadersandotherswhomanagetheOpenVMS libraries,RK andisintendedonlybeusedinunusualorspecial situations. O# B:8<! U O3.6B DisplayingUsersIOUTheSHOWUSERcommandlists informationabouttheusersLOoftheOpenVMSsourcecontrolsystem.)TheseusersaretheIOOpenVMS developersandotherswhoareallowedtoaccessIO^theOpenVMScurrentlibrary.(The followingexampleshows1OhowtousetheSHOWUSERcommand:O<VSC> <SHOW%USER%SMITHyOFOThisexampledisplays informationabouttheuserwithHOOpenVMSusernameSMITH.Iftheusernameisomitted,KO5thecommandshows informationaboutallusersrecordedinNOthe database.*Withthiscommand,youcanspecifyalistofKOusernames separatedbycommas,andyoucanusetheas-O>terisk( \J*G>)andpercentsign( % )wildcard charactersintheFOusernames.)AlluserswhoseOpenVMSusernamesmatch2Othewildcardpatternsare displayed.sGOThe qualifiers availableontheSHOWUSERcommandareO describedin Table3-6.* b?  OExamplesLOThisisanexampleofthebriefoutputoftheSHOWUSERO`command:OVSC> SHOW%USER%S*$O,User&SMITH&(Jane&Smith)(OtUser&SNURD& (Mortimer%Snurd)OVSC> }JOThe followingexampleshowsthefulloutputoftheSHOWOUSERcommand:OVSC> SHOW% USER/FULL&SNURD(OUser&SNURD& (Mortimer%Snurd)A%User&added&to&database&on& 19-OCT-1990& 22:12:40.91BmUser&added&to&database&by&user%JONES%(Jim%Jones)!Remark:&VMS% DeveloperDefault& privileges:/ECREMOD%RESREP! Authorized& privileges:/CREMOD%RESREPOdVSC><>"' HOTable4-1:7 QualifierstotheREVIEW REPLACEMENTcommand O OF /COMMENTrK Causesallcommentfilesprovidedbyprevious reviewerstobeincludedinthereviewlist.O: /INFORMATIONhK Causesthe replacementowner's informationfiletobeincludedinthereviewlist.O- /MODULEwK Causesallsourcemodulesthatarepartofthe replacementtobeincludedinthereviewlist.O! Youcanusethese qualifiersin combinationtoincludetheelementsyouwantinthereviewlist.$IfyouOn omitallthree qualifiers,thecommand automaticallyincludesallthreekindsofelementsinthereviewO list. O c?h z > ROTable4-2:7CommandsAcceptedintheREVIEW REPLACEMENT Subsystem O OF EXITAK Exitsfromthe subsystemandreturnsyoutotheU VSC>"" prompt.%PressingCtrl/  Z=  performstheK same function.O DIRECTORYvK Displaysthereviewlistforthe replacementbeing reviewed.$ThecommanddisplaysonelineforzKO each informationfile,commentfile,logfile,andmodulethatispartofthequeued replacement.O CURRENTzKB Displaysthenameofthecurrentelementinthereviewlist.%ThecurrentelementisthefileorRK modulethatVSCdisplaysifyouenteraSHOWorEDITcommand.O  NEXTuK Makesthenextelementonthereviewlistthecurrentelementanddisplaysthenameofthat{K element.!PressingtheKP0key(the0keyonthenumerickeypad)is equivalenttoenteringaNEXTxK command."Asaresult,youcanstepfromelementtoelementby repeatedlypressingtheKP0key.pKl Similarly,theCOMMA( , )keyonthenumerickeypadenterstheNEXTandSHOWcommandsuK withasingle keystrokeandtheMINUS( - )keyonthenumerickeypadenterstheNEXTandK EDIT commands.O BACKyK MakesthepreviouselementonthereviewlistthecurrentelementanddisplaysthenameofthatKH element.O FIRSTvK; MakesthefirstelementonthereviewlistthecurrentelementanddisplaysthenameofthatK element.O LASTuK| MakesthelastelementonthereviewlistthecurrentelementanddisplaysthenameofthatK element.OC SELECTmod-name>K Makesthe review-listelement specifiedbythe  mod-name/ parameterthecurrentelementandNK displaysthenameofthatelement.#Toselectamodule,the mod-name"1 parametermustspecifynKX thenameofthatmoduleinthenormalVSC module-namesyntax.&Toselectan information!K orcommentfile,the mod-nameL parametermustspecifytheusernameofthe developerwho}K createdthat informationorcommentfile.#ToselectthelogfilethatVSCcreatedifanattemptto1KA performthe replacementfailed,theA mod-name9VA parametermustspecifythefilenameLOG.O SHOW z r  O oK Typesthecontentsofthecurrent review-listelementonyour terminal.%TheSHOWcommandpKb takesanoptionalkeyword parameter.&Ifthecurrentelementisamodule,theNEWkeywordsK displaysthenewversionofthemodulequeuedfor replacement,theOLDkeyworddisplaystheuK oldversionofthatmodule currentlyinthelibrary,andthe DIFFERENCESkeyworddisplaysthe{KK differencesbetweenthenewandtheold versions.!Ifnokeywordisgiven,VSCdisplays differencesK bydefault.!Ifthecurrentelementisan information,comment,orlogfile,VSCdisplaysthetextof?K thatfileandignoresanykeywordyouspecify.O_ EDITsK Spawnsaneditingsessiontodisplaythecurrent review-listelement.#TheEDITcommandtakessK& anoptionalkeyword parameter.$Ifthecurrentelementisamodule,theNEWkeyworddisplayswKt thenewversionofthemodulequeuedfor replacement,theOLDkeyworddisplaystheoldversiontK ofthatmodule currentlyinthelibrary,andthe DIFFERENCESkeyworddisplaysthe differences|K betweenthenewandtheold versions."Ifnokeywordisgiven,VSCdisplays differencesbydefault.}K\ Ifthecurrentelementisan information,comment,orlogfile,VSCdisplaysthetextofthatfile3K andignoresanykeywordyouspecify.1K$ UsetheSETEDITORcommandatthe$ VSC>F$ prompttospecifyyour preferrededitor.#IfyouhavebKq not specifiedaneditor,VSCusesthesystemdefaulttexteditorbydefault.#O ACCEPT["remark-string"]vKe RecordsintheVSCdatabasethatyouacceptthe replacement currentlybeing reviewed.!YoumustsK beareviewerforthe replacementtousethiscommand.%YoucanspecifytheoptionalremarkwK stringtogiveareasonfor acceptingthe replacement."Thiscommandacceptsthesame qualifiers;KM asthe VSC-levelACCEPT REPLACEMENTcommand.!O REJECT"remark-string"vKA RecordsintheVSCdatabasethatyourejectthe replacement currentlybeing reviewed."YoumustrK beareviewerforthe replacementtousethiscommand.&TheremarkstringshouldspecifyavK reasonfor rejectingthe replacement.#Ifyouomittheremark parameter,VSCpromptsyouforaiK) remark.$Thiscommandacceptsthesame qualifiersasthe VSC-levelREJECT REPLACEMENTjKw command."LikeREJECT REPLACEMENT,theREJECTcommandletsyouspecifyacommentfileTK tomorefullyexplainyourreasonsfor rejectingthe replacement.O> SPAWNoK Spawnsa subprocess.$Thiscommandacceptsthesame parametersand qualifiersastheVSC- K levelSPAWNcommand.O ATTACHuK Attachestoa specified subprocess."Thiscommandacceptsthesame parametersand qualifiersas*KF the VSC-levelATTACHcommand. Ol <:= ! n-O 4.2 Reviewing!Queued! ReplacementsMOThischaptertellsyouhowtoreviewmodulesonbehalfofHOanother developerwhohasqueuedthosemodulesforre-OOB placement.(Whenyouareareviewerfora replacement,itisPOyourresponsibilitytoreviewthecodebeingreplacedforer-OOrors,quality,andappropriatenessforthe developmentstream.NOLBasedonthesefactors,youmustthenrecordinthesourceQOcontroldatabasethatyoueitheracceptorrejecttheproposedJO replacement.+ThischaptertellsyouhowtoperformtheseOU operations. A +z Z cOTable4-3:7 QualifierstotheACCEPT REPLACEMENTandREJECT REPLACEMENTcommands O OF /INPUT=filespecwK Specifiesatextfilewithcommentsaboutthe replacement,suchasreasonsfor rejectingitorxK descriptionsofpossible improvements.#Thesourcecontrolsystemcopiesthisfiletothereplace-|K[ ment'sstagingarea.$Ifyouomitthe directory specificationfromthis qualifier,thefileistaken)K fromyourdefault directory.O" /EDITK SpecifiesthatVSCshouldstartaneditingsessionforyoutocreateatextfilewithcommentsabouttK the replacement."Thesecommentscangivereasonsfor rejectingthe replacementor descriptionswK7 ofpossible improvements.%Theeditorcreatesthefileinthe replacement'sstagingarea.%IfyoulK specifyneitherthe/INPUTnorthe/EDIT qualifierfortheREJECT REPLACEMENTcommand,IK VSCasksyouwhetheryouwanttoeditacommentfile.rKL UsetheSETEDITORcommandtospecifyyour preferrededitor.&Ifyouhavenot specifiedanIK editor,VSCdefaultstothesystemdefaulttexteditor.O /LOGOa /NOLOGvK Specifywhether informationallogmessagesareprintedafterthe replacementisacceptedorre-oK( jected.%/LOGcausessuchmessagestobeprintedand/NOLOG suppressesthem.&/LOGistheKu default.O /REMARK="string"yKi Specifiesaone-lineremarkstringtobe associatedwithyour acceptanceor rejectionofthere-lK placement.!Ifyouomitthis qualifierfromtheREJECT REPLACEMENTcommand,thecommanduK promptsyouforaremarkstring.$(A replacementcanthusbeacceptedwithoutgivingareason@KQ butcannotberejectedwithoutastatedcause.)O /USERNAME=usernamezKE Specifiesthatthe replacementshouldbeacceptedorrejectedonbehalfoftheuserwhoseOpenVMS(K usernameisgivenbythe usernameD parameter."YoumusthaveaVSC privilege (USERNAME)zK tousethis qualifier;itismeantforreleaseprojectleadersandotherswhomanagetheOpenVMSbK- libraries,andisintendedtobeusedonlyinspecialorunusual situations. OT 2=<@& ;O4.1B ReviewingModulesQueuedfor ReplacementDOUWhenyouqueuea replacementwiththeREPLACEcom-IOmand,youcanusethe /REVIEWER qualifiertothatcom-IOmandtospecifywhoshouldreviewyour replacement.*TheKO^sourcecontrolsystemmightassign additional reviewerstoEOyour replacementbecausesome developers automaticallyFOrevieweverychangetocertainmodulesor developmentMOhstreams.)VSCrecordsthereviewerlistinthedatabaseandOOsendsmailtoallthe reviewerstorequestthattheyreview9Oyour replacement.,TheSHOWREPLACEMENT/FULL@Orcommandwilldisplaythereviewerlistforyou.#! >MOOncea replacementhasbeenqueued,the reviewersforthatNO replacementareallowedtoreviewitandtovotetoacceptFO5orrejectit., Reviewingthe replacementmeansexamin-OOingthesourcechangesabouttobereplacedintothesourceSOcodelibraryto determineiftheyappearcorrectinstyle,sub-BO>stance,andappropriateness.&TheREVIEW REPLACEMENTGOcommandhelpsyoureviewthesourcechangesthatcom-OOprisea replacement.(Forexample,ifyouareareviewerforHOHthe replacementSMITH-1,youshouldenterthe following"Ocommandtoreviewit:O%VSC>& %REVIEW% REPLACEMENT%SMITH-1! aKOThiscommandplacesyouinaVSC subsystemthatpresents Othe VSC_REVIEW>40prompt.)This subsystemacceptsalim-MO5itedsetofcommandsthatallowyoutoexaminethesourceNOcodebeing replaced, differencesbetweenthenewsourcecodeUOandthepreviouscodeinthesourcecodelibrary,andtextfilesOO>writtenbythe replacement's submittororbyother reviewers.HOWhenyouaredone reviewingthe replacement,youenterLOtheEXITcommandorpressCtrl/ZtoreturntothenormalOHVSC>9Hprompt. tZ?OToperformits function,theREVIEW REPLACEMENT$Ocommandfirstcreatesa reviewlist"forthe specifiedre-LO5 placement.,TheelementsofthereviewlistconsistoftheO informationfile7createdbytheuserqueingthereplace-9Oment(ifsuchafilewas specified),the commentfilesOO>createdbyprevious reviewers(ifsuchfileswere specified),OOandthemodulesqueuedfor replacement.'ThereviewlistwillFOalsocontainalogfilefromthePERFORM REPLACEMENTFOHcommandifthatcommandwasusedbut encountereder-MOrorswhenittriedtoperformthe replacement.(Oneelement@Oofthereviewlistisalways designatedasthe currentele-OR mentH$R;thatistheelementwhosecontentsyoucandisplay.TO Initially,thefirstelementonthelististhecurrentelement,FObutvariouscommandsallowyoutochangethecurrentO[element. a>OThecommandsintheREVIEW REPLACEMENTsubsys-POtemletyoudisplaythereviewlist,navigatebackandforthQO5amongtheelementsofthelisttoselectthecurrentelement,NOanddisplaythecontentsofthecurrentelement.*TodisplayPOan informationorcommentfile,VSCsimplytypesthefileonLO>your terminal.)Todiplayamodulebeing reviewed,VSCcanOOshowthesourcebeing replaced,theoriginalsource currentlyMOinthelibrary,andthe differencesbetweenthesetwo.*VSCPOHalsoletsyouuseaneditortoexaminefilesifyouprefer.*=OTheREVIEW REPLACEMENTcommandacceptsseveralMO qualifiersthatletyoucontrolthe compositionofthere-O5viewlist.5Table4-19*5liststhese qualifiersand describestheirO functions.*c? rO SubsystemCommandsAOAsalready mentioned,theREVIEW REPLACEMENTsub-MO`systemacceptsaspecialsetofcommandsandkeepsprompt-JOingforsuchcommandsuntilyouentertheEXITcommand.OTable4-24liststheREVIEW REPLACEMENT subsystem5Oicommandsand describestheir functions.*Od?! {oCOThenormalwaytousetheREVIEW REPLACEMENTsub-NOsystemistostepfromone review-listelementtothenextHO<withtheNEXTcommand(ortheKP0keyonthenumericIOkeypad)andtothenexamineeachelementwiththeSHOWIOorEDITcommand.'Toexaminean information,comment,orJOElogfile,justusetheSHOWcommand.)Toexamineamod-NOule,youshould generallystartby examiningthe differencesLObetweenthenewandoldversionsofthemodule.'TheSHOWGOOorEDITcommandwithoutakeyword parameterwillcre-TOateanddisplaythe differencesfile.)IfthatdoesnotgiveyouJOenough information,usetheEDITNEWcommandtoseethePOYfulltextofthesourcemoduletobe replaced.*UsetheEDITKOOLDcommandifyouwanttoseetheoldsourcecodeforIO  comparison.(Whenyouaredone reviewingthe replacement,8ObentertheEXITcommandtoreturntotheXbVSC>Bbprompt. WJOTotraverseanddisplaythe review-listelementsslightlyNOfaster,youcanpresstheCOMMA( , )keyonthenumericFO5keypadtoperformtheNEXTandSHOWcommandswithaNOsingle keystroke.* Similarly,youcanpresstheMINUS( - )JOkeyonthenumerickeypadtoperformtheNEXTandEDIT/O>commandswithasingle keystroke. WQOThenewversion,oldversion,and differencesfileforamod-OOuleareallstoredinthequeued replacement'sstagingarea.QO5VSCfetchestheoldversionand generatesthe differencesfilePOthefirsttimeareviewerdisplays differences.(For subsequentSO reviewers,VSCusesthefilesthatalreadyexistinthestagingO>area. OExamplesMO4Inthe followingexample,JaneSmithhasqueuedareplace-BOment consistingoftwomodules,[FACIL]FOO.MARandEO[RMS]FUMBLE.B32.*Shehasalsosuppliedan informationRO>fileforthe replacement.)Ifyouwereareviewerforthisre-KO placement,youmightfirstenterthe followingcommandto*Odisplay informationaboutit:OtVSC>) tSHOW%REPLACEMENT/FULL%SMITH-5&OQueued% replacement%SMITH-5= Replacement%queued%by%user%SMITH%(Jane%Smith):K Replacement%queued%onK 4-OCT-1997% 16:55:02.06^ Replacement%staging& directory%is%/VSC$STAGEDISK:[VMS.STAGE.VDE$STG_1.VDE$REP_115]0 Replacement%review%status:%Rejected/# Replacement%is%for%stream&PHOENIX.kUnique% replacement%number&is&115( Reservations%in% replacement:B/ Reservation%1&of&[FACIL]FOO.MAR&for%stream%PHOENIXC/C Reservation%1&of&[RMS]FUMBLE.B32%for%stream&PHOENIX0 Replacement%contains%2& reservations& Reviewers%for& replacement:N/Not%reviewed%byKBROWN&(Bill&Brown)%onJ 4-OCT-1997% 17:08:03.08N/cRejected%by%user&JONES&(Jim%Jones)&onK 4-OCT-1997& 17:08:03.082Remark:&Bad%choice%of%variable%name5/Not%reviewed%byKSNURD& (Mortimer%Snurd)';Remark:&Fix% bad-status&bugOVSC>iKOYouwouldthenenterthe followingcommandtoreviewit:OVSC>& REVIEW% REPLACEMENT%SMITH-1OP VSC_REVIEW>MF #LOAtthe subsystemprompt,youmightwanttoseewhatmod-KOulesandfilesareinthe replacement'sreviewlist.0The7O5 DIRECTORYcommandperformsthis function:O VSC_REVIEW> DIRECTORYJOModules&and%files%being%reviewed%for% replacement%SMITH-1:;I Information%file&by&user%SMITH%(Jane%Smith)RComment&file%by%reviewer%JONES%(Jim%Jones)% rejecting& replacement Module%[FACIL]FOO.MAR!!Module%[RMS]FUMBLE.B32O VSC_REVIEW>h! >KOThereviewlistincludesSMITH's informationfile,acom-LOmentfilefromanotherreviewerJONES,andthetwosourcePO5modules.(The informationfileis initiallythecurrentelementVOsinceitisthefirstelementonthelist.,Todisplaythatfile,$OentertheSHOWcommand:Ok VSC_REVIEW>kSHOWTOPlease%perform%this& replacement&after& replacement&SNURD-2%has&run.QOBThis& replacement&depends%on%a%data&cell%defined%by%that&code.O VSC_REVIEW> MOThenextelementonthelistisacommentfilethatuserHOJONEScreatedwhenhevotedtorejectthe replacement.LO5Suchacommentfilenormallygivesthereasonforreject-POingthe replacement.'Toselectanddisplaythatcommentfile,FOentertheNEXTcommandfollowedbytheSHOWcommand:Ok VSC_REVIEW>kNEXTROComment&file%by%reviewer%JONES%(Jim%Jones)% rejecting& replacementO VSC_REVIEW>SHOWZOThe%code%looks%correct,%but%the&name%of%variable%USER_IS_A_JERK%shouldTObbe%changed&to& something%more& appropriate,%such&as&USER_ERROR_FLAG.O VSC_REVIEW> ! MOToseethe differencesforthefirstmoduleonthereviewAOlist(module FOO.MAR),enteranotherNEXTcommand0O5followedagainbyaSHOWcommand:O VSC_REVIEW>NEXT OIModule%[FACIL]FOO.MARO VSC_REVIEW>SHOWRO!%VDE-I-FETCHED,% generation%[FACIL]FOO.MAR;5(5)&fetched%from%library[Oi%VDE-I-OUTFILE,%output&file%is%.VSC$STAGEDISK:[VMS.STAGE.VDE$STG_1.VDE$REP_115!O.FACIL]FOO.MAR_VDE$OLD;OA ************NOFile&>VSC$STAGEDISK:[VMS.STAGE.VDE$STG_1.VDE$REP_115.FACIL]FOO.MAR;1 46$Init_Linked_List(LST_PTR); 47X&=%5;Oa******VOFile&FVSC$STAGEDISK:[VMS.STAGE.VDE$STG_1.VDE$REP_115.FACIL]FOO.MAR_VDE$OLD;1 46X&=%5;O9 ************5ONumber%of% difference%sections%found:%14ONumber%of% difference%records&found:%1gO DIFFERENCES%P/IGNORE=()/MERGED=1/OUTPUT=VSC$STAGEDISK:[VMS.STAGE.VDE$STG_1.VDE$REP_115.FACIL]OFOO.MAR_VDE$DIFF;1-I0?VSC$STAGEDISK:[VMS.STAGE.VDE$STG_1.VDE$REP_115.FACIL]FOO.MAR;1-PxFVSC$STAGEDISK:[VMS.STAGE.VDE$STG_1.VDE$REP_115.FACIL]FOO.MAR_VDE$OLD;1O  VSC_REVIEW>5   UOIfthe differencefilehadbeenlarge,itmighthavebeeneasierQOtodisplayitwiththeEDITcommand.(Also,toseetheactualKO5codetobe replaced,youcouldusetheEDITNEWcommandOatthispoint.! BOToexaminemodule FUMBLE.B32,yourepeattheNEXTJOandSHOW commands,asshowninthepreviousexample.'IfIO5youenteryetanotherNEXTcommand,VSCtellsyouthatOOtherearenomoremodulesonthereviewlist.)Youcanthen8OentertheEXITcommandtoreturntotheXVSC>Bprompt:Ok VSC_REVIEW>kEXITOVSC>t"JJOAtthispoint,youcanenternormalVSCcommandsagain.@ =B# ?O4.2B Acceptingor RejectingaQueued ReplacementLOUOnceyouhavereviewedthechangesthatmakeupaqueuedJO replacement,youshouldrecordwhetherthe replacementisQO acceptableornot.'Ifyoufindthe replacement acceptable,you)O^enterthe followingcommand:OVSC>8 ACCEPT% REPLACEMENT%SMITH-1&"Remark%string"2$! KOThiscommandrecords,inthesource-control database,thatOOyouhavereviewedthesourcechangesinthe specifiedqueuedIO5 replacement (SMITH-1)andhavefoundthemtobeaccept-OOable.) Optionally,youcanspecifyaremarkstring(usingtheFO/REMARK qualifieroraremark parameterasshown)orLO>acommentfile(usingthe/INPUT qualifier)toexplainorDOcommentonyourdecisiontoacceptthe replacement.,% POIfyoudecidethatthesourcechangesinthequeuedreplace-OOmentarenot acceptable,yourejectthe replacementwiththeO5 followingcommand:OVSC>8 REJECT% REPLACEMENT%SMITH-1&"Remark%string"2&! KOThiscommandrecords,inthesource-control database,thatOOyouhavereviewedthesourcechangesinthe specifiedqueuedFO5 replacement (SMITH-1)andhaverejectedthemforsomeIOreason.+Thiscommandrequiresyoutospecifyaone-lineKOremarkstringthat summarizeswhyyourejectthereplace-KO>ment.'Youcanspecifytheremarkstringwiththe/REMARKLO qualifierorwitharemark parameterasshown.*IfyoudoGOnotspecifyaremark,VSCpromptsyoufortheremarkMOHstring.+Youmustalwaysgiveareasonfor rejectingare-JO placementsotheownerofthe replacementlearnshowtoOmakeit acceptable.'MOIfyourreasonsfor rejectingthe replacementaretoolongMOtofitintheremarkstring,youshouldexplainyourrea-LO5sonsinacommentfile./YoucaneditthisfileaheadofLOtimeandspecifyitsfilenamewiththe/INPUT qualifier.JOAlternatively,youcanspecifythe/EDIT qualifier,whichNO>causesVSCtoinvokeaneditortocreatethecommentfile.DOTheownerofthe replacementcanreadyourcommentAOfilethroughtheREVIEW REPLACEMENT subsystem.+IfMOHyouspecifyneitherthe/INPUTnorthe/EDIT qualifierforadvicetothereleaseprojectleadertohelphimorherde-NOcidewhethertoperformthe replacementornot.(TheprojectKOleadercandecidefororagainstagiven replacementre-LOHgardlessofwhatthe reviewerssay.( Normally,however,thePOprojectleaderreliesonthe reviewerstocertifythequalityKOand correctnessofthe replacementandtakestheiradviceOR accordingly.*b NOTable4-3?liststhe qualifiersfortheACCEPT REPLACEMENT6 kPERFORM% REPLACEMENT%SMITH-1% /STREAM=BIRCH1 JOThiscommandperformsthequeued replacement specifiedbyGOthe replacementname parameter (SMITH-1).'Thisreplace-HO5mentmustbelongtostreamBIRCH.AllmodulesincludedMOinthe replacementarecopiedfromthesourcecontrolsys-JOtem'sstagingareatothe appropriateCMS libraries.+TheIO>newmodule generationsareinsertedintothe developmentKOstreamforwhichthe replacementwasqueuedandallsuc-HOcessorstreams reachablethroughchange propagation.)TheIOHqueued replacementandthe associatedmodule reservations2Oarethendeletedfromthe database.2! WBOThePERFORM REPLACEMENTcommandacceptsalistofHO replacementnames separatedbycommas,andyoucanuseO5theasterisk( 0@*Bb5)andpercentsign( % )wildcard charactersinHOthenames.'Thecommandperformsallqueued replacementsOOthatmatchthewildcardpatternsandbelongtothe specifiedO>streamorstreams.43  GOThe/STREAM qualifier specifiesthat replacementshouldOObe performedonlyiftheybelongtoa specifiedstream.)TheLO5streamnamecancontainwildcard characters,inwhichcaseJOVSCperformsall replacementsthatmatchboththespeci-JOfied replacementnamesandthe specifiedstreamname.*IfIO>youomitthe/STREAM qualifier,VSCperformsonlythoseKO specified replacementsthatbelongtoyourdefaultstream.4Nan informationalmessageforeach replacementthatmatchesNOthe specified replacementnamesbutisnot performedbecause:Oitdoesnotbelongtoa requestedstream.6 KOInsomeunusualcircumstances,youmightalsoseeames-QOsagethattellsyouthatamodule generationdidnotgettheJO5same generation expression(suchas5A1)asVSCexpectedIOwhenthemodulewas reserved.-Inthiscase,youshouldQOnotifythe developersinceheorshemighthaveusedtheex-NO>pected generation expressionasanaudittrail identifierinOcode comments.7MOVSCalsoincludesalllogmessagesinamailmessagethatLOitsendstothe developerwhoqueuedthe reservation.+TheKO5 developerwill thereforeseewhathappenedduringthere-LO placementandwillbeawareofanyerrorsthatarose.,IfHOerrors occurred,youshouldworkwiththe developertoIO>resolvetheerrorssothat replacementcanbe performedOagain.~8! TBOThePERFORM REPLACEMENTrequirestheVSC privilegeOPERFREP.9 OTable5-1@liststhe qualifiersforthePERFORM REPLACEMENT4Ocommandand describestheir functions.*9OF_?:N; $OExamplesDOThisisanexampleoftheoutputfromthePERFORMO` REPLACEMENTcommand:OVSC> SET%STREAM%PHONEIXO,VSC>' ,PERFORM% REPLACEMENT%SMITH-1\Ot%VDE-I-REPLACED,& generation%[FACIL]FOO.MAR;6(6)%replaced%into&stream%PHOENIX]O%VDE-I-REPLACED,& generation%[RMS]FUMBLE.B32;2(2)%replaced%into%stream%PHOENIX:O%VDE-I-REPPERF,% replacement%SMITH-1% performedMOL%VDE-I-COMMIT,%database% transaction%has% successfully& committedOVSC>NH4Jm ? GOTable5-3:7 QualifierstotheREMOVE GENERATIONcommand O OF /CONFIRMO /NOCONFIRMlK /CONFIRMasksyoutoconfirmthatyouwanteach generationremovedfromthe specifiedyK[ stream."This qualifieris particularlyusefulifyouusewildcard charactersinthemodulenames.iK /NOCONFIRMremoveseach generationwithoutaskingfor confirmation.$ /NOCONFIRMistheK default.Op /LOGO /NOLOGtK7 Specifywhether informationallogmessagesareprintedafterthe generationsareremoved."/LOGjK causessuchmessagestobeprintedand/NOLOG suppressesthem.!/LOGisthedefault.O /STREAM=stream-namexKx Specifiesthatthelatest generationsofthe specifiedmodulesshouldberemovedfromthestreamK givenbythe stream-nameT parameter.&Ifthis qualifierisomitted,VSCpromptsyoufortheK streamname. O9  ECG < %O5.2B Inserting GenerationsKOUInadditionto providing automaticchange propagation,theIOsourcecontrolsystemgivesyouamanualwaytoinsertFOachangealreadymadetoone developmentstreamintoN INSERT% GENERATION&[FACIL]MOD.TYP/STREAM=PHOENIX&P-BUILD%"remark"r= <HEOThisexampleinsertsthelatest generationofmodule?O[FACIL]MOD.TYPinstreamPHOENIXintostreamP-FOiBUILD.PHOENIXisthusthesourcestreamandP-BUILDKOisthe destinationstreamforthe generation.*ThecommandOOalsoinsertsthat generationintothe correspondingCMSclassNOrifthe destinationstream maintainsaCMSclass.'ThequotedQOremarkstringis optional;if specified,itshouldexplaintheEO#reasonfor insertingthe generationintothestream.%>LOYoucanspecifya generationnumberforthesourcestreamROifyouwanttoselecta generationotherthanthelatestone.GO5Zeroandnegative generationnumbersareallowed;theyJOspecify generationnumbersrelativetothelatestgenera-NOtionforthesourcestream.+Youcanalsousethe qualifierO> /GENERATION=>gen-expr0>toidentifythe generationbyits&OCMS generation expression.? MOIfyouomitboththe/STREAM qualifierandthe /GENERATIONBO qualifier,VSCpromptsyouforthesourcestream.P@ &QOTheinserted generation'spositioninthesourcestreamisnotMOaffectedbythiscommand.)Inthepreviousexample,these-MO5lected generationthuswindsupbeingthelatest generation;OforbothstreamPHOENIXandstreamP-BUILD.A OTable5-2>liststhe qualifiersfortheINSERT GENERATION4Ocommandand describestheir functions.*AOFb?BNJ4P_ ? GOTable5-4:7 QualifierstotheDELETE GENERATIONcommand O OF /CONFIRMO /NOCONFIRMuK /CONFIRMasksyoutoconfirmthatyouwanteach generationdeletedfromthe specifiedstream.pK[ This qualifieris particularlyusefulifyouusewildcard charactersinthemodulenames.iK /NOCONFIRMdeleteseach generationwithoutaskingfor confirmation.% /NOCONFIRMistheK default.Op /LOGO /NOLOGtK7 Specifywhether informationallogmessagesareprintedafterthe generationsaredeleted.#/LOGjK causessuchmessagestobeprintedand/NOLOG suppressesthem.!/LOGisthedefault.O /STREAM=stream-namexKx Specifiesthatthelatest generationsofthe specifiedmodulesshouldbedeletedfromthestreamK givenbythe stream-nameT parameter.&Ifthis qualifierisomitted,VSCpromptsyoufortheK streamname. O9  GEI&C! $O5.3BRemoving GenerationsJO( Sometimesitis necessarytoremovea generationfromaOOgiven developmentstreamsothatthemodulenolongerhasaNOlatest generationinthatstream.'Forexample, sometimesoneDO1needstoundoanINSERT GENERATIONcommanddirectedMOtothewrongstream.'Afteryouhaveremovedamodulegen-MOerationfromastream,themodulenolonger ``belongs''toPO;thatstreamandcannolongerbefetched, reserved,orbuilt=Oforthestream.+TheREMOVE GENERATIONcommandAOremovesa generationfromastream.&Forexample:OqVSC>7 qREMOVE% GENERATION&[FACIL]MOD.TYP/STREAM=FOOiD 3?EOThisexampleremovesthelatest generationofmoduleGOMOD.TYPinfacilityFACILfromstreamFOO. Afterwards,KOino generationofMOD.TYPisthelatest generationoftheMOmoduleforstreamFOO;themoduleisnolonger representedOinthatstream.E! lHOTheremoved generationremainsintheVDElibrary,andQOitcanstillbethelatest generationofthemoduleforsome@O5otherstream.(TheREMOVE GENERATIONcommandthusNObreaksthe associationbetweenthemodule generationandtheEO specifiedstreambutdoesnotdeletethe generation.F W@OTheREMOVE GENERATIONcommandacceptsalistofHOmodulenames separatedbycommas,andyoucanusetheO5asterisk( @*G5)andpercentsign( % )wildcard charactersintheLOmodulenames.(Thelatest generationsofthosemodulesthatLOmatchthewildcardpatternsareremovedfromthe specifiedO>stream.Gab=OKeepinmindthattheREMOVE GENERATIONcom-IOmandmaynotbethecommandyouactuallywanttouse.MO5Itisnotverycommonthatyouwantamoduletonotbe-POlongtoagivenstreamatall;itismuchmorecommonthatPOyouwantsomeother generationofthemoduletobethelat-KO>est generationforthestream.)BeforeyouusetheREMOVECO GENERATIONcommand,youshouldthusmakesurethat=OINSERT GENERATIONorDELETE GENERATIONisnot$OHthe appropriatecommand.H[>OTheREMOVE GENERATIONcommandrequirestheVSCO privilegePERFREP.I- OTable5-3>liststhe qualifiersfortheREMOVE GENERATION4Ocommandand describestheir functions.*IOF_?J IGK K $O5.4BDeleting GenerationsKO(Whenitis necessarytoundoachangetoamodule,youQOcandeletethelatest generationofthemoduleina specified?OstreamwiththeDELETE GENERATIONcommand.*ThisHO1commandrequirestheVSC privilegePERFREP.&Thefollow-DOingexampleshowshowtousetheDELETE GENERATIONOcommand:OgVSC>7 gDELETE% GENERATION&[FACIL]MOD.TYP/STREAM=FOO.L KOThisexampledeletesthemostrecent generationofmoduleGOMOD.TYPinfacilityFACILfromstreamFOO.Theprevi-LOious generationthenbecomesthelatest generationforthatFOstream.,Thecommandalsoinsertsthepreviousgenera-POtionintotheCMSclassthat correspondstothatstream.'TheMOrdeleted generationremainsintheCMSlibraryuntilithasCObeendeletedfromallstreamsthatitbelongsto.M BOTheDELETE GENERATIONcommandcanonlydeletetheQOlatest generationinastream;itcannotdelete generationsinLO5themiddleofastream's generationchain.*ThepurposeofPOthecommandisonlytoallowarecentbad replacementtobeLOundonewhenthatis necessary.'Usually,however, developersMO>shouldfixbad replacementsby reservingthemodule,fixing)Oit,and replacingitagain.NW@OTheDELETE GENERATIONcommandacceptsalistofHOmodulenames separatedbycommas,andyoucanusetheO5asterisk( @*B5)andpercentsign( % )wildcard charactersinKOthemodulenames.*Thelatest generationsofthosemodulesLOthatmatchthewildcardpatternsaredeletedfromtheVDEO>library.O OTable5-4>liststhe qualifiersfortheDELETE GENERATION4Ocommandand describestheir functions.*OOFa?PKILQ X5O5.5BMarkingModule GenerationsObsoleteJO(Whenamodulehasbecome obsolete,itcanbemarkedasOOsuchintheVSCdatabaseusingtheMODIFYGENERATION/OBSOLETEFOcommand.*Thiscommandwillpreventfurther propogationOO1ofthe specifiedmoduleintoany successorstreams.(Thefol-KOlowingsequenceshowsthecommands typicallyusedtomark.Oamodule generationas obsolete:OgVSC>3 gMODIFY% MODULE/NOLOG%[TAPE]DEVDRV.MAR%-O_VSC>-T /REMARK="Old&tape%device&driver"OVSC>1 MODIFY% GENERATION&[TAPE]DEVDRV.MAR%-O?_VSC>T?/NOLOG& /OBSOLETEXL KM3R!  =O5.6B SpecifyingReviewerand NotificationListsJOUVSCallowsyoutospecifythatcertain developersshouldNOrevieworbenotifiedofallchangestocertainstreamsorQOmodules.'Tospecifythatacertain developershouldreviewallKO^changesreplacedintoacertainstream,usethe /REVIEWERDO qualifierwiththeMODIFYSTREAMcommand.'Forexam-Ople:OVSC>8 MODIFY%STREAM%BIRCH%/REVIEWER=(SMITH,SNURD)S! IOThisexamplecausesVSCtorecordthat developersSMITHHOandSNURDshouldreviewallcodechangesreplacedintoLOistreamBIRCH.VSCappendsthese developerstothemodule'sGOexistingreviewerlist.) Thereafter,theREPLACEcommandIOsendsmail notificationtoSMITHandSNURDeachtimeaHOr developerreplacesmodulesintostreamBIRCH,andSMITHFOandSNURDare automaticallyrecordedas reviewersforNO#eachsuch replacement.)Theyarethusabletoacceptorre-CO|jectthese replacementswiththeACCEPTandREJECT?O REPLACEMENT commands.*Theuser replacingmodulesQO-intothestreamcanalsospecify additional reviewerswiththeGO /REVIEWER qualifiertotheREPLACEcommand,butheorIOshecannotomitthe automatic reviewersforthestream.THOToremove reviewersfromastream'sreviewerlist,youCOshouldusethe /NOREVIEWER qualifiertotheMODIFY)O5STREAMcommand.'Forexample:OVSC>2 MODIFY%STREAM%BIRCH%/NOREVIEWER=SNURD&UGOThisexampleremoves developerSNURDfromthereviewerGOlistforstreamBIRCH.Ifyouspecifythe /NOREVIEWERHO5 qualifierwithoutusername parameters,VSCremovesall&O reviewersforthestream.wV+MPOVSCalsoallowsyoutospecifythatcertain developersshouldEOreviewallchangestoagivenmodule.,The /REVIEWER?O5 qualifiertotheMODIFYMODULEcommandattaches0O reviewerstomodules.'Forexample:OVSC>; MODIFY%MODULE%[BAD]BADMAIN.B32%/REVIEWER=BROWN;W@OThisexamplecausesVSCtomake developerBROWNEOan automaticreviewerforall replacementsofmoduleGO5 BADMAIN.B32infacilityBAD, regardlessofstream.*TheEO /NOREVIEWER qualifierremoves reviewersforamodule.X! NOInadditionto specifying reviewersforstreamsandmodules,ROyoucanspecifythatcertain developersbenotifiedofallre-NO5 placementstoacertainstreamorofacertainmodule.)VSCOO automaticallynotifiessuch developersof replacementsfortheSOstreamormodule,butdoesnotaddthemtothereviewerlists.KO>Theycan thereforenotacceptorrejectthe replacements.LOThisexampleshowshowtoadduserBROWNtothelistofAOuserstonotifyofallchangestostreamBIRCH:OtVSC>. tMODIFY%STREAM%BIRCH% /NOTIFY=BROWN Y! IOEach parametertothe/NOTIFY qualifiercanspecifytheKOusernameofaOpenVMS developeralreadyrecordedintheEO5VSC database,anOpenVMSmailaddress containingoneGOormorenodenames(suchas NODE::SMITH),oralogi-TOcalnameboundtoalistofuserstonotify.+IfyouspecifyaQO>logicalname,keepinmindthatthelogicalnamemustbede-QOfinedbothwhenyouspecifyitandwhenitislaterusedtoOOsendthe notification messages.)ThelogicalshouldthusbeaOOHgrouporsystemlogicalname,oramail forwardingaliasin/OtheOpenVMS VMSMAIL.DATA database..ZLO Similarly,the followingexampleshowshowtospecifythatFOusersSMITHandSNURDbenotifiedofallchangesto#O5module[BAD]BADMAIN.B32:OVSC>A MODIFY%MODULE%[BAD]BADMAIN.B32%/NOTIFY=(SMITH,SNURD)[LOToremoveusersfromastream'sreviewerlist,youshouldAOusethe /NONOTIFY qualifiertotheMODIFYSTREAM!O5command.'Forexample:OVSC>0 MODIFY%STREAM%BIRCH%/NONOTIFY=BROWNy\ OHOThisexampleremoves developerBROWNfromthe notifica-KOtionlistforstreamBIRCH.Ifyouspecifythe /NONOTIFYKO5 qualifierwithout parameters,VSCdeletestheentirenoti-OOficationlist.,This qualifierisusedthesamewaywiththe"OMODIFYMODULEcommand.]}AOTheMODIFYSTREAMcommandrequirestheVSCpriv-users,astheyarethestreamsusedformanagingsourcecodeO development.` u)O5.7.1BCreatingBuildStreamsKO4Tocreateabuildstreamforthe developmentstreamthatKOyouprojectlead,youmustperformtwo operations:*CreatePOthebuildstreamintheVSCdatabaseandcreateaCMSclassQO=forthatbuildstream.(TocreatethebuildstreamintheVSCEO database,usetheCREATESTREAMcommand.)IfyouareNOtheprojectleaderforstreamBIRCH,forexample,youcouldEOGusethe followingcommandtocreateabuildstream:OVSC>( CREATE%STREAM% BIRCH_BUILD%-O_VSC>&T /PARENT=BIRCH% /CMS_CLASS&-O\_VSC>!T\/REMARK="Build%stream"aAOThisexamplecreatesbuildstream BIRCH_BUILDandMO specifiesthatitsparentisstreamBIRCH.ThismeansthatGO5stream BIRCH_BUILDwillbecreatedwiththesamemod-IOule generationsasstreamBIRCH currentlyhas.*OnceyouLOhavecreatedthenewstream,thetwostreamscandiverge;MO>thenext replacementintoBIRCH,forexample,willmakeit/O differentfromstream BIRCH_BUILD.bWAOTheCREATESTREAMcommanddoesnotcreateaCMSNOclassforthestream,butthe /CMS_CLASS qualifier specifiesOO5thataCMSclassforeachfacilityshouldbe maintainedforMOthenewstreamasthatstreamismodifiedwithfutureVSC?Ocommands(suchasINSERTorDELETE GENERATION).OO>HowyoucreatetheCMSclass initiallyis discussedshortly.c}IO Specificationofaremarkis required;!ifyouomittheIO/REMARK qualifier,VSCpromptsyouforaremarkstring. ^_UaNote ^_F Specificationofaremarkforthenewstreamisre-=>quired.,Digitalstrongly recommendstheremark<indicatethatthestreamisabuildstream.  d DOFortheOpenVMSVAXVDElibrary,theCREATESTREAMKOcommandtakesabout20minutes.'Youshouldrunthiscom-IO5mandafteryouhave performedall replacementsthatyouTOwantincludedinthebuildstream.'Itisbesttorunthiscom-ROmandat less-busytimesasitlockspartsoftheVSCdatabaseNO>andcan thereforepreventaccessbyotherusersforvariousO operations.e! POTocreateandpopulateaCMSclassineachfacilityfortheAOnewstream,youmustruntheSYSBLDCOM$:POPULATE_CO5 LIBRARIES.COMcommand procedure.'This proceduresub-POmitsaseparatebatchjobforeachOpenVMSfacilityinorderUOtopopulatethedesiredclassasfastas possible.'Thewholeop-QO>erationisstilltime-consuming;ittakesaboutfourhoursforIOtheOpenVMSVAXlibrary.'Torunthiscommand procedure,9Oenterthe followingcommandatDCLlevel: Ot$@t"@SYSBLDCOM$:POPULATE_LIBRARIES.COM% BIRCH_BUILD%BIRCHf! IOThiscommand procedureshouldberunafternormalwork-KOinghours.)Whileitruns,youcannotmodifystreamBIRCHLO5by replacingmodulesor inserting generationsintoit.+Youthroughchange propagation.+However,youcan(andpre-COferrablyshould)runtheCREATESTREAMcommandforPOthenewbuildstreamatthesametime.)Itis importantthatOOHtheVSCdatabaseisupdatedandtheCMSclassesarecreatedROatthesametimesothattheyare consistentwitheachother.ig ?IOIfyoualreadyhaveanexistingCMSclassyouwantto" CREATE%STREAM%MAPLE%-OZ_VSC>TZ /OWNER=SMITH&-O_VSC>!T /PARENT=BIRCH%/MAIN%-O_VSC>+T /CMS_CLASS%/REPLACEMENT=QUEUE%-O2_VSC>'T2/REMARK="New-feature%stream"*j?`Bk MOThiscommand specifiesthattheparentofthenewmainlineFOstreamMAPLEistheexistingstreamBIRCH.ThenewlyMO5createdMAPLEmainlinestream initiallyinheritsallcurrent8O generationsfromtheparentBIRCHstream.[l! 1IOTheuseofthe/OWNER qualifier specifiestheownerofPOthenewstream;thispersonis typicallythestream'sprojectSO5leader.(Ifyouusethis qualifier, developerscanlaterusetheEOSHOWSTREAMcommandto determinethestream'sowner.mrJOThe/MAIN qualifiercausesthenewstreamtobecometheOlastIstreamonthemainlineofdescent,anditcausesVSCGO5touse whole-numberCMS generation expressionsfortheGOstream.-/MAINalsocausesVSCtoupdateall successorCOstreamlinkstolinktothisnewmainlinestream.n$KOThe/PARENT qualifieris informationalinsomecases,butLOcanbecriticalduringcertainVSC operationssuchasCMSQO5facilityuploads.*Itshouldalwaysbe specified,anditshould8Oalwaysspecifythecorrectparentstream. _UNote _=The /[NO]MAINand/PARENT qualifiersarecen->traland necessarytotheCMS generationnum-CHber selectionprocessusedwithinVSC,andDigitalB recommandsthatthese qualifiersbe specifiedwithAcare.,In particular,the/MAIN qualifiercanandRshouldbeusedRonly'Ronmainlinestreams,while;/NOMAINshouldbe specifiedfor non-mainlineCstreams.' Incorrect specificationof /[NO]MAINand/orA[/PARENTcanandwillcauselongerCMS generationEnumbers,andhasbeenshowntocauseboth confusion? and consternationamong developers accustomedtoEethetypical (cardinal) progressionofCMS generations8thatoccursformodulesonthe mainline. oNKOJustasforbuildstreams,the /CMS_CLASS qualifierspec-POifiesthataCMSclassineachfacilityshouldbe maintainedO5forthestream.Ip! iIOThe /REPLACEMENT qualifier specifiesthatthenewstreamROrequiresall replacementsintothestreamtobequeued(asop-HO5posedto immediate) replacements.)Queued replacementsgoDOthroughtheVSCreview mechanismandgiveyoucon-HOtroloverwhen replacementsareactually performed.+TheMO>/REMARK qualifier specifiesaremarkstringforthestream;LOifyouomitthis qualifier,VSCpromptsyouforaremarkOstring. q_UtNote q_F Specificationofaremarkforthenewstreamisre-=Rquired.,Digitalstrongly recommendstheremarkFindicatethatthestreamisareleaseor new-featurestream. Mq OAs explainedinSection5.7.1,#mtheCREATESTREAMcom-KOmanddoesnotcreateandpopulatetheCMSclassfortheIO5stream.'Instead,youmustsubmittheSYSBLDCOM$:POPULATE_3O LIBRARIES.COMorSYSBLDCOM$:POP_REUSED_CO CLASS.COMcommand procedureatDCLleveltocreateMO>andpopulateaCMSclassforthestreamineach facility.OSection5.7.1? describeshowyouusethese procedures.)OneofOOthese proceduresshouldberunatthesametimeasyourunEOHtheCREATESTREAMcommand,andyoumustensurethatMOnoVSCcommandsthatupdatetheparentstreamrunatthatOtime.*qF?`*qOZ?`r _KOWhenyoucreateanew developmentstream,youoftenwantNOtospecifythatfuture replacementsintosome previouslyex-LO5istingstreamshouldbe propagatedtothenewstream.)ForHOexample,ifstreamMAPLEiscreatedfromstreamBIRCH,MOyoumaywantallfuturechangestoBIRCHtobe propagatedLO>toMAPLEsothatMAPLEwillcontainallfeaturesandbugKOfixesthatBIRCH contains.)Asalaterstream,MAPLEwillLO presumablyalsoreceivenewfeaturesthatareomittedfromKOHBIRCH.Tospecifythissortofstream successor relation-FOship,youusethe /SUCCESSOR qualifiertotheMODIFY2OSTREAMcommand.'Thisisanexample:O~VSC>1 ~MODIFY%STREAM%BIRCH%/SUCCESSOR=MAPLEsWIOThiscommand specifiesthatstreamMAPLEisa successorPOtostreamBIRCH.Asaresult,allcodechangesreplacedintoIO5BIRCHwill automaticallybe propagatedtoMAPLEifpos-OOsible.+If automaticchange propagationisnotpossibleforaMOgivenmodule replacement,VSCwillcreateafoldrecordinO>its database.GtLOYoucanspecifymultiple successorsforagivenstreamifQOthatisthebehavioryouwant.)Todoso,specifya parenthe-JO5sizedlistofstreamnames separatedbycommaswiththeHO /SUCCESSOR qualifier.*Alternatively,specifyeachsucces-BOsorstreamwithaseparateMODIFYSTREAMcommand.GO>Tocancel successorrelationships,usethe /NOSUCCESSORBO qualifiertotheMODIFYSTREAMcommand.)(TheHELP#Otexthasthe details.)uZNOToconfirmthatyouhave establishedthe successor relation-KOships correctly,usethe /SUCCESSOR qualifiertotheSHOWDO5STREAMcommand.'Thisexample illustratesitsoutput:OVSC>/ SHOW%STREAM/SUCCESSOR%BIRCH,%MAPLEOStream%BIRCHI Successor%chains:/BIRCH%->%MAPLEO!Stream%MAPLEi Successor%chains:!/MAPLE%(no% successors)OAVSC>nv DHOThisoutputshowsthatstreamMAPLEisa successortoJOstreamBIRCHandthatstreamMAPLEdoesnotitselfhaveMO5any successors.*Becausethisisthedesired successorrela-LO tionship,VSCwillperformchange propagation correctlyforOthesestreams.cw! 9MOWhenyoucreateanewreleasestream,youshouldalsode-JOterminewhetheryouwantcertain developerstorevieworOO5benotifiedofall replacementsintothestream.)Inparticu-ROlar,youprobablywanttobenotifiedofallsuch replacementsNO yourself.*Tospecifythe reviewersand developerstonotify,HO>usethe /REVIEWERand/NOTIFY qualifierstotheCREATE.OSTREAMorMODIFYSTREAMcommand.Section5.6'O describesthese qualifiers.*wZ?R7x +O5.7.3BExampleStream CreationsEO4The followingcodeexampleshowshowanOpenVMSde-KO velopmentstreamiscreatedand populated.)Theexampleis"OtypicalofanOpenVMSmainline developmentstream.yZ5OThestepsoutlinedbelowcreateanewmainlinestreamintEOtheOpenVMS database,andamatchingmainlinestreamLO5intheOpenVMStest database.*It temporarilydisablespro-KOpogationfromtheparentstream,as populatingthestreamLOcanrequiresometime.*Itthen populatesthenewmainlineNO>streams,disables propogationintothenew mainlinestopre-NOvent unintentional overwriting,andfinallyresetstheproper:O propogation attributeontheparentstream.rz PHHOThese operationsshouldbe performedonlywhentheVSCROdatabaseis quiescent,asone typicallywishesall modificationsPO5totheparentdatabasetobe propogatedintothenewstream.O$&VDEOSet%Library%VMS$OICreate%Stream&-(/CMS_CLASS/NOINIT_CMS_CLASS&- /noGENERATION%-!/DEFER&->i/MAIN%-J!%warning:%alters% generation% selection /Populate&-/Frozen%-8A+/Conference=YELLOW$NOTES:DRAGON-YELLOW.NOTE%- /PARENT=CORAL%- /NoSuccessor&-/REPLACEMENT=QUEUE&-0a/REMARK="Post-CORAL%release&stream"-DRAGON#OModify%Stream&DRAGON%-&9/Reviewer=(projectleader)%-.!/NOTIFY=(projectleader,DRAGONbld)&-DRAGON+OModify%Stream&CORAL/NoSuccessor4OXPopulate%Stream%DRAGON/From_Stream=CORAL+OModify%Stream&DRAGON/NoPopulate0OModify%Stream&CORAL/Successor=DRAGONO0Exit Ox$!O$&VDE O Set%Library%VMSTEST$6OP Create%!Stream/CMS_CLASS/NOINIT_CMS_CLASS&-  /noGENERATION%- /DEFER&->( /MAIN%-%!&warning:&alters% generation& selectionp  /Populate&- /Frozen%-9 ,/conference=YELLOW$NOTES:VMSTEST-YELLOW.NOTE%-H  /PARENT=CORAL%-  /noSuccessor&- /REPLACEMENT=QUEUE&-0 /REMARK="Post-CORAL%release&stream"-h DRAGON O $!#O Modify%Stream&DRAGON%-1? $/reviewer=(projectleader,testleader)&-6 ,/NOTIFY=(projectleader,testleader,DRAGONbld)+O Modify%Stream&CORAL/NoSuccessor4OPopulate%Stream%DRAGON/From_Stream=CORAL+O_Modify%Stream&DRAGON/NoPopulate0OModify%Stream&CORAL/Successor=DRAGONOExitO7$&EXITv{LLOTheaboveexamplecreatesamainlinestream,whicheffectsNMPg|w=3O5.8B Tailoring ProcessingWithScriptsKOUAsaprojectleader,youcantailorhowVSCorVDEre-OOspondstocertain situationsusingscriptfiles.-ScriptfilesJOallowanumberofcommon operationstobe customizedto&O^ site-specific requirements.}NOTable5-5Gcontainsalistofthe availablescripttypes,andaLObrief descriptionofeach.*ScriptcreationusestheCREATECO5SCRIPTcommand,andrequirestheCRESCRP privilege.*}OFc?~Su>K M1M Automatic conversionwasthedefaultforall librariescre-K5atedpriortoVDEV1.3.+IfyoususpectyourlibrarywasJcreatedonaversionofVDEearlierthanV1.3,usethe5MODIFYLIBRARY/NOAUTO_CONVERTcommandto)>disable automatic conversion.UtJ5OTable6-1:7DeltaFileDisk Directories O #OF Libraryroot directory:3F DEV$:[ROOTDIR]>O Delta-fileroot directory:DEV$:[ROOTDIR.VDE$CMS]DO: DirectoryforfacilityFOO:DEV$:[ROOTDIR.VDE$CMS.FOO]DO DirectoryforfacilityBAR:DEV$:[ROOTDIR.VDE$CMS.BAR] O 1V 7OTable6-2:7StagingAreaDisk Directories O #OF Libraryroot directory:b DEV$:[ROOTDIR])O: Stagingarearoot directory:"b DEV$:[ROOTDIR.VDE$STAGE],O- Directoryfor100 replacements:-b #DEV$:[ROOTDIR.VDE$STAGE.VDE$STG_12]+O! Directoryforone replacement::b 0DEV$:[ROOTDIR.VDE$STAGE.VDE$STG_12.VDE$REP_1261]4O Commentfilefor replacementID1261:Ib ?DEV$:[ROOTDIR.VDE$STAGE.VDE$STG_12.VDE$REP_1261]DOE.VDE$COMMENT+O DirectoryforfacilityFACNAM:Ab 7DEV$:[ROOTDIR.VDE$STAGE.VDE$STG_12.VDE$REP_1261.FACNAM]-O Fileformodulebeing replaced:Hbu >DEV$:[ROOTDIR.VDE$STAGE.VDE$STG_12.VDE$REP_1261.FACNAM]MOD.TYP O $W  0OTable6-3:7StreamDisk Directories O #OF Libraryroot directory:3F DEV$:[ROOTDIR]=O StreamV1.5root directory:DEV$:[ROOTDIR.V1_5](O: FacilityFACNAMrootdirec-O tory:$3: DEV$:[ROOTDIR.V1_5.FACNAM]DO Source-file subdirectory:DEV$:[ROOTDIR.V1_5.FACNAM.SRC]DO{ Object-file subdirectory:DEV$:[ROOTDIR.V1_5.FACNAM.OBJ]GO VDEbuild subdirectory:"DEV$:[ROOTDIR.V1_5.FACNAM.VDE$COM])On VDEbuildlog-file subdirec-O tory:,3n "DEV$:[ROOTDIR.V1_5.FACNAM.VDE$LOG]IO6 Sourcefile MUMBLE.C:&DEV$:[ROOTDIR.V1_5.FACNAM.SRC]MUMBLE.CMO Objectfile MUMBLE.OBJ:(DEV$:[ROOTDIR.V1_5.FACNAM.SRC]MUMBLE.OBJ O #XTY <.O6.4BAddingUserstotheLibraryQOUBeforeusersotherthanyourself(thelibrarycreator)canuseMOthenewVDElibraryyouhavecreated,thoseusersmustbeMOaddedtothe library's database.+Thiswas describedbriefly O^in^Section6.2.3.;^Whenauserisaddedtothe database,VDEQOcreatesaUserTableentryfortheuserintheVDE database.JOWhenthatuser subsequentlytriestoaccesstheVDEli-NOhbrarythroughtheVDEutility,VDEchecksthattheuserisPOrecordedinthe database.)Providedthisisthecase,VDEre-MOtrievestheuser'sVDE privilegesandother attributesfromQOrtheUserTableentryandusesthose attributestocontroltheQOrestoftheVDEsession.)VDEdeniesaccesstothelibrarytoP sCREATE%USER&SMITH& /NAME="Jane&Smith"%/REMARK="Project&leader"%-O_VDE>D47/AUTH_PRIVILEGES=(CREFAC,CREMOD,CRESTRM,RESREP,PERFREP)%-O_VDE>14'/DEF_PRIVILEGES=(CREMOD,RESREP,PERFREP) HOAfterthiscommandhas completed,JaneSmithcanstartOOVDEsessionsusingtheVDElibrary.)Bydefault,shehastheOO5 privileges necessarytocreatenewsourcemodules,toreserveHOandreplacemodules,andtoperformqueued replacementsOOforherselfandother developers.+In addition,sheisautho-QO>rizedtosetthe privileges necessarytocreatenew facilities$Oand developmentstreams.<EOUsingtheCREATEUSERcommandisthemost practicalSOwaytoadduserstoaVDElibraryifthelibraryhasasmallNO5numberofusersorifyouwanttoexercisecarefulcontrol,Ooverwhoaccessesthelibrary.! /O6.4.2B AutomaticAdditionofUsersEO4Ifyouspecifythe/AUTO_ADD_USER qualifierwiththe=OCREATELIBRARYorMODIFYLIBRARYcommand,VDEOOwill automaticallyaddnewuserstothelibrarydatabasetheMO=firsttimeeachsuchuserusesVDEtoaccessthelibrary.OOIfthis qualifierisusedwithouta parameter,anyuserwhoNOattemptstoaccesstheVDElibrarythroughVDEis automati-QOGcallyaddedtothe database.'EachsuchusergetsthestandardMOdefaultand authorizedVDE privilegesforthatlibrary.)TheIOOpenVMSusernameis retrievedfromthe operatingsystem.UOQThefullnameoftheuseristakenfromtheownerfieldoftheLOuser'srecordinthesystemUser AuthorizationFile(UAF).LOOther attributes,suchastheremarkstring,arenotset.! HOThe/AUTO_ADD_USER qualifiercanalsobe specifiedwithHOaOpenVMSrights identifier parameter,asin /AUTO_ADD_O5USER=_5 rights-id=5.+Inthiscase,VDEstoresthegivenrightsOO identifierinthe database.' Subsequently,VDEaddsonlythoseKOuserstothedatabasewhoholdthestoredrightsidenti-PO>fier.)TheusersareaddedwhentheyfirstaccessthelibraryIOthroughVDE,justasfortheplain/AUTO_ADD_USERqual-MOifier.-ThiswayofaddingusersisusefulwhenyouuseaPOHOpenVMSrights identifiertoprotectthefilesand directoriesOOofyourproject.)BecausetheintendedusersofyourVDEli-QObrarymustholdtherights identifieranyway,youcanusetheOORrights identifierasyour mechanismtocontrolaccesstotheOlibrary. %JOIfyouuse automaticadditionofuserstoyourVDEli-IObrary,youshould periodicallyruntheprogram VDE/READ_FO5UAF.Thisprogramreadsthesystemuser authorizationFOfile(SYSUAF)ofyourOpenVMSsystemandupdatestheHOUserTableinyourVDEdatabasetobe consistentwithFO>theSYSUAF.Itupdateseachuser'sfullnameintheGOVDEdatabasetomatchtheownerfieldintheSYSUAF.EO VDE/READ_UAFalsomarksusersasdeletedintheVDEGOHdatabaseiftheynolongerhaveaccountsintheUAF.GO VDE/READ_UAFthusallowsyoutomaintainyourdatabaseIOUserTablebyhavingit automaticallytracktheSYSUAF,DORwhichyoursystemmanagermustmaintainanyway.*AndAOwith /WRITE_UAF,thecommandcanupdatethepro-JOcessquotasofOpenVMSusersintheSystem AuthorizationAO[Database (SYSUAF).The VDE/READ_UAFcommandshouldIObeincludedinacommand procedurethatruns regularly,4O perhapseverynightoreveryweekend. }xFOTorun VDE/READ_UAF,youmustspecifythetargetVDEIOviathe/LIBRARY qualifierorviathe VDE$LIBRARYlogi-KO5calname.)YoumustalsohavereadaccesstotheOpenVMSHOsystem authorization database,orreadandwriteaccess:Owhenthe /WRITE_UAF qualifieris specified. InstallationofGO>the VDE/READ_UAFimagewithenhanced privilegesisnotO recommended.7{Youcanexecutetheprogramasfollows: O$'SET%PROCESS/PRIVILEGE=BYPASS Od$1d'VDE/READ_UAF/WRITE_UAF/LIBRARY=lib-name4!  QO Automaticadditionofusersisthemost practicalapproachforMOVDE librarieswithalargenumberof potentialusers.)EvenTO5ifyou automaticallyaddusers,youcanofcoursestillusetheDOCREATEUSERcommandtoaddusers.)ThismakessenseSOifyouwanttoaddauserwhodoesnotholdtherightsiden-MO>tifierrequiredtobeadded automaticallyorwhoshouldbeMOaddedwitha differentsetof privilegesthanthestandardSO privilegesforthelibrary.'In addition,youcanalwaysusetheCOHMODIFYLIBRARYcommandtochangethe privilegesorQOother attributesofanyuseralreadyrecordedinthe database.WCOThe VDE/READ_UAFcommand,withthe specificationofCOthe /WRITE_UAF qualifierandwith read-writeaccessIO5totheSystem Authorization Database,canupdateprocessJOquotasofVDEusersintheSystem AuthorizationDatabaseIO (SYSUAF).Thiscommandis particularlyusefulwhenusersGO>are reporting quota-relatedmessageswheninvokingVDE. Y XZsnI O6.5BCreatingStreams)OUSectionunderconstruction...C+DOTocreateastream,usetheCREATESTREAMcommand.NOYounormallyneedtoselectaparentstreamfortheopera-OO5tion,andyouneedtoconsiderthestream propogationorder.OVDE>* CREATE%STREAM%V2.0/PARENT=V1.0S! )QOInadditiontochoosingtheparentstream,youneedtochoosePOwhetherornotthenewstreamisadirect descendentoftheMO5parentstream (/MAINLINE),orifitisavariantandwillFOdiverge(/NOMAINLINE). (MainlinestreamswillkeeptheKOsame generationidentificationvaluesastheparent,whileLO>variantstreamsselectlonger generationidentificationval-POues.)Themainlineofdescentisoftenaninteger generationNOnumber,whilevariantstendtoinclude increasingnumbersofROHlettersintheidentificationvalue.(Therearenootherdiffer-OOences.(Oncethestreamhasbeencreated,thissettingcannotObeeasily changed.) NHOOther qualifiersofinterestduringstreamcreationin-=Oclude /CONFERENCE,/[NO]INIT_CMS_CLASS,/NOTIFY,*O5/[NO]GENERATIONS,and/REVIEW.WzIOOncecreated,streamscanbe repopulatedviaaPOPULATE@OSTREAMcommand.0Onceastreamis populated, ei->O5therviatheinitialCREATE STREAMcommandor9OviathePOPULATESTREAMcommand,aMODIFY=OSTREAM/NOPOPULATEcommandshouldbeissued,to=O>prevent accidental repopulationofthestream.{MQ(O6.5.1BStream DirectoryTree)O4Sectionunderconstruction...nDDOStreams typicallyhavean associated directorytree. M]4O6.5.2BScriptstoPopulateNewStreams)O4Sectionunderconstruction... ! eNOTocancelamodule reservationwithout replacingthemodule,Ousethe... MZ1O6.5.3BStream Successor Relationships)O4Sectionunderconstruction... ! `NOTocancelamodule reservationwithout replacingthemodule,Ousethe;ZY[v nL#O6.6BCreating Facilities)OUSectionunderconstruction...E KOTocancelamodule reservationwithout replacingthemod-FOule,usethe UNRESERVEcommand.'The followingexample O5 illustratesitsuse:OVDE>% CREATE%FACILITY%FACNAM%-O_VDE>(/ /REMARK="The%fumble&utility"f <GOThiscommandcancelsthe reservationofmoduleMOD.TYPGOinfacilityFACIL.The/STREAM qualifier specifiestheOO5streamforwhichthe reservationwasmade.(IfyouomitthisNO qualifier,yourdefaultstreamisassumed.)IfyouhavemorePOthanone reservationofthemoduleforthatstream,youmustKO>specifyits reservation identifierwiththe/IDENTIFICATIONJO qualifier.)Thecommandcancancelbothqueued reservation,Orequestsandreal reservations.M#[ Z\n^5O6.7B PopulatingaFacilitywithModules)OUSectionunderconstruction...]! 3OOTherearevariouswaystoloadmodulesintoaVDE database.OOOnecanuploadmodulesintoafacilityfromanexistingCMSPO5library,an operationthatnormallyonlyoccursduringlibraryMO creation,andonecanalsouploada directory containingaMOnumberofmodulesintoafacilityinaVDEdatabaseusing6O>theCREATEMODULE/FROM_DIRECTORYcommand.NOAndonecanupload individualmodulesintoafacilityusing'OtheCREATEMODULEcommand.JOAnewVDEdatabasecanbecreatedandloadedusingthe"O procedure describedinSection6.7.3.*? =O6.7.1BGettingSourceModulesfroma Directory;O4OnecanusetheCREATEMODULE/FROM_DIRECTORYEOcommandforthistask..ThiscommandwillcreateonePOmoduleinthefacilityforeveryfilefoundinthe specifiedEO= directory.'When/FROM_DIRECTORYis specified,nomod-FOulename parameteris specifiedontheCREATEMODULEOcommand.OsVDE>5 sCREATE%#MODULE/FROM_DIRECTORY=DEV$:[NEWFAC] "@O6.7.2BGettingSourceModulesfromaCMSLibraryQO4Thissectionincludesacodeexamplethatshowsthestepsin-IOvolvedinthe conversionfromamajor CMS-basedprojectKOintoaprojectbasedonaVDE database.-Theprojectin-JO=volvesthe importationofmultipleCMS librariesfortheJOvarioussoftware units-whatVDEcallsfacilities-intoVDE.QOEachfacilityis organizedinaCMSlibrarylocatedunderthe@OGproject-specificroot directoryDISK$EVMSCMS:[VMS]. _UNote _CQDuringthe executionoftheattachedexamplecode, QnoGchangestotheformatoftheCMS librariesaremade.  x_U{Note x_9Before performingtheCREATEFACILITY/FROM_<Y CMS_LIBRARYcommand,onemustcreateallVDE@ streams-thosestreamswiththesamenameastheA CMSclassestobeuploadedfromtheCMSlibraryGbintotheVDE database,andonemustalsospecifythe7/MAINor/NOMAIN,/PARENTand /SUCCESSORHvalues correctly.(Ifthese operationsarenot correctly"lcreatedand configured,lbeforelissuingtheCREATE2FACILITY/FROM_CMS_LIBRARYcommand,CMSB  generation selection,andthevariantandmainline8v streamswillnotbe correctly configured. OH $&set%noon O $GO $!%These%logicals%will&need%to%be% (re)defined%in%theAO $!% site-specific&system%startup&command% procedure. Oh $SO $&Define/System/Executive/Nolog&VMS$%!DISK$EVMSCMS:[VMS.]/Trans=ConcealEO $&Define/System/Executive/Nolog& VSC$DATADISK% $10$DKB400:EO@ $&Define/System/Executive/Nolog& VSC$ROOTDISK% $10$DKB400:EO $&Define/System/Executive/Nolog& VSC$SNAPDISK% $10$DKB400:DO $&Define/System/Executive/Nolog& VSC$JNLDISK& $10$DKB400: O $RO` $&Define/System/Executive/Nolog& VSC$DBDATA%VSC$DATADISK:[evms.dbdata]RO $&Define/System/Executive/Nolog& VSC$DBROOT%VSC$ROOTDISK:[evms.dbroot]RO $&Define/System/Executive/Nolog& VSC$DBSNAP%VSC$SNAPDISK:[evms.dbsnap]OO7$&Define/System/Executive/Nolog& VSC$DBJNLJVSC$JNLDISK:[evms.dbjnl] O$)O$&Create/Directory% VSC$DBDATA)O$&Create/Directory% VSC$DBROOT)OW$&Create/Directory% VSC$DBSNAP(O$&Create/Directory% VSC$DBJNL O$O/$&VDE/Owcreate%librar& VSC$DBROOT%/DEFER&-8t /NAME=EVMS% /REMARK="EVMS&Source%Library"%-Cz/NOAUTO_CONVERT%/AUTO_ADD_USER=VMS_SOURCE& /AUTO_MAIL%-MODIFY%FACILITY%#CODE/NAME=AAA_VDE_TEST/REMARK="Test%facility%for&VDE% developers",OCREATE%DIRECTORY_TREE/DELTA_FILES O!%OSHOW&DIRECTORY/DELTA_FILES O^!WO!&Set%to%the% AAA_VDE_TEST&facility&for%use%by%database% administion,?O!&and%populate%it%with&a%test%module%or%two. O6!%O~SET%FACILITY% AAA_VDE_TESTZOCREATE%MODULE/NODELETE/REMARK="VDE&test%module"% LOGIN.COM%/INPUT=SYS$LOGIN:dOCREATE%MODULE/NODELETE/REMARK="VDE&test%module"%SYSTARTUP_VMS.COM%/INPUT=SYS$STARTUP: OV!9OSET%DIRECTORY/STAGING%disk$common:[vms.stage](OCREATE%DIRECTORY_TREE/STAGING O.!^Ov!&Rename%stream%MAIN%to%be% MAINLINE.KWe&will%use&this%stream&for%a&few^O!&selected&modules%that%should%always&stay%on%the&main% development%thread8O!&outside%the&normal% development%streams. OM!^OMODIFY%STREAM&#MAIN/NAME=MAINLINE/REMARK="Mainline&thread%for%selected%modules"%OSHOW& STREAM/FULL&MAINLINE:O%SET%DIRECTORY/STREAM%disk$common:[VMSMAINLINE]'OmCREATE%DIRECTORY_TREE/STREAM O!XO!&Create%the%V6.1%parent%stream&to&all%others%streams.K SpecificationZOE!&of&/MAIN&or&/NOMAIN,&and%/PARENT&and% /SUCCESSOR&are%key%factors%inUO!&the%CMS% generation% selection%and&the% propogation% processing.JAllWO!&streams%must%be%created&prior&to& specification%of%CREATE&FACILITYKO!&/FROM_CMS_LIBRARY.JSee&the% reference%manual&for%details. Oe!OSET%STREAM&MAINLINEZOCREATE%STREAM/CLOSED/MAIN&#V6.1/PARENT=MAINLINE/REMARK="create&release%class"VO=CREATE%STREAM/CLOSED/MAIN&V6.2/PARENT=V6.1/REMARK="create%release%class"VOCREATE%STREAM/CLOSED/MAIN&V6.3/PARENT=V6.2/REMARK="create%release%class" O!%OSHOW&DIRECTORY/DELTA_FILES O]!OExitO$&SHOW%TIMEO4 $&VDE7O| create%facility%ACAS/FROM_CMS/REMARK="ACAS"A CREATE%MODULE/NODELETE/REMARK="user&login&module"%-O_VDE>& LOGIN.COM&/INPUT=SYS$LOGIN: NKOForfurther informationontheabovecommandandforthe>O availablecommandoptions,pleaserefertotheVDE ReferenceO5Manual o5.\[]f <.O 7.2Library! Maintenance" OperationsJOThischapterexplainshowhowtoperformvariousmainte-IOnance operations.*These operationsincludeclearingdead-MOBlocks, performingthesourcecodedatabasebackups,creatingKOand maintainingthe associatedbackup procedures, restoringLOthedatabaseafterafailure,and recoveringlostinforma-ROLtionintheCMS librariesonaVDElibrary.'AlsoincludedareMOthe proceduresinvolvedinperiodiccleanupsofthestagingKOarea directories,andoneapproachtowardstoragerecoveryHOUwithinVDE libraries.+Someofthesecommandsandoper-HOationswillrequireyoutohavetheOpenVMSSETPRVorOSYSPRV privileges. NLO Operations describedinthischapterarenormally performedOOonlybythe maintainersoftheOpenVMSVDE libraries,orby@O5thoseusers maintainingtheirownVDE libraries. eJOThecommand procedures describedinthischapterarelo-EOcatedin directoryMASD$JNL:[VMS.TOOL]onthejournalJO5diskfortheOpenVMSVDE libraries.)Becausetheseproce-SOduresmaybeneededincaseofjournaldisk failures,theyare9Oalsostoredinthe directory VMS$:[TOOLS].]\^6 0O7.1BCreatingSCTNotes ConferencesJOUForthe automatic submissionoftheSCTnotetooperateJO properly,theSCTnotes conferencemusthavethecorrectGO protections.*The followingshowsthecommands necessaryMO^toenablethesecurity necessaryforthetypicalSCTnotesO conference: O<$&set%security/acl=-:O_$%,((IDENTIFIER=VMS_SOURCE_READ,ACCESS=R+W+E),-6O_$J%(IDENTIFIER=VMS_SOURCE,ACCESS=R+W+E))%-&O_$%NOTES$LIBRARY:SCT-*.NOTE O\$&set%security/acl=->O_$%0((IDENTIFIER=[DECNET,NOTES$SERVER],ACCESS=R+W),-2O_$J!(IDENTIFIER=NETWORK,ACCESS=NONE))&-3O3_$%"/PROTECTION=(S:RWED,O:RWED,G:RE,W)&-&O{_$%NOTES$LIBRARY:SCT-*.NOTE! POTheabovesecurity attributesandresource identifierscanandAOshouldbeadjustedfor site-specific requirements. ROFailureto correctlysetupthesecurity attributescanprevent3OthecreationofSCTentriesbyVDE.^]_ #O7.2BTakingVDEOfflineBOU Dependingon requirements,onecanusetheMODIFYBO LIBRARY/LOCKcommandtomarka particularVDEli-OObraryas read-onlytoallbut privilegedVDEusers,andoneJO^candefinethelogicalname VDE$OFFLINEtotaketheVDE+O environment completelyoffline.4O<$&Define/System/Executive& VDE$OFFLINE&-4O_$%"Down%for% maintenance%until%23:00" ZKOUserswith privilegeswithinVDEcanoverridethelibraryMOlockout;amessage indicatingthatalibrarylockisbeingOO5 overriddenis displayedinthis situation.)Forfurtherinfor-:Omationonthis particularcommand,seetheVDE ReferenceOManualmanual.!! IOShortof deassigningthe VDE$OFFLINElogicalname,thereIOisnowaytooverridethe VDE$OFFLINE lockout-theVDE$_IO5OFFLINEmessageandthe translationofthelogicalnameOOwillbe displayedtoallusers.,Oncethis privilegedlogicalMOnamehasbeendefined,userscannotinvoketheVDEimages,PO>andusersalready executingVDEwillbeunabletoinvokeanyOnewVDE commands.u"KLONotethatitcanbe difficulttodebugcertainVDEprob-IOlemswhenthe VDE$OFFLINElockoutisinplace,asevenHO5theVDE maintainerscannotinvoketheVDEimages.)ThisLOlockoutisbestsuitedforthe protectionofRdbandCMS"O maintenance operations.A_(^`J#w ,O7.3B ResolvingDatabaseProblemsHOUVariousthingshavebeenseentogowrongwithinVDE,GOorwithinRdb..Failuresinclude deadlocks,andvariousKORdbproblemsthatresultin process-leveland system-levelO^bugcheckdumps.$ IOVDEhas occasionallybeenknowntodeadlockattheRdbQOlevel.)Thisdeadlock conditionisusuallyheraldedbyaseriesMO5of``VDEiswedged'' complaintsfromvarious vociferousVDEOusers. _UNote _EBefore attemptingtocleara ``stuck''VDE database,Jfirst determineifthereisavalidreasonforsluggish=Hdatabaseaccess.+VDEorRdbcommandsexecutedCbyanotherdatabaseuser.*ProjectleadersusesomeBcommandsandperformsome operationsthatcanpo-ER tentiallybequitetime-consuming,whileRdbdatabase@backupsare notoriousfor clobbering performance.CAnyofthesecanleadto intervalswheretheVDED[database processingis extremelysluggishorvarious%commandsarelockedout. @%|)O7.3.1BUserProcess DeadlocksJO4 Process-level deadlocksoccur infrequently,andtheyoftenJOinvolve high-traffic applicationssuchasdatabasebackupsDOortheyinvolveaVDEcommandthatwaspausedvia  TXOFF T MO=command,andtheycanusuallybeeasilyandsafelycleared)Ousingthe followingcommand: O$.$RMU/CLOSE/CLUSTER/ABORT=DELPRC/WAIT- Oc_$$cVDE$:[ROOTDIR]VDE$DATABASE0&FOTheaboveRMUcommanddeletesall processes currentlyNO connectedtothe specified database.(AsmostVDEusersuti-QO5lizekept subprocesses,thisprocessdeletionisoftenentirely!O transparenttousers.' W?OTousethe RMU/CLOSEcommand,youmustpossessEOtheOpenVMSSYSPRVorBYPASS privilege,oryoumustPO5haveaccessviatheRdbdatabaseaccesscontrollist.*IftheEO RMU/CLOSEcommandhangsforanextendedinterval(itPOshouldhangforawhilepending cluster-wide closure),seeif2O>the ``freeze''deadlock mentionedin\>Section7.3.2+>hasoccured.*'\?((!  O7.3.2BFreezeinRdbUO4ItispossibleforRdb processestodeadlockwaitingfortheRdbO ``freeze'' resource.H) KOWhena ``freeze''deadlockoccurs,onenormallyfindsanyNOattempttoSETLIBRARYtotheVDElibraryortorunvari-?O5ousRMUcommands-includingthe RMU/CLOSEcommandO mentionedin>Section7.3.13 -againstthelibrarywillhangin-PO definitely.(ThisdeadlockcansurvivetheshutdownofallRdbJO>database monitors,thoughashutdownofthenodeholdingJOthe deadlockedrecoveryprocesscanrelievethe deadlock.*)>P?%<*L DKOThe followingexampleshowsthe particularprocessholding Othe ``freeze''lock:)Oa$&RMU/SHOW&LOCK/MODE=BLOCKINGTOJ==========================================================================+OSHOW&LOCKS/BLOCKING& InformationTO9J==========================================================================TOJ--------------------------------------------------------------------------O Resource:%freezeLS ProcessID&Process%NameLock%IDpSystem%ID% Requested%GrantedN ---------&---------------J ---------& ---------% ---------%-------EOWaiting:J224018E0KSHOFFMAN_00E0..J3F00433EK00010002KCW  NLEO+Blocker:J20402DC8KRDM_RB60_1.....J5D00A098K00010002KPR  +PR+ NJOOnecanuseANALYZE/SYSTEMorsimilartoattempttolo-GOcatethereasontheblockingprocess-RDM_RB60_1intheDO5above example-inanattempttoresolvetheproblem., ]$O7.3.3BRdbprocessdumpsMO4Rdb generatesadumpfilewhenit encountersan unexpectedKO condition.+Undertypicalcircumstances,Rdbwilldisplaya=Omessage indicatingadumpisbeing generated.OiVDE>&set%lib%evmsFO Generating&bugcheck&dump%file%WORK10:[user]RDSBUGCHK.DMP-QOOne potentialcauseisthe inabilitytowritetotherun-unitOjournalarea,seeSection7.3.4)for informationfordetails.*-?..s/O7.3.4BRdbrun-unitjournalerrorsKO4Therun-unitjournalareaisakey componentoftheRdbJO processing,andallowsRdbtorollback incompleteorer-COroneousdatabase operations..Andwhenan unexpectedJO= conditionoccurswiththerun-unitjournal,Rdbtendsto"Ogenerateadumpfile./NIOErrors involvingtherun-unitjournalhaveavarietyofHO footprints, includingsymptomssuchas process-levelRdb9O5bugcheckdumpsanduserprocess deletions.0q3O7.3.4.1CMissingrun-unitjournalareaLO)Iftherun-unitjournalareaisentirelymessing,onecanHO potentiallyseeanRdbbugcheckdump generated.,Byde-EOfault, therun-unitjournaliswrittento SYS$LOGIN_GO3DEVICE:[RDM$RUJ],butthiscanbealteredviatheRdb"ORDMS$RUJlogicalname.OVDE>&set%lib%evmsFOX Generating&bugcheck&dump%file%WORK10:[user]RDSBUGCHK.DMP}1SKOWhentherun-unitjournalareaisentirelymessingororLOis incorrectly protected,Rdbwillgeneratea process-levelNO5bugcheckdumpfile,andVDEwillnotoperate correctly.)(InSOadditiontotheabovemessage,itisalsopossibleonemayseeOVDE stack-dumps.)2 SEOFor any userseeing these errors,!make certain that@OSYS$LOGIN_DEVICE:[RDM$RUJ]existsandisownedbyUO5 [SYSTEM].Ifitdoesnotexist,createit.'(Notethatthedirec-LOtoryisactuallybasedonthedevicefrom SYS$LOGIN:,not7OfromtheSYS$LOGIN_DEVICE:specification.) Ok$;kcreate/directory%work10:[rdm$ruj]/owner=[system] O$)set%security/owner=[system]%- O_$3)work10:[000000]rdm$ruj.dir,[rdm$ruj]*.*.* OB$ Brun%sys$system:sysmanOSYSMAN>$zDISKQUTA&ADD%[SYSTEM]%-O_SYSMAN>.$/DEVICE=WORK10/PERM=100000/OVER=1000O"SYSMAN>   MCTRL/Z M 8 3NIOIf[SYSTEM]alreadyhasaquotaentryforWORK10:,use?OtheSYSMANcommandDISKQUTAMODIFYinplaceofO5 DISKQUOTAADD.]43LOBasedonRdbdocumentation,onecanalsoredirectthelo-@OcationoftheSYS$LOGIN_DEVICE:[RDM$RUJ] directoryIO5viatheRdbRDMS$RUJlogicalname.)(NotethatRdbdoesHOnotactuallyuseSYS$LOGIN_DEVICE:,itappearstoparseO SYS$LOGIN:.)5 zLOThis particularerrorismorecommononvolumesthatwere6Onot initializedwith[SYSTEM] ownership: Oa$,a INITIALIZE%work10:% work10/SYSTEMz6POAlsosee}Section7.3.4.2#forarelatedproblem.*6}F?727$z9DISKQUTA&ADD%[SYSTEM]%-O_SYSMAN>-#/DEVICE=WORK1/PERM=100000/OVER=1000OSYSMAN>   MCTRL/Z M  9NHOIf[SYSTEM]alreadyhasaquotaentryforWORK1:,use?OtheSYSMANcommandDISKQUTAMODIFYinplaceofO5 DISKQUOTAADD.z:POAlsosee}Section7.3.3%Lforarelated situation.*:}F?,(; 0O7.3.4.3CRdbrecoveryprocessdumpsJO)Rdb generatesadumpfilewhentherecoveryprocessen-4Ocountersan unexpected condition.((SeeSection7.3.4.4foroneLOexampleofan unexpected condition.)(TheremayormaynotOO3beany indicationthisdumpisbeing written-inoneparticu-QOlarcase,theprocessthatwas triggeringthefailingrecovery8Oprocesswasbeingloggedoffthesystem.*;D?>l<,  BFOUndertypicalcircumstances,therecoveryprocessdump?OfileiswrittentoSYS$SYSTEM:RDMDBRBUG.DMP.TheKO5 followingisanexampleofarecoveryprocessdumpfile:ZOP================================================================================>Bugcheck%dump%$SYS$SYSROOT:[SYSEXE]RDMDBRBUG.DMP;17ZOIP================================================================================ROThis&file%was& generated%by%DEC%Rdb&V6.0-1%upon& detection%of%aROfatal,% unexpected,%error.KPlease%return&this%file,%the&query&orPOBprogram&that%produced%the& bugcheck,%the% database,&monitor%log,AOand%any&other& pertinent% information%with&an&SPR.5OCurrent&time%is% 21-JAN-1997% 15:20:21.10Ut~ 3-FEB-1997% 16:23:35.84:%Linked&DBR%(RDBVMS)%RDMS$ALPHA_V0601:[KODABLD]VO 25-JAN-1997% 08:06:24.32:%Compiled%KOD$DBR%(KODA)%KOD$ALPHA_V0601R:[DBR][O 25-JAN-1997% 08:06:15.13:%Compiled% KOD$LIBRARY%(KODA)&KOD$ALPHA_V0601R:[CODE]ZOVP================================================================================Stack%DumpZOP================================================================================FOOSaved%PC%=&001383C0&:%STD$DUMP_ALPHA_STACK%+%00000090COSaved%PC%=&001212E4&:%KOD$BUGCHECK_DUMP%+%00000D74MOSaved%PC%=&000A1214&:%KOD$BUGCHECK_AND_EXIT_HNDLR&+%000000940O'Saved%PC%=&80895D44&:%S0%address0OoSaved%PC%=&962A62BC&:%S0%addressEO*****% Exception%at%0006B930%:% DBR$RECOVER%+&000009F0EO%RDMS-F-FILACCERR,%error%opening%run-unit%journal&file"zZset%environment/clusterOSYSMAN>$zset%profile/privilege=allOSYSMAN>0zdo&show%device/file/nosystem%work1:O9SYSMAN>   M7CTRL/Z M O }> LS4O7.3.4.4CMissingrun-unitjournalfiles0O)Arecovery-processdumpsimilarto|)Section7.3.4.3)canalsoPObeseenwhentheRUJfileismissing.+ThiscanbearesultPOinuserprocess deletionsandfailedRMUbackups,aswellas"O3othernasty behaviour.*>|?;? 6OOneseesthe followinginan RMU/DUMP:3OActive%user%with&process%ID%38810DD3PStream&ID&is&1Monitor%ID%is%2! Transaction%ID%is%16_(Recovery%journal%filename%is%4"WORK300:[RDM$RUJ]VDE$DATABASE$009A486CCA4B098E.RUJ;/p Read/write% transaction%in%progress3 Transaction%sequence%number&is&183093X@.GOandoneseesthe followinginSYS$SYSTEM:RDMDBRBUG.DMP:EO*****% Exception%at%000253ED%:% DBR$RECOVER%+&000005CB{OP%RDMS-F-FILACCERR,%error%opening%run-unit%journal&file%4WORK300:[RDM$RUJ]VDE$DATABASE$009A486CCA4B098E.RUJ;1'O -RMS-E-FNF,%file&not%foundANSOThere'snogoodsolutiontothisproblemifthefilecannotbePOlocated,shortoflocatingthemissingRUJ,or recoveringthe&O5databasefromRdbBACKUP.FB JOThe followingstepswillclearthemissingRUJandwill,Oleavethe\database accessable,-butthedatabaseisnowlikelyO5corrupt.55Recoveryfrom RMU/BACKUPis preferable. O$$ RMU/ALTER% databasename!1O RdbAlter> DISPLAY%ROOT&USER!2OI RdbAlter>+IDEPOSIT%ROOT&USER%#%RUJ=""!3O RdbAlter>COMMIT"4O RdbAlter>EXIT O!$! RMU/UNLOAD...!5 Oi$iRMU/VERIFY/ALL"6^C! x4 m1GmInvoketheRdbAlterutilityfromasuitably privilegedL username, specifyingthenameofthetargetdatabasefile. E2KEDisplayall ``users'',numberedfrom0ton,anddisplayKanyRUJfilesthatRdbbelievesareneededfor recovery. 3LSpecifytheusernumberwiththemissingRUJfileintheIv# position.+Nospacesor charactersshouldbe specified&betweenthedouble-quotes. M4#MCOMMITthe transaction.)MThedatabaseisnowaccess-*able,butislikelycorrupt.)rRecoveryfromRdbBACKUPis preferable. ~5K~Unloadthecontentsofthe database,verifythe contents,and re-import. V6DVUseaminimumofRMU/VERIFY/ALLtoverifythedataF structuresofthereloaded database.+EvenwithproperG verificationofthe structures,the informationinthe%_databasemaybecorrupt.}`O_aDnc:O7.4BDatabaseBackupandRecovery Procedures)OUSectionunderconstruction...tE! JMOAfter establishingyourVDElibrary,youshouldsetuptheJObackupandrecovery proceduresthatallowyoutorecoverPO5thecontentsofyourVDElibraryincasethelibraryisde-QOstroyedordamaged.&Adiskfailure,forexample,coulddestroyOOyourVDEdatabaseoranyofthe associateddeltafiles(CMSRO> libraries).(Tobeabletorecoverfromsuch failures,youmustJO establishseveralseparatebackup procedures.+Thissection'O describesthose procedures.F1O7.4.1BOverviewofBackup ProceduresKO4To establishthe necessarybackup proceduresforyourVDEAOlibrary,youneedtotakethe followingactions:XG . `mJmPlacethe directoriesandfiles associatedwithyourVDEJlibraryontwoormoredisks.*InordertorecoverfromIthefailureofanyonedisk,youmusthaveVDEbackupQwandjournalfilesona differentdiskthanthediskordisks8thatholdtherestofyourVDElibrary. `OEOEnable after-image journallingforyourVDE database.I After-image journallingcausesRdbtorecordallchangesNtoyourVDEdatabaseinajournalfile.)IfyoulatermustGYrestoreyourdatabasefromabackup,youcanusetheLjournalfileto``roll''therestoreddatabaseforwardun-P tilitcontainsallchangesthatyourlostdatabasehadjustbbeforethefailure. `EEditthedatabasebackupandrestore proceduresthatD:comewiththeVDEkittomakethemrefertoyourHVDElibrary.)Placethese proceduresinabackupdirec-Etory associatedwithyourVDElibrary., ConfiguretheFD site-specificbackup proceduretoexecute periodically. `HMakesurethatsomeoneperformsregularbackupsofallDfilesinyourVDElibraryusingtheOpenVMSBACKUPHtutility.*ThesebackuparenormallywrittentotapeandIbackuptapesshould periodicallybemovedtofirestor-J%age.'Ifyoursystemmanageror operationsstaffperformsL~thisfunctionforyou,youneedonlyensurethattheap-M propriatestaffknowstobackupthedisksthatholdyourF/ VDElibrary.) Otherwise,youmayhavetoperformsuch backups yourself.8H  WSeedWSection7.4.474Wfor informationspecifictothesynchro-Jnizationproblemsthatarelikelywhen attemptingtouseAOpenVMSBACKUPutilitytoperformbackupsofRdb:adatabasefilessuchasthoseusedbyVDE. `IFor additional protectionagainstdiskorotherhardwareE9 failures,youcanconsiderusingOpenVMSshadowsetsKforthedisksthatholdyourVDElibraryanditsbackupHfiles.)Disk shadowingis appropriatewhenyourVDEli-KBbraryrequireshigh availabilityandwhenthecostofanJ unavailablelibraryishigh.'Usingdisk shadowingdoubles,thenumberofdisksyouneed.*Hd?LI `IOThesectionsthatfollowdescribehowyouperformtheseNOsteps.'TheyalsodescribehowyourestoreyourVDEdatabaseNO5andotherfilesinyourVDElibraryincaseofafailure.LOHowever,thismanualdoesnotfurtherdescribehowtouseLOtheOpenVMSBACKUPutilitytobackupfilesand directoryNO>trees.*Neitherdoesitdescribehowtosetupdiskshadow-TOing.(Forafull descriptionofthesetopics,seethe appropriateAOOpenVMS documentationorseeyoursystemmanager.JMh?O7.4.2B PlacementofBackupFilesand Directories)O4Sectionunderconstruction...|KMR)O7.4.3B After-Image Journalling)O4Sectionunderconstruction...L;O7.4.4BCreatingtheDatabaseBackup Procedure(O4Sectionunderdestruction... _UNote _C=DuetoRdbdatabase transactionsynchronizationis-Bsues,diskorVDEdatabasebackups performedwithCtheOpenVMSBACKUPutilitycannotberelieduponFGforthebackupandthe restorationofVDE databases. M! FOThedatabaseforyourVDElibraryisanOracleRdb7JO database.,(Rdbisa relationaldatabase package.),AnRdbNO5databasemustbebackedup periodicallyusingtheRMUutil-!Oity describedinthe. OracleRdb7RMU ReferenceManual Zand Othe8OracleRdb7GuidetoDatabase Maintenance .N xBOTheOpenVMSBACKUPcommandcan potentiallytakeaNOsnapshotofyourdatabaseasitlooksinthemiddleofanQO5update transaction.(Thisresultsinaninvalidbackupfilebe-FOcauseRdbmustpreserve transaction semantics,meaningQOthatanupdate transactionmustcompletefullyornotatall.O! KOTheRMUutility,a componentoftheRdbproduct,ensuresNOthatthe backed-updatabaseis internally consistentandob-FO5serves transaction semantics,whichtheOpenVMSBACKUPBOutilitycannotdo.+UnlikeOpenVMSBACKUP,theRMUPOutilitytakesa consistentsnapshotofthedatabaseasitisKO> synchronizedwithanydatabase transactionsthatmightpo-UO tentiallybeactive.'TheRMUutilityisalsobeusedtobackupMOandmaintaintheRdb after-imagejournalfiles.(Thesejour-POHnalfilesallowRdbtorecoverdatabase transactions performed.Oafterthelastbackup operation.P \HOTheVDEkitcontainsacommand procedurethatyoucanLOmodifytobackuptheRdbdatabaseforyourVDElibrary.CO5Thiscommand procedureperformsthe appropriateRMUNO operations.'Tocreatethedatabasebackup procedureforyour7OVDElibrary,performthe followingstep:Qh `m)mSectionunderconstruction... `)Sectionunderconstruction...SR))OSectionunderconstruction...SMeWewillalsoassumethatdiskJNLDEV$isyourjournalLOandbackupdeviceandthatyouhavesetupsubdirectoriesAO[PROJ.BACKUP],[PROJ.BACKUP_OLD],and [PROJ.AIJ]asOHoutlinedinHSection7.4.2.*U]?L*U!?J*U ?JV aKOOnceyourdatabasebackup procedureisinplace,youcanLOrunittoperformfullbackupswithdatabase verification,JO5fullbackupswithoutdatabase verification,or incrementalKOdatabasebackups.,Afullbackupsavesalldatabaseinfor-KOmationinabackupfile.+An incrementalbackupsavesallKO>database informationthathaschangedsincethelastfullLObackupinan incrementalbackupfile.)Database verificationQOcausestheRMUutilitytochecktheinternal structureofthe9OHRdbdatabasefor consistencyand validity. WzMOToperformafulldatabasebackupwithout verification,youHOinvokeyoureditedbackupcommand procedureasfollows: Oa$@a'@JNLDEV$:[PROJ.TOOL]VDE_DATABASE_BACKUP% FULL_NOVERIFYXNMOThis invocationofthe procedureperformsafullbackupofROthesourcecontrol database.(ItdoesnotattempttoverifytheO5 database.$Y! ~OOThebackup procedureperformsthe followingstepsforafullGObackup.-ItdeletesallfilesintheJNLDEV$:[PROJ.OLD_EO5BACKUP] directoryandthenrenamesallfilesinthe?OJNLDEV$:[PROJ.BACKUP] directorytothe OLD_BACKUPQO directory.'Thepreviousbackupfilesarethus preservedintheJO> OLD_BACKUP directorysotheycannotbelostincasetheDOcurrentbackup operationfails.+Next,the RMU/BACKUPBOcommandperformsafulldatabasebackup, producing@OHtheRdbbackupfileVDE$DATABASE_FULL.RBFintheFOBACKUP directory.-An``onlinebackup''isused,mean-JOingthatotheruserscanusetheVDEdatabasewhileitKORisbeingbackedup.,Finally,theactive after-imagejour-KOnalfileisbackeduptotheBACKUP directoryunderthe>OnameVDE$DATABASE_FULL.AIJ,afterwhichtheac-XO[tivejournalfileissettobeempty.)Afterallthisisdone,theNOBACKUP directory,alongwiththeactivejournalfileindi-OO rectoryJNLDEV$:[PROJ.AIJ],containsallfilesneededtofully&OerecovertheVDE database.%ZMOIfyouwanttoperformafullbackupandalsoverifytheCOdatabase(usingthe RMU/VERIFY command),invokethe)O5backup procedureasfollows: O$7'@JNLDEV$:[PROJ.TOOL]VDE_DATABASE_BACKUP%FULL[NFOForalarge database,! verificationcanbeverytime-FO consuming.-Youshould neverthelessverifythedatabase*O5 periodically,suchasweekly.\KOIfyouomittheFULL parameteronthecommandline,you6OgetaFULLdatabasebackupbydefault.t]+JJOAn incrementalbackupsavesallchangestoyourdatabasePOsincethelastfullbackupinan incrementalbackupfile.)ToJO5performan incrementalbackupofthe database,entertheO followingcommand: O$>'@JNLDEV$:[PROJ.TOOL]VDE_DATABASE_BACKUP% INCREMENTALU^! +HOForan incrementalbackup,thebackup procedureinvokesDORMUtoperformanonline incrementalbackupoftheGO5 database.'TheoutputfileisfileVDE$DATABASE_INCR.RBFPOintheBACKUP directory.&ThisfilecontainsallchangessinceLOthelastfullbackup.)An incrementalbackupnormallytakesQO> substantiallylesstimethanafullbackup.'Howmuchlessde-IOpendsonhowmuchyourdatabasehasbeenchangedsince"Othelastfullbackup._! SAOBydefault,theVDE_DATABASE_BACKUP proceduredis-QOplaystheinputsandoutputsofthebackup operationandasksOO5youtoconfirmthatthosearetherightinputsandoutputs.MOYoumustthenanswerYESifyouwantthebackup operation.Otoproceed.'Thisisanexample: Ok$@k'@JNLDEV$:[PROJ.TOOL]VDE_DATABASE_BACKUP% FULL_NOVERIFYLThe&backup% operation%will%be% performed%using%the& following1device&and% directory%specifications:PThe&location&of&the%database%to%back&up&is&LIBDEV$:[PROJROOT]HThe&database&will%be%backed&up&to&JNLDEV$:[PROJ.BACKUP]OExisting%backup&files&on&JNLDEV$:[PROJ.BACKUP]%will&be&renamedDzbto&JNLDEV$:[PROJ.BACKUP_OLD]%before&the%backup%startsBThe& definition%of% VDE$JOURNAL%is%JNLDEV$:[PROJ.AIJ]RO:Do%you%want%to%continue%with&the%database%backup?&(Y&or&N)&: 4 :Y6`  LOTosuppresstherequestfor confirmation,youcanaddtheHOkeywordNOQUERYtotheendofthecommandlineinvok--O5ingthe procedure.'Forexample: O$@'@JNLDEV$:[PROJ.TOOL]VDE_DATABASE_BACKUP%FULL&NOQUERYa vGOYoualwaysneedtheNOQUERYkeywordwhenyourunthe/Obackup procedureinabatchjob.sb ILOBecausedatabasebackupsshouldbe performed regularly,theJOnormalwaytoperformthemistosubmitacommandpro-QO5cedurethatrunseverynighttoperformafullbackuponceaOOweekand incrementalbackupstheothernights.'TostartthisCOcommand procedure,enterthe followingDCLcommand: Ok$BkSUBMIT%-/LOG=JNLDEV$:[PROJ.LOG]NIGHTLY_VDE_BACKUP.LOG%- O_$8+/NOPRINT/KEEP/RESTART/AFTER="TOMORROW+1:00"&- O_$3)JNLDEV$:[PROJ.TOOL]NIGHTLY_VDE_BACKUP.COMc WLOThiscommand procedure resubmitsitselfeachtimeitruns.NOYoushould thereforenotneedtorestartitmanuallyunlessQO5batchqueueshavebeenlostduetoasystemfailure.)InthisDOexample,theSUBMITcommandcausesthe proceduretoTOrunat1:00amthe followingnight.'ThatisalsothetimethatCO>the procedurerestartsitselfon subsequentnights.Wd! -GOThedatabasebackup operationsmustproducebackupandOOjournalfilesonadisk (JNLDEV$:(inthese examples)differ-RO5entfromthediskordisks containingtheVDElibraryandthePOVDE database.'Becausethebackupfilesareondisk,theyareNO immediately availablefor restoringtheVDEdatabaseafteraMO>failure.*However,thebackupdiskmustitselfbebackedupJOtotape(usingtheOpenVMSBACKUPutility)onaregularObasis. ev i QOThe followingexample illustratestheoutputthatyouwillget.Owhenyoubackupyour database: Oa$@a'@JNLDEV$:[PROJ.TOOL]VDE_DATABASE_BACKUP% FULL_NOVERIFYLThe&backup% operation%will%be% performed%using%the& following1device&and% directory%specifications:PThe&location&of&the%database%to%back&up&is&LIBDEV$:[PROJROOT]HThe&database&will%be%backed&up&to&JNLDEV$:[PROJ.BACKUP]OExisting%backup&files&on&JNLDEV$:[PROJ.BACKUP]%will&be&renamedDzYto&JNLDEV$:[PROJ.BACKUP_OLD]%before&the%backup%startsBThe& definition%of% VDE$JOURNAL%is%JNLDEV$:[PROJ.AIJ]RO0Do%you%want%to%continue%with&the%database%backup?&(Y&or&N)&: 4 0YNFull%backup%of%database%without% verification%being% performed.SPRenaming%database%files%from%the%backup&area%JNLDEV$:[PROJ.BACKUP]'to&JNLDEV$:[PROJ.BACKUP_OLD]S(Full%database%backup%starting%for&"LIBDEV$:[PROJROOT]VDE$DATABASE.RDBOzpBacking%database%up%to%*JNLDEV$:[PROJ.BACKUP]VDE$DATABASE_FULL.RBF?O%RMU-I-QUIETPT,%waiting%for%database%quiet%point?OH%RMU-I-BCKTXT_01,%Thread%1%uses&devices%LIBDEV$:aO%RMU-I-BCKTXT_08,%Thread%1%was%assigned%file%$LIBDEV$:[PROJROOT]VDE$DATABASE.RDA;1YO%RMU-I-BCKTXT_00,%Backed%up%root%file&$LIBDEV$:[PROJROOT]VDE$DATABASE.RDB;1bO %RMU-I-BCKTXT_02,%Full&backup%of%storage&area%$LIBDEV$:[PROJROOT]VDE$DATABASE.RDA;1bOh%RMU-I-BCKTXT_02,%Full&backup%of%storage&area%$LIBDEV$:[PROJROOT]VDE$DATABASE.RDA;1AO%RMU-I-BCKTXT_04,ignored%2&space& management%pages=O%RMU-I-BCKTXT_05,backed&up&10& inventory%pagesJO@ %RMU-I-BCKTXT_06,backed&up&520%logical&area%bitmap&pages:O %RMU-I-BCKTXT_07,backed&up&1270%data%pages+ Full%database%backup% completedV Backup&of&journal%file%starting%for%"LIBDEV$:[PROJROOT]VDE$DATABASE.RDBTz Backing%journal%file&up&to&*JNLDEV$:[PROJ.BACKUP]VDE$DATABASE_FULL.AIJ2O %RMU-I-LOGCREBCK,%created&backup%file6 ,JNLDEV$:[PROJ.BACKUP]VDE$DATABASE_FULL.AIJ;13O0 %RMU-I-LOGBCKAIJ,%backing&up&AIJ%file.x $JNLDEV$:[PROJ.AIJ]VDE$DATABASE.AIJ;1TO %RMU-I-LOGAIJBCK,%backed%up%2% committed% transactions&at& 11:14:14.93.P Backup&of&journal%file% completed&f .O7.4.7B RestoringtheVDEDatabaseKO4Ifafailurehas corruptedordamagedyourVDE database,GOyoumustrestorethedatabasebeforeyourVDElibrary4Obecomesusableagain..As describedinSection7.4.2, thePO=backupfilesneededtorestorethedatabasearefoundintheAOJNLDEV$:[PROJ.BACKUP] directoryandthe after-imageSOjournalfilethatrecordsall transactionssincethelastbackupJOGisfoundintheJNLDEV$:[PROJ.AIJ] directory.)ThepresentHOsectionalsoassumesthatyouhavesetupthecommandthesesteps.h! t^KOIfthis procedurecannotrestorethe database,youshouldIO determinewhy.+IfthereasonisthattheBACKUPdirec-NO5toryisnot correctlysetup,youmayhavetorestoretheAOBACKUP directoryfromthe OLD_BACKUP directoryorROfromabackuptape.(Ifyoudoso,youmustbesurethatyouQO>donotloseany after-imagejournalfiles.(Youneedalljour-VOnalfilesusedtolog transactionssincethebackupfilesyouareMOusingwerecreatedandthesejournalfilesmustbeappliedOOHtothedatabaseinorderbydatetoavoidlossoftransac-NOtions.)AftersettinguptheBACKUP directory,youshouldbeOOabletorerunthecommand procedure.*Ifallelsefails,youNORmayhavetorestorethedatabaseusingtheRMUutilitydi-Orectly.+Seethe0sVAXRdb/VMSRDOandRMU ReferenceOManual@fordetailed descriptionsofthe RMU/RESTOREand O[ RMU/RECOVER commands.i +BOBydefault,theVDE_DATABASE_RESTORE proceduredis-ROplaystheinputsandoutputsoftherestore operationandasksOO5youtoconfirmthatthosearetherightinputsandoutputs.NOYoumustthenanswerYESifyouwanttherestore operationCOtoproceed.'Thisexample illustratesthis behavior: Ok$2k(@JNLDEV$:[PROJ.TOOL]VDE_DATABASE_RESTOREMThe&restore% operation&will%be% performed&using&the% following1device&and% directory%specifications:\The&location&of&the%backup%area%to%restore&from%is%JNLDEV$:[PROJ.BACKUP]OThe&database&root%file%will&be&restored&to&LIBDEV$:[PROJROOT]XThe&database&storage%area%file&will%be%restored%to%LIBDEV$:[PROJROOT]SbThe&database&snapshot&file%will%be%restored%to%LIBDEV$:[PROJROOT]BThe& definition%of% VDE$JOURNAL%is%JNLDEV$:[PROJ.AIJ]BThe&current%version%of%the%database%is% undefined.@z:An&after&image&journal%file%will&not%be%copied1zbefore%the%database%restore%begins.SODo%you%want%to%continue%with&the%database%restore?%(Y%or%N)%: Z Y1j LOTosuppresstherequestfor confirmation,youcanaddtheHOkeywordNOQUERYtotheendofthecommandlineinvok--O5ingthe procedure.'Forexample: O$;(@JNLDEV$:[PROJ.TOOL]VDE_DATABASE_RESTORE%NOQUERYk wGOYoualwaysneedtheNOQUERYkeywordwhenyourunthe0Orestore procedureinabatchjob. l, f QOThe followingexample illustratestheoutputthatyouwillget-Owhenyourestoreyour database: Oa$2a(@JNLDEV$:[PROJ.TOOL]VDE_DATABASE_RESTOREMThe&restore% operation&will%be% performed&using&the% following1device&and% directory%specifications:\The&location&of&the%backup%area%to%restore&from%is%JNLDEV$:[PROJ.BACKUP]OThe&database&root%file%will&be&restored&to&LIBDEV$:[PROJROOT]XThe&database&storage%area%file&will%be%restored%to%LIBDEV$:[PROJROOT]SYThe&database&snapshot&file%will%be%restored%to%LIBDEV$:[PROJROOT]BThe& definition%of% VDE$JOURNAL%is%JNLDEV$:[PROJ.AIJ]BThe&current%version%of%the%database%is% undefined.@z0An&after&image&journal%file%will&not%be%copied1zxbefore%the%database%restore%begins.SODo%you%want%to%continue%with&the%database%restore?%(Y%or%N)%: Z YCDeleting%database%header&files&in&LIBDEV$:[PROJROOT]J(Deleting%database%storage%area&files&in&LIBDEV$:[PROJROOT]EDeleting%database%snapshot%files%in%LIBDEV$:[PROJROOT]RHDeleting%database%after%image%journal%files%in%JNLDEV$:[PROJ.AIJ]RFull%restore&starting&for%*JNLDEV$:[PROJ.BACKUP]VDE$DATABASE_FULL.RBF8z root%file%"LIBDEV$:[PROJROOT]VDE$DATABASE.RDB;zhstorage%file%"LIBDEV$:[PROJROOT]VDE$DATABASE.RDAOcommandswillperformthe necessary operations: Os$<sRMU/CLOSE/ABORT=DELPRC%LIBDEV$:[PROJ]VDE$DATABASE O$.RMU/OPENKLIBDEV$:[PROJ]VDE$DATABASE O$/ RMU/CLOSE%LIBDEV$:[PROJ]VDE$DATABASE OK$?K!% RMU/ALTER&for%versions%of%Rdb%before&V6.0... O$/ RMU/ALTER%LIBDEV$:[PROJ]VDE$DATABASEO RdbALTER>,DEPOSIT%ROOT& AIJ_FILENAME%=&""O# RdbALTER>#COMMITOk RdbALTER>kEXIT O$<!%RMU/SET%for%Rdb&version%V6.0%and%later... O$DRMU/SET% AFTER_JOURNAL%"LIBDEV$:[PROJ]VDE$DATABASE/DISABLE OC$ C! O$@'@JNLDEV$:[PROJ.TOOL]VDE_DATABASE_BACKUP% FULL_NOVERIFY O$2(@JNLDEV$:[PROJ.TOOL]VDE_DATABASE_RESTOREn! DOThefirst RMU/CLOSEcommandclosesthe database;itQOdeletesalluser processesattachedtothedatabaseanddeniesMO5accesstonewusers.*Any transactionsthedeleted processesFOhadinprogressarelost.+TheRMU/OPENcommandrollsNObackanysuch transactions,thusmakingthedatabaseconsis-GO>tent.'Thesecond RMU/CLOSEcommandclosesthedatabaseIOsothatnewuserscannotaccessit.(The RMU/ALTERcom-GOmandpreparesthedatabasetobealtered.+TheDEPOSITGOHROOT AIJ_FILENAME=""commandsetsthedatabaserootQOfiletohave after-image journalingturnedoff.(Thiswillper-GOmitthedatabasetobebackedup.(TheCOMMITcommandFORcausestheDEPOSITcommandtobe committed.)TheEXIT>Ocommandthenexitsfromthe RMU/ALTERutility.2o IOThenextcommandbacksupthedatabase(withoutverify-KOingitsince verificationcanbeverytime-consuming)andOO5thelastcommandrestoresthedatabasefromthebackupfile.IO Restoringthedatabasecreatesanew after-imagejournalTOfile,soitshouldonlybedonewhenthefaileddiskisavail-VO>ableagainoranewdiskis substituted.(Afterthisisdone,the2Odatabaseshouldbefully functional.peLOYoumusthavetheSYSPRV privilegetoperformthisrecov-Oery procedure.q! POIfyouwanttoplacethe after-imagejournalfileonadif-SOferentdiskthantheoriginal location,youneedtospecifytheMO5newjournalfile immediatelyafter performingtheabovere-IOcovery procedure.'Todoso,usetheVDEMODIFYLIBRARYOcommand: Ok$9kVDE%MODIFY%"LIBRARY/JOURNAL=NEWDEV$:[PROJ.AIJ]r zOOThis operationshouldbedonebeforeany operationsaredone+OthatupdatetheVDE database.s! OONotethatthe after-imagejournalfilebecomes unavailableifVOthediskholdingitrunsoutofspace.'Topreventthis situation,RO5thejournalfileshouldbeplacedonadiskwithamplespace.UOHowever,ifthejournalfilestillrunsoutofspace,youshouldUOclose,open,close,andalterthedatabaseasjust described,andRO>thendeletethejournalfile.(Afterthat,youcanbackupandPOrestorethedatabasetomakeit functionalagain.'TherestoreLO operationwillcreateanew, initiallyemptyjournalfile.t*O7.4.9B AssociatedRdbcommandsJO4The followingistheRdbV6.0commandusedtorenameaMO particular journallingfile.'Theversionnumberis required. O$.!%Rdb&V6.0% journalingJ command... OY$?YRMU/SET% AFTER_JOURNAL%LIBDEV$:[PROJ]VDE$DATABASE%- O_$/ %/ALTER=(name=aij,FILE=filename.aij;0)uN8OUsetheRdbV6.0 ``RMU/SHOW AFTER_JOURNALEOdatabasename''commandtodisplaythecurrentjournalOO5file(s)andthecurrentstateof journalingonthe database.vsPOIfthejournalis inaccessable,usethe followingsequenceto(Ocreateanewjournalfile: Oa$.a!%Rdb&V6.0% journalingJ command... O$?RMU/SET% AFTER_JOURNAL%LIBDEV$:[PROJ]VDE$DATABASE%- O_$ /DISABLE O9$?9RMU/SET% AFTER_JOURNAL%LIBDEV$:[PROJ]VDE$DATABASE%- O_$ /DROP=(name=aij) O$?RMU/SET% AFTER_JOURNAL%LIBDEV$:[PROJ]VDE$DATABASE%- O_$- #/ADD=(name=aij,FILE=filename.aij;0) OY$?YRMU/SET% AFTER_JOURNAL%LIBDEV$:[PROJ]VDE$DATABASE%- O_$ /ENABLEw, rIOThe followingcommandsareusedtorelocatevariousRdbFO componentfiles associatedwiththeVDERdb database: Oa$/a RMU/ALTER%LIBDEV$:[PROJ]VDE$DATABASEO RdbALTER>0deposit%file& RDB$SYSTEM%SNAPSHOT%-O _RdbALTER>OESPECIFICATION="LIBDEV_SNAP$:[VDE$ROOT.DB_SNAPSHOT]VDE$DATABASE.SNP;1"O9 RdbALTER>&9deposit%file& RDB$SYSTEM%-O _RdbALTER>NDSPECIFICATION="LIBDEV_AREA$:[VDE$ROOT.DB_STORAGE]VDE$DATABASE.RDA;1"O RdbALTER>Rdeposit%root&9specification="LIBDEV_ROOT$:[VDE$ROOT]VDE$DATABASE.RDB;1"O RdbALTER>commitOY RdbALTER> Y^Zx N%ONotethat RMU/ALTERdoes not&  currentlysupportcontinu-POation characterssuchasthehyphen;thehyphenintheaboverestorethoseCMS libraries.(Eitherway,youshouldwindupOOwithaVDE directory structurethatis up-to-dateasoftheDOlastbackup,andthusatmostadayoutofdate.1{ SOIftheVDEdatabasewasaffectedbythefailure,thenextstep>Oistorestoreandrecoveritas explainedinGSection7.4.7.4ThisMO5 operationrestoresthedatabasefromitsmostrecentbackupSOfilesandthenappliesthe after-imagejournalfilestothere-QOstored database,thusrollingthedatabaseforwarduntilitisLO> up-to-dateasofthelast transaction completedbeforetheOfailure.*{G?f | JOBecausetheVDEdatabaseisfully up-to-date, informationMOinthedatabasecanbeusedto determinewhatmodulegen-MO5erationsaremissingfromtherestoredCMS libraries(whichMOmaybeuptoaday out-of-date).(To determinewhatgener-NOationsaremissingfromtheCMS libraries,youcanusethe"O> followingVDEcommand:OVDE>4 VERIFY%GENERATION/SINCE=YESTERDAY%[*]*.*} VJOThiscommandchecksallmodule generationsthat accordingKOtotheVDEdatabasewerecreatedsincemidnight yesterdayKO5and determineswhethereachsuch generationispresentinNOthe correspondingCMSlibrary.'Ifnot,VDEprintsamessage(Oforthemissing generation. ~ QOIfonlyafewCMS librarieswere restored,youcansavetimeROby verifying generationsforonlythose facilities.'Forexample:OVDE>E VERIFY%GENERATION/SINCE=YESTERDAY%[FAC1]*,[FAC2]*,[FAC3]*DOIftheoutputoftheVERIFY GENERATIONcommandin-JOdicatesthatanymodule generationsaremissingfromtheLO5restoredCMS libraries,youcanusuallyrecoverthosegen-IOerationsfromtheVDEstagingarea directories.+TheVDEOOstagingarea directoriescontaintheoriginalsourcefileforGO>each generationcreatedbya replacement.,Missinggen-KOerationscan thereforeberestoredtoaCMSlibraryfromJOthosesourcefiles.)Todoso,usetheVERIFY GENERATIONAOHcommandwiththe/RECOVER qualifier.'Forexample:OVDE>< VERIFY%"GENERATION/SINCE=YESTERDAY/RECOVER&[*]*.*e! ;LOThiscommandprintsamessageforeachmissing generation,RObutitalsolocatesthe replacementstagingarea directorycon-TO5tainingthefilethatcreatedthe generation.'VDEusesthatfileOOtoinsertthemissing generationintotheCMSlibrary.*AsaPOresult,allCMS librariesshouldbefully up-to-dateandcon-MO>sistentwiththeVDEdatabaseafterthiscommand completes.IOHowever,ifsome generationcannotbe recovered,perhapsMObecausethestagingarea directoryhasbeendeletedorbe-MOHcausethe generationwascreatedwithoutusingstagingareaQO directories,thenVDEprintsamessagetothateffectandthe)O generationisnot recovered.? NOKeepinmindthatnotallmodule generationsarestoredinMOstagingarea directories.'Onlyqueued replacementsusestag-LO5ingareas; immediate replacementsdonot.(Also, generationsHOcreatedwiththe/INPUTor /DIRECTORY qualifiertotheFOCREATEMODULEcommandarenotstoredinstagingareaLO> directories.*Becausethese qualifiersrequireVDE privilegesOOandarenormallyusedonlyduringinitialset-upoftheVDEQOlibrary,recoveryofsuch generationsisusuallynotanissue.NOHHowever,itis generallywisetoalwaysusequeuedreplace-OOmentsifrecoveryoflost generationsisaconcernforyourOVDElibrary.! MOInthosecaseswhereamissing generationcannotberecov-POeredfromitsstagingarea directorybutis availablefromaOO5file elsewhere,youcanrecoverthat generationwithasepa-FOrateVERIFY GENERATIONcommandthatgivesanexplicit/Ofilelocationforthe generation:OkVDE>, kVERIFY% GENERATION& [FAC1]FOO.C&-O_VDE>3/)/GENERATION=5A2/RECOVER=DSK$:[MYDIR]FOO.C dIOThiscommandrecovers generation5A2ofmoduleFOO.CinLOfacilityFAC1fromfileDSK$:[MYDIR]FOO.C.IfyouusethisNO5formofthecommandtorecovermultiple generationsfortheLOsamemodule,youmustrecoverthe generationsinthesame5Oorderastheywere originallycreated.! NOIfyouareunabletorecoveramissing generation,theVDENOdatabasewillbe inconsistentwiththeaffectedCMSlibrary.MO5Thisishighly undesirablebecauseitmeansthatthemiss-ROing generation(whichislikelytobethelatest generationofROatleastonestream)cannotbefetchedor reserved.'TocorrectOO>theproblem,youmustdooneoftwothings.*One possibilitySOistogetthecreatorofthemissing generationtorecreateitROsoyoucanrecoveritasjust described.)Theother possibilityKOHisthatyourecoverthemissing generationusingadummyKOinputfileandthendeletethat generationusingtheVDECODELETE GENERATIONcommand;inthiscase,themiss-MORing generationis permanentlylostbutthedatabasebecomes/O consistentwiththeCMS libriary.W V-0O7.4.11CMovingtoLargerCMSDisksHO4Thissection describeshowtomovetheCMSlibrarytoMO different-andusually larger-disks.(TheuseofashadowsetROfortheCMSlibraryvolume,andtheuseofVDEinacluster,O=isassumed.    `mMmSendoutawarningtotheuserstoindicatethatRdband5theCMS librarieswillbe unavailable. `EREEnablefull privilegeswiththecommandSETPROCESS/PRIVILEGE=ALL `DShutdownallversionsofRdbrunningonthecur-Arentsystem..Thismayinvolve proceduressuchas4v RMONSTOP, RMONSTOP41, RMONSTOP60,etc.,as appropriate. `MEMIfitisinuse,modify MSCPMOUNTtoremoveshadowEsetmount includingthespecificationsofthesourceMdisk(s),andremoveany reference(s)tothetargetdisk(s). `~A~DismountallmembersoftheCMSshadowset,and:dismountallofthetargetdisk volume(s). `VGVIf MSCPMOUNTisinuse,waitforfifteenminutes,or@locateandremoveanyandallrunning MSCPMOUNTMjobsthatmightbelurkinganywhereonanyofthecluster_members. `CSetthehardware write-lockonthesourcedisk(s). `^;^Mountthesourceandtargetdisk privately. `@Performa disk-to-diskBACKUP,with verification. `]4]Dismountthesourceandtargetdisks. `<If MSCPMOUNTisinuse,modify MSCPMOUNTtoH4 includethenewdiskvolumesusingtheoriginalshadowE setname-donotchangethenameoftheshadowset.B Invokecopiesof MSCPMOUNTononeormorenodes,> as appropriate. ` E Performa cluster-wideMOUNTofthetarget disk-thisJ diskisthefirstorrootvolumeoftheshadowset-andAo thenMOUNT additionalmembers cluster-wideasap-A  propriate.-When additionalvolumesaremounted,a4  shadow-copyoperatewillbe initiated. ` @ StartRdbonallclusternodesusing RMONSTART,>  RMONSTART60, RMONSTART41,etc.,as approrpriate. ` F TesttheaccesstotheCMSlibraryfromwithinVDE. Q_UTNote Q_BIfyouneedtoremountthesourcevolumeofthe>2abovecopy operationwith/SYSTEMor /CLUSTER,?youmustreleasethehardware write-lock,mount>thevolume privately,usetheSET VOLUME/LABELG;commandtoalterthevolumelabel,dismountthedisk,E re-enablethe write-lock,andfinallymountthevol->ume/SYSTEMor/CLUSTER-duplicatevolumelabels>Earenotallowedonvolumesmounted/SYSTEMor /CLUSTER.  f 0O7.4.12CMovingtoLargerRdbDisksIO4Thissection describeshowtorelocateVDERdbdatabaseOOfilestootherdisks,howtodealwithdevicenamechanges,POandhowtoresetthe filenamesofthedatabaseroot,storageOO=area,andsnapshotareashouldthe filename(s)storedintheUOdatabaserootfilenotmatchthe filename(s)oftheactualfiles. Os$0s#RMU/CLOSE/CLUSTER/ABORT=DELPRC/WAIT&- O_$9 /DISK$OLDROOTDISK:[TOOLS.DBROOT]VDE$DATABASE.RDB O$.!RMU/MOVE_AREA/NOAREA/NOONLINE/LOG%- OK_$. K!/dir=DISK$NEWDATADISK:[VDE.TOOLS]%- O_$< /DISK$OLDROOTDISK:[TOOLS.DBROOT]VDE$DATABASE.RDB&- O_$A 4/after=DISK$NEWAIJDISK:[VDE.TOOLS]VDE$DATABASE.AIJ;1%- O#_$A #4/root=DISK$NEWROOTDISK:[VDE.TOOLS]VDE$DATABASE.RDB;1%- Ok_$B k8/snap=file=DISK$NEWSNPDISK:[VDE.TOOLS]VDE$DATABASE.SNP;1~QOThissequenceperformsa``controlled'' relocationofallareasOOofthedatabase(specificationof/NOAREA indicatesallareasPO5aretobemoved),the after-imagejournal,thedatabaseroot,OOandthesnapshotarea,tothe specifiednewarea.(Theabove?Ocommandswillcleanuptheoldarea,aswell.1HOOncethe databaseshavebeenmoved,besuretoupdate=OVDE$SYSTARTUP.COM,andanysystemdeviceMOUNTQO5 procedures,toreflectthenewlocationofthe databases.)Also1Operformafulldatabase RMU/BACKUP.Vf ,SOIfisalsopossibleforthis situationtoariseunintentionally,MOshouldsomedisksgetshuffledaround.(Shouldthe databases@O5bemovedunintentionally,VDEcanproduceRDMS$_5O FILACCERR,RDMS$_BADROOTMATCH,andRDB$_HO DB_CORRUPTerrors.+Aspartof resolvingthis,youwillMO>wantto determinewhythesefilesarenolongerundertheHOexpectedfilenames-devicenamechangesareone potentialOcause. Ot$ tVDEOVDE> SET%LIBRARY&VMSEO%RDB-F-SYS_REQUEST,&error&from%system&services&requestoOL-RDMS-F-FILACCERR,%error%opening%storage&area%file%,$11$DUA1010:[VMS.DATABASE]VDE$DATABASE.SNP;1_O -RMS-F-DEV,%error%in%device%name%or% inappropriate&device%type&for% operationOVDE>   M1CTRL/Z %M   O1$ O$ VDEOVDE> SET%LIBRARY&VMS=OF%RDB-F-DB_CORRUPT,%database%filename%is%corruptO-RDMS-F-BADROOTMATCH,%root%file&."$22$DUA1010:[VMS.DATABASE]VDE$DATABASE.RDB;1"%no%longer&has%its%original%name%."$11$DUA1010:[VMS.DATABASE]VDE$DATABASE.RDB;1"OVDE>   M1CTRL/Z %M   O*$ O$ O$? RMU/ALTER%*$22$DUA1010:[VMS.DATABASE]VDE$DATABASE.RDBO? RdbALTER>_?dep%file& RDB$SYSTEM%snapshot%4speci="$22$DUA1010:[VMS.DATABASE]VDE$DATABASE.SNP;1"O RdbALTER>Udep%file& RDB$SYSTEM%4speci="$22$DUA1010:[VMS.DATABASE]VDE$DATABASE.RDA;1"O RdbALTER>Jdep%root&5specif="$22$DUA1010:[VMS.DATABASE]VDE$DATABASE.RDB;1"O  RdbALTER> commitO_  RdbALTER> %  ( M] CTRL/Z ( M u  O $NHOOncethedatabasehasbeenbroughtbackonlineorhas Obeen relocated,makeccertain(utoperformafulldatabase(O5 RMU/BACKUPofthe database.a`b! 7O7.5BPurgingtheStagingArea DirectoriesPOUThestagingarea directorieswillgrowovertimeandmustbeOOmanuallycleaned.'This operationis performedat site-specificLOperiodic intervals-the intervalsare determinedbythesizePO^ofthestagingdeviceandthe frequencyandsizeofreplace-LOments,andbythe frequencyofthedatabasebackups.*ThisMOsection describesthestepsusedtopurgeold replacements.LOhFor informationon utilitizingthestagingarea directories;OduringVDEdatabaserecovery operations,seeSection7.4.10.*?yzLOThestagingarea directoriescanbelocatedwiththecom-Omand:OaVSC> aSHOW%LOCATION/STAGING uKOThiscommanddisplaysthestaging(sub)directory containing*Oallstagingarea directories.! ^KO Underneaththestaging subdirectoryexiststhreelevelsofLOsubdirectories.+Thefiles associatedwitha replacementarePO5locatedinthelowesttwolevelsofthestaging heirarchy-allPOfiles associatedwitha particular replacementarelocatedbe-2Olowaunique subdirectory [.VDE$REP_ *#],infacility-specificFO>subdirectories.'Locatedonelevelabovethe [.VDE$REP_ J*B>]re-NO placement subdirectoryisastagingarea subdirectoryintheOform [.VDE$STG_ *6].+Thestagingarea subdirectoryexistsQOHsolelytoreducethenumberoffilesinanysingle directory.SOForfurtherdetailsonthestatingarea directory structure,seeOSection6.3.2.*O?zNOAnexampleofthefull specificationofastaging directoryOfollows:AOa7VSC$STAGEDISK:[VMS.STAGE.VDE$STG_130.VDE$REP_13066.ERF]a)OThenamesofthe [.VDE$REP_ *(] replacementsubdirectoriesROarebuiltfroma predefinedprefixwiththefivedecimaldigitCO5 replacementnumber appended.) ReplacementnumbersareNO allocatedin ascendingorder,andarenotreusedunlessthe"Odatabaseis recreated.) )OThenamesofthe [.VDE$STG_ **]stagingareasubdirectoriesSOare comrpisedofa predefinedprefixwithallbutthelasttwoHO5decimaldigitsofthe replacementnumber appended.+ThisMOmeanseachofstagingareasubdirectoriesholdsonehundredKO replacement subdirectoryfiles.)Stagingareasubdirectories-LO>oncefilled-arenotreuseduntilandunlesstheentire"Odatabaseis recreated.!g9OToperformthecleanup,issuethecommandOVSC> SHOW%REPLACEMENT/FULLNIOAndlookforthe replacementnumber associatedwiththeQOoldest replacement displayed.(Thisis typicallythefirstentryO5 displayed.! aOOUsingtheoldest replacement identifier,deleteall [.VDE$STG_ O*Qt]stagingareasubdirectorieswherethefirstthreedigitsareLO5lessthantheobserved replacementnumber.)Forexample,ifLOtheoldest outstanding replacementnumberis ``13054'',allPOsubdirectoriesandallfileslocatedunderstagingareasubdi-GO> rectories[.VDE$STG_129...],[.VDE$STG_128...], [.VDE$STG_0O127...],etc.,canbedeleted.*Do not%deletestagingareasub-KO directoriesmorerecentthanthelastVDEdatabasebackupOH operation.'See`HSection7.4.10.*` ?yHl KOFailuretoinsureadequatespaceinthestagingareacan7Oproduceerrorssimilartothe following:QOa%COPY-E-OPENOUT,&error&opening%%VSC$STAGEDISK:[VMS.STAGE.VDE$STG_131.@O*VDE$REP_13163.DECW$DEVICE]DECWINDOWS000.E;%as%outputKO -RMS-F-FUL,%device%full% (insufficient&space&for% allocation)EO9%COPY-W-NOTCOPIED,%dev:[dir]DECWINDOWS000.E;1%not&copied;O%VDE-E-SCRPMODFAIL,&STAGING%script&for%module@O[DECW$DEVICE]DECWINDOWS000.E& terminated%with%errors!rBOTheaboveerroroccuredonthe followingcommand:OVSC>" REPLACE%DECWINDOWS000.E+b ac='O7.6B OffloadingLargeFilesSOUItispossibleforaVDEdatabasetoexceedthecapacityofaOOvolume.)The followingsection describesthestepsrequiredtoJOoffloadthelargerfilesfromoneoftheVDE libraries. POThe followingcommandcanbeusedtolocatethelargerfilesOOpresentintheVDE libraries.)InthecaseofOpenVMS,theseMO5filesare typicallysavesetsfrom contributing projects,areO typicallylarge. _UNote _DThestepsoutlinedinthe following procedureapplyonlyC~tofiles referencedviamarkerfiles.(Further,theHHstepsoutlinedbelowshouldonlybe performedwiththeE assistanceandunderthereviewof individual(s)fa-GmiliarwiththestatusofthevariousstreamspresentRinthelibrary. IOMarkerfilesare typicallylargebinary,image,saveset,NOorlibraryfiles,andassucharenot(andshouldnotbe)JO5storeddirectlyintheCMSlibrary,asthisreducestheHOoverheadinvolvedwhenthereare typicallyratherlargeDOchangesbetweenonemodule generationandthenext.=O>UsetheSHOW MODULE/FULLcommandto determineIOifa particularmoduleisamarkerfile.-UsetheSHOW?ODIRECTORY/DELTAcommandto determinethecurrentOOH (default)locationofthedeltadirectory-specificallythelo-FOcation referencedbythe applicable VDE$MARKERsymbol. {_U~Note {_CRecentversionsofCMShaveaddedsupportfortheE[storageofbinaryfiles,butVDEdoesnot currently!utilizethissupport. # IOThe followingcommandcanbeusedtolocatethelargerLOfile(s)presentinthelocalVDEdatabaseinthe``VMS$''O5library: O$G&DIRECTORY/SIZE/SELECT=SIZE=MINIMUM=500%VMS$:[000000...]*.*.* OOBasedonthefileslocatedbyabovecommand,alistoftheFOlargerfileswas generated,andthe followingcommand(O5 procedurewasthencreated:O$&Set%NoOn?O$&/dir/col=1/siz/out=sys$scratch:masd_listing1.tmp&-$Ivms$:[ddtm.src]ddtmkit.bck?O$&/dir/col=1/siz/out=sys$scratch:masd_listing2.tmp&-E;vms$:[decw$buildtool.src]decw$buildtool.sav,decw$motif%%%.%?O!$&/dir/col=1/siz/out=sys$scratch:masd_listing3.tmp&-/i%vms$:[decw$common.src]decwindows%%%.a?O$&/dir/col=1/siz/out=sys$scratch:masd_listing4.tmp&-;1vms$:[decw$device.src]decwindows000.b,.c,.d,.e,.f?OA$&/dir/col=1/siz/out=sys$scratch:masd_listing5.tmp&-4*vms$:[decw$fonts.src]decwindows000.c,.d,.e?O$&/dir/col=1/siz/out=sys$scratch:masd_listing6.tmp&-5+vms$:[decw$server.src]decwindows000.b,.c,.q?Oa$&/dir/col=1/siz/out=sys$scratch:masd_listing7.tmp&-"vms$:[ipc.src]ipckit.bck?O$&/dir/col=1/siz/out=sys$scratch:masd_listing8.tmp&- 9vms$:[lm.src]lmkit.bck?O$&/dir/col=1/siz/out=sys$scratch:masd_listing9.tmp&-+!vms$:[starlet.src]vic_starlet.obj?O$&/dir/col=1/siz/out=sys$scratch:masd_listinga.tmp&-Xvms$:[syslib.src]*.*?O$&/dir/col=1/siz/out=sys$scratch:masd_listingb.tmp&-(vms$:[tpssda.src]tpssdakit.bck O0$NOx$&Copy%sys$scratch:masd_listing%.tmp%sys$scratch:masd_listing.liszJOBasedontheabovecommand procedure,the followingcom-7Omandisissuedforeachmodulelocated:OaVSC>2 aSHOW%GENERATION/TREE&[DDTM]DDTMKIT.BCK  POBasedontheabove generationlistingandthe directorylist-LOing,youmustnow translateeachmodule generationtotheNO5 associatedfileversion number-this informationallowsyoutoJOremovethe appropriatemodule generations.'Each generationNOofthemodulemustbecheckedagainstthe directorylistingJO>andthe generationtree.(The followingtwocommandsmustMObe issued-thefirstcommandisissuedoncepermodule,andGOthesecondisissuedonceforeachmodule generation:OtVSC>. tSHOW%MODULE&[DDTM]DDTMKIT.BCK/FULLOVSC>7 FETCH/OUT=TT:/GENERATION=n&[DDTM]DDTMKIT.BCK QWJOTheabovecommandsareusedto determinethe generation-KO to-versionmapping,andtoensurethatthemoduleusesaRO5markerfile.'Basedonthe directorylisting,onthe generation-LO to-version translation,andonthe knowledgeofwhichver-KOsionsareinstreamsthatareunlikelytobe immediatelyQO> required,areviewofthefilesthatcanbe offloadedcanbeKO conducted.+Basedontheresultsofthereview,acommandCO proceduresimilartothe followingcanbecreated:Ot$&SET%NOON O$5O$!%Ignore%any&higher-version& warnings.. OL$CO$&READ/PROMPT="^Z%TO%ABORT,%%TO%CONTINUE%"%-:/ERROR=DONE/END_OF_FILE=DONE% SYS$COMMAND%YESNO O$$HOl$&CREATE/DIRECTORY%)VDE$RESD1$:[941002_VMS_MASD_CLEANUP.DDTM]3O$&COPY%VMS$:[DDTM.SRC]DDTMKIT.BCK;54%-3)VDE$RESD1$:[941002_VMS_MASD_CLEANUP.DDTM]3OD$&COPY%VMS$:[DDTM.SRC]DDTMKIT.BCK;53%-3)VDE$RESD1$:[941002_VMS_MASD_CLEANUP.DDTM]LO$& CREATE/DIRECT%0VDE$RESD1$:[941002_VMS_MASD_CLEANUP.DECW$DEVICE]>O$&COPY%(VMS$:[DECW$DEVICE.SRC]DECWINDOWS000.B;18%-:d0VDE$RESD1$:[941002_VMS_MASD_CLEANUP.DECW$DEVICE]>O$&COPY%(VMS$:[DECW$DEVICE.SRC]DECWINDOWS000.C;17%-:0VDE$RESD1$:[941002_VMS_MASD_CLEANUP.DECW$DEVICE]>O;$&COPY%(VMS$:[DECW$DEVICE.SRC]DECWINDOWS000.D;18%-:0VDE$RESD1$:[941002_VMS_MASD_CLEANUP.DECW$DEVICE]>O$&COPY%(VMS$:[DECW$DEVICE.SRC]DECWINDOWS000.E;13%-: 0VDE$RESD1$:[941002_VMS_MASD_CLEANUP.DECW$DEVICE]>O[ $&COPY%(VMS$:[DECW$DEVICE.SRC]DECWINDOWS000.E;11%-: 0VDE$RESD1$:[941002_VMS_MASD_CLEANUP.DECW$DEVICE]>O $&COPY%(VMS$:[DECW$DEVICE.SRC]DECWINDOWS000.F;11%-:3 0VDE$RESD1$:[941002_VMS_MASD_CLEANUP.DECW$DEVICE]DO{ $& CREATE/DIRECT%(VDE$RESD1$:[941002_VMS_MASD_CLEANUP.IPC]1O $&COPY%VMS$:[IPC.SRC]IPCKIT.BCK;47&-2 (VDE$RESD1$:[941002_VMS_MASD_CLEANUP.IPC]COS $& CREATE/DIRECT%'VDE$RESD1$:[941002_VMS_MASD_CLEANUP.LM]/O $&COPY%VMS$:[LM.SRC]LMKIT.BCK;47%-1 'VDE$RESD1$:[941002_VMS_MASD_CLEANUP.LM]HO+ $& CREATE/DIRECT%,VDE$RESD1$:[941002_VMS_MASD_CLEANUP.STARLET]:Os $&COPY%$VMS$:[STARLET.SRC]VIC_STARLET.OBJ;32&-6 ,VDE$RESD1$:[941002_VMS_MASD_CLEANUP.STARLET]:O $&COPY%$VMS$:[STARLET.SRC]VIC_STARLET.OBJ;29&-6K ,VDE$RESD1$:[941002_VMS_MASD_CLEANUP.STARLET]GO $& CREATE/DIRECT%+VDE$RESD1$:[941002_VMS_MASD_CLEANUP.SYSLIB]5O $&COPY%VMS$:[SYSLIB.SRC]VAXCDEF.TLB;30%-5"+VDE$RESD1$:[941002_VMS_MASD_CLEANUP.SYSLIB]5Oj$&COPY%VMS$:[SYSLIB.SRC]VAXCDEF.TLB;28%-5+VDE$RESD1$:[941002_VMS_MASD_CLEANUP.SYSLIB] O$COB$&READ/PROMPT="^Z%TO%ABORT,%%TO%CONTINUE%"%-:/ERROR=DONE/END_OF_FILE=DONE% SYS$COMMAND%YESNO O$2O$&DELETE%VMS$:[DDTM.SRC]DDTMKIT.BCK;542Ob$&DELETE%VMS$:[DDTM.SRC]DDTMKIT.BCK;53=O$&DELETE%(VMS$:[DECW$DEVICE.SRC]DECWINDOWS000.B;18=O$&DELETE%(VMS$:[DECW$DEVICE.SRC]DECWINDOWS000.C;17=O:$&DELETE%(VMS$:[DECW$DEVICE.SRC]DECWINDOWS000.D;18=O$&DELETE%(VMS$:[DECW$DEVICE.SRC]DECWINDOWS000.E;13=O$&DELETE%(VMS$:[DECW$DEVICE.SRC]DECWINDOWS000.E;11=O$&DELETE%(VMS$:[DECW$DEVICE.SRC]DECWINDOWS000.F;110OZ$&DELETE%VMS$:[IPC.SRC]IPCKIT.BCK;47.O$&DELETE%VMS$:[LM.SRC]LMKIT.BCK;479O$&DELETE%$VMS$:[STARLET.SRC]VIC_STARLET.OBJ;329O2$&DELETE%$VMS$:[STARLET.SRC]VIC_STARLET.OBJ;294Oz$&DELETE%VMS$:[SYSLIB.SRC]VAXCDEF.TLB;304O$&DELETE%VMS$:[SYSLIB.SRC]VAXCDEF.TLB;28 O $COQ$&READ/PROMPT="^Z%TO%ABORT,%%TO%CONTINUE%"%-:/ERROR=DONE/END_OF_FILE=DONE% SYS$COMMAND%YESNO O$AO)$&COPY%SYS$SCRATCH:Q.Q&VMS$:[DDTM.SRC]DDTMKIT.BCK;54AOq$&COPY%SYS$SCRATCH:Q.Q&VMS$:[DDTM.SRC]DDTMKIT.BCK;53LO$&COPY%SYS$SCRATCH:Q.Q&(VMS$:[DECW$DEVICE.SRC]DECWINDOWS000.B;18LO$&COPY%SYS$SCRATCH:Q.Q&(VMS$:[DECW$DEVICE.SRC]DECWINDOWS000.C;17LOI$&COPY%SYS$SCRATCH:Q.Q&(VMS$:[DECW$DEVICE.SRC]DECWINDOWS000.D;18LO$&COPY%SYS$SCRATCH:Q.Q&(VMS$:[DECW$DEVICE.SRC]DECWINDOWS000.E;13LO$&COPY%SYS$SCRATCH:Q.Q&(VMS$:[DECW$DEVICE.SRC]DECWINDOWS000.E;11LO!$&COPY%SYS$SCRATCH:Q.Q&(VMS$:[DECW$DEVICE.SRC]DECWINDOWS000.F;11?Oi$&COPY%SYS$SCRATCH:Q.Q&VMS$:[IPC.SRC]IPCKIT.BCK;47=O$&COPY%SYS$SCRATCH:Q.Q&VMS$:[LM.SRC]LMKIT.BCK;47HO$&COPY%SYS$SCRATCH:Q.Q&$VMS$:[STARLET.SRC]VIC_STARLET.OBJ;32HOA$&COPY%SYS$SCRATCH:Q.Q&$VMS$:[STARLET.SRC]VIC_STARLET.OBJ;29CO$&COPY%SYS$SCRATCH:Q.Q&VMS$:[SYSLIB.SRC]VAXCDEF.TLB;30CO$&COPY%SYS$SCRATCH:Q.Q&VMS$:[SYSLIB.SRC]VAXCDEF.TLB;28 O$Oa$&EXIT O$O$DONE:O8$&EXITf<KOTheabovecommand procedureisusedto substituteastubKOfile-anexample``Q.Q''stubfile follows-fortheoriginal!O5versionofthefile.Dt***Kthis&file%was&archived&as&of&Oct%2,%1994&***4t***KContact&[name],%at%[email-address] ****aHOTheendresultoftheabovecommandsandcommandpro-LOceduresisthe relocationofthelarger modules-thosethatNO5are referencedviamarker files-andoutoftheVDElibrary.MOShouldthe offloaded generationofthefilebereservedorNOfetchedforanyreason,the ``archived''noticewillbere-HO>turned.-ThearchivedfilemustbemanuallylocatedandRO retrievedfromonlineorofflinestorage.*(Itis typicallygoodROpracticetoindicatethe particularlocationofthisstorageinOHthestubfile.)NOOAfutureversionofVDEmayincludethe capabilityto``tieNOoff''streamsandoffloadmodules referencedbymarkerfiles0O5inaneasierandcleanerfashion.cbdr wH/O7.7B DefragmentingtheCMSLibraryPOUThissectioncontainsasimplesetof proceduresusedtode-IOfragmenttheCMSportionoftheVDEdatabaseusingtheKOOpenVMSBACKUPutility,usingthesteps appropriatefora5O^VDEdatabaselocatedonashadowset.j! @FOThe followingexampleassumestheVDEdatabaseisatDOddcu:[vde]VDE$DATABASE.RDB,andtheCMS librariesareKO5locatedonthe $11$DSA1:+shadowsetdevice,ashadowsetBO comprisedof $11$DUA10:)and $11$DUA11:.) $11$DUA100:POisassumedtobeascratchdisk equivilentto $11$DUA10:'andO> $11$DUA11:.GO$&RMU/CLOSE/CLUSTER/ABORT=DELPRC%ddcu:[vde]VDE$DATABASE.RDB(O $&DISMOUNT/CLUSTER% $11$DSA1::OS$&!MOUNT/OVER=(SHADOW,IDENT)/NOWRITE% $11$DUA10::O$&!MOUNT/OVER=(SHADOW,IDENT)/NOWRITE% $11$DUA11:'O$& MOUNT/FOREIGN% $11$DUA100:DO+$& BACKUP/IMAGE% $11$DUA10:&$11$DUA100:/VERIFY/INITIALIZE*Os$&DISMOUNT/NOUNLOAD& $11$DUA10:&O$& MOUNT/FOREIGN% $11$DUA10:5O$&BACKUP/PHYSICAL% $11$DUA100:% $11$DUA10:*OK$&DISMOUNT/NOUNLOAD& $11$DUA11:&O$& MOUNT/FOREIGN% $11$DUA11:5O$&BACKUP/PHYSICAL% $11$DUA100:% $11$DUA11:?O#$&MOUNT&($11$DSA1:/SHADOW=($11$DUA10:,$11$DUA11:)%--Oj_$% VMSCMSMASTER%DISK$VMSCMSMASTER WHOTheabovestepsquicklybringthe defragmenteddatabaseJOshadowsetvolumesintosynchronization.(WhiletheshadowRO5setcopy operationcouldalsobeusedto resynchronizethede-EO fragmentedvolume, shadowingmerge performanceisnotUOtunedforthis particular (infrequent) situation;itisfarslower;O>thanthedoubleBACKUP/PHYSICALshownabove.~dceV, ,*O7.8B RelocatingRdb ComponentsDOUItisnormallybesttousetheRdb RMU/BACKUPandHO RMU/RESOREcommandstorelocatea database.(AsthisisPOnotalways possible,the followingcommandsareusedtocloseMO^andthentorelocatevarious individualRdb componentfiles4O associatedwiththeVDERdb database: O<$D<DEFINE/SYSTEM/EXECUTIVE& VDE$OFFLINE&"offline&for%move" O$0#RMU/CLOSE/CLUSTER/ABORT=DELPRC/WAIT&- O_$$VDE$:[ROOTDIR]VDE$DATABASE O$K!&BACKUP%or%COPY&the%database%files%to%the%new&location O\$3\ RMU/ALTER%LIBDEV$:[PROJ]VDE$DATABASE.RDBO RdbALTER>0deposit%file& RDB$SYSTEM%SNAPSHOT%-O _RdbALTER>OESPECIFICATION="LIBDEV_SNAP$:[VDE$ROOT.DB_SNAPSHOT]VDE$DATABASE.SNP;1"O3 RdbALTER>&3deposit%file& RDB$SYSTEM%-O{ _RdbALTER>N{DSPECIFICATION="LIBDEV_AREA$:[VDE$ROOT.DB_STORAGE]VDE$DATABASE.RDA;1"O RdbALTER>Rdeposit%root&9specification="LIBDEV_ROOT$:[VDE$ROOT]VDE$DATABASE.RDB;1"O  RdbALTER> commitOS RdbALTER> S^Z O$I!&Now%adjust%any&VDE$SYSTARTUP.COM& definitions& associated O$M!&with%the&database&to&reflect%the&new% location,%and&also O+$L+!&adjust%the%live%logical&name% definitions%on%all&cluster Os$&s!&members%as% appropriate. O$0DEASSIGN/SYSTEM/EXECUTIVE% VDE$OFFLINE N%ONotethat RMU/ALTERdoes not&  currentlysupportcontinu-POation characterssuchasthehyphen;thehyphenintheaboveareshowninthisGchapter.*TheVSCutilityisintendedtobeusedonly9>withtheOpenVMSVAXsourcecodelibrary. gfh{nQ(O8.1BBuild DependencyGraphs)OUSectionunderconstruction...S))OSectionunderconstruction...hgi{nQ(O8.2BCentralBuild Algorithm)OUSectionunderconstruction...ihjwnM$O8.3BCreatingBuildJobs)OUSectionunderconstruction...jikynO&O8.4B DisplayingBuildJobs)OUSectionunderconstruction...kjl}#O8.5BRunningBuildJobs)OUSectionunderconstruction...OVDE># START& BUILD_JOB%V2-BL5"S))OSectionunderconstruction...yMO&O8.5.1BStartingBuildJobs)O4Sectionunderconstruction...yMO&O8.5.2BStoppingBuildJobs)O4Sectionunderconstruction...{MQ(O8.5.3B SuspendingBuildJobs)O4Sectionunderconstruction...}MS*O8.5.4BWaitingforBuildJobs)O4Sectionunderconstruction...lkm3O8.6BScriptsforBuildStep Execution)OUSectionunderconstruction...OVDE>7 CREATE%SCRIPT%DEVD$:[DIR]FILENAME.VDESCRIPTmlnn\3O8.7B Performing IndividualBuildSteps)OUSectionunderconstruction... O8.7.1BCopySteps)O4Sectionunderconstruction...,l4Tocancelamodule reservation4Owithout replacingthemodule,usethe O8.7.2BCompileSteps)O4Sectionunderconstruction...,l4Tocancelamodule reservation4Owithout replacingthemodule,usethe O8.7.3BLinkSteps)O4Sectionunderconstruction...,l4Tocancelamodule reservation4Owithout replacingthemodule,usethenmon\3O8.8B Initializingthe DependencyGraph)OUSectionunderconstruction...onp[#O 9.2 Architecture!SupportJOThischapterprovidesanoverviewandageneraldescrip-NOtionofhowtousethemultiple-architecturesupportpresentOBwithinVDEXpoq_ 5CO9.1B ArchitecturesintheSourceCodeLibraryRoots/OUVDE architecturesupportaddstheGU arch-variantAU,thearchi-KOtecturevariant.(Oneprocessor-independentrootispresent-HO``VMS''-andzeroormoreprocessor-dependentvariantsO^canbecreated.4^PreviousversionsofVDEincludedim-MOplicitsupportforarch-variants,andallsuchversionsuseOO``VMS''asthenameofthe processor architecture independentOh arch-variant.0 NOAsaspecificexampleofaddingarch-variants,onecansup-DOportbothOpenVMSAlphaandOpenVMSVAX developmentQO5inparalleliftheOpenVMSsourcecode librariesare logically#O reorganizedasfollows: !  `mDmTheVMS arch-variant directorycontainsthefacilityFsubdirectoriesforall architecture independentmodulesDinOpenVMS.ThereisaCMSlibrarywithintheVMSKw arch-variantforeachfacilitythatcontainsatleastone+architecture-independentmodule. `OCOSubdirectorieswithintheVAX arch-variant directoryQcontainCMS librariesforall facilitiesthatcontainatleastGonemodulespecifictotheVAX architecture.) Likewise,EYsubdirectorieswithintheAlpha arch-variant directoryQcontainCMS librariesforall facilitiesthatcontainatleast> onemodulespecifictotheAlpha architecture. `LIfamoduleisarchitecture-independent,itisonlyrepre-FsentedinaCMSlibrarywithintheVMS arch-variant.B:Whenamodulebecomesarchitecture-specific,itisLturnedintotwomodulessothataCMSelementiscreatedJforitwithinboththeVAXandtheAlphaarch-variants.@DTheCMSelementwithintheVMS arch-variantre-Lmainssinceitcontainsthemodule'scontentsforalloldA developmentstreams.,IntheVMS arch-variant,theAMstream(CMSclass)inwhichthemodulewasmadeJarchitecture-specificisboundtoa generationwhosetextKsaysthatthemoduleisnowarchitecture-specific.(IntheGWtheVAXandAlphaarch-variants,thisstreamisboundLtotheinitial generationsofthenewarchitecture-specificA modulesinthosearch-variants.,Thesenewgenera-Ka tionshavethesamecontentsasthelatest generationinA theVMS arch-variantsbeforethemodulewasmadeH architecture-specific.( Thereafter,thethreemodules(theHj VMS,VAX,andAlphamodules,allwiththesamemoduleA name)evolve separatelyasseparateCMS elements. `B NB Ifanewmoduleisspecifictoasingle architecture,thatI moduleisonly representedinaCMSlibrarywithintheE VAXortheAlpha arch-variant, whichever architectureDL applies.+NewmodulesspecifictoOpenVMSAlpha,forI example,willonlyappearwithintheAlpha arch-variant.POThe structure describedhereisnotaproposed structure,butEOtheactual structureasitis presently implemented.- qpr! Z=O9.2BCommandstoSpecifyMultiple ArchitecturesPOUTosupportmultiple architectureswithinasourcecodelibraryMO structure,theVDEsourcecontrolsystemmust representtheJOconceptofan architectureinits module-namesyntaxandOO^inits database.(The module-namesyntaxwewilluseinthisIO specificationisARCH:[FAC]MOD.TYP.HereARCHisthear-JO chitectureofthemodule:'VMSforarchitecture-independentLOhmodulesandVAXorAlphaforarchitecture-specificmodules.COThe remainingfields([FAC]MOD.TYP)havethenormalKOmeanings explainedearlierinthis document.)The architec-UOrturefieldis optional;ifitisomitted,a user-settabledefault%O architectureis supplied.zJOTosetup architecture informationinthesourcecontrolJO database,theVDEutilitysupportsthe followingcommand:OaVDE># aCREATE% ARCHITECTURE%VAXc k9LOThiscommandcreatesan architectureentryinthedatabaseKOandassignsthe architectureanameandaremarkstring.PO5Thiscommandisonlyusedwhenthedatabaseis initiallysetLOup(andwheneverweinvent additional architecturesintheIOfuture).,In addition,theVDEutilitysupportsaMODIFYCO> ARCHITECTUREcommand(tochangetheremarkstring),BOaDELETE ARCHITECTUREcommand(tocorrectmistakesCOindefiningarchitectures),andaSHOW ARCHITECTURE:OHcommand.+TheSHOW ARCHITECTUREcommanddis-FOplays informationaboutalldefinedarchitectures./The?OSHOWDEFAULTScommandshowsthecurrentdefault6OR architecture,alongwithother defaults.LOAcommandthatisofmoreinteresttomost developersisMOthecommandthat establishesadefault architectureforthe)O5currentVSCorVDEsession:OVSC>" SET% ARCHITECTURE%Alpha! OOThisexample specifiesthatAlphaisthedefault architectureJOwhenthe architecturenameisomittedfrommodulenames.RO5Thiscommandalsoresetsthedefaultfacilitytobethefacil-NOityinthenew architecturethathasthesamenameastheWOcurrentdefault facility.'Ifthereisnosuch facility,thedefaultSO>facilitysettingisclearedsothatthedefaultfacilitybecomesO undefined.rqs! U7O9.3BCreatingArchitecture-SpecificModulesOOUTheVSCandVDE utilitiesprovidea qualifiertotheMODIFY@OMODULEcommandthatmakesamodule architecture-MOspecificbycreatingoneormoresingle-architecturemodulesIO^fromanexistingarchitecture-independentmodule.)ThisisOthecommandsyntax:O<VDE>B <MODIFY%MODULE/ARCHITECTURE_SPECIFIC&VMS:[FACIL]FOO.BAR! b:OThiscommandmakesmoduleVMS:[FACIL]FOO.BAR@Oarchitecture-specific!by creating the!two modules=O5VAX:[FACIL]FOO.BARandAlpha:[FACIL]FOO.BAR.TheNOcommandfetchesoutthelatest generationofthemoduleforKOthedefault developmentstreamandmakesthattheinitialOO> generationforthetwonewmodules.)ItalsofetchesouttheLOlatest generationsofany successor developmentstreams(ifQO different)andinsertsthoseintothenewmodules.'ThedefaultSOHstreamandits successorsarethusalldefinedforthetwonewGOarchitecture-specificmodules.+In addition,thiscommandHOcreatesanew generationofthearchitecture-independentJORmoduleintheVMS arch-variant.)This generationisboundNOtothedefaultstreamandits successorsandcontainsfixedJOtextthat indicatesthatthemoduleisnow architecture-KO[ specific.,Thedatabaserecordforthis generationcontainsPOaflag indicatingthatthemoduleisobsoletebecauseitwasKO madearchitecture-specific;hencethesourcecontrolsystemLOecan determinethatthemoduleisobsoletewithoutactually0O examiningthetextofthemodule.f <AOThe/ARCHITECTURE_SPECIFIC qualifiercan optionallyLOtakean architecturenameasa parameter.(Ifthisparame-GO5teris specified,theMODIFYMODULEcommandcreatesaPOnewmoduleforthatone architectureonly,andnotforotherOarchitectures.v! kLDOTomakeanarchitecture-specificmodule architecture-JO independentagain,a developermustfirstinserttheap-KO5 propriate generationsofthemoduleintothe architecture-DO independentmodule(suchasVMS:[FACIL]FOO.BAR).ThisHOisdonewitha combinationofFETCH,RESERVE,REPLACE,EO>andINSERT GENERATION commands,anditmustbedoneIOforallactivestreams.,Mergingtwoarchitecture-specificFOversionsofamoduleintoonearchitecture-independentHOHversionisthuslargelyamanual operation.. Thereafter,FOthemodulemustbemarkedasobsoleteforeachsuchLOstreaminthetwosingle-architecturemodules(forexample,9ORVAX:[FACIL]FOO.BARandAlpha:[FACIL]FOO.BAR). POTocreateanewmodulewhichisspecifictoasinglearchi-BOtecture,auserenterstheCREATEMODULEcommand,(O5 specifyingthe architecture:OVDE>. CREATE%MODULE%Alpha:[FACIL]FOO.BARJOThisexamplecreatesamodulefortheAlpha architectureGOonly.-Ifthemoduleshouldbearchitecture-independent,NO5the architecturemustbe specifiedasVMS, explicitlyorbyOdefault.srt! wa0O9.4B OperationofExistingCommandsKOUThepresenceofmultiple architecturesaffectsthelook-upLOrulesforallcommandsthatacceptmodulenamesasparam-NOeters.(CommandsthatreferdirectlytomodulesbehaveabitLO^ differentlyfromcommandsthatrefertomodule generations.! oFOCommandsthatreferdirectlytomodules,suchasthe6OCREATE,MODIFY,DELETE,andSHOWMODULEFO5 commands,onlycreateor referencethemoduleintheMO architecturetheuser specified.,Ifthe architectureisnotKO specified explicitlyonthemodulename,thecommandusesMO>thedefault architecture establishedbythemostrecentSET>O ARCHITECTUREcommand.)OnanycommandwheretheJOmodulenamemaybe wildcarded,the architecturepartmayLOHalsobe wildcarded.'The followingcommandthusshowsthreeOOmodulesifthemodulehasformsthatareboth dependentand(O independentof architecture:O~VDE>( ~SHOW%MODULE&*:[FACIL]FOO.BAR&OModule%Alpha:[FACIL]FOO.BAR$OModule%VAX:[FACIL]FOO.BAR$OVModule%VMS:[FACIL]FOO.BARuHOCommandsthatrefertomodule generationsneedtolookNOupa generationofamoduleinagiven developmentstream.KO5Usuallythelatest generationofthemoduleinthegivenFOstreamis requested./Whethersucha generationexistsNOdependsonthemodule's architectureaswellasthestream.! trOOGivenan architecture (specified explicitlyorby default),aHOmodule,anda developmentstream,theFETCHorRESERVEJO5commandlooksupthethemodulewiththe specifiednameQOinthe specified architecture.)Ifsuchamoduleisfound,theOOcommandlooksupthelatest generationofthemoduleintheMO> requested developmentstream.(Ifsucha generationisfoundMOandisnotmarkedasobsoletebecausethemodulewasmadeROarchitecture-specific,thatisthe generationthatisfetchedorGOH reserved.+ Otherwise,thecommandprintsamessagesay-UOingthatthemoduledoesnotexist,isnotdefinedinthegivenSOstream,orisobsoleteforthegivenstream.'IfthemodulewasHORmadearchitecture-specific,thecommandprintsthenamesTOofthe architecturesinwhichthemoduleisdefined.&ItisthenOOuptotheusertofetchorreservethe correspondingmodule+O[foreachdesired architecture.t JGOA developerwho primarilyworksonOpenVMSAlphacodeQOmaythussethisorherdefault architecturetoAlpha.)HeorOO5shewillgettheinstanceofthemodulespecifictoOpenVMSSOAlpha,ifthereisone,elseaamessage indicatingthemoduleQOexistsforthe architectureVMSwillbe displayed.'A developerMO>whoseworkisnotfocusedonaspecific architecturecouldKOinsteadsethisorherdefault architecturetoVMS.WhenOOfetchingor reservingamodule,sucha developerwilleitherKOHgetthearchitecture-independentinstanceofthemoduleorOOamessagesayingthatthemoduleisdefinedfor architecture>OVAXorAlpha, whicheverapplies,orforboth. JOTheREPLACEcommanddoesnotlookup generationsintheNOsamesense.+Itlooksupa reservationfora specifiedmod-GO5uleand developmentstreamonthe assumptionthattheROmodulebelongstothe architecturethattheuser specifies,ei-SOther explicitlyorbydefault.)Ifthereisnosuch reservation,CO>thecommandprintsanerrormessage.)The UNRESERVE.Ocommandusesthesame procedure.o! kE GENERATIONcommanddisplaysthelistof generationsOOthatgaverisetothelatest generationofthemoduleinaNO specifiedstream,italsoshowsatwhat generationthemod-HOHulewas convertedfrombeingarchitecture-independentto@Obeingarchitecture-specific.+TheINSERT GENERATION@OandDELETE GENERATIONcommandsonlyworkonthe3OR architecturethattheuser specifies. tsu! )6O9.5BChange PropagationandFoldRecordsROUWhenamoduleisreplacedintothelibrary,thesourcecontrolMOsystemmayhaveto propagatethechangefromthe specifiedHO developmentstreamtoits successors.*Change propagationLO^andfoldrecordshavealreadybeen explainedfortheone-NO architecturecase.(Inthepresenceofmultiplearchitectures,3Othe following additionalrulesapply:   d  `mHmIfthestream successorchaindoesnotcrossfromtheGarchitecture-independenttothearchitecture-specificin-Hstanceofthemodulebeing replaced,change propagationIwandfoldrecord generationworkas describedearlierinthis document. `OJOIfthe developmentstream successorchaincrossesanar-A chitectureboundaryformodule[FACIL]FOO.BAR(forAexample,ifVMS:[FACIL]FOO.BARcontainsthegener-;YationinstreamAETNAandVAX:[FACIL]FOO.BAR:andAlpha:[FACIL]FOO.BARcontainthegenera-? tionsinstream PHOENIX),thenthesourcecon-Cbtrolsystem generatesfoldrecordssayingthatthe<changetoVMS:[FACIL]FOO.BARmustbemanually: propagatedtomodulesVAX:[FACIL]FOO.BARandElAlpha:[FACIL]FOO.BAR.ThesameistrueifthechangeBmustbe propagatedfromanarchitecture-independent5moduletoasingle-architecturemodule. `CSourcechangeswillnotbe propagated automaticallyJacrossan architectureboundaryinVersion1ofthenewFMsourcecontrolsystem.-Ingeneral,amodulewillnotHbemadearchitectures-specificunlessitsAlphaformisD differentfromitsarchitecture-independentform.+TheIWVAXformismorelikelytobethesameastheorigi-Bnalarchitecture-independentform,whichwouldmakeG change propagationacross architecturesuseful,buttheFa implementationofsuchchange propagationis difficultH andwill thereforebe deferred.)ThismeansthatchangeC  propagationacross architecturesmustbedonemanu-Oj ally,justasfoldsare.'Foldrecordswillremind developers8 whensuchchange propagationis required. `B MB Ifamoduleisarchitecture-specific,thenachangetotheI Alphamodulecan optionallygenerateafoldrecordthatG remindstheusertomakethesamechangetotheVAXHL module,andviceversa.)Inthis situation,theREPLACEK commandwillasktheuserwhethertocreatesuchafold record.A LOInsummary,whileVDEdoesincludesupportmultiplesourceIOcodearchitectures,thereisnosupport automaticchangeGO5 propagationacrossarchitectures.-VDEdoessupportfold;Orecordsforchangesthatspanarchitectures.Dw*Putv6 [ /O 10.2The! Graphical!User! InterfacesKOVDEprovidesanXWindowsMotif graphicaluser interface,IOaswellasaWorldWideWeb(WWW) interface accessableOBviaMosaic.3 BThissectionisunderconstruction...(vux}nS O10.1CMotif Interface3OUThissectionisunderconstruction...MV#-O10.1.1CMotifVersion InformationJO4TheVDEis heirarchical;thedisplayshows,in decendingNOorder,theVDElibrary,thestreamswithinthelibrary,theKO facilitieswithinthestream,andthemoduleswithineachO= facility.|ROFigure10-1<#isanexampleofthefacility-leveldisplay.*OFOkQOThisistheVDEMotif interfaceforV1.5-0.(This interfaceisO Copyright1997.]33OThissectionisunderconstruction...M^+O10.1.2CMotifLibrary Selection3O4Thissectionisunderconstruction... kSOInitialVDElibrary selectionisbasedonthe definitionoftheAOlogicalname VDE$LIBRARY.Ifthe VDE$LIBRARYlog-MO5icalnameisnotdefined,VDEsearchesforthefileMotifAOdatafileDECW$USER_INCLUDE:VDE.DAT.AnexampleofOVDE.DATfollows: Ok#O#&VDE.DAT&O#&VDE%Motif% configurationHOB#&file%created%by:%VDE&for%OpenVMS&VAX%Version&V1.5-0andtheyprovidea shorthand referenceto individual libraries.NOMultiplelistsoflibrarydefaultsare supportedandcanbeNOcreatedfor individualusers,usergroups,allsystemusers,SOHallclusterusers,andforeclecticgroupsofusersbasedonaPOsharedlogicalnametable.'Notethateach individualuserhas:Oaccesstoonlyasinglelistof defaults.! WQOTherearethreepartstoeachdefaultlibraryspecification-theQOlibrarydatabasedeviceand directoryspecification,thedisplayPO5valueshowntotheuserforeach database,andthe shorthandMOmnemonicforeachlibrary.)ThesevaluesareusedtoaccessSOthelibraryondisk,forthetextusedtodisplaythelibrary,KO>andasanicknamefora particularlibrary, respectively.! LOVDEreadsandusesvaluesfromlogicalnamesearchlists,POorfromtheVDE.DATMotifresourcefile,asthedefaultval-QO5uesforvariouslibrary selection operations.'Thelogicalnames>OusedforthispurposeareVDE$LIBRARY_DEFAULTS,4OVDE$LIBRARY_DEFAULTS_LABELS, VDE$LIBRARY_3O> DEFAULTS_CMS,andVDE$LIBRARY_DEFAULTS_O MNEMONICS.! xTOVDE translatesthelistofdefault librariesfromtheabovelog-POicalnames,or(ifthelogicalsareabsent)fromtheVDE.DAT O5Motifresourcefile. _UNote _6>AnullVDE$LIBRARY_DEFAULTSlogicalname; definition,oramissingVDE$LIBRARY_DEFAULTSAlogicalname definitionwillcauseVDEtoaccessFHthedefaultMotifresourcefilelookingforthelistFof defaults.,Thenull definitionlogicallowsanon-D privilegedusertooverridea system-wideorgroup-IRwidelogicalname definition(usinganulllogicalnameIinasearched-beforelogicalnametable)anduseasetJofdefaultlibrary definitionslocatedina user-specific*[or system-wideresourcefile. &bAOAnexampleofthe definitionofthe VDE$LIBRARY_1O DEFAULTS,VDE$LIBRARY_DEFAULTS_LABELS,6O5VDE$LIBRARY_DEFAULTS_CMS,and VDE$LIBRARY_6ODEFAULTS_MNEMONICSlogicalnamesfollows:0O$& DEFINE/JOB%VDE$LIBRARY_DEFAULTS%-&OZ_$%SYS$SYSDEVICE:[LIB1],%-O_$%XYZZY$:[LIB2],%- O_$%PLUGH$:[MASTERLIB]7O2$& DEFINE/JOB%VDE$LIBRARY_DEFAULTS_LABELS&- Oz_$%"Library%One",%- O_$%"Library%Two",%-O _$%"Master&Library":OR$& DEFINE/JOB%VDE$LIBRARY_DEFAULTS_MNEMONICS&-O_$%"L1",%-O_$%"L2",%-O)_$%"ML"4Oq$& DEFINE/JOB%VDE$LIBRARY_DEFAULTS_CMS&-O_$%"L1CMS",%-O_$%"L2CMS",%-OI_$%"MLCMS"suHOThemnemonicnamesforthe librariesarealsoacceptedDObythecommand(non-graphical) interfaceSETLIBRARYBO5command./The followingtwo commands,basedontheGOaforementionedlogicalnames,arevalidand equivalent:OVDE> SET%LIBRARY&MLOZVDE>* ZSET%LIBRARY&PLUGH$:[MASTERLIB]MU"O10.1.4CMotif Resources3O4Thissectionisunderconstruction...OSeetheoSaveOptionsZentryonthe7OptionsYpulldownforO information.xvynX%O10.2C WWW/Mosaic Interface3OUThissectionisunderconstruction...Tyxz*O A.!TroubleShooting! InformationJOThe followingsectionscontaintroubleshooting information.?OAndin addition,seetheVDE ReferenceManual.]33OThissectionisunderconstruction...zy{$OA.1CPeriodic MaintenanceJOUVDEhasafewtasksthatwillneedtobe performedatOperiodic intervals.F `mmBACKUPs!HWPeriodicBACKUPsoftheVDElibraryare required,bothCtheCMS librariesandtheareference>(Rdb_acronym) database.j@ WSeecWSection7.4. `Staging*c|?D! 5xNWVDEstagesall replacementfilesintothestagingarea,andLthefilesinthisareamustbemanuallydeletedatsite-Lspecific intervals.(Theintervalthese deletionsmustoccurIais dependentontheamountof freespaceonthestagingKdisk,andonthesizeand frequencyofthe replacements,LandonthebackuppoliciesusedforthestagingdiskandMktheCMSlibrarydisk(s),andonthe likelyhoodthestagingLfileswillbeneededduringany potentialrecoveryoftheCMS libraries.Np$ WSeecWSection7.5.*c|?{ z|nV#OA.2CCMSTroubleshooting3OUThissectionisunderconstruction... "%OA.2.1CCMSLibraryLockedAO4The followingexampleshowsanCMSCMS$_TRYAGNLATO interlockerror.`O%VDE-I-GENDEL,% generation&ITTING]STARTUP.UP3;38(38)%deleted&from%stream&DRAGON]OY%VDE-I-GENRETAINED,& generation%ITTING]STARTUP.UP3;38(38)&retained&in&libraryFO %CMS-E-NOREF,&error& referencing&VMS$:[000000.KITTING.CMS]@O-CMS-E-TRYAGNLAT,%library&locked;%try&again&laterAO1 -RMS-E-FLK,%file& currently%locked%by%another%userqOy%VDE-E-CMSINSGEN,%CMS%error% inserting& generation%37%of%element% STARTUP.UP3%into&class&DRAGON0O -CMS-E-NOREF,&error& referencing&!ASJO %VDE-I-ROLLBACK,&database& transaction&has%been&rolled%backD JOBasedonthe particularCMSlibrarythatcausedtheer-LOror,the followingexampleshowsthecommands necessarytoKO5detecttheprocessholdingthe interlockamongallmemberKOnodespresentinthe VMScluster,andhowto (brute-force)Ofreeit.#Ok$&Run%Sys$System:SysMan7OSYSMAN>&DO&SHOW%DEVICE/FILE/NOSYSTEM%VMS$AO%SYSMAN-I-OUTPUT,%command& execution%on%node&HELENAKOBFiles%accessed%on%device%DSA69:&on& 21-MAR-1997& 17:50:22.21AO%SYSMAN-I-OUTPUT,%command& execution%on%node&GALAXYKOFiles%accessed%on%device%DSA69:&on& 21-MAR-1997& 17:50:24.10AO%SYSMAN-I-OUTPUT,%command& execution%on%node&DIMONDKObFiles%accessed%on%device%DSA69:&on& 21-MAR-1997& 17:50:25.23(OProcess&namePIDFile%nameO DRAGONBLD06081487FK[VMS.KITTING.CMS]00CMS.CMS;1AO:%SYSMAN-I-OUTPUT,%command& execution%on%node&EDISONKOFiles%accessed%on%device%DSA69:&on& 21-MAR-1997& 17:50:27.65@O%SYSMAN-I-OUTPUT,%command& execution%on%node&BRYTTKOFiles%accessed%on%device%DSA69:&on& 21-MAR-1997& 17:50:43.58OZSYSMAN>&^Z)O$&SET%PROCESS/PRIVILEGE=WORLDO$&STOP/ID=6081487F^MOIntheabove examples,theVMS$logicalname translatestoODSA69:.& C0OA.2.2CCMS3.8-2andIndexedFilesGO4Undercertaincircumstances,CMS3.8-2cannot correctlyPOretrieveanindexedfilestoredintheCMSlibrary.*ThefileEOremainsvalidandremains uncorruptedwithintheCMSO=library.;O%CMS-E-NOFETCH,%error%fetching%element%[name];O -CMS-E-OPENOUT,%error%opening%!AS%for&output>OR-CMS-E-OPENOUT,%error%opening%[name]%for&outputDO -RMS-E-NPK,%no%primary&key%defined&for%indexed&file^O%CMS-F-BADBUG,%there%is%an% unrecoverable&bug%in%CMS%or% something&it&callsGO*-CMS-F-RBKNOTOPEN,%File%passed%to%rollback%is%not&openNJOThisisaknownprobleminCMS3.8-2onOpenVMSAlpha.PODonotstoreindexedfilesdirectlyinCMS,storeallbinary.O5filesasaVDE``markerfile''.E! 1OA.2.3C RecoveringLostCMS LibrariesSO4Ifthedeltafiles(theCMS libraries)inyourVDElibraryareTOdamagedorlostduetoadiskfailureorothercause,youmustCOrecoverasmuchofitslostcontentsas possible._ OSeeSection7.4.109fordetailsonhowtoperformthistask.*F?y/OA.2.4CMovingtoLargerCMSDisksHO4Thissection describeshowtomovetheCMSlibraryto/O different-andusually larger-disks.n OSeeSection7.4.118forone procedureusedtogettolargerOdisks.*F?:|{}n[(OA.3CVMS_MENUTroubleshooting3OUThissectionisunderconstruction... qDOVMS_MENUdisplays generatedVDEcommandsthelogical-OnameVDE$$DBG_SCRIPTisdefined.}|~nk8OA.4CVDESpawned ProcessingTroubleshooting3OUThissectionisunderconstruction...m CEOLike VMS_MENU,VDEuseslogicalnamestoenabletheJOdisplayofDCLcommandsexecutedinspawned subprocesses.DO5IfthelogicalnameisVDE$$DBG_SENDMSGisdefined,IOtheDCLcode generatedbyvariousVDEroutineswillbe'O displayedduring execution.R R M1JIncertainexisting installationsofVDE,VDEusershaveI5accesstothreecommand interfaces:'VDE,VSC,andVTSC.HThecommandsets,the operations,andthe personalitiesMareall effectively identical;thesalient differencesamongH>thethreecommand interfacesincludethelibrarychosenLforinitialaccess,andthedefaultsettingofthe/KEPT_PROCESS qualifier.IHUnless otherwise indicated,theVDE,VSC,andVTSCcom-Jmandsetsand capabilitiesare completelyinterchangeable.JAny applicable differenceswillbe explicitlycalledout. RSee!RAppendixB.*!Oh +OTableB-1:8VDE,VSCandVTSC O  OFVDE FVSCFVTSCrF Operation Ob  O No  Yes  No?r Defaultsto referencingtheOpenVMSVAXlibrary O$ No $ No $ YesCr$ Defaultsto referencingtheOpenVMStestinglibrary O Yes  No  NoOr Defaultstothelibrary referencedbythe VDE$LIBRARYlogicalr name Oe Yes e No e NoLre Defaultsto processingthecommandinthecurrentprocess. O No  Yes  YesLr Defaultstospawningakept subprocessand processingcom-r, mandsthere. O Yes  Yes  YesBr Canoperate correctlyontheOpenVMSVAXlibrary. O  Yes   Yes   YesMr  CanSETLIBRARYandcanoperate correctlyonuser-specified+rm privatesourcecode libraries. O })gINDEXINDEX!i  iAA)S  8ABMABMbS++8 Acceptingaqueued replacementAccepting a queued replacement#YS&&8ACCEPT REPLACEMENTcommandACCEPT REPLACEMENT command#7S N8 qualifiersqualifiers*FS9ACCEPT subcommandACCEPT subcommand7S 9 ACCONFLICTACCONFLICT<ZS%%8AddinguserstodatabaseAdding users to database=S8 AFTER_JOURNALAFTER_JOURNAL-S  8AIJAIJn;S 8 AIJTERMINATEAIJTERMINATE?S8ANALYZE/SYSTEMANALYZE/SYSTEM+;S 8 architecturearchitecture;S 8 arch-variantarch-variantKS9At-sign(@)commandAt-sign (@) commandN@S9ATTACHcommandATTACH commandNFS8ATTACH subcommandATTACH subcommand3S 8 AttributesAttributes=S N8ofalibraryof a librarySS##8Audittrail identifiersAudit trail identifiersb!i  jBB]S))9BackinguptheRdbdatabaseBacking up the Rdb databaseUBS8BACK subcommandBACK subcommand/S8BackupBackupV+S8BACKUPBACKUPfS!--N8LackofDatabaseSynchronizationLack of Database SynchronizationLsS'449Backup proceduresforlibrarydatabaseBackup procedures for library databaseEBS8BackupRecoveryBackup Recoveryg;S 9 BADROOTMATCHBADROOTMATCH>S9bugcheckdumpbugcheck dump3<M3BugcheckFilesBugcheck Files:MN3See RDSBUGCHKSee RDSBUGCHK>S8BUILDcommandBUILD command4S 8BuildjobsBuild jobs3S N8creatingcreating7S N8 displayingdisplaying1SN9runningrunning3S N9startingstarting3S N8stoppingstopping7S N8 suspendingsuspending:S N8waitingforwaiting for6S 8BuildstepsBuild steps>SN9compilestepscompile steps8S N9copystepscopy steps8S N8linkstepslink steps7S N8 performingperforming:S N8scriptsforscripts for+S8BYPASSBYPASS5S N8 PrivilegePrivilege'!i  iCCKS9CANCELFOLDCommandCANCEL FOLD CommandRS""9 Cancelling ReplacementsCancelling ReplacementsIS8CANCELLOGcommandCANCEL LOG commandNYS&&8CANCEL REPLACEMENTCommandCANCEL REPLACEMENT Command7S N8 QualifiersQualifiersOS!!8CANCELVERIFYcommandCANCEL VERIFY commandNLS9Change propagationChange propagationr)S  9CLDCLD-S  8CMSCMSZS''N8historyandnotesdefaultshistory and notes defaults9S N8 importationimportationISN8indexedfileerrorindexed file errorMS  N9librarylockederrorlibrary locked errorPS!!N9Multiple ArchitecturesMultiple Architectures@SN8 UploadingfromUploading from9S 9 CMS$_BADBUGCMS$_BADBUG7S 8 CMS$_NOREFCMS$_NOREFAS8CMS$_RBKNOTOPENCMS$_RBKNOTOPEN?S8CMS$_TRYAGNLATCMS$_TRYAGNLAT:S8CMS librariesCMS librariesASN9DefragmentationDefragmentation[S''N9 recoveringlost informationrecovering lost informationy6S 8CMSlibraryCMS libraryMS  N8buildstreamclassesbuild stream classesb:S N8classnamesclass namesoUS$$N8 developmentstreamnamesdevelopment stream nameso]S&&N9 populating facilitiesfrompopulating facilities from8S 9CMSoverheadCMS overhead-SN8DeltaDelta-S8CommandCommandFSN8command charactercommand characterJ@SN8commandrecallcommand recall!TS!!N9 continuation charactercontinuation characterJJSN8 seperator characterseperator characterBS8Command ProcedureCommand ProcedureGSN9NIGHTLY_VDE_BACKUPNIGHTLY_VDE_BACKUPbKSN9POPULATE_LIBRARIESPOPULATE_LIBRARIESeqGSN8POP_REUSED_CLASSPOP_REUSED_CLASSgqMSN8VDE_DATABASE_BACKUPVDE_DATABASE_BACKUPUZKSN8VDE_DATABASE_RESTOREVDE_DATABASE_RESTOREfFS8Comment CharacterComment CharacterJFS9COMPILEcommandCOMPILE command>S9CompilestepsCompile stepsFS8 CompilingmodulesCompiling modulesRS""8 Concurrent reservationsConcurrent reservationsv3S 8ContextsContextsTTS!!8 Continuation CharacterContinuation CharacterJ3S 9 ConversionConversion5S N9 AutomaticAutomaticGSN8oflibraryformatof library format3S 8 ConvertingConverting8S N8FromCMSFrom CMSSS##8CONVERTLIBRARYcommandCONVERT LIBRARY command@S 8COPYcommandCOPY commandBS8CopyingmodulesCopying modules8S 9CopystepsCopy steps)S  9CRECRE7_S''8CREATE ARCHITECTUREcommandCREATE ARCHITECTURE command_S))8CREATEDIRECTORY_TREEcommandCREATE DIRECTORY_TREE command*>$8CREATEFACILITY/FROM_CMS_-LIBRARYcommandCREATE FACILITY/FROM_CMS_ LIBRARY commandiWS##8CREATEFACILITYcommandCREATE FACILITY commandk 3"9CREATELIBRARY/DATABASE-commandCREATE LIBRARY/DATABASE commandk 3"9CREATELIBRARY/SNAPSHOT-commandCREATE LIBRARY/SNAPSHOT commandYS""8CREATELIBRARYcommandCREATE LIBRARY command3S N8examplesexamples[S!!8CREATEMODULEcommandCREATE MODULE commandKS!!8CREATEMODULECommandCREATE MODULE Command3S N9ExamplesExamples7S N9 QualifiersQualifiersSS!!9CREATESCRIPTcommandCREATE SCRIPT command}WS!!9CREATESTREAMcommandCREATE STREAM command`jWS8CREATEUSERcommandCREATE USER command3S N8examplesexamples/S 8CreatingCreating?SN8aVDElibrarya VDE library8S N9buildjobsbuild jobs7S N9 facilitiesfacilities1SN8ModulesModules5SN8StreamsStreams^-SN8usersusersHS8CURRENT subcommandCURRENT subcommand!i  jDD/S 9DatabaseDatabaseFSN8backup proceduresbackup proceduresEKSN8DevicenamechangesDevice name changesDSN8Moving databasesMoving databases5S N8 placementplacementJSN8recovery proceduresrecovery proceduresE7S 8 DB_CORRUPTDB_CORRUPT@S9DefaultFacilityDefault Facility5S N9 switchingswitchingT<S8DefaultStreamDefault Stream5S N8 switchingswitchingTPS!!8DEFINE/COMMANDcommandDEFINE/COMMAND commandNHS8 DEFINE/KEYcommandDEFINE/KEY commandNAS9DefragmentationDefragmentation[S''9DELETE ARCHITECTUREcommandDELETE ARCHITECTURE commandWS%%8DELETE GENERATIONcommandDELETE GENERATION commandK7S N8 qualifiersqualifiersOOS!!8DELETEMODULECommandDELETE MODULE Command/S 8DeletingDeletingFSN8databaseentitiesdatabase entitiesLS9Deleting generationsDeleting generationsK)S9DeltaDelta<S N8CMSoverheadCMS overhead6S 9DeltafilesDelta filesJSN8 directory structuredirectory structure@S8 DependencygraphDependency graph;S N8 initializinginitializingFS8 DevelopmentStreamsDevelopment Streams7S N9 DisplayingDisplaying=SN9 SpecificationSpecification/5S 8 DifferencesDifferences7S N8 displayingdisplayingJS8 DIFFERENCEScommandDIFFERENCES command7S N8 qualifiersqualifiersFS9 Directory structureDirectory structure:S N9deltafilesdelta files=S N8ofalibraryof a library<S N8stagingareastaging areaFS8 Directory StructureDirectory Structure1SN8StreamsStreamsLS9 DIRECTORY subcommandDIRECTORY subcommand<S8 DirectorytreeDirectory tree:S N9forstreamsfor streams9S 9 DISKQUOTADISKQUOTA38GS8DiskQuotaerrorsDisk Quota errors73S 8 DisplayingDisplaying8S N8buildjobsbuild jobsHSN8defaultsettingsdefault settings,19S N9 DevelopmentDevelopmentcS ++N9 differencesbetween generationsdifferences between generationsHSN8editor definitionseditor definitionsM7S N8 facilitiesfacilities9S N8 GenerationsGenerations1SN8modulesmodules;S N9 replacementsreplacements;S N9 ReservationsReservations1SN8StreamsStreams-SN8usersusers4M 2DumpFilesDump Files:MN3See RDSBUGCHKSee RDSBUGCHK!i  iEE<S 8EditingtextEditing textKFS8Editor definitionEditor definitionKBS8EDIT subcommandEDIT subcommand+S9ErrorsErrors[S''N9 Generatingbugcheckdump...Generating bugcheck dump...3ASN8RDB$_DB_CORRUPTRDB$_DB_CORRUPTGSN8RDB$_SYS_REQUESTRDB$_SYS_REQUEST8GSN8RDMS$_BADROOTMATCHRDMS$_BADROOTMATCHESN8RDMS$_FILACCERRRDMS$_FILACCERR<?SN9SS$_ACCONFLICTSS$_ACCONFLICT<ASN9SS$_EXDISKQUOTASS$_EXDISKQUOTA8=SN8 SS$_FILACCERRSS$_FILACCERR8/S 8ExamplesExamples-SN8FETCHFETCHBSN8RESERVECommandRESERVE CommandsUS$$N9SHOW REPLACEMENTCommandSHOW REPLACEMENT CommandDSN9SHOW RESERVATIONSHOW RESERVATION3SN8UploadUpload9S 9 EXDISKQUOTAEXDISKQUOTA7MS  8 ExecutingbuildjobsExecuting build jobsZS$$8EXIT/KEPT_PROCESScommandEXIT/KEPT_PROCESS command"C<S 8EXITcommandEXIT commandNBS8EXIT subcommandEXIT subcommand!i  iFF7S 9 FacilitiesFacilities)PS""N9addingnewmodulestoadding new modules to3S N8creatingcreating7S N8 displayingdisplaying`S((N8 populatingfromCMSlibrarypopulating from CMS libraryWS%%N8 populatingfrom directorypopulating from directoryBS9FETCHcommandFETCH command:S9FETCHCommandFETCH Command3S N8ExamplesExamples7S N8 QualifiersQualifiersSS##8FetchingsourcemodulesFetching source modules=S 8 FILACCERRFILACCERR8<DS8FIRST subcommandFIRST subcommand<S 8FoldRecordsFold Records97S N9 CancellingCancellingGSN9Cross-ArchitectureCross-Architecture>SN8 DefinitionOfDefinition Of7S N8 DisplayingDisplayingBS8FreezedeadlockFreeze deadlock+%S  8FULFULKSN9stagingdevicefullstaging device full!i  iGG[S''8 Generatingbugcheckdump...Generating bugcheck dump...33S 8 GenerationGeneration)S  N8CMSCMSZ7S N8 expressionexpressionZ3SN9numbernumber=Z9S 9 GenerationsGenerations43S N8deletingdeletingK7S N8 DisplayingDisplaying5S N8 insertinginserting<7S N8 recoveringrecovering3S N8removingremovingC5S N8 verifyingverifying|!i  jHHLS  9HangonSETLIBRARYHang on SET LIBRARY+<S 8HELPcommandHELP commandN-S8HistoryHistory7S N8 DisplayingDisplayingCS8HistoryandnotesHistory and notesDSN9defaultsettingsdefault settings!i  iII5S 8 IdentifiersIdentifiers:S N8audittrailaudit trailbPS!!8 Immediate replacementsImmediate replacementsJS8InitializationfileInitialization fileG7S 9 InitializingInitializingDSN9 dependencygraphdependency graph[S%%9INSERT GENERATIONcommandINSERT GENERATION command<7S N9 qualifiersqualifiersAkS#008 Inserting generationintoastreamInserting generation into a stream<!i  iJJ8S 8JournalfileJournal fileMS  N8 recoveringfromlostrecovering from lostm@S 9JournalFileJournal FilenCSN9ReinitializationReinitialization!i  iKKFS8Kept SubprocessKept SubprocessB!i  iLLBS8LAST subcommandLAST subcommand-S9LibraryLibraryKM!!N3SeeLibrary MnemonicsSee Library MnemonicsCSN9addinguserstoadding users to5SN8ClosingClosing%1SN8CorruptCorruptB3S N8creatingcreatingYS&&N8databasebackup proceduresdatabase backup proceduresE]S((N8databaserecovery proceduresdatabase recovery proceduresEJSN8 directory structuredirectory structureBS N8MasterPackMaster Pack5S N9 MnemonicsMnemonics1SN9PrivatePrivate7S N8 PrivilegesPrivileges8S N8RMUBackupRMU BackupV<S N8RMURecoveryRMU RecoverygKSN8TestingMasterPackTesting Master PackRS##N9TestSuiteMasterPackTest Suite Master PackHS9Library attributesLibrary attributes<S N8addingusersadding usersPS""N8CMShistoryandnotesCMS history and notesHSN8database placementdatabase placementMS  N8deletionofentitiesdeletion of entitiesJSN9 directory structuredirectory structureFSN9format conversionformat conversionHSN8Mail notificationsMail notifications=SN8 miscellaneousmiscellaneous@S8LibraryentitiesLibrary entitiesMS  N8allowingdeletionofallowing deletion of@S 8LINKcommandLINK commandBS8LinkingmodulesLinking modules8S 9LinkstepsLink steps8S 9LogicalnameLogical nameASN8VDE$$DBG_SCRIPTVDE$$DBG_SCRIPTCSN8VDE$$DBG_SENDMSGVDE$$DBG_SENDMSG8S 8LogicalNameLogical NameLSN8initializationfilesinitialization filesG3S N9RDMS$RUJRDMS$RUJ09S N9 SYS$SCRATCHSYS$SCRATCH3S N8VDE$INITVDE$INITG=S N8 VDE$LIBRARYVDE$LIBRARYKSN8VDE$LIBRARY_DEFAULTSVDE$LIBRARY_DEFAULTSSS""N8VDE$LIBRARY_DEFAULTS_CMSVDE$LIBRARY_DEFAULTS_CMSd/N9VDE$LIBRARY_DEFAULTS_LABELSVDE$LIBRARY_DEFAULTS_ LABELSj 2N9VDE$LIBRARY_DEFAULTS_ MNEMONICSVDE$LIBRARY_DEFAULTS_ MNEMONICS9S N9 VDE$OFFLINEVDE$OFFLINE9S N9 VDE$SCRATCHVDE$SCRATCH3S N8VSC$INITVSC$INITG5S N8 VTSC$INITVTSC$INITG!i  iMMFS8Mail notificationMail notification:S 9MarkerfileMarker file:S 9MarkerFileMarker File1M 3 MnemonicsMnemonicsKM!!N3SeeLibrary MnemonicsSee Library Mnemonics[S''8MODIFY ARCHITECTUREcommandMODIFY ARCHITECTURE commandWS%%8MODIFY GENERATIONcommandMODIFY GENERATION command[S''8MODIFY LIBRARY/LOCKcommandMODIFY LIBRARY/LOCK commandw&9(8MODIFYLIBRARY/NOAUTO_CONVERT-commandMODIFY LIBRARY/NOAUTO_CONVERT command]S""9MODIFYLIBRARYcommandMODIFY LIBRARY commandSS!!9MODIFYMODULEcommandMODIFY MODULE commandVWS!!8MODIFYSTREAMcommandMODIFY STREAM commandRXrKS8MODIFYUSERcommandMODIFY USER command1S8ModulesModules)MS  N8addingto facilitiesadding to facilities5S N8 compilingcompiling1SN8copyingcopying3S N9CreatingCreating7S N9 displayingdisplaying1SN8linkinglinking:S N8namesyntaxname syntax*3S8MosaicMosaic1S8MotifMotif!i  jNN8S 9NameSpaceName Space)BS8NEXT subcommandNEXT subcommandu%8%8NIGHTLY_VDE_BACKUPcommand- procedureNIGHTLY_VDE_BACKUP command procedurebHS8 NotificationlistsNotification listsR!i  iOO/S 8ObsoleteObsoleteHSN9markingafileasmarking a file asQ1S9OfflineOffline-S8OpenVMSOpenVMS:S N9MasterPackMaster Pack!i  iPP3S 8 PerformingPerforming:S N8buildstepsbuild stepsRS""8 Performing replacementsPerforming replacements/[S''9PERFORM REPLACEMENTcommandPERFORM REPLACEMENT command/3S N9examplesexamples;7S N8 qualifiersqualifiers9[S''8PERFORM REPLACEMENTCommandPERFORM REPLACEMENT CommandCS8POPULATE_LIBRARIESPOPULATE_LIBRARIESJSN8Command ProcedureCommand Procedureeqy%8%9POPULATE_LIBRARIEScommand- procedurePOPULATE_LIBRARIES command procedureeq3S 9 PopulatingPopulating\S((N8 directoriesfornewstreamsdirectories for new streams \S&&N8facilityfromCMSlibraryfacility from CMS librarySS##N8facilityfrom directoryfacility from directoryXS&&N8facilitywithnewmodulesfacility with new modules?S9POP_REUSED_CLASSPOP_REUSED_CLASSFSN8Command procedureCommand procedureqFSN9Command ProcedureCommand Proceduregu#6#9POP_REUSED_CLASScommand- procedurePOP_REUSED_CLASS command proceduregq3S 8 PrivilegesPrivileges/SN8BYPASSBYPASS'3SN8CREMODCREMOD]1SN8CRESCRPCRESCRP}1SN9CRESTRMCRESTRM]5SN9DefaultDefault9S N8 InheritanceInheritanceBFSN8Kept SubprocessesKept SubprocessesB/SN8MODLIBMODLIB=SN8PERFREPPERFREP8<HK1SN9READALLREADALL/SN9RESREPRESREP/SN8SETPRVSETPRVMS  N8StandardforlibraryStandard for library?SN8SYSPRVSYSPRV'gp@S8ProcessDeletionProcess Deletion;S N8 UnexpectedUnexpected;>9S 8 PropogationPropogation9!i  jQQ)S  9QARQARQM$$3Quality AssuranceReportQuality Assurance Report%M  N3QARQARNS8Queued ReplacementsQueued ReplacementsJS8Queued ReservationsQueued Reservations+S8QuotasQuotas9S N8 InheritanceInheritanceBFSN9Kept SubprocessesKept SubprocessesB!i  iRR%S  8RdbRdb>SN8bugcheckdumpbugcheck dump39S 8 RDB$JOURNALRDB$JOURNALAS8RDB$_DB_CORRUPTRDB$_DB_CORRUPTGS9RDB$_SYS_REQUESTRDB$_SYS_REQUEST8EM3RdbBugcheckFilesRdb Bugcheck Files:MN3See RDSBUGCHKSee RDSBUGCHK8S 9RdbdatabaseRdb database8S N8backingupbacking upU=M3RdbDumpFilesRdb Dump Files:MN3See RDSBUGCHKSee RDSBUGCHK1S9RDM$RUJRDM$RUJ8=S8 RDMDBRBUG.DMPRDMDBRBUG.DMP<OS!!8RDMS$RUJLogicalNameRDMS$RUJ Logical Name0GS8RDMS$_BADROOTMATCHRDMS$_BADROOTMATCHES8RDMS$_FILACCERRRDMS$_FILACCERR<5S 8 RDSBUGCHKRDSBUGCHK=S9 RDSBUGCHK.DMPRDSBUGCHK.DMP03S 8 RecoveringRecoveringRS##N8fromlostjournalfilefrom lost journal filem9S N8 generationsgenerationsMS  N8lostCMS informationlost CMS informationy)>,8Recovery proceduresforlibrary-databaseRecovery procedures for library databaseEOS!!9RecoveryProcessDumpRecovery Process Dump<3S 9 RecreatingRecreating>SN8JournalFilesJournal Files@SN8SnapshotFilesSnapshot FilesbS++8 Rejectingaqueued replacementRejecting a queued replacement%YS&&8REJECT REPLACEMENTcommandREJECT REPLACEMENT command%7S N8 qualifiersqualifiers*FS8REJECT subcommandREJECT subcommandWS%%9REMOVE GENERATIONcommandREMOVE GENERATION commandC7S N9 qualifiersqualifiersILS8Removing generationsRemoving generationsC1S 8 RepairingRepairing)S  N8ABMABM)S  N8AIJAIJJSN9 AIJTERMINATEerrorsAIJTERMINATE errors+SN9SPAMSPAMJS8REPLACEcommandREPLACE command7S N8 qualifiersqualifiersBS8REPLACECommandREPLACE Command3S N8ExamplesExamples7S 9 ReplacementsReplacementsDSN9 acceptingqueuedaccepting queued#7S N8 CancellingCancelling3S N8CreatingCreating7S N8 displayingdisplaying5S N8 immediateimmediateFSN8 performingqueuedperforming queued/3SN8QueuedQueuedDSN9 RejectingQueuedRejecting Queued%DSN9 reviewingqueuedreviewing queued US$$8 ReplacingSourceModulesReplacing Source Modules7S 8 ReservationsReservations5S N8 CancelingCanceling3S N8creatingcreatingc7S N9 DisplayingDisplaying/SN9queuedqueuedJS8RESERVEcommandRESERVE commandc>S8RESERVECommandRESERVE Command3S N8ExamplesExampless7S N8 QualifiersQualifiersoUS$$9 ReservingsourcemodulesReserving source modulescZS''9 RestoringtheVDEdatabaseRestoring the VDE databasef@S9ReviewerlistsReviewer listsR]S((9 Reviewingqueued replacementReviewing queued replacement YS&&8REVIEW REPLACEMENTcommandREVIEW REPLACEMENT command 3S N8examplesexamples7S N8 qualifiersqualifiersUS&&8REVIEW REPLACEMENTCommandREVIEW REPLACEMENT CommandHSN9 SubsystemCommandsSubsystem Commands3S 9 RightslistRightslist9S N8 InheritanceInheritanceBFSN8Kept SubprocessesKept SubprocessesB5S 8 RMONSTARTRMONSTART9S 8 RMONSTART41RMONSTART419S 9 RMONSTART60RMONSTART603S 9RMONSTOPRMONSTOP7S 8 RMONSTOP41RMONSTOP417S 8 RMONSTOP60RMONSTOP603S 8RMS$_CRERMS$_CRE7/S 8RMS$_FULRMS$_FULKSN8stagingdevicefullstaging device full=S  8RMURMU%BVgm9S 8 RMU/ALTERRMU/ALTERnFS9 RMU/ALTERcommandRMU/ALTER commandB7S 9 RMU/BACKUPRMU/BACKUPHS8 RMU/BACKUPcommandRMU/BACKUP commandB9S 8 RMU/CLOSERMU/CLOSEv&8'8RMU/DUMP/HEADER/OPTIONS=DEBUG-commandRMU/DUMP/HEADER/OPTIONS=DEBUG commandDS8RMU/DUMPcommandRMU/DUMP command=S9 RMU/MOVE_AREARMU/MOVE_AREA7S 9 RMU/REPAIRRMU/REPAIR?S8RMU/REPAIR/ABMRMU/REPAIR/ABM1S8RMU/SETRMU/;@0 @0SET_S))8RMU/SET AFTER_JOURNALcommandRMU/SET AFTER_JOURNAL commands$7&8RMU/SHOWLOCK/MODE=BLOCKING-commandRMU/SHOW LOCK/MODE=BLOCKING command+HS9 RMU/UNLOADcommandRMU/UNLOAD commandB+S9RootRootIS8RunningbuildjobsRunning build jobs!i  iSSBS8ScriptCommandsScript Commands}5S8ScriptsScripts>}CSN8forbuildstepsfor build stepsQS""N8 populatingNewStreamspopulating New Streams 5S 9 SCRPMODFAILSCRPMODFAILKSN9stagingdevicefullstaging device fullMS  8SCTNotes ConferenceSCT Notes Conference3S 8SecuritySecurityFS8SELECT subcommandSELECT subcommandJS8 Seperator CharacterSeperator Character3S 9SessionsSessionsOUS$$9SET ARCHITECTUREcommandSET ARCHITECTURE commandOS!!8SET DIRECTORYcommandSET DIRECTORY commandIS8SETEDITORcommandSET EDITOR commandKUS  8SETFACILITYcommandSET FACILITY command+euCS8SETKEYcommandSET KEY commandN6S 9SETLIBRARYSET LIBRARY+SN8HangHang+OS9SETLIBRARYcommandSET LIBRARY commandCS9SETLOGcommandSET LOG commandNQS""8SET PRIVILEGEScommandSET PRIVILEGES command+S8SETPRVSETPRV5S N8 PrivilegePrivilegeMS  8SETSECURITYcommandSET SECURITY commandIS9SETSTREAMcommandSET STREAM command0MS  9SETTERMINALcommandSET TERMINAL commandNIS8SETVERIFYcommandSET VERIFY commandNWS%%8SHOW ARCHITECTUREcommandSHOW ARCHITECTURE commandQS""8SHOW BUILD_JOBcommandSHOW BUILD_JOB commandSS!!8SHOWDEFAULTScommandSHOW DEFAULTS command,1US""9SHOW DIRECTORYcommandSHOW DIRECTORY commandKS9SHOWEDITORcommandSHOW EDITOR commandMOS!!8SHOWFACILITYcommandSHOW FACILITY command3S N8examplesexamples7S N8 qualifiersqualifiersGS8SHOWFOLDcommandSHOW FOLD commandWS##8SHOW GENERATIONcommandSHOW GENERATION command3S N8examplesexamples7S N9 qualifiersqualifiersMS  9SHOWHISTORYcommandSHOW HISTORY command_S))8SHOWLOCATION/STAGINGcommandSHOW LOCATION/STAGING commandOS8SHOWMODULEcommandSHOW MODULE command3S N8examplesexamples7S N8 qualifiersqualifiersYS$$9SHOW REPLACEMENTcommandSHOW REPLACEMENT command,7S N9 qualifiersqualifiersQS$$8SHOW REPLACEMENTCommandSHOW REPLACEMENT Command3S N8ExamplesExamplesUS$$8SHOW RESERVATIONcommandSHOW RESERVATION commandQS$$8SHOW RESERVATIONCommandSHOW RESERVATION Command3S N8ExamplesExamples7S N9 QualifiersQualifiersOS9SHOWSTREAMcommandSHOW STREAM commandu3S N9examplesexamples7S N9 qualifiersqualifiersBS8SHOW subcommandSHOW subcommandGS8SHOWUSERcommandSHOW USER command3S N8examplesexamples 7S N8 qualifiersqualifiers3S 9SnapshotSnapshot:S9SnapshotFileSnapshot FileCSN8ReinitializationReinitialization+S8SPAMSPAM>S8SPAWNcommandSPAWN commandNDS8SPAWN subcommandSPAWN subcommand?S9SS$_ACCONFLICTSS$_ACCONFLICT<AS9SS$_EXDISKQUOTASS$_EXDISKQUOTA7=S8 SS$_FILACCERRSS$_FILACCERR88S 8StagingareaStaging areaJSN8 directory structuredirectory structure8S 8StagingAreaStaging Area_S))N8periodiccleanup requirementsperiodic cleanup requirementsLSN8VDE$REP subdirectoryVDE$REP subdirectoryLSN9VDE$STG subdirectoryVDE$STG subdirectoryJS9Standard privilegesStandard privilegesSS##8START BUILD_JOBcommandSTART BUILD_JOB commandKS8StartingbuildjobsStarting build jobs)S8StepsSteps>SN8compilestepscompile steps8S N9copystepscopy steps8S N9linkstepslink steps7S N8 performingperforming:S N8scriptsforscripts forQS""8STOP BUILD_JOBcommandSTOP BUILD_JOB commandKS8StoppingbuildjobsStopping build jobs-S9StreamsStreamsOS  N9Architecture-dependentArchitecture-dependentSS""N8Architecture-independentArchitecture-independent7S N8CreatingCreating^9S N8 DevelopmentDevelopment/JSN8 Directory StructureDirectory StructureBSN8 DirectorytreesDirectory trees7S N8 DisplayingDisplaying<S N9FoldRecordsFold Records9KSN9ScriptstoPopulateScripts to Populate =SN8 SpecificationSpecification/;S N8 SuccessorsSuccessorsr +S8SUBMITSUBMITISN8NightlyVDEBackupNightly VDE BackupbQS""9 SuccessorsforstreamsSuccessors for streams FS9 SuccessorstreamsSuccessor streamsrWS%%8SUSPEND BUILD_JOBcommandSUSPEND BUILD_JOB commandOS!!8 SuspendingbuildjobsSuspending build jobs5S 8 SYS$SCRATCHSYS$SCRATCH<S N8LogicalNameLogical NameSS""9SYS$SYSTEM:RDMDBRBUG.DMPSYS$SYSTEM:RDMDBRBUG.DMP<3S9SYSMANSYSMAN38+S8SYSPRVSYSPRV9S N9 PrivilegePrivilege'_S))8System AuthorizationDatabaseSystem Authorization Database3S8SYSUAFSYSUAF=S 8 SYS_REQUESTSYS_REQUEST8!i  iTTAS9TroubleshootingTroubleshooting!i  iUU)S  8UAFUAFFS8 UNRESERVEcommandUNRESERVE commandBS8 UNRESERVECommandUNRESERVE Command7S N8 QualifiersQualifiersYS&&8 UnreservingsourcemodulesUnreserving source modulesDS9UploadExampleUpload ExampleWS##9 UploadingCMS LibrariesUploading CMS Libraries)S8UsersUsersMSN8addingtodatabaseadding to database3S N8creatingcreating7S N8 displayingdisplaying!i  iVV]S((8VDE$$DBG_SCRIPTlogicalnameVDE$$DBG_SCRIPT logical name_S))9VDE$$DBG_SENDMSGlogicalnameVDE$$DBG_SENDMSG logical name5S 9 VDE$BUILDVDE$BUILD?CS8VDE$CREATE.COMVDE$CREATE.COMWS%%8 VDE$EXAMPLESlogicalnameVDE$EXAMPLES logical name3S 8VDE$INITVDE$INITG=S 8 VDE$LIBRARYVDE$LIBRARYKS9VDE$LIBRARY_DEFAULTSVDE$LIBRARY_DEFAULTSSS""9VDE$LIBRARY_DEFAULTS_CMSVDE$LIBRARY_DEFAULTS_CMSYS%%8VDE$LIBRARY_DEFAULTS_LABELSVDE$LIBRARY_DEFAULTS_LABELSj 28VDE$LIBRARY_DEFAULTS_- MNEMONICSVDE$LIBRARY_DEFAULTS_ MNEMONICSFS8 VDE$MARKERsymbolVDE$MARKER symbol9S 8 VDE$OFFLINEVDE$OFFLINEUS$$9 VDE$OFFLINElogicalnameVDE$OFFLINE logical nameeS!,,9VDE$REPLACE_DEFAULTlogicalnameVDE$REPLACE_DEFAULT logical nameLS8VDE$REP subdirectoryVDE$REP subdirectory5S 8 VDE$SCRATCHVDE$SCRATCH<S N8LogicalNameLogical NameLS8VDE$STG subdirectoryVDE$STG subdirectoryIS8VDE$SYSTARTUP.COMVDE$SYSTARTUP.COM;S 8 VDE$UPLOADVDE$UPLOAD;S 9 VDE$_OFFLINEVDE$_OFFLINE!?S9VDE$_SCRPMODFAILVDE$_SCRPMODFAILKSN8stagingdevicefullstaging device fullLS8 VDE/READ_UAFcommandVDE/READ_UAF command3S N8examplesexamples<S 8VDEdatabaseVDE databaseMS  N9 conversionofformatconversion of format5S N9 placementplacementiS"//N8 recoveringfromlostjournalfilerecovering from lost journal filem5S N8 restoringrestoringf6S 8VDElibraryVDE library3S N8creatingcreating:S 9VDEutilityVDE utility9S 9VDEvsVSCVDE vs VSC{&9&9VDE_DATABASE_BACKUPcommand- procedureVDE_DATABASE_BACKUP command procedureUZy':'9VDE_DATABASE_RESTOREcommand- procedureVDE_DATABASE_RESTORE command proceduref[S%%8VERIFY GENERATIONcommandVERIFY GENERATION command|1S 8 VerifyingVerifying9S N8 generationsgenerations|3S 8VSC$INITVSC$INITG:S 9VSCutilityVSC utility9S 9VSCvsVDEVSC vs VDE5S 8 VTSC$INITVTSC$INITG<S 8VTSCutilityVTSC utility!i  iWWQS""8WAIT BUILD_JOBcommandWAIT BUILD_JOB commandRS##9WaitingforbuildjobsWaiting for build jobsJS9Wildcard charactersWildcard charactersg)S  8WWWWWW!i  iXX6S 8XWindowsX Windowsm~#}M##OA.5CRdbTroubleshootingS))OA.5.1CUserProcess DeadlocksJ  JO Process-level deadlocksoccur infrequently,andtheyoftenJOinvolve high-traffic applicationssuchasdatabasebackupsDO5ortheyinvolveaVDEcommandthatwaspausedvia  T2XOFF T KOcommand.p F-OToresolvethese deadlocks,seeSection7.3.1.* F?% !  OA.5.2CFreezeinRdbUO4ItispossibleforRdb processestodeadlockwaitingfortheRdbO ``freeze'' resource.n D+OToresolvethis deadlock,seePSection7.3.2.* PF?(.  /OA.5.3C ResolvingRdbprocessdumpsMO4Rdb generatesadumpfilewhenit encountersan unexpectedKO condition.+Undertypicalcircumstances,Rdbwilldisplaya=Omessage indicatingadumpisbeing generated.{Q8OTo determinethecauseofthedump,seeSection7.3.3.*F?,s/OA.5.4CRdbrun-unitjournalerrorsKO4Therun-unitjournalareaisakey componentoftheRdbJO processing,andallowsRdbtorollback incompleteorer-COroneousdatabase operations..Andwhenan unexpectedJO= conditionoccurswiththerun-unitjournal,Rdbtendsto"Ogenerateadumpfile.mC*OToresolvetheseerrors,see+Section7.3.4.*+F?.1OA.5.5CMissingrun-unitjournalareaLO4Iftherun-unitjournalareaisentirelymessing,onecan?O potentiallyseeanRdbbugcheckdump generated.mC*OToresolvetheseerrors,see+SectionA.5.5.*+F?0i! V?:OA.5.6CRdbrun-unitjournal diskquotaerrorsKO4Rdbrequiresthecreationofarun-unitjournalfile..ByQOdefault,thisisintheuser'slogindevice,inthe directoryPO [RDM$RUJ],andthislocationcanbealteredusingthelogicalO=name RDMS$RUJ.oE*OToresolvetheseerrors,see+Section7.3.4.2.*+F?7.OA.5.7CRdbrecoveryprocessdumpsJO4Rdb generatesadumpfilewhentherecoveryprocessen-9Ocountersan unexpected condition.'Alsosee\SectionA.5.7.1.*\O?oE*OToresolvetheseerrors,see+Section7.3.4.3.*+F?; 4OA.5.7.1BMissingrun-unitjournalfiles0O)Arecovery-processdumpsimilartox)SectionA.5.7R)canalsobe2OseenwhentheRUJfileismissing.*x?oE*OToresolvetheseerrors,see+Section7.3.4.4.*+F?>T! *9OA.5.8C RecoveringfromaLostJournalFileLO4Ifthe after-imagejournalfileforyourVDEdatabasebe-ROcomes unavailableduetoadiskfailureorothercause,nobodySOwillbeabletousethedatabaseandVDE operationswillfail.sI0OTorecoverfromtheseerrors,see Section7.4.8.* F?m/OA.5.9CMovingtoLargerRdbDisksPO4 Sometimes,onejustrunsoutofstoragespaceonthedisk(s)&OholdingtheRdb database.tJ OSeeSectionA.5.9, andfSection7.8.*F?*fF|?P~3O B.! Comparison!of!VDE,"VSC,!and"VTSCHOCertainVSC installationshavethreecommand interfaces: OVDE,VSC,andVTSC.! dHOAs mentioned previously,theVDE,VSCandVTSCcommandPO interfacesallusethesamecommandsyntax,allusethesameKO5messageprefix,andallperformthesamebasic functions.OTableB-1Ccontainsa high-level comparisonofthe differences*Oamongthecommand interfaces.*OPk? fKOTherearenoother operational differencesamongthecom-Omand interfaces.D! NOWhilethisdocument generallyreferstotheVDEutilityandRO sometimestoVSCutility,the informationhereisalsodirectlyLO5 applicabletotheVTSCutility.+Andinafew places-whereHO informationrelatedto librariesotherthantheOpenVMSNOVAXsourcecodecontrollibraryis presented-theVDEutilityMO>is specificallyused.*For additional informationonVSCand OVDE,pleaseseethe VDE ReferenceManual Z."WKOWhyaretherethree interfaces?)Simple:*eachwastailoredKOtotheneedsofspecificpartsoftheOpenVMS community.NO5However,duetothecreationofvarious additional librariesNOandthecommonuseofthese librariesforvarious purposes,JOtheuseofthe ``stock''VDEimagehas generallybecomeO> preferable.*#    !!!!!!"!!######$####%%%%%&&&&'&&((((((((((((((())))((((**********++++,,++----./0001000022223222244444444445544446666666666788898888:::;::<======>=??============@@@@@@@@A@BBCCCCCCCCCCCDCEEEEEEFGGGGGGGHIIIIIJKLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNOOPPPPQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRRRTTTTUTTTTTTTTTTTTVTTTTTTTTTWTTTTTTTTTTTTTTTTTXXXXXXXXXXXXXYYYYYYYYYYYZZZ[[[[[[[[[\\\]]]^^^^_________________________________````````````````````````````````````````````````````````````````````````aaaaaaaaaaaabbbbbbbbbbbcccddeeeeeeeefffgghijkkkkkklmmmmnoppppqqqqqrrrrrrssssssstttuvvvwvvvvvvvvvvvvvxyyzzzzzz{{{{{{{{{{||}}~~~~~~~~~~~~~~~~~~~~~~xPrefaceIntended AudienceDocument StructureDocument StructureDocument StructureAssociated DocumentsConventionsConventionsConventions1. Introduction1. Introduction1.1 What is VDE?1.1 What is VDE? Note 11.1 What is VDE?1.1 What is VDE?1.1 What is VDE?1.1 What is VDE?1.1 What is VDE?1.1 What is VDE?1.1 What is VDE? Note 2*1.2 VDE and the OpenVMS VAX Library*1.2 VDE and the OpenVMS VAX Library*1.2 VDE and the OpenVMS VAX Library*1.2 VDE and the OpenVMS VAX Library*1.2 VDE and the OpenVMS VAX Library!1.3 Modules and Facilities!1.3 Modules and Facilities!1.3 Modules and Facilities!1.3 Modules and Facilities1.4 Development Streams1.4 Development Streams1.4 Development Streams1.4 Development Streams1.4 Development Streams1.5 Generations1.5 Generations1.5 Generations1.5 Generations1.6 Architectures1.6 Architectures1.6 Architectures"1.7 Propogation and Folding"1.7 Propogation and Folding"1.7 Propogation and Folding"1.7 Propogation and Folding"1.7 Propogation and Folding&1.8 Customization Using Scripts&1.8 Customization Using Scripts&1.8 Customization Using Scripts1.9 Convenience Features1.9.1 Kept Subprocess1.9.1 Kept Subprocess1.9.1 Kept Subprocess!1.9.2 Initialization Files!1.9.2 Initialization Files!1.9.2 Initialization Files Note 3!1.9.2 Initialization Files!1.9.2 Initialization Files$1.9.3 Selecting a Text Editor$1.9.3 Selecting a Text Editor$1.9.3 Selecting a Text Editor$1.9.3 Selecting a Text Editor01.9.4 Grouping Reservations into Sessions01.9.4 Grouping Reservations into Sessions01.9.4 Grouping Reservations into Sessions-1.9.5 Defining Defaults Using Contexts-1.9.5 Defining Defaults Using Contexts-1.9.5 Defining Defaults Using Contexts)1.9.6 Default Libraries, Mnemonics)1.9.6 Default Libraries, Mnemonics)1.9.6 Default Libraries, Mnemonics)2. Reserving and Replacing Modules)2. Reserving and Replacing Modules)2.1 Identifying Module Generations)2.1 Identifying Module Generations)2.1 Identifying Module Generations)2.1 Identifying Module Generations)2.1 Identifying Module Generations)2.1 Identifying Module Generations)2.1 Identifying Module Generations)2.1 Identifying Module Generations)2.1 Identifying Module Generations2.2 Reserving Modules2.2 Reserving Modules2.2 Reserving Modules2.2 Reserving Modules2.2 Reserving Modules2.2 Reserving Modules2.2 Reserving Modules2.2 Reserving Modules2.2 Reserving Modules2.2 Reserving Modules2.2 Reserving Modules2.2 Reserving Modules2.2 Reserving Modules4Table 2- 1: Qualifiers to the RESERVE command4Table 2- 1: Qualifiers to the RESERVE command4Table 2- 1: Qualifiers to the RESERVE command2.2 Reserving Modules2.2 Reserving Modules2.2 Reserving Modules$2.2.1 Concurrent Reservations$2.2.1 Concurrent Reservations$2.2.1 Concurrent Reservations$2.2.1 Concurrent Reservations$2.2.1 Concurrent Reservations$2.2.1 Concurrent Reservations$2.2.1 Concurrent Reservations$2.2.1 Concurrent Reservations$2.2.1 Concurrent Reservations 2.2.2 Queued Reservations 2.2.2 Queued Reservations 2.2.2 Queued Reservations 2.2.2 Queued Reservations2.3 Creating New Modules2.3 Creating New Modules2.3 Creating New Modules2.3 Creating New Modules2.3 Creating New Modules2.3 Creating New Modules:Table 2- 2: Qualifiers to the CREATE MODULE command2.3 Creating New Modules2.3 Creating New Modules2.4 Fetching Modules2.4 Fetching Modules2.4 Fetching Modules2.4 Fetching Modules2.4 Fetching Modules2.4 Fetching Modules2Table 2- 3: Qualifiers to the FETCH command2.4 Fetching Modules2.4 Fetching Modules2.4 Fetching Modules2.4 Fetching Modules2.5 Unreserving Modules2.5 Unreserving Modules2.5 Unreserving Modules2.5 Unreserving Modules2.5 Unreserving Modules"2.6 Displaying Reservations"2.6 Displaying Reservations"2.6 Displaying Reservations"2.6 Displaying Reservations=Table 2- 4: Qualifiers to the SHOW RESERVATION command"2.6 Displaying Reservations"2.6 Displaying Reservations2.7 Replacing Modules2.7 Replacing Modules2.7 Replacing Modules2.7 Replacing Modules2.7 Replacing Modules2.7 Replacing Modules2.7 Replacing Modules2.7 Replacing Modules2.7 Replacing Modules2.7 Replacing Modules2.7 Replacing Modules2.7 Replacing Modules2.7 Replacing Modules2.7 Replacing Modules2.7 Replacing Modules4Table 2- 5: Qualifiers to the REPLACE command4Table 2- 5: Qualifiers to the REPLACE command4Table 2- 5: Qualifiers to the REPLACE command4Table 2- 5: Qualifiers to the REPLACE command2.7 Replacing Modules2.7 Replacing Modules2.7 Replacing Modules2.7 Replacing Modules.2.8 Change Propagation and Fold Records.2.8 Change Propagation and Fold Records.2.8 Change Propagation and Fold Records.2.8 Change Propagation and Fold Records.2.8 Change Propagation and Fold Records.2.8 Change Propagation and Fold Records.2.8 Change Propagation and Fold Records.2.8 Change Propagation and Fold Records.2.8 Change Propagation and Fold Records.2.8 Change Propagation and Fold Records)2.9 Displaying Queued Replacements)2.9 Displaying Queued Replacements)2.9 Displaying Queued Replacements)2.9 Displaying Queued Replacements=Table 2- 6: Qualifiers to the SHOW REPLACEMENT command=Table 2- 6: Qualifiers to the SHOW REPLACEMENT command)2.9 Displaying Queued Replacements)2.9 Displaying Queued Replacements*2.10 Cancelling Queued Replacements*2.10 Cancelling Queued Replacements*2.10 Cancelling Queued Replacements*2.10 Cancelling Queued Replacements?Table 2- 7: Qualifiers to the CANCEL REPLACEMENT command 3. Displaying Information 3.1 Displaying Facilities 3.1 Displaying Facilities 3.1 Displaying Facilities:Table 3- 1: Qualifiers to the SHOW FACILITY command 3.1 Displaying Facilities 3.1 Displaying Facilities 3.1 Displaying Facilities 3.1 Displaying Facilities3.2 Displaying Modules3.2 Displaying Modules3.2 Displaying Modules3.2 Displaying Modules8Table 3- 2: Qualifiers to the SHOW MODULE command3.2 Displaying Modules3.2 Displaying Modules3.2 Displaying Modules3.2 Displaying Modules*3.3 Displaying Generation Histories*3.3 Displaying Generation Histories*3.3 Displaying Generation Histories*3.3 Displaying Generation Histories*3.3 Displaying Generation Histories*3.3 Displaying Generation Histories*3.3 Displaying Generation Histories*3.3 Displaying Generation Histories*3.3 Displaying Generation Histories*3.3 Displaying Generation Histories<Table 3- 3: Qualifiers to the SHOW GENERATION command<Table 3- 3: Qualifiers to the SHOW GENERATION command*3.3 Displaying Generation Histories*3.3 Displaying Generation Histories*3.3 Displaying Generation Histories*3.3 Displaying Generation Histories53.4 Displaying Differences between Generations53.4 Displaying Differences between Generations53.4 Displaying Differences between Generations53.4 Displaying Differences between Generations53.4 Displaying Differences between Generations53.4 Displaying Differences between Generations53.4 Displaying Differences between Generations53.4 Displaying Differences between Generations53.4 Displaying Differences between Generations53.4 Displaying Differences between Generations8Table 3- 4: Qualifiers to the DIFFERENCES command)3.5 Displaying Development Streams)3.5 Displaying Development Streams)3.5 Displaying Development Streams8Table 3- 5: Qualifiers to the SHOW STREAM command)3.5 Displaying Development Streams)3.5 Displaying Development Streams)3.5 Displaying Development Streams)3.5 Displaying Development Streams3.6 Displaying Users3.6 Displaying Users3.6 Displaying Users6Table 3- 6: Qualifiers to the SHOW USER command3.6 Displaying Users3.6 Displaying Users'4. Reviewing Queued Replacements34.1 Reviewing Modules Queued for Replacement34.1 Reviewing Modules Queued for Replacement34.1 Reviewing Modules Queued for Replacement34.1 Reviewing Modules Queued for Replacement34.1 Reviewing Modules Queued for Replacement34.1 Reviewing Modules Queued for Replacement?Table 4- 1: Qualifiers to the REVIEW REPLACEMENT command34.1 Reviewing Modules Queued for ReplacementHTable 4- 2: Commands Accepted in the REVIEW REPLACEMENT SubsystemHTable 4- 2: Commands Accepted in the REVIEW REPLACEMENT Subsystem34.1 Reviewing Modules Queued for Replacement34.1 Reviewing Modules Queued for Replacement34.1 Reviewing Modules Queued for Replacement34.1 Reviewing Modules Queued for Replacement34.1 Reviewing Modules Queued for Replacement34.1 Reviewing Modules Queued for Replacement34.1 Reviewing Modules Queued for Replacement34.1 Reviewing Modules Queued for Replacement34.1 Reviewing Modules Queued for Replacement34.1 Reviewing Modules Queued for Replacement34.1 Reviewing Modules Queued for Replacement34.1 Reviewing Modules Queued for Replacement64.2 Accepting or Rejecting a Queued Replacement64.2 Accepting or Rejecting a Queued Replacement64.2 Accepting or Rejecting a Queued Replacement64.2 Accepting or Rejecting a Queued Replacement64.2 Accepting or Rejecting a Queued Replacement64.2 Accepting or Rejecting a Queued Replacement64.2 Accepting or Rejecting a Queued Replacement64.2 Accepting or Rejecting a Queued ReplacementWTable 4- 3: Qualifiers to the ACCEPT REPLACEMENT and REJECT REPLACEMENT commands64.2 Accepting or Rejecting a Queued Replacement#5. Project Leader Operations#5. Project Leader Operations)5.1 Performing Queued Replacements)5.1 Performing Queued Replacements)5.1 Performing Queued Replacements)5.1 Performing Queued Replacements)5.1 Performing Queued Replacements)5.1 Performing Queued Replacements)5.1 Performing Queued Replacements)5.1 Performing Queued Replacements)5.1 Performing Queued Replacements)5.1 Performing Queued Replacements)5.1 Performing Queued Replacements@Table 5- 1: Qualifiers to the PERFORM REPLACEMENT command)5.1 Performing Queued Replacements 5.2 Inserting Generations 5.2 Inserting Generations 5.2 Inserting Generations 5.2 Inserting Generations 5.2 Inserting Generations 5.2 Inserting Generations>Table 5- 2: Qualifiers to the INSERT GENERATION command5.3 Removing Generations5.3 Removing Generations5.3 Removing Generations5.3 Removing Generations5.3 Removing Generations5.3 Removing Generations5.3 Removing Generations>Table 5- 3: Qualifiers to the REMOVE GENERATION command5.4 Deleting Generations5.4 Deleting Generations5.4 Deleting Generations5.4 Deleting Generations5.4 Deleting Generations>Table 5- 4: Qualifiers to the DELETE GENERATION command.5.5 Marking Module Generations Obsolete55.6 Specifying Reviewer and Notification Lists55.6 Specifying Reviewer and Notification Lists55.6 Specifying Reviewer and Notification Lists55.6 Specifying Reviewer and Notification Lists55.6 Specifying Reviewer and Notification Lists55.6 Specifying Reviewer and Notification Lists55.6 Specifying Reviewer and Notification Lists55.6 Specifying Reviewer and Notification Lists55.6 Specifying Reviewer and Notification Lists55.6 Specifying Reviewer and Notification Lists55.6 Specifying Reviewer and Notification Lists55.6 Specifying Reviewer and Notification Lists5.7 Creating New Streams5.7 Creating New Streams#5.7.1 Creating Build Streams#5.7.1 Creating Build Streams#5.7.1 Creating Build Streams#5.7.1 Creating Build Streams#5.7.1 Creating Build Streams#5.7.1 Creating Build Streams#5.7.1 Creating Build Streams#5.7.1 Creating Build Streams%5.7.2 Creating Release Streams%5.7.2 Creating Release Streams%5.7.2 Creating Release Streams%5.7.2 Creating Release Streams%5.7.2 Creating Release Streams%5.7.2 Creating Release Streams%5.7.2 Creating Release Streams%5.7.2 Creating Release Streams%5.7.2 Creating Release Streams%5.7.2 Creating Release Streams%5.7.2 Creating Release Streams%5.7.2 Creating Release Streams%5.7.2 Creating Release Streams%5.7.2 Creating Release Streams%5.7.2 Creating Release Streams%5.7.2 Creating Release Streams%5.7.3 Example Stream Creations%5.7.3 Example Stream Creations%5.7.3 Example Stream Creations%5.7.3 Example Stream Creations,5.8 Tailoring Processing With Scripts,5.8 Tailoring Processing With Scripts"Table 5- 5: Script Commands"Table 5- 5: Script Commands$6. Establishing a VDE Library$6. Establishing a VDE Library$6. Establishing a VDE Library$6. Establishing a VDE Library!6.1 Creating a VDE Library!6.1 Creating a VDE Library.6.1.1 The VDE$UPLOAD CMS Upload Utility.6.1.1 The VDE$UPLOAD CMS Upload Utility.6.1.1 The VDE$UPLOAD CMS Upload Utility.6.1.1 The VDE$UPLOAD CMS Upload Utility'6.1.2 The CREATE LIBRARY Command'6.1.2 The CREATE LIBRARY Command'6.1.2 The CREATE LIBRARY Command'6.1.2 The CREATE LIBRARY Command'6.1.2 The CREATE LIBRARY Command'6.1.2 The CREATE LIBRARY Command'6.1.2 The CREATE LIBRARY Command'6.1.2 The CREATE LIBRARY Command'6.1.2 The CREATE LIBRARY Command'6.1.2 The CREATE LIBRARY Command'6.1.2 The CREATE LIBRARY Command'6.1.2 The CREATE LIBRARY Command6.1.3 Examples6.1.3 Examples6.1.3 Examples6.1.3 Examples6.1.3 Examples36.2 Optional Library Attributes and Settings6.2.1 Database Placement6.2.1 Database Placement6.2.1 Database Placement6.2.1 Database Placement6.2.1 Database Placement6.2.1 Database Placement6.2.1 Database Placement6.2.1 Database Placement6.2.1 Database Placement%6.2.2 Standard User Privileges%6.2.2 Standard User Privileges%6.2.2 Standard User Privileges%6.2.2 Standard User Privileges%6.2.2 Standard User Privileges%6.2.2 Standard User Privileges46.2.3 Automatic Addition of Users to Database46.2.3 Automatic Addition of Users to Database46.2.3 Automatic Addition of Users to Database46.2.3 Automatic Addition of Users to Database46.2.3 Automatic Addition of Users to Database46.2.3 Automatic Addition of Users to Database46.2.3 Automatic Addition of Users to Database)6.2.4 Conversion of Library Format)6.2.4 Conversion of Library Format)6.2.4 Conversion of Library Format Note 1)6.2.4 Conversion of Library Format)6.2.4 Conversion of Library Format)6.2.4 Conversion of Library Format)6.2.4 Conversion of Library Format)6.2.4 Conversion of Library Format'6.2.5 Sending Mail Notifications'6.2.5 Sending Mail Notifications26.2.6 Allowing Deletion of Library Entities26.2.6 Allowing Deletion of Library Entities26.2.6 Allowing Deletion of Library Entities+6.2.7 CMS History and Notes Defaults+6.2.7 CMS History and Notes Defaults+6.2.7 CMS History and Notes Defaults&6.2.8 Configuring Architectures&6.2.8 Configuring Architectures&6.2.8 Configuring Architectures%6.2.9 Miscellaneous Attributes%6.2.9 Miscellaneous Attributes&6.3 Library Directory Structure#6.3.1 Delta File Directories#6.3.1 Delta File Directories#6.3.1 Delta File Directories.Table 6- 1: Delta File Disk Directories#6.3.1 Delta File Directories#6.3.1 Delta File Directories#6.3.1 Delta File Directories#6.3.1 Delta File Directories#6.3.1 Delta File Directories#6.3.1 Delta File Directories#6.3.1 Delta File Directories#6.3.1 Delta File Directories%6.3.2 Staging Area Directories%6.3.2 Staging Area Directories%6.3.2 Staging Area Directories%6.3.2 Staging Area Directories0Table 6- 2: Staging Area Disk Directories%6.3.2 Staging Area Directories%6.3.2 Staging Area Directories%6.3.2 Staging Area Directories%6.3.2 Staging Area Directories%6.3.2 Staging Area Directories%6.3.2 Staging Area Directories+6.3.3 Development Stream Directories+6.3.3 Development Stream Directories+6.3.3 Development Stream Directories*Table 6- 3: Stream Disk Directories+6.3.3 Development Stream Directories+6.3.3 Development Stream Directories+6.3.3 Development Stream Directories+6.3.3 Development Stream Directories+6.3.3 Development Stream Directories+6.3.3 Development Stream Directories+6.3.3 Development Stream Directories+6.3.3 Development Stream Directories+6.3.3 Development Stream Directories+6.3.3 Development Stream Directories+6.3.3 Development Stream Directories+6.3.3 Development Stream Directories+6.3.3 Development Stream Directories+6.3.3 Development Stream Directories+6.3.3 Development Stream Directories+6.3.3 Development Stream Directories+6.3.3 Development Stream Directories&6.4 Adding Users to the Library&6.4 Adding Users to the Library&6.4 Adding Users to the Library&6.4 Adding Users to the Library$6.4.1 The CREATE USER Command$6.4.1 The CREATE USER Command$6.4.1 The CREATE USER Command(6.4.2 Automatic Addition of Users(6.4.2 Automatic Addition of Users(6.4.2 Automatic Addition of Users(6.4.2 Automatic Addition of Users(6.4.2 Automatic Addition of Users(6.4.2 Automatic Addition of Users6.5 Creating Streams6.5 Creating Streams6.5 Creating Streams6.5 Creating Streams6.5 Creating Streams"6.5.1 Stream Directory Tree"6.5.1 Stream Directory Tree,6.5.2 Scripts to Populate New Streams,6.5.2 Scripts to Populate New Streams+6.5.3 Stream Successor Relationships+6.5.3 Stream Successor Relationships6.6 Creating Facilities6.6 Creating Facilities6.6 Creating Facilities-6.7 Populating a Facility with Modules-6.7 Populating a Facility with Modules-6.7 Populating a Facility with Modules46.7.1 Getting Source Modules from a Directory66.7.2 Getting Source Modules from a CMS Library*6.7.3 Example CMS Upload Procedures*6.7.3 Example CMS Upload Procedures-6.7.4 Adding Individual Source Modules-6.7.4 Adding Individual Source Modules(7. Library Maintenance Operations(7. Library Maintenance Operations(7. Library Maintenance Operations)7.1 Creating SCT Notes Conferences)7.1 Creating SCT Notes Conferences)7.1 Creating SCT Notes Conferences7.2 Taking VDE Offline7.2 Taking VDE Offline7.2 Taking VDE Offline7.2 Taking VDE Offline&7.3 Resolving Database Problems&7.3 Resolving Database Problems#7.3.1 User Process Deadlocks#7.3.1 User Process Deadlocks#7.3.1 User Process Deadlocks7.3.2 Freeze in Rdb7.3.2 Freeze in Rdb7.3.2 Freeze in Rdb7.3.2 Freeze in Rdb7.3.3 Rdb process dumps7.3.3 Rdb process dumps(7.3.4 Rdb run-unit journal errors(7.3.4 Rdb run-unit journal errors,7.3.4.1 Missing run-unit journal area,7.3.4.1 Missing run-unit journal area,7.3.4.1 Missing run-unit journal area,7.3.4.1 Missing run-unit journal area,7.3.4.1 Missing run-unit journal area,7.3.4.1 Missing run-unit journal area,7.3.4.1 Missing run-unit journal area47.3.4.2 Rdb run-unit journal diskquota errors47.3.4.2 Rdb run-unit journal diskquota errors47.3.4.2 Rdb run-unit journal diskquota errors47.3.4.2 Rdb run-unit journal diskquota errors)7.3.4.3 Rdb recovery process dumps)7.3.4.3 Rdb recovery process dumps)7.3.4.3 Rdb recovery process dumps-7.3.4.4 Missing run-unit journal files-7.3.4.4 Missing run-unit journal files-7.3.4.4 Missing run-unit journal files-7.3.4.4 Missing run-unit journal files-7.3.4.4 Missing run-unit journal files-7.3.4.4 Missing run-unit journal files27.4 Database Backup and Recovery Procedures27.4 Database Backup and Recovery Procedures*7.4.1 Overview of Backup Procedures*7.4.1 Overview of Backup Procedures*7.4.1 Overview of Backup Procedures*7.4.1 Overview of Backup Procedures67.4.2 Placement of Backup Files and Directories$7.4.3 After-Image Journalling37.4.4 Creating the Database Backup Procedure37.4.4 Creating the Database Backup Procedure37.4.4 Creating the Database Backup Procedure37.4.4 Creating the Database Backup Procedure37.4.4 Creating the Database Backup Procedure37.4.4 Creating the Database Backup Procedure37.4.4 Creating the Database Backup Procedure47.4.5 Creating the Database Restore Procedure(7.4.6 Backing up the VDE Database(7.4.6 Backing up the VDE Database(7.4.6 Backing up the VDE Database(7.4.6 Backing up the VDE Database(7.4.6 Backing up the VDE Database(7.4.6 Backing up the VDE Database(7.4.6 Backing up the VDE Database(7.4.6 Backing up the VDE Database(7.4.6 Backing up the VDE Database(7.4.6 Backing up the VDE Database(7.4.6 Backing up the VDE Database(7.4.6 Backing up the VDE Database(7.4.6 Backing up the VDE Database(7.4.6 Backing up the VDE Database(7.4.6 Backing up the VDE Database(7.4.6 Backing up the VDE Database(7.4.6 Backing up the VDE Database(7.4.6 Backing up the VDE Database'7.4.7 Restoring the VDE Database'7.4.7 Restoring the VDE Database'7.4.7 Restoring the VDE Database'7.4.7 Restoring the VDE Database'7.4.7 Restoring the VDE Database'7.4.7 Restoring the VDE Database'7.4.7 Restoring the VDE Database07.4.8 Recovering from a Lost Journal File07.4.8 Recovering from a Lost Journal File07.4.8 Recovering from a Lost Journal File07.4.8 Recovering from a Lost Journal File07.4.8 Recovering from a Lost Journal File07.4.8 Recovering from a Lost Journal File07.4.8 Recovering from a Lost Journal File$7.4.9 Associated Rdb commands$7.4.9 Associated Rdb commands$7.4.9 Associated Rdb commands$7.4.9 Associated Rdb commands$7.4.9 Associated Rdb commands+7.4.10 Recovering Lost CMS Libraries+7.4.10 Recovering Lost CMS Libraries+7.4.10 Recovering Lost CMS Libraries+7.4.10 Recovering Lost CMS Libraries+7.4.10 Recovering Lost CMS Libraries+7.4.10 Recovering Lost CMS Libraries+7.4.10 Recovering Lost CMS Libraries+7.4.10 Recovering Lost CMS Libraries+7.4.10 Recovering Lost CMS Libraries+7.4.10 Recovering Lost CMS Libraries+7.4.10 Recovering Lost CMS Libraries+7.4.10 Recovering Lost CMS Libraries(7.4.11 Moving to Larger CMS Disks(7.4.11 Moving to Larger CMS Disks(7.4.12 Moving to Larger Rdb Disks(7.4.12 Moving to Larger Rdb Disks(7.4.12 Moving to Larger Rdb Disks(7.4.12 Moving to Larger Rdb Disks(7.4.12 Moving to Larger Rdb Disks/7.5 Purging the Staging Area Directories/7.5 Purging the Staging Area Directories/7.5 Purging the Staging Area Directories/7.5 Purging the Staging Area Directories/7.5 Purging the Staging Area Directories/7.5 Purging the Staging Area Directories/7.5 Purging the Staging Area Directories/7.5 Purging the Staging Area Directories/7.5 Purging the Staging Area Directories/7.5 Purging the Staging Area Directories/7.5 Purging the Staging Area Directories/7.5 Purging the Staging Area Directories!7.6 Offloading Large Files!7.6 Offloading Large Files!7.6 Offloading Large Files!7.6 Offloading Large Files!7.6 Offloading Large Files!7.6 Offloading Large Files!7.6 Offloading Large Files!7.6 Offloading Large Files!7.6 Offloading Large Files!7.6 Offloading Large Files!7.6 Offloading Large Files(7.7 Defragmenting the CMS Library(7.7 Defragmenting the CMS Library(7.7 Defragmenting the CMS Library$7.8 Relocating Rdb Components$7.8 Relocating Rdb Components$7.9 Recreating Rdb Components$7.9 Recreating Rdb Components$7.9 Recreating Rdb Components$7.9 Recreating Rdb Components$7.9 Recreating Rdb Components$7.9 Recreating Rdb Components$7.9 Recreating Rdb Components$7.9 Recreating Rdb Components'8. Building your Software System'8. Building your Software System'8. Building your Software System"8.1 Build Dependency Graphs"8.1 Build Dependency Graphs"8.2 Central Build Algorithm8.3 Creating Build Jobs 8.4 Displaying Build Jobs8.5 Running Build Jobs8.5 Running Build Jobs 8.5.1 Starting Build Jobs 8.5.2 Stopping Build Jobs"8.5.3 Suspending Build Jobs#8.5.4 Waiting for Build Jobs+8.6 Scripts for Build Step Execution,8.7 Performing Individual Build Steps8.7.1 Copy Steps8.7.2 Compile Steps8.7.3 Link Steps,8.8 Initializing the Dependency Graph9. Architecture Support99.1 Architectures in the Source Code Library Roots99.1 Architectures in the Source Code Library Roots99.1 Architectures in the Source Code Library Roots99.1 Architectures in the Source Code Library Roots59.2 Commands to Specify Multiple Architectures59.2 Commands to Specify Multiple Architectures59.2 Commands to Specify Multiple Architectures59.2 Commands to Specify Multiple Architectures59.2 Commands to Specify Multiple Architectures19.3 Creating Architecture-Specific Modules19.3 Creating Architecture-Specific Modules19.3 Creating Architecture-Specific Modules19.3 Creating Architecture-Specific Modules19.3 Creating Architecture-Specific Modules19.3 Creating Architecture-Specific Modules)9.4 Operation of Existing Commands)9.4 Operation of Existing Commands)9.4 Operation of Existing Commands)9.4 Operation of Existing Commands)9.4 Operation of Existing Commands)9.4 Operation of Existing Commands)9.4 Operation of Existing Commands.9.5 Change Propagation and Fold Records.9.5 Change Propagation and Fold Records.9.5 Change Propagation and Fold Records(10. The Graphical User Interfaces10.1 Motif Interface'10.1.1 Motif Version Information'10.1.1 Motif Version Information'10.1.1 Motif Version Information'10.1.1 Motif Version Information%10.1.2 Motif Library Selection%10.1.2 Motif Library Selection-10.1.3 Motif Library Default Selection-10.1.3 Motif Library Default Selection-10.1.3 Motif Library Default Selection-10.1.3 Motif Library Default Selection-10.1.3 Motif Library Default Selection-10.1.3 Motif Library Default Selection-10.1.3 Motif Library Default Selection10.1.4 Motif Resources10.1.4 Motif Resources 10.2 WWW/Mosaic Interface%A. TroubleShooting Information%A. TroubleShooting InformationA.1 Periodic MaintenanceA.1 Periodic MaintenanceA.1 Periodic MaintenanceA.1 Periodic MaintenanceA.1 Periodic MaintenanceA.1 Periodic MaintenanceA.2 CMS TroubleshootingA.2.1 CMS Library LockedA.2.1 CMS Library LockedA.2.1 CMS Library Locked(A.2.2 CMS 3.8-2 and Indexed Files(A.2.2 CMS 3.8-2 and Indexed Files*A.2.3 Recovering Lost CMS Libraries*A.2.3 Recovering Lost CMS Libraries'A.2.4 Moving to Larger CMS Disks'A.2.4 Moving to Larger CMS Disks#A.3 VMS_MENU Troubleshooting#A.3 VMS_MENU Troubleshooting1A.4 VDE Spawned Processing Troubleshooting1A.4 VDE Spawned Processing TroubleshootingA.5 Rdb Troubleshooting#A.5.1 User Process Deadlocks#A.5.1 User Process Deadlocks#A.5.1 User Process DeadlocksA.5.2 Freeze in RdbA.5.2 Freeze in Rdb(A.5.3 Resolving Rdb process dumps(A.5.3 Resolving Rdb process dumps(A.5.4 Rdb run-unit journal errors(A.5.4 Rdb run-unit journal errors*A.5.5 Missing run-unit journal area*A.5.5 Missing run-unit journal area2A.5.6 Rdb run-unit journal diskquota errors2A.5.6 Rdb run-unit journal diskquota errors'A.5.7 Rdb recovery process dumps'A.5.7 Rdb recovery process dumps-A.5.7.1 Missing run-unit journal files-A.5.7.1 Missing run-unit journal files0A.5.8 Recovering from a Lost Journal File0A.5.8 Recovering from a Lost Journal File'A.5.9 Moving to Larger Rdb Disks'A.5.9 Moving to Larger Rdb Disks*B. Comparison of VDE, VSC, and VTSC*B. Comparison of VDE, VSC, and VTSC$Table B- 1: VDE, VSC and VTSC*B. Comparison of VDE, VSC, and VTSC*B. Comparison of VDE, VSC, and VTSC*B. Comparison of VDE, VSC, and VTSC*B. Comparison of VDE, VSC, and VTSC vde_guide_preface front_intended_audience front_document_structure$front_associated_documentsfront_conventionsvde_guide_introvde_what_is_this$vax_library_overview)mod_fac-dev_strm2 gens6intro_archs9prop_fold>scriptsAconv_featuresBkept_subprocessEinit_filesKeditorOsessionsRcontextsUlibrary_defaultsXres_mod_repl_modZresrep_genidbaudit_trail_idcreserve_modspqualtbl_reservesreserve_mods_examplesvconcur_resqueued_rescre_new_modqualtbl_cremodcre_new_mod_examplesfetch_modqualtbl_fetchfetch_mod_examplesunres_moddisp_resqualtbl_shoresdisp_res_examplesrepl_modsqueued_replimmed_replreplace_qualsqualtbl_replacereplace_exampleschngpropdisp_replqualtbl_shorepdisp_repl_examplescan_que_replqualtbl_canrepdisp_infodisp_facqualtbl_shofacdisp_fac_examplesdisp_modqualtbl_shomoddisp_mod_examplesdisp_genqualtbl_shogendisp_gen_examplesdiff_genqualtbl_diffdisp_streamqualtbl_shostrmdisp_stream_examplesdisp_user qualtbl_shousr disp_user_examples rev_repl rev_repl_modsqualtbl_revreprev_repl_subcmdssubsystbl_revreprev_repl_examples#acc_rej_repl+qualtbl_accrejrep-proj_oper/perf_que_repl:qualtbl_perfrep; perf_que_repl_examples<ins_genBqualtbl_insgenCrem_genJqualtbl_remgenKdel_genPqualtbl_delgenQobs_genRreview_notify^cre_new_stream`cre_bld_streamhcre_rel_streamxcre_rel_stream_ex|pl_scripts~pl_script_commandsestab_libestab_lib_crelibestab_lib_upload_cmdestab_lib_cre_lib_cmd estab_lib_cre_lib_exampleestab_lib_opt estab_lib_opt_db_placmntestab_lib_opt_stdpriv estab_lib_opt_add_userestab_lib_opt_convdb estab_lib_opt_sendmailestab_lib_opt_delentestab_lib_opt_cmsestab_lib_archestab_lib_opt_miscestab_lib_direstab_lib_dir_deltalibtbl_delta_direstab_lib_dir_stagelibtbl_stage_direstab_lib_dir_streamlibtbl_stream_dir estab_lib_dir_stream_supp estab_lib_dir_stream_defestab_lib_add_usercreate_user_cmdautomatic_add_usersestab_lib_cre_streamestab_lib_stream_dir  estab_lib_stream_script estab_lib_stream_succ estab_lib_cre_facestab_lib_pop_facestab_lib_pop_direstab_lib_pop_cmsestab_cms_uploadestab_lib_pop_modmaint_opermaint_createsctmaint_offline#maint_unsticking%maint_stuck(maint_freeze,maint_dumps.maint_ruj0maint_rujmissing7maint_rujdiskquota;maint_recoverydumps>maint_rujawolDmaint_lib_backupF maint_lib_backup_oviewJ maint_lib_backup_placeKmaint_lib_backup_jnlL maint_lib_backup_crebackS maint_lib_backup_crerestT maint_lib_backup_backupf maint_lib_backup_restorem$maint_lib_backup_lost_journaltmaint_lib_backup_rmuy$maint_lib_backup_recover_cmscms_got_biggerrdb_got_biggerstaging_cleanupdb_offloaddb_defragdb_relocdb_recreatebuild_sysbuild_sys_dep_graphbuild_sys_algobuild_sys_crebldbuild_sys_runbld_showbuild_sys_runbld build_sys_runbld_startbuild_sys_runbld_stop build_sys_runbld_suspendbuild_sys_runbld_waitbuild_sys_scriptbuild_sys_perf_stepbuild_sys_perf_copybuild_sys_perf_compbuild_sys_perf_linkbuild_sys_init_deparchitecturesarch_rootsarch_commandsarch_dependenciesarch_op_cmdsarch_propogationsgui_interfacegui_xm_interfacegui_xm_versiongui_xm_facilitygui_xm_librarygui_xm_deflibrarygui_x_resourcesgui_www_interfacetroubleshootingts_periodicts_cmsts_cms_lockedts_cms_indexedts_maint_recover_cmsts_cms_got_biggerts_vms_menuts_spawnedts_rdbts_maint_stuck ts_maint_freeze ts_maint_dumpsts_maint_rujmaint_rujmissingts_maint_rujdiskquota ts_maint_recoverydumpsts_maint_rujawol$ts_maint_lib_backup_lost_jnlrdb_got_biggerutil_comparisiontbl_comparo +B-ADOBE-Helvetica-Medium-R-Normal--*-120-*-*-P-*-ISO8859-1@-ADOBE-Helvetica-Bold-R-Normal--*-240-*-*-P-*-ISO8859-1@-ADOBE-Helvetica-Bold-R-Normal--*-180-*-*-P-*-ISO8859-1@-ADOBE-Helvetica-Bold-R-Normal--*-120-*-*-P-*-ISO8859-1@-ADOBE-Helvetica-Bold-R-Normal--*-100-*-*-P-*-ISO8859-1B-ADOBE-Helvetica-Medium-R-Normal--*-100-*-*-P-*-ISO8859-1@-ADOBE-Helvetica-Bold-R-Normal--*-140-*-*-P-*-ISO8859-1O-ADOBE-New Century Schoolbook-Medium-R-Normal--*-140-*-*-P-*-ISO8859-1/-ADOBE-Symbol-*-R-*--*-140-*-*-P-*-*-*O -ADOBE-New Century Schoolbook-Medium-R-Normal--*-120-*-*-P-*-ISO8859-1O -ADOBE-New Century Schoolbook-Medium-I-Normal--*-120-*-*-P-*-ISO8859-1M -ADOBE-New Century Schoolbook-Bold-R-Normal--*-120-*-*-P-*-ISO8859-1M -ADOBE-New Century Schoolbook-Bold-R-Normal--*-140-*-*-P-*-ISO8859-1M -ADOBE-New Century Schoolbook-Bold-R-Normal--*-100-*-*-P-*-ISO8859-1O-ADOBE-New Century Schoolbook-Medium-R-Normal--*-100-*-*-P-*-ISO8859-1@-ADOBE-Courier-Medium-R-Normal--*-120-*-*-M-*-ISO8859-1>-ADOBE-Courier-Bold-R-Normal--*-120-*-*-M-*-ISO8859-1B-ADOBE-Helvetica-Medium-R-Normal--*-140-*-*-P-*-ISO8859-1O-ADOBE-New Century Schoolbook-Medium-I-Normal--*-140-*-*-P-*-ISO8859-1  8 1ODocument StructureKOUThisdocumentcontainsaguidetotheOpenVMS DevelopmentBO Environment(VDE)package,andtotheVDEcommandHO interfaceutility.0ItprovidesanoverviewofVDE,andJO^thevariouscommandsusedtofetch,reserve,replaceandNO otherwiseaccessandmaintainthemodulesinaVDElibrary. 9_U<Note 9_=Forabasic understandingoftheVDEcommand= interfaceutility,andthe operationscommonly6r performedbyusers,oneneedonlyread|rChapter1,Chapter2, handChapter3. *|5nO*lOX*lOg==OThisguidecontainsthe following information:9O `mmChapter16^mprovidesan introductiontotheOpenVMS6(OpenVMS Development Environment)system. `EEChapter2;[E describeshowtoperformtypical operations,A includingmodule reservation,module creation,andmodule replacement. `vvChapter 35dvtells how to display various kinds of< informationfromthesourcecontrol database. `MMChapter43aMexplainshowtoreviewqueuedmodule replacements. `%%Chapter 91c% describes operations around multiple ~ architecturesupport. `Chapter57^ describesspecial operations performedbyAVprojectleadersand maintainersofVDE libraries. `Chapter73a describesvariousbackupandrecoveryD. operations typically performedbythe maintainersofVDE libraries. `Chapter107 describestheXWindowsMotifandWorld(^WideWebMosaic interfaces. `AppendixA9 describeshowto troubleshootsomeoftheD6problemsthatmightbe encounteredwhileusingVDE.*0oO*nOX*9rO*pO *rO*oO-*pO*O*O ! O1.1BWhatisVDE?POUVDEistailoredformediumto large-scalesourcecodecontrolOO environments,anditprovides capabilitiesandcontrolsuseful@OwithintheOpenVMS development environment.,AmongVO^otheruses,VDEisusedto coordinateallaccesstothe libraries1O containingtheOpenVMSsourcecode.! tGOVDEprovidesvarioususer interfaces includingtheVDE ;g 1LOcommand interface,andtheMosaicandMotif graphicaluserDO5 interfaces.+ (InformationontheMotifand WWW/Mosaic7O graphicaluser interfacesisincludedinChapter10;this7Ochapter describesthecommand interface.)*;:/*POKOVTheVDEcommand interfacecanbeinvokeddirectlyattheJODCLprompt.(VDEcanalsoexecuteoneormore semicolon-JO seperatedcommandsdirectlyatDCL,andwillreturnbackFO`toDCLaftercommand completion.)LongercommandlinesHOcanbebrokenacrosslinesusingthehyphen character;GOthecommand continuation character..testsuitelibrary,Ojrespectively.)!= PRESERVE/STREAM=FRED% [ACC]FOO.MAR&"Remark%string"OVDE>" SHOW% GENERATION%[ACC]*OVDE> EXIT O($ NDOTheabovecommandreservesmoduleFOO.MARinstreamFOFRED,anddisplayssomegeneration-related information.2O5ThecallerthenexitsbacktoDCL.]!! 3EOWheneithercommandis promptingfor commands,thereROareavarietyof functions available.'OnecanusethekeyboardPO5arrowkeysforlineeditingandcommandlinerecall,andoneLOcanalsodefinekeyboardkeystoinvokespecific commands."!  OVDE g 2H2Akept subprocessstartstheVDEutilityinasubpro-LOcessthefirsttimeoneusestheVDEcommandinagivenFO5process,andeach subsequentVDEcommand(with/KEPT_OOPROCESS specifiedor defaulted)attachestotheexistingsub-MOprocesstoexecuteVDE commands.(Asaresult,theworkofOO> activatingtheVDEutilityand connectingtothesourcecon-OOtroldatabase(whichisa relativelyslow operation)isdoneNOonlyforthefirstVDEcommandoneentersinagivenpro-GOHcess.* SubsequentVDEcommandsthataccessthedatabaseMOarethenmuchfaster.*In addition,thekept subprocessre-POtainsstateinformation-suchasdefault settings,andeventheQORinitialprocessdefault directory-aslongasthat subprocessisOOactive.'Thekept subprocessis implicitly terminatedwhentheQOparentprocessis terminated.'Thekept subprocessis explicitly@O[ terminatedviatheVDEEXIT/KEPT_PROCESScommand.AOFurther informationonthistopicisincludedinSection1.9.1.*":"/#*"w?B 5$!  3O1.2BVDEandtheOpenVMSVAXLibraryNO(The remainderofthischapter discussessome high-levelcon-IOceptsneededwhenworkingwiththeOpenVMSVAXlibrary,AOandsomefeaturesofVDEthatmakethiseasier.%oOSection1.3@ discussesthebasicunitofsourcecontrol:,the=Omodule.,Modulesare organizedinto facilities.Section1.4FO5 discusseshowparallel developmentis organized,whileOSection1.5 andSection1.7-describehowchangestomodulesOare propogated.*%OF?)*%~?-*%OP}?2*%P|?9&7O FacilitiesaregroupedintoStreams,andSection1.4 describes&Otheconceptofastream.*&F|?-'~LOVDEcanbeextendedforuser requirementsusingascript-MOing mechanism.)Somescripts,suchasthoseneededtobuildQO5amodule,are required.)Others,suchasthescriptthattrig-MOgers wheneeveramoduleis replaced,are optional.+Abrief0OoverviewofscriptsislocatedinSection1.8.*'|?>K(! !KOVDEhasanumberof convenience features.'For informationQOon conveniencefeaturessuchas contexts,sessioninitializationQO5files,user-specifiedkey definitions,anduser-specifieddefaultOtexteditors,seeSection1.9.*(P|?A|6 O1.6B ArchitecturesKOUVDEprovidesa mechanismbywhichsourcecodeformulti-SOple architecturescanbe maintained.(AsitispossiblethattheLOsamemodulenameisusedineach architecture,VDEallowsNO^the facilitiesandthemodulenamestooverlap.*Bydefault,HOVDEassumesallsourcecodeisarchitecture-independent.7WOOVDEallowsasuitably privilegedusertocreateoneormore:Oarchitecture-dependent architectureroots,or arch-roots s.IO5Each arch-rootstoreszeroormorearchitecture-dependentLOmodulesinanarchitecture-dependent facility-ineffect,theLO structureofeach arch-root parallelsthe structureoftheO>mainsourcepool.8 xLOForfurther informationon (arch-roots)andon architectureOsupport,seeChapter9.*8lO2> ,O1.8B CustomizationUsingScripts8OUVDEallows extensiveuser tailoringusing=U scriptsHU.*AscriptROallowsyoutoeasilyperformauser-specifiedactionasapartKOofascript-specificVDE operation.+For instance,VDEin-MO^vokesthereplacescriptwhenamoduleisreplacedintheOVDE database.?! WTOVarioustypesofscriptsareoptionalandallowfor site-specificNO processing.* Specificationofcertainscriptsis mandatory,asKO5thesescriptsareusedwithinVDE.For instance,theVDEIO VDE$BUILDutilityrequiresspecific informationwhencom-NOpilingandlinkingmodulesandit retrievesthis informationNO>fromthe (mandatory)user-specifiedcompileandlinkscripts.@NMOForfurther informationonscriptsandscript creation,seeOSection5.8,Table5-5,andtheScripttopicsinthe |VDEO5 ReferenceManual 5.*@O?|*@d?~%Anb$O1.9B ConvenienceFeatures>OUVDEsupportsanumberof convenience features.B r!O1.9.1BKept SubprocessNO4VDEcan utilitizeakept subprocess.)Thekept subprocessisLOcreatedwhenthecommand interfaceisfirst activated,andMOitgreatlyimprovesoverall performance.(Withthekeptsub-RO=process,allofthe processingrequiredto initiallyconnecttoROthedatabaseis performedonlyonce,noteachtimetheutilityOis activated. p_UsNote p_FAllsecurityandquotarelatedvalues associatedwith@Qthekept subprocessare inheritedfromthepar-Aentprocesswhenthekept subprocessisspawned.HThismayseemlikeaminordetail,butitwillcauseCZallchangesintheparent process's privilegemask.and rightslist identifierstobe ignored+bythekept  subprocess. VC SOToforceanupdateofthesecurityandquota attributesinthe=Okept subprocess,issuethe following commands:OaVDE> aEXIT/KEPT_PROCESS O$VDE/KEPT_PROCESSOVDE>+DFOTheabovecommandscausethekept subprocesstoexitGOand,asany subsequent invocationofVDE(with/KEPT_EO5PROCESS) determinesthatthereisnokept subprocess/Opresent,itwillthenspawnone.E! &O1.9.2BInitializationFilesQO4OnecanuseaninitializationfiletosetupVDEcommandab-CO breviations(withDEFINE/COMMAND),keypad definitionsIO(with DEFINE/KEY),andsession environmentdefaults(withJO=SETFACILITYandSETSTREAM).Aninitializationfilecan5OcontainzeroorormoreVDE commands.jF @NOVDEsupportsauser-specifiedinitializationfile.)Eachutil-TOity processesaninitializationfileinasimilarfashion,thoughUO5eachusesauniquenameforthefile.(TheinitializationfileisIO automaticallyinvokedatthestartofeachVDEsession.$G ROTo establishaninitializationfilefortheVDEutility,define&OthelogicalnameVDE$INIT B 3.beforestartingtheVDEsession.MO5Thislogicalnamemust referencethefilenameoftheVDEVOinitializationfile.(Ifthefilenameand/orthefile extensionisLOomittedfromthelogicalname translation,theVDEutilityKO>usesthedefaultvalue VDE$INIT.VDEfortheinitializationOfile.*GB"/HIjJOVAn initializationfileisusuallyresidentinthe user's O SYS$LOGIN: directory.J|TOIfdesired,the exclamationpoint( ! )canbeusedasacom-OOment characterinanVDEoranVDEinitializationfile.)AllOO5textlocatedaftera exclamationpointisignoreduptoandSO includingtheendoftheline,ifthe exclamationpointisnotNOlocatedwithinaquotedstring.)The space-hyphen(&- )canLO>beusedasaline continuation.)The space-hyphen characterSOmustbethelast characterofaline;itcausesthe subsequentJOcommandlinetobe consideredpartofthecurrentline.K! =+O1.9.3B SelectingaTextEditorRO4VDEletsone establishatexteditorfortheVDEsession.'VDELOinvokesthe specifiededitorwhencertaincommandsareen-ROtered.'Forexample,VDEletsoneuseaneditortoreviewcodeOO=changesonbehalfofanotheruser.)TheeditorisinvokedinLOaspawned subprocess,andcanbeinvokedin read-writeorJO read-onlymode, dependingonthecontext.+TospecifytheIOGeditorforthecurrentVDEsession,usetheSETEDITOR!Ocommand.'Forexample:O$VDE> $SET%EDITOR%"LSEDIT"@L EOThiscommandtellsVDEtospawntheLSEDITcommand,FOwhichinvokestheVAXLanguage-SensitiveEditor,when-KO5everaVDEcommandrequiresaneditortobeinvoked.+IfKOyouprefersomeothereditor,youshouldspecifytheDCLLOcommandforthateditorinstead.*YoucanalsoincludeanyNO> qualifiersyouwantinthequotedstring.)VDEsimplystartsMOwiththestringyouspecify,appendsaspaceandthenameMOofthefiletoedit,andspawnsthe resultingDCLcommandOOHstring.)Iftheeditorisinvokedin read-onlymode,VDEap-BOpendsthe /READ_ONLY qualifier(whichmostOpenVMSPOeditorsaccept),aspace,andafilenametothestringyouRORspecify,andthenspawnsthat.'(IfyoureditordoesnotacceptIOthe /READ_ONLY qualifier,seetheHELPtexttoseehowEOyoucanspecifyaseparate read-onlyeditorstring.)yM OFOThe/DEFAULT qualifierontheSETEDITORcommandal-SOlowsoneto establishthedefaulteditorstringsforfutureVDEOO5 sessions.*Theseeditorstringsarestoredinthesourcecon-DOtrol database.+TheSHOWEDITORcommanddisplaysthe#Ocurrenteditorstrings.NHOVDEalsosupportsanumberofstandardutility commands.%OThesecommandsinclude@= file-spec#x(whichexecutesafile=O5 containingVDE commands),SPAWN,ATTACH,EXIT,VERIFY,SET TERMINAL,andall associatedSHOWGO commands..SeetheHELPtextfor descriptionsoftheseO commands.O47O1.9.4BGrouping ReservationsintoSessionsIO4VDEandVDEmodule reservationscanbegroupedtogetherOusing+ sessions# REPLACE/SESSION=WIN32_VMSPeHOTheabovecommandreplacesallmodulesincludedintheO WIN32_VMSsession.Q"O Informationonhowto reserve and replacemodulesisOincludedinChapter2.*QlOXPR &4O1.9.5BDefiningDefaultsUsingContexts O4A4 contextE4allowsyoutoeasilyswitchanentiregroupofre-ROlatedVDEdefaultsettingsamongasetofpossiblevalues.'You?OcankeepmultiplesetsofVDEdefaultsaround.S ROEachcontextis comprisedofasetof defaults:*adefaultfa-LOcility,adefaultstream,andadefault architecture.-(For.O5 informationonarchitectures,see5Chapter9.)5Youcanspec-NOifyonecontextforusewhenyouaremakingbugfixestoaNO particularstreamand facility,andanothercontextforwhenSO>youareaddingnewfeaturestoa differentfacilityinanewerHOstream.)Andusingkey definitions (DEFINE/KEY),youcanNOswitchamongyourvariouscontextsusingasingle keystroke.*SlO>T KOContextscanbeprivateand user-defined,ortheycanbeQO publically establishedand availableforwholegroupsofusers.QO5Projectleaderscan establishasetofcontextsforusebya'O particulargroupofusers.U! \/O1.9.6BDefault Libraries, MnemonicsQO4VDE utilitizesasetoflogicalnamesto determinethenames,NOcontentsand locationsofcommonly-accessed libraries.'ToseeSOwhich librarieshavebeen establishedbydefault(ifany),issueO=thecommand:OVDE> SET%LIBRARYVLOInadditiontotellingyouthatthecommandneedsanotherLO parameter,thiscommandwilldisplayanydefault libraries.WBOFor informationontheVDE$LIBRARY_DEFAULTSlogicalOnames,see VDE ReferenceManual&,orsee9Section10.1.3.*W9?%#&L "#O2.5B UnreservingModulesKOUTocancelamodule reservationwithout replacingthemod-FOule,usethe UNRESERVEcommand.'The followingexample O illustratesitsuse:OVSC>@ UNRESERVE/STREAM=FOO&[FACIL]MOD.TYP&"Remark%string"f <GOThiscommandcancelsthe reservationofmoduleMOD.TYPGOinfacilityFACIL.The/STREAM qualifier specifiestheOO5streamforwhichthe reservationwasmade.(IfyouomitthisNO qualifier,yourdefaultstreamisassumed.)IfyouhavemorePOthanone reservationofthemoduleforthatstream,youmustKO>specifyits reservation identifierwiththe/IDENTIFICATIONJO qualifier.)Thecommandcancancelbothqueued reservation,Orequestsandreal reservations.S )DOThe UNRESERVEcommandacceptswildcard charactersinDOthe module-name parameter.)ThosemoduleswhosenamesGO5matchthewildcardpatternare unreserved.)ThecommandIOalsoacceptsmultiple module-name parameters separatedbyOcommas.HOTheoptionalremarkstring parameter specifiesaremarkHOthatexplainswhythemodule reservationwas cancelled.JO5Youcanalsospecifytheremarkstringwiththe/REMARKO qualifier.WX>OThe UNRESERVEcommandacceptsasubsetofthe,OREPLACEcommand qualifiers(seepTable2-5)..Thefol-EO5lowing qualifiershavethesamemeaningsasforthe3OREPLACEcommand:1 /CONFIRM, /NOCONFIRM,9O/IDENTIFICATION,/LOG,/NOLOG,/STREAM,andO> /USERNAME.*pd?hS(&*!O2.7B ReplacingModulesMOUAfteryouhavereservedamoduleandchangedit,youneedSOtobuildit,testit,andreplaceitontotheOpenVMSVAXli-LObrary.(Thischapter describeshowyoureplacemodulesbackFO^ontotheOpenVMSVAXlibraryafteryouhavechanged,5Obuilt,andtestedthemas appropriate.+! >HOYouusetheREPLACEcommandtocopyaneworchangedIOmodulefromyourdefault directory(oranother directorySO5youspecify)intothe specifiedlibrary.'BeforeyoucanusetheFOREPLACEcommandforamodule,youmustfirstreserveIOthemodulewiththeRESERVEcommandorcreatethemod-@O>ulewiththeCREATEMODULEcommand.'TheREPLACEHOcommandreplacesthemoduleintothe developmentstreamMOyouspecifyand automatically propagatesthechangetothatMOHstream's successors.'The followingexampleshowshowtouse OtheREPLACEcommand:O%VSC>> %REPLACE/STREAM=FOO%[FACIL]MOD.TYP%"Remark&string" GOThisexamplereplacesmoduleMOD.TYPinfacilityFACILKOontotheOpenVMSVAXlibrary.)ThemoduleisreplaceintoJO5streamFOO,whichmeansthatthemodulemustalreadybePOreservedforthatstreamandtheinputfilebecomesthelat-ROest generationofthemoduleforthatstream.'IfyouomittheMO>/STREAM qualifier,themoduleisreplacedintoyourdefaultOstream.! YFOWiththeREPLACEcommand,youcanspecifyalistofHOmodulenames separatedbycommas,andyoucanusetheO5asterisk( @*G5)andpercentsign( % )wildcard charactersintheLOmodulenames.'AllmodulesthatmatchthewildcardpatternsOare replaced.wMMOVDEalsoallowsyouto associateanumberofmodulesfrom>OvariousRESERVEandCREATEMODULEcommandsto-FO5gether,byusingthe/SESSION qualifier.-The/SESSIONPO qualifierallowsyoutopickanameforagroupofmodules,KOandyoucanavoidhavingtospecifyeach individualmod-GO>uleontheREPLACEcommand.)Theuseof/SESSIONalsoMOprovidesthe reviewersandtheprojectleaderwithaclearMO indicationthatagroupof replacementmodulesarerelated. aMO Optionally,youcanspecifyaremarkstringasa parameterLOattheendofthecommand,asshowninthepreviousex-IO5ample.*Theremark parameterhasthesameeffectasthe+O/REMARK qualifier describedinTable2-5sandappliestoHOallmodulesbeingreplacedunless overriddenby/REMARKLO> qualifiersonthe individual module-name parameters.'IfyouROdonotspecifyaremark,VSCpromptsyouforit.'IfyouthenMOenteranullremarkstring,VSCusestheremarkfromyour%OHoriginalRESERVEcommand.*Pd?  m KOTheREPLACEcommandalsoasksyouforthecausethatisPOthereasonor justificationforthethe replacement.(Therea-MO5soncanbeafoldrecord,aSourceControlTracking(SCT)POentry,orothercause.+Ifthereasonis specifiedbyanSCTPOentry,VSCallowsseveraloptions:(itcanentertheSCTnoteRO>foryou,itcanaskyouforthenumberofa pre-existingSCTROentry,anditallowsyoutoedittheSCTnoteduringthere-HO placement.,VSCalsoasksforanyrelatedQARs(QualityFOH AssuranceReports)orCLDs(urgentcustomer problems).NOThe followingpartialexampleshowshowyouspecifytheSCTIOentryandproblemreports associatedwitha replacement:O~VSC>/ ~REPLACE/STREAM=FOO%[FACIL]MOD.TYP!1IOEnter%the% replacement%remark:%example& replacement&command 2)OGeneral&type%of% replacement:9VFO&:%Fold;%see&original&change%for%info,9SC&:%SCT;%See%Source&Code%Tracking%Note,AOT&:%Other;& replacement&made%for&other& reason(s) O.Type&of& replacement?_.sct!3GOv Reason(s)%for&making%this&change%(from%the%SCT&note):BF&:%Bug&Fix,*NF&:%New&Feature/Enhancement,*MPI&:% Performance% Improvement,!CS&:%Common&Sources,-CU&:%Cleanup/Retrofit/Regression,(%NH&:%New&Hardware&Support,)mFE&:% Functional% Equivalence,OT&:%Other3OWhat&was%the%reason&for%the%change:bf!4YOE How%many%defects&--&errors%from&any%and%all&sources:&design,%coding,FO  spelling,%logic,&etc.%--%did&this% replacement%repair?O Number%of%defects: 2!56O Enter%name&of&SCT% conference& [SCT-FOO]:  6'Oe Enter%SCT%project%name&or *+  *. MAc RETURN 5. M *{ ]e for%list:e VORLON!7AO Enter%file&to&load%into%SCT:&(filename/EDIT/NOTE) sys$login:sct.txt"8=O %VDE-I-NOTEID,%note&21.0%entered%in% conference & 9EOH Please%specify%related&QARs%and&CLDs,&if& applicable:-O Enter%name&of&QAR%database%(or ]  ` M RETURN ` M   if%none):  QAR-DB-NAME!10O Enter%QAR%number: 13!11-O, Enter%name&of&QAR%database%(or    M* RETURN  M B , to%end&list): , 12&O Enter%the%CLD&number%(or J  M M RETURN M M  7 if%none):  CLD-12345!13&O Enter%the%CLD&number%(or    M RETURN  M  7 to%end&list): c 14g! = m1DmThe replacementcommand specifiesthetargetstream,LFOO,andthefacilityandmoduletobe replaced.'MultipleGmodulescanbe specified explicitlyby includingtheirDwnamesasacomma-seperatedlistonthecommand,or2 implicitlyviathe/SESSIONsupport. O2KOThe replacementremarkisentered.'IfVSCislateraskedLtoenteranSCTnote,the specifiedprojectnameandtheNtextofthisremarkwillbeusedasthetitleoftheSCTYnote. 3DThe particulartypeof replacement.*SCT replacementsF0arethemostcommon.*The particulartypeofreplace-Imentchosenwillalterthe questionsasked.*IfyouhadEenteredFOLDorhad specified/FOLD,VSCwouldhaveL:canceledthe outstandingfoldrecordsforyou.(IfyouhadG specifiedOTHERor/OTHER,VSCwouldaskyoufortheIreasonwhythischangewasnotmadeviaananSCTorDduetoaFOLD. 4FThe particularreasonformakingthe replacement.)TheIreasonisusedforvariouspurposeswithinVSC.Canbe?t specifiedontheREPLACEcommandusing/REASON. 5DTheuser-specifiednumberofdefects corrected.,ThisMLvalueisusedfor statisticalqualitycontrol purposes.(CanCbe specifiedontheREPLACEcommandusing/DEFECT. $ 6G$ TheSCTnotes conferenceforthisstream.+Bydefault,| thestreamisSCT-|  stream-name$| .+IfyouarenotsureI ofthestreamnameorthenameoftheSCT conference,M. seeyourprojectleader.)If/SCTor/NOTEis specifiedonE theREPLACEcommand,thispromptisskippedandthe4 defaultSCTnotes conferenceisused. ^ 7F^ Theprojectnamethis replacementis associatedwith. Press v 3 x T RETURN x T  3; foralistofprojects associatedwiththeL stream.)Ifyouarenotsureofthecorrectprojectname,Kh seeyourprojectleader.)Youcanspecifythis informationG usingthe/PROJECT qualifier,andthispromptwillbe skipped. 8M Bythe specificationofa filename,VSChasbeenaskedtoO enterthe specifiedfiledirectlyintotheSCTnotesconfer-LIence.'Theremarkisusedasthenotetitle.'ThekeywordsEEDITandNOTEarealsoacceptedatthispoint,andHcauseVSCtoinvoketheeditorforyou,orcauseVSCEStopromptyouforthenumberofa pre-existingandEpreviously-enteredSCTnote.,Canbe specifiedbyus-@ing/SCTor/NOTEontheREPLACEcommand.*(TheE\defaultforthispromptcanbeuser-customizedusing<theVDE$REPLACE_DEFAULTlogicalname.*Seethe+ referencemanualfor details.) 9HThis replacementhascreatedtopic21.0intheSCT-FOO!SCTnotes conference. e10FeThenameoftheQARdatabasefortheQAR associated3withthis replacementis QAR-DB-NAME. =11C=This replacementisrelatedtoQARnumber13.0in=the QAR-DB-NAMEQAR database.- Specificationof=/NOQARontheREPLACEcommandavoidstheQAR.FandCLDpromptsfor information. 12KTherearenoother associatedQARs, signifiedbypressing 3 TRETURN T 43 . 13CThis replacementis associatedwiththeCLDnumber/ CLD-12345.'VSCchecksCLDsyntax. u14KuTherearenoother associatedCLDs, signifiedbypressing 3 TRETURN T 3 . OQueued ReplacementsGO4WhenyouusetheREPLACEcommandtoreplaceamoduleHOintoanormalOpenVMSVAX developmentstream,VSCdoesNOnot immediatelyreplacethemoduleintothelibrary,anditMO>doesnot immediatelycancelyour reservationonthemodule.QOInstead,itqueuesthemodulefor replacementatalatertimeQOwhenthereleaseprojectleaderforthestreamallowstheac-LOGtual replacementtotakeplace.+ThereleaseprojectleaderKOnormallywillnotallowtheactual replacementtoproceed8Ountilyour replacementhasbeen reviewed.N@OWhentheREPLACEcommandqueuesyour replacement$O(alsocalledcreatingaw queued replacement),itperforms%O5the following operations: R  `mFmThesourcecontrolsystemrecordsthequeuedreplace-Imentinitsdatabaseandassignsitaname.+ThisnameIcanlaterbeusedwithothercommandsto referencetheDwqueued replacement.-Bydefault,VSCcreatesthere-B placementnameby concatenatingyourusername,aF(hyphen,andasmallinteger,wheretheintegermakesAthe replacementnameunique..IfyourusernameisDSMITH,forexample,yourfirst replacementisnamedF2SMITH-1.)Youcanoverridethisdefaultnamewiththe" /REPLACEMENT qualifier. ` F ThesourcecontrolsystemrecordswhatmodulesbelongJbtothisqueued replacement.+AllmodulesyoulistontheAREPLACEcommandbecomemembersofthequeuedre-F placement.*ThesemodulesarestillmarkedasreservedMlinthedatabasesincetheyhavenotactuallybeenreplacedyet. `DJDThesourcecontrolsystemcopieseachreplacedmoduletoNaspecialdisk directoryunderitsowncontrolsothattheKmodulenolongerneedstoremaininyour directory.'ThisBMspecialdisk directoryiscalledthe replacement'sM staging areaI.)(Anaddedbenefitofstagingareasisthattheyal-Llowlost generationstobe recoveredafteraVDEfailure; WseeXWSection7.4.10.) `IThesourcecontrolsystemasksyouwhetheryouwanttoK/ editan informationfileforthe replacementtopassin-J  structionsorother informationtothe reviewersandtheM releaseprojectleader.'IfyouanswerYES,itinvokesyour39  preferrededitortocreatethefile.*X?y_ 5HOVSCqueuesthemodule replacementrequestintotheVDEOOdatabaseforreview,andnotifiesthereleaseprojectleader.KO5Oncethechangesare reviewed,thereleaseprojectleadercepted,thepending modificationrequestwillbedequeuedandKOthe modificationwillbe committedintotheVDE database.JOYouwill typicallyreceiveamailmessagefromVSCwhen7OHyour replacementhasbeen performed.+SeezHChapter4 HandOSection5.1<for informationontheVSCcommandsusedby>O reviewersandbyprojectleaders, respectively.*z nO *Oc~?/ ! t!O Immediate ReplacementsGO4Forsome developmentstreams,theVSCutilityperforms ^4im-Omediate< replacements.*An immediate replacementupdatesKOthe library-youguessedit-immediately.'WhenyouentertheIO>REPLACEcommand,themoduleiscopiedintothelibrary.IOOpenVMSVAXdoesnot typicallypermit immediatereplace-KOmentsintoitsmajor developmentstreams,butmightallowJOGthemforselectedoff-to-the-side developmentstreamsusedDObysmallnumbersof developers.,WhethertheREPLACEFOcommandperformsaqueuedor immediate replacementisNOQthusapropertyofthe developmentstreamyouare replacingNOmodulesinto.(Ifany developmentstreamaffectedbythere-KO placement (directlyorthroughchange propagation)requires>O[queued replacements,the replacementisqueued.NJOA disadvantageof immediate replacementsisthattheydoOOnotcreatestagingareas,whichcanpreventrecoveryoflost.O5 generationsafteraVDEfailure.XW.O QualifiersDO4TheREPLACEcommandacceptsanumberof qualifiers.NOThehelptextandthe referencemanualhavethedetailson6Othe qualifiersacceptedbythecommand.Table2-5liststhe*O>more commonly-used qualifiers.*c? OExamplesHOInthe followingexampleofaqueued replacement,userEO`HOFFMANreplacesmoduleFOO.MARintofacilitySYSin'O developmentstreamPHOENIX:O=VSC>. =REPLACE/STREAM=PHOENIX% [SYS]FOO.MARIOEnter%the% replacement%remark:%example& replacement&command)OGeneral&type%of% replacement:9FO&:%Fold;%see&original&change%for%info,9]SC&:%SCT;%See%Source&Code%Tracking%Note,AOT&:%Other;& replacement&made%for&other& reason(s) OType&of& replacement? _sctG Reason(s)%for&making%this&change%(from%the%SCT&note):5BF&:%Bug&Fix,*}NF&:%New&Feature/Enhancement,*PI&:% Performance% Improvement,! CS&:%Common&Sources,-TCU&:%Cleanup/Retrofit/Regression,(NH&:%New&Hardware&Support,)FE&:% Functional% Equivalence,,OT&:%Other3OtWhat&was%the%reason&for%the%change: tbfYOHow%many%defects&--&errors%from&any%and%all&sources:&design,%coding,FO spelling,%logic,&etc.%--%did&this% replacement%repair?OLNumber%of%defects: L1:OEnter%name&of&SCT% conference&[SCT-PHOENIX]:'OEnter%SCT%project%name&or *  *MARETURN 5M * ]for%list:BUCKAROOAO/Enter%file&to&load%into%SCT:&(filename/EDIT/NOTE)/sys$login:sct.txt=Ow%VDE-I-NOTEID,%note&41.0%entered%in% conferenceEOPlease%specify%related&QARs%and&CLDs,&if& applicable:-O Enter%name&of&QAR%database%(or   M RETURN M $  if%none):&Oe Enter%the%CLD&number%(or ,  . Mc RETURN . M { 7e to%end&list):VO %VDE-I-FILCOPSTAG,%file%DEV$:[HOFFMAN]FOO.MAR;3%copied%to%staging%areaTO %VDE-I-REPLQUE,%module& [SYS]FOO.MAR%queued%for& replacement& HOFFMAN-1MOC %VDE-I-COMMIT,%database% transaction%has% successfully& committed_O Do%you%want%to%edit&an& information&file%for& replacement& HOFFMAN-1%?&[No]:  NOO VSC>! UKOAsthelogmessagesshow,VSCqueuesthe replacementandFOassignsitthename HOFFMAN-1.)VSCalsoaskswhetherOOitheuserwantstoeditan informationfileforthereplace-OOment.'An informationfilepasses informationtothe reviewersNOandthereleaseprojectleader.*Inthisexample,theanswerKOrisNO,buthadtheanswerbeenYES,VSCwouldhavein-MOvokedaneditortocreatethe informationfile.) ReplacementIO# HOFFMAN-1isthen availableforreview.,Itwillbere-EO|viewedbyuserJONESandbyany automatic reviewersMOforthemoduleandstream.,Afterithasbeen reviewed,itOO-isuptothereleaseprojectleadertoactuallyperformtheO replacement.mL 2CLOInthe followingexampleofan immediate replacement,mod-LOuleMOD.TYPinfacilityFACILisreplacedinto developmentO5streamTOM:OVSC>G REPLACE/STREAM=TOM%[FACIL]MOD.TYP%"Remark&string"/NOTE=321HOType&of&entry&to&cause& replacement&(FOLD,%SCT,&OTHER): TSCTDOIPlease%specify%related&QARs%and&CLDs%if% applicable:AOEnter%name&of&QAR%database%(or%RETURN&if&none):OV54-FTOEnter%QAR%number: 35FO!Enter%name&of&QAR%database%(or%RETURN&to&end%list)::OiEnter%the%CLD&number%(or%RETURN&if&none):oi APO-12345?OEnter%the%CLD&number%(or%RETURN&to&end%list):NO%VDE-I-FILCOPLIB,%file&DEV$:[MYDIR]MOD.TYP;12%copied&to&libraryXOA%VDE-I-REPLACED,& generation%[FACIL]MOD.TYP;4(4)%replaced%into&stream%TOMZO%VDE-I-REPLACED,& generation%[FACIL]MOD.TYP;4(4)%replaced%into&stream%JERRYMO%VDE-I-COMMIT,%database% transaction%has% successfully& committedOVSC> aMOBecausestreamJERRYisa successorofstreamTOMinthisJOexampleandbecausethismodulehasnotdivergedbetweenGO5thosetwostreams,thechange(thenewmodulegenera-LOtion)is automatically propagatedtostreamJERRY.ThenewLOinstanceofthismodulethusbecomesthelatest generationKO>ofthemoduleforthosetwostreams.+The/NOTE qualifierNO indicatesthat additional informationonthischangewasin-POcludedinapreviously-createdSCTnote,321.0;thisnotewasIOH previouslyloadedintotheSCTnotes conferenceSCT-TOM.PNQ.+O6.2 Establishing!a"VDE!LibraryFOdThischaptercontains preliminary information;sectionsKOare currentlyunderconstruction...*Andothersectionsare.O currently undergoing demolition...! NOThischapter describeshowtosetupanewVDElibrarybyQOcreatingits database,settingupitsdisk directory structure,OOiand populatingitwithusers, developmentstreams, facilities,EOandsourcemodules.*Thesecommandsmustbe performedRObeforeVDEcanbeusedtomanagethesourcecodeororbuild Orthesoftwaresystem. LOCommandsand operations describedinthissectionarenor-MOmally performedonlybythe maintainersofthesourcecodeSO5control libraries,bythedatabase maintainancestaff,orbytheLO maintainersofVDE.ThesecommandsarealsousedbythoseJOusersthatwishtomaintainprivate librariesusingVDE.`LO Information pertainingtothe tailoringandtotheperfor-HOmanceofVDEdatabasebackup operationsisincludedinO5Section7.4.>5Onceyouhavecreatedthelibrary,youshouldJO establishthe appropriatebackup procedures,and determine/Othe appropriatebackup scheduling. h_UkNote h_ATheVDEutilityandtheVDE>areshowninthisIHchapter.'UnlikeVSC,theVDEutilityisintendedtobe?usedwithVDE databasesotherthantheOpenVMS+sourcecodecontrol libraries. D*O~?D&TQPR x(O6.1BCreatingaVDELibraryKOUAVDElibraryconsistsofvarious components:,arootdi-JOrectory,aVDE database,andadisk directorytree.-TheO root directory<isthedisk directorythatcontainstheVDEIO^databaseandthatnormallyservesastheroot directoryHOforthe remainingdisk directoriesinthelibrary.*The  VDEO databaseCisaOracleRdb7databasewhichstoresallinfor-NOhmationthatVDEneedsaboutyoursoftwaresystem.'RdbisaIO relationaldatabase managementsystem,andVDEreadsandIOwritestheVDEdatabaseusingSQL,andindustry-standardFOrquerylanguagefor relational databases.'The library'sr direc-O torytreeDconsistsofalldisk directoriesthatholdtheCMSTO# libraries,sourcefiles,buildoutputfiles,andotherfilesthatHO{compriseyoursoftwaresystem.*TheVDEdatabaserecordsIOthe locationsofall directoriesinthe directorytree.H SOTocreateaVDElibrary,youmustfirstcreatetherootdirec-LOtoryandtheVDE database.( Thereafter,VDEcancreatetheTO5restofthe directorytreeforyou, dependingonwhat facilitiesLOand developmentstreamsyouneedforyoursoftwaresystem.ROVDEcancreatethe directorytreeusingitsowndefaultrules,RO>butyoucanalso explicitlyspecifyhowyouwantthe directoryOtreecreated. _UNote _BOnceyouhave successfullycreatedaVDElibrary,Eyoushouldtailororcreatethe procedures necessaryCRtoperformperiodicdatabasebackup operations.)SeeSection7.4hfordetails. *m|?D@ 6O6.1.1BThe VDE$UPLOADCMSUploadUtilityJO4VDEincludesautility, VDE$UPLOAD,thatcanperformthePOentirecreationofaVDE database,basedonthe specificationFOofa directory containingoneormoreCMS libraries.NMOThecontentsofalloftheCMS librariesunderthetargetJO directoryareuploadedintoVDE, including convertingthe6O5 specifiedCMSclassesintoVDEstreams.VEOFor informationon VDE$UPLOAD,seetheVDE ReferenceOManual.[1HOAsan alternativetothe VDE$UPLOAD procedure,theVDEKOdatabasecanbecreatedviaaseriesofmanual commands.IO5Anexampleisincludedinthekit,the VDE$CREATEpro-Q CREATE%LIBRARY&DEV$:[ROOTDIR]& /NAME=LIBNAME%/CREATOR="John%Doe"%-O_VDE>5j/REMARK="Library%for&gadget% development"HOThisexamplecreatesaVDElibrarywithroot directoryFODEV$:[ROOTDIR].Aftercreatingtheroot directory,VDEJO5createsthe library'sVDEdatabaseinthat directoryandPOrecordsalibraryname,thelibrarycreator,aremarkstring,LOandcertainother attributesinthe database.,(ThelibraryJO>nameisLIBNAMEandthelibrarycreatorisJohnDoeinKOthis example.),YoushouldexpectlibrarycreationtotakeMOatleasttwototenminutesofelapsedtime, dependingonPOHyoursystem configurationandload.)ThebulkofthistimeisDOrequiredtocreateand initializetheRdb database. kMOItisstrongly recommendedthatyouusea system-widecon-OOcealedlogicalnameforthedisknamesothatyoucanmoveNO5theVDElibrarytoanotherdiskatalatertimebysimplyOOmovingthe library'sfilesand directoriesand redefiningtheIOlogicalname.*TheVDEdatabaserecordsthedevicenamesLO>andfull directoryspecificationsofnumeroussubdirectoriesROwithintheroot directory.(Thismakesit difficulttomovetheNOVDElibrarytoanotherdiskunlessa concealedlogicalnamePOHisusedtodenotethedisk.)Itshouldbea system-widenameSOsoitis accessibletoallusersoftheVDElibrary.+Agroup-ROwide concealedlogicalnameis acceptableifallusers,present@ORandfuture,willbelongtothesameUICgroup.kEOTheCREATELIBRARYcommand establishesadefaultfa-LOcilitycalledCODEinyourlibrary.,ForasimplesoftwareNO5system,youcanusethisfacilityforyoursourcecodeandTOthensetupother facilitiesfortools,specifications,anddocu-JO mentationasneeded.(Foramorecomplexsoftwaresystem,LO>youcandeletetheCODEfacilityandcreateotherfacili-LOtiesthatbettersuityourneeds.,In addition,theCREATEDOLIBRARYcommandcreatesadefault developmentstreamMOHcalledMAIN.Youcanusethisstreamforyourmaindevel-KOopmentthreadunlessyoursoftwaresystemrequiresamoreJOcomplexstream structure.)StreamMAINistheancestorofFORallotherstreamsyoucreateasthelibraryevolves.! DOWhenyouentertheCREATELIBRARYcommand,youareROrequiredtospecifythedesiredlibraryroot directory,theli-OO5braryname,thenameofthelibrarycreator(yourownfirstKOandlastnames),andaremarkstring.+Theroot directoryGOnameisthecommand parameterwhilethelibraryname,KO>creatorname,andremarkstringare specifiedwithquali-OOfiers.(VDEstoresthelibrarynameandremarkstringintheMO ``databaseheaderrecord''intheRdb database.)BecauseyouQOHarethelibrarycreator,VDErecordsyourfullname(asspec-JOifiedwiththe/CREATOR qualifier)andyourOpenVMSuserPOnameinaUserTableentryinthe database.+AfieldintheLORdatabaseheaderrecordpointstoyourUserTableentryto5Oindicatethatyoucreatedthelibrary.{ QROIfyouomitanyrequireditem,VDEpromptsyouforitsvalue.FOThe followingexample illustrateshowVDEpromptsfor>O5 informationifallrequireditemsareomitted:OVDE> CREATE%LIBRARYBOEnter% directory% specification%for%the&new%library:DEV$:[ROOTDIR]>OIEnter%the%name%you%want%for%the&new%library:ILIBNAME=OEnter%your&full%name%(first%and&last%names):John&Doe0OEnter%the%remark&for%new%library:+DLibrary%for%gadget& development! bPOThisexamplecreatesexactlythesamelibraryasthepreviousOexample. aCOBydefault,theCREATELIBRARYcommandcreatestheHOinitial directorytreeforyourlibrary.)VDEcreatesa delta-O5 fileroot directory335called VDE$CMS.DIRwithinthelibraryPOroot directory.)The delta-fileroot directorywillcontainoneQO subdirectoryforeachfacilityinyoursoftwaresystemtoholdMO>the facility'sCMSlibrary.(EachCMSlibrarywillholdCMSWO elements,alsocalled``deltafiles,''tocontainall generationsofMOeachsourcemoduleina condensedform.'VDEaccessesthese/OHCMS librariesusingcallableCMS.OVDEcreatesone! streamroot directory4and associateddi-JOrectorytreeforeach developmentstreaminyoursystem.AO5BecausetheCREATELIBRARYcommandalwayscreatesMOstreamMAIN,italsocreatestheroot directoryanddirec-NOtorytreeforthatstreambydefault.(ThestreamMAINrootKO> directoryisnamedMAIN.DIRandisa subdirectoryofthe#Olibraryroot directory.kA;OTheCREATELIBRARYcommandalsocreatesthe stag- O ingarea directories6forthelibrary.)The top-levelofthisLO5 directorytreeiscalledVDE$STAGE.DIR,andisa subdirec-MOtoryofthelibraryroot directory.+VDEusessubdirectoriesQOofthestagingarea directoriestostore,or ``stage,''source+O>filesforqueued replacements.>Queued Replacements >de-KOscribesqueued replacementsandhowtheyusestagingareaO directories.*O! HOBydefault,theCREATELIBRARYcommandcreatesthedi-PO rectoriesjust describedforthenewlibrary.+ItalsocreatesJO5theCMSlibraryforfacilityCODE.However,youcande-POfer directorycreationby specifyingthe/DEFER qualifierwithAOtheCREATELIBRARYcommand.)/DEFERcausesVDEtoPO>notcreateany directoriesotherthanthelibraryrootdirec-MOtoryandtonotcreatetheCMSlibraryforfacilityCODE.FOYoucanthenusetheSET DIRECTORYcommandtospec-NOHifywhereyouwantthesedeferred directoriestobecreatedO(seeSection6.3).7AfterenteringalldesiredSET DIRECTORYAO commands,youcanentertheCREATEDIRECTORY_TREEKORcommandtoactuallycreatethe directorytree(orvariousNO componentsthereof)foryourlibrary.'Usingthismethod,youSOcanspecifythatsome directoriesbeplacedonotherdisks,forNO[example,orthateachfacilityget additionalsubdirectories.OSection6.37 describeshowtousethese capabilities.*c|?*Ow|? jAOTheCREATELIBRARYcommandalso specifiesanum-OOberofotherlibrary attributes.*These attributesincludetheJO5defaultand authorizedVDE privilegesthatnewusersareJO assigned, informationonhownewusersareaddedtotheFOlibrary,whethertheRESERVEcommanddisplaystheex-FO>pectedCMS generation expressionforthe corresponding@O replacement,whethertheREPLACEcommandrequestsLO informationfilesbydefault,andvariousother attributes.OHSection6.2GHgivesmoredetailonthese attributes.'IfyoudonotJOspecifytheseoptional attributeswiththeCREATELIBRARYGOcommand,VDEprovidesdefault settings.+YoucanmodifyFORallsuchsettingslaterwiththeMODIFYLIBRARYcom-COmand.)YoucanalsousetheMODIFYLIBRARYcommandNOtochangethelibrarynameandremarkstring.(Theonlyat-FO[tributeyoucannotchangewithMODIFYLIBRARYisthe#Olibraryroot directory.*O |? O6.1.3BExamplesEO4ThisisanexampleofaCREATELIBRARYcommandandOitsoutput:OVDE>Q CREATE%LIBRARY&DEV$:[ROOTDIR]& /NAME=LIBNAME%/CREATOR="John%Doe"%-OY_VDE>#jY/REMARK="Library%remark"POLibrary&LIBNAME%to%be%created%in%root& directory%DEV$:[ROOTDIR]DLibrary&root% directory&DEV$:[ROOTDIR]&already%exists.I1Logical&name% VDE$LIBRARY%now&points%to%the%new&library.7yCreating%library& database;%please%wait...0Library&database&has%been&created.VOQStaging&area%root% directory%DEV$:[ROOTDIR.VDE$STAGE]&has%been&created7OCreating% directory%tree%for%delta%files:E(Root& directory%DEV$:[ROOTDIR.VDE$CMS]&has%been&createdQpFacility%CODE&root% directory&DEV$:[ROOTDIR.VDE$CMS.CODE]%has%beencreated?/CMS%library%for%facility%CODE%has%been%created9HAll% directories%for&delta&files&now%exist7OCreating% directory%tree%for%stream&MAIN:B Root& directory%DEV$:[ROOTDIR.MAIN]&has%been&createdG/h Subdirectory%DEV$:[ROOTDIR.MAIN.VDE$BLD]&has%been&createdNFacility%CODE&root% directory&DEV$:[ROOTDIR.MAIN.CODE]%has%beencreatedH/@ Subdirectory%DEV$:[ROOTDIR.MAIN.CODE.OBJ]%has%been%createdH/ Subdirectory%DEV$:[ROOTDIR.MAIN.CODE.SRC]%has%been%createdL/ Subdirectory% DEV$:[ROOTDIR.MAIN.CODE.VDE$COM]%has&been%createdL/  Subdirectory% DEV$:[ROOTDIR.MAIN.CODE.VDE$LOG]%has&been%created9` All% directories%for&stream%MAIN&now%exist'O Library&creation& completed.O VDE>! koPOInthisexample,VDEcreatesanewlibraryinroot directoryEODEV$:[ROOTDIR].ThelibraryhasnameLIBNAMEandtheJO5librarycreatorisnamedJohnDoe.*TheVDEoutputshowsPOthatVDEhascreatedthelibraryroot directory(whichturnedROouttoalreadyexistinthiscase),theVDE database,theVDEPO>stagingarea directories,the delta-file directorytreeinclud-QOingtheCMSlibraryforfacilityCODE,andthe directorytreeJOforstreamMAIN.ThenewVDElibrarythushastheini-POHtialfacilityCODEandtheinitialstreamMAINfullysetup.NOTherearenomodulesinthelibrary,however,andonlyoneROalloweduser(thecreatorJohnDoe)isrecordedinthelibraryOR database.  LOInthe followingexample,thelibraryiscreatedthesameQOwayexceptthatthelibrarycreator(JaneSmith) specifiestheOO5/DEFER qualifiertodeferthecreationofthelibrarydirec-QOtorytreeandtheCMSlibraryforfacilityCODE.In addition,MOallrequired parametersand qualifiersareomittedfromtheJO>commandline.+Asaresult,VDEpromptsforallrequiredO information:OVDE>! CREATE%LIBRARY&/DEFERBOdEnter% directory% specification%for%the&new%library:dDEV$:[ROOTDIR]>OEnter%the%name%you%want%for%the&new%library:LIBNAME=OEnter%your&full%name%(first%and&last%names):Jane&Smith0O;Enter%the%remark&for%new%library:!D;Library%remark%stringPOLibrary&LIBNAME%to%be%created%in%root& directory%DEV$:[ROOTDIR]GLibrary&root% directory&DEV$:[ROOTDIR]&has%been&created.ILogical&name% VDE$LIBRARY%now&points%to%the%new&library.7[Creating%library& database;%please%wait...0Library&database&has%been&created.'O3Library&creation& completed.OVDE>WKOAstheoutputshows,VDEcreatesthelibraryrootdirec-OOtoryandthelibrary database,butdoesnotcreatetherestKO5ofthe directorytree.-Theuserthushasthe opportunityKOtomodifythe directory structureanditsexact locations?OwithSET DIRECTORYcommandsbeforeusingCREATEEO>DIRECTORY_TREEcommandstocreatethe directorytree.p FJOThe followingexampleshowstheVDElibrary creation,asEOwellasanumberofother ancillarysteps involved. Oa$!ZO$!%Locate%and&delete%previous% incarnations%of%the&test%facility%files,IO$!%then&unpack%the%saveset% containing&the%test&files... O9$!`O$&if&f$search("sys$scratch:A.REQ")&.nes.&""&Then%Delete&sys$scratch:A.REQ;*/log`O$&if&f$search("sys$scratch:B.REQ")&.nes.&""&Then%Delete&sys$scratch:B.REQ;*/log`O$&if&f$search("sys$scratch:C.B32")&.nes.&""&Then%Delete&sys$scratch:C.B32;*/log`OY$&if&f$search("sys$scratch:D.B32")&.nes.&""&Then%Delete&sys$scratch:D.B32;*/log`O$&if&f$search("sys$scratch:E.B32")&.nes.&""&Then%Delete&sys$scratch:E.B32;*/log`O$&if&f$search("sys$scratch:F.B32")&.nes.&""&Then%Delete&sys$scratch:F.B32;*/log O0$!6Ox$&Backup%VDE$CREATE.BCK/SAVE& Sys$Scratch: O$!JO$!%Create%the&core% directory&--&this%must%be% present... OP$!?O$&Create/Directory% STAR$DATA:[QTV.WWW.VDE$DATABASE]O$&VDE O(!OOp!&create%the%WWW&library%in%STAR$DATA:[QTV.WWW...],%using%theOO!&mnemonic&WWW,%placing%all% Rdb-related%library% components&in.O!&!STAR$DATA:[QTV.WWW.VDE$DATABASE]. OH!EOcreate%librarK STAR$DATA:[QTV.WWW.VDE$DATABASE]%/DEFER%-t /NAME=WWW&-0t  /REMARK="QTV&WWW%Source%Library"%-Cth/NOAUTO_CONVERT&/AUTO_ADD_USER=VMS_SOURCE% /AUTO_MAIL%-It/ASK_INFO_FILE%/ASK_REPL_CAUSE&/SHOW_GEN_EXPR& /NOSTATISTI&-?t/NOHISTORY_NOTES%/NOALLOW_DELETE%/NOWILD_INS_GEN&-:t@ /NOCMS_ELEM_HIST%/CREATOR="Stephen%Hoffman"%-3t &/DEF_PRIVILEGES=(CREMOD,RESREP,CREFAC)%-4t '/AUTH_PRIVILEGES=(CREMOD,RESREP,CREFAC)&-3t &/data=STAR$DATA:[QTV.WWW.VDE$DATABASE]%-4t_ '/journ=STAR$DATA:[QTV.WWW.VDE$DATABASE]&-0t &/snap=STAR$DATA:[QTV.WWW.VDE$DATABASE] O !O7 SHOW&DEFAULTSO SHOW& LIBRARY/FULL=O MODIFY%CONTEXT/PUBLIC%DEFAULT/NOSTREAM/NOFACILITY O !LOW CREATE%USER%SYSTEM% /NAME="System%Manager"/DEF_P=ALL/AUTH_P=ALLO System%Manager O !HO/ !&Create%the%CMS& ("delta")%library& directory% structure.POw !& Configure%the%CMS& libraries%to%use%the& directory% structure:=O !p0STAR$DATA:[QTV.WWW.CMS$DATABASE.'facility'.CMS].QO!& Configure%the%"marker"%files%to%use&the% directory% structure:?OO!p2STAR$DATA:[QTV.WWW.CMS$DATABASE.'facility'.SRC]... O!FOSET%DIRECTORY/DELTA_FILES& STAR$DATA:[QTV.WWW.CMS$DATABASE]AO'SET%*DIRECTORY/DELTA_FILES/SUBDIRECTORY=VDE$CMS&[.CMS]DOnSET%-DIRECTORY/DELTA_FILES/SUBDIRECTORY=VDE$MARKER&[.SRC],OCREATE%DIRECTORY_TREE/DELTA_FILES%OSHOW&DIRECTORY/DELTA_FILES OF!*O!&Create%the%staging%area... O!AOSET%DIRECTORY/STAGING%STAR$DATA:[QTV.WWW.VDE$STAGING](OfCREATE%DIRECTORY_TREE/STAGING O!3O!&Create%the% stream/build& directories O>!@OSET%DIRECTORY/STAGING%STAR$DATA:[QTV.WWW.VDE$STREAM]'OCREATE%DIRECTORY_TREE/STREAM O!9O^!&create%and%load%the%VDE&test% facility. O!+OCREATE%FACILITY% AAA_VDE_TEST&-86 /REMARK="Test%facility%for%VDE& developers"&O~SET%FACILITY% AAA_VDE_TEST"DOCREATE%MODULE/NODELETE/REMARK="VDE& self-test%module"&-$A.REQ&/INPUT=SYS$SCRATCH:DOUCREATE%MODULE/NODELETE/REMARK="VDE& self-test%module"&-$B.REQ&/INPUT=SYS$SCRATCH:DOCREATE%MODULE/NODELETE/REMARK="VDE& self-test%module"&-$-C.B32&/INPUT=SYS$SCRATCH:DOuCREATE%MODULE/NODELETE/REMARK="VDE& self-test%module"&-$D.B32&/INPUT=SYS$SCRATCH:DOCREATE%MODULE/NODELETE/REMARK="VDE& self-test%module"&-$ME.B32&/INPUT=SYS$SCRATCH:DOCREATE%MODULE/NODELETE/REMARK="VDE& self-test%module"&-$F.B32&/INPUT=SYS$SCRATCH: O%!OmEXIT O$O$&ExitdR3QTqG;O6.2BOptionalLibrary AttributesandSettingsMOUThereareanumberoflibrary attributesthatyoucanop-DOtionallysetwiththeCREATELIBRARYcommand.*TheseOO attributesallhavedefaultvalues(whichiswhytheirspec-PO^ ificationis optional)andmostofthemcanbealteredlater@OwiththeMODIFYLIBRARYcommand.+However,beforeCOyouspecifytheCREATELIBRARYcommand,youshouldMOhconsiderwhetheryouneedtosettheseoptional attributes. _UNote _KrWhendealingwithcritical libraries,itisstronglyrec-Dommendedthatthestagingarea directories,theCMSG# libraries(thedeltafiles)andtheVDEdatabaseeachI{bekeptonauniquediskspindleoruniquediskshad-Howset.(Further,Rdbshouldberunwithmultiplefiles,H-andthese componentfilesshouldalsobespreadacross1uniquediskspindlesor shadowsets. ! $O6.2.1BDatabase PlacementIO4One attributeyoumustconsiderbeforecreatingtheVDEHOlibraryisthe placementoftheVDE database.-TheVDEUOdatabaseconsistsofthreefiles:)adatabaserootfile,astorageZO=areafile,andasnapshotfilefile.'(ThesethreefilesusethefileAO extentiontypesRDB,RDA,andSNP,respectively.) nEOThedatabaserootfile(VDE$DATABASE.RDB)mustresideTOintheVDElibraryroot directory;thelibraryroot directoryisTO5by definitionthe directorythatcontainsthedatabaserootfile.QOThisfileissmall,however;itonlycontains informationthat0ORdbneedstomanagethe database.BFOThedatabasestorageareafile(VDE$DATABASE.RDA)con-KOtainstheactualdatathatVDEkeepsaboutyoursoftwareSO5system.)Thisfilecanbequitelarge,itsactualsize depending4Oonthesizeofyoursoftwaresystem.NDOThesnapshotfile(VDE$DATABASE.SNP)retainsthein-HO formation necessarytosupport concurrentaccesstotheBO5 database.'Thisfilecanalsobe relativelylarge. lPOBydefault,VDEplacesallthreefilesinyourVDE library'sJOroot directory.,However,ifyoursoftwaresystemissuf-NO5 ficientlylargeor sufficientlyactive,youshouldplacetheOOstoragearea(RDA)andsnapshot(SNP)filesonseperatedisk5Ospindlesordiskseperateshadowsets.! WROTorelocatethestorageandsnapshotareas,specifythedesiredCO directoryforeachontheCREATELIBRARY /DATABASE8O5and /SNAPSHOT qualifiers.,If /SNAPSHOTis 5notv5speci-NOfied,thesnapshotfilewillbe coresidentinthe /DATABASEROdatabase directory.*Ifneither qualifieris specified,allthree0O>databasefileswillbe coresident.[! 1IOThe followingexample illustrateshowyoucanusetheseMO qualifierstocontrolthe placementofthevariousdatabaseO5files:OVDE>K CREATE%LIBRARY&DEV1$:[ROOTDIR]%/DATABASE=DEV2$:[PROJDIR.DB]&-O_VDE>#/SNAPSHOT=DEV1$:[SNAPDIR]8 DOThiscommandcausesVDEtoplacethedatabaserootBOfile(VDE$DATABASE.RDB)inthelibraryrootdirec-FO5tory on disk DEV1$,"to place thedatabase data file=O(VDE$DATABASE.RDA)in directory [PROJDIR.DB]onQOdiskDEV2$,andtoplacethedatabasesnapshotfileindirec-LO>tory [SNAPDIR]ondiskDEV1$.' SpreadingthedatabasefilesPOovertwodisks,asdonehere,canimprovethe performanceofOthe database.! tiOOTheRdbdatabasemayalsouseafourthfile,an after-imageOOjournalfile(withfiletypeAIJ).WhenanRdbdatabasehasMO5 after-image journallingenabled,allchangestothedatabaseUOarerecordedinthatjournalfile.)IfthedatabaseislaterlostLOordamaged,perhapsduetohardwareproblemsordiskcor-PO>ruption,youcanrestorethedatabasefromabackupfileandTOthenusethejournalfiletorecoverallupdatessincethelastIObackup.* Journallingisoptionalbutstrongly recommended.NOHToenable journalling,youmustspecifythelocationoftheIOjournalfileusingthe/JOURNAL qualifiertotheCREATEDOLIBRARYorMODIFYLIBRARYcommand.'ThejournalfileQORshouldalwaysbeplacedona differentphysicaldiskfromthe!Ootherdatabasefiles.0Section7.4+ describeshowtobackupandIOrecoveryourVDEdatabaseandgivesmore informationonO[journalfiles.*0m|?D +O6.2.2BStandardUser PrivilegesMO4WhenyoucreateyourVDElibrary,youcanspecifythede-JOfaultand authorizedVDE privilegesyouwantassignedtoOOnewusersastheyareaddedtoyourVDElibrary.(VDEpriv-LO=ileges determinewhetherauserisallowedtoreserveandMOreplacemodulesornot,whetherauserisallowedtoper-MOformqueued replacementsornot,whetherauserisallowedQOGtocreatemodules,streams,and facilitiesornot,andsoon.GOThe descriptionoftheSET PRIVILEGEScommandcontains4OthefulllistofallVDE privileges.8 SOEachuserhasasetofdefault privilegesandasetofautho-NOrized privileges.+Thedefault privilegesarethose privilegesPO5thatareenabledbydefaulteachtimetheuserstartsanewLOVDEsession.*The authorized privilegesarethose privilegesNOthattheuserisallowedtoenablewiththeSET PRIVILEGESMO>command.*Thedefault privilegesarealwaysasubsetof(or6Othesameas)the authorized privileges.! aQOTheVDEdatabasestoresa ``standard''setofdefaultandau-MOthorized privilegesthatareassignedtonewusersastheyMO5areaddedtothe database.)YoucanoverridethesestandardRO privilegesforanygivenuserby explicitly specifying differentEO privilegeswiththeCREATEUSERorMODIFYUSERcom-PO>mand.'However,useofthestandard privilegesrelievesyouofQOthe necessityof specifyingVDE privilegesforeachuserindi-SO vidually.(Thisis especially importantifyouallowuserstobe7OHaddedtothedatabase automatically(seeHSection6.2.3).* ?! a{COThe/DEF_PRIVILEGES qualifiertotheCREATELIBRARYJOcommandallowsyoutospecifythedefault privilegesyouDO5wantnewuserstohave.)The/AUTH_PRIVILEGESquali-POfierallowsyoutospecifythe authorized privilegesyouwantSOnewuserstohave.'Youcanlaterusethese qualifierswiththeEO>MODIFYLIBRARYcommandtochangethe library'sstan-QOdard privileges.)Ifyoudonotspecifystandard privilegesforGOyourVDElibrary,VDEgivesnewuserstheCREMODand*OHRESREP privilegesbydefault.d :LOThe followingexampleshowshowyoucanspecifythestan-JOdarddefaultand authorized privilegesforaVDElibraryO5beingcreated:OVDE>= CREATE%LIBRARY&/DEF_PRIVILEGES=(CREMOD,RESREP)%-O_VDE>1:'/AUTH_PRIVILEGES=(CREMOD,RESREP,CREGRP)XFOTheexampleomitsother qualifiersand parametersforOclarity. =O6.2.3B AutomaticAdditionofUserstoDatabasePO4BeforeausercanusethenewVDElibraryyouare creating,OOthatusermustbeaddedtothe library'sVDE database.)ThisLOmeansthatVDEmustcreateanentryfortheuserintheLO=databaseUserTable.'Thisentryrecordstheuser'sOpenVMSNO username,fullname(firstandlastnames),defaultandau-LOthorized privileges,andother information.*AuserwhohasPOGnotbeenaddedtothedatabasecannotuseVDEtoaccessin-MO formationinthatdatabaseortoperformVDE operationsonOtheVDElibrary. akeachnewuser explicitly.*ThiswayofaddingusersismostQO practicalforVDE librarieswithasmallnumberofusers,es-MOpeciallyifyouwantcarefulcontroloverwhoaccessestheOHlibrary.9 QOSecond,youcansetalibrary attributethatallowsnewusersPOtobeadded automaticallythefirsttimetheyaccesstheVDEOO5library.)Thiswayofaddingusersismore practicalforVDENO librarieswithalargenumberof potentialusers.*ToenableKO automaticadditionofnewusers,youmustusethe/AUTO_CO>ADD_USER qualifiertotheCREATELIBRARYorMODIFYKOLIBRARYcommand.)Ifthis qualifierisusedwithoutapa-KOrameter,anyuserwhoattemptstoaccesstheVDElibraryHOHthroughVDEis automaticallyaddedtotheVDEdatabaseMOwiththestandarddefaultand authorizedVDE privilegesforOthatlibrary. aTOThe qualifiercanalsobe specifiedwitharights identifierpa-+Orameter,asin/AUTO_ADD_USER= rights-id.)Inthiscase,OO5VDEwillonlyaddthoseuserstothedatabasewhoholdtheLOOpenVMSrights identifiergivenbythe parameter.'ThiswayLOofaddingusersisusefulwhenyoualreadyuseaOpenVMSQO>rights identifiertoprotectthefilesand directoriesofyourKOVDElibrary.(Inthiscase,theOpenVMSsecurity mechanismNOforthelibraryalsoservesasthe mechanismthat restrictsDOHaccesstotheVDElibrarythroughtheVDEutility. OSection6.4Bgivesamorecomplete descriptionofhowyoucan-OadduserstoyourVDElibrary.*OF|? WIOIfyoudonotspecifythe/AUTO_ADD_USER qualifier,youCOmustadduserswithexplicitCREATEUSER commands.MO5However,youcanchangethelibrary attributethatcontrolsOO automaticadditionofusersatanytimebyusingthe/AUTO_>OADD_USERor/NOAUTO_ADD_USER qualifierwiththe#O>MODIFYLIBRARYcommand.! `FOTheowner information specifiedintheOpenVMSSYSUAFOOdatabasewillbeusedastheownerofanynewVDEusernameLO5created.)VDEwillignoreanyleading numerics,leadinghy-OOphens,leadingspace characters,andleadingtilde characters,0OlistedintheSYSUAFownerfield.z P0O6.2.4B ConversionofLibraryFormatLO4VDE maintainsdataaboutyourVDElibraryina relationalMO database.*Asnew capabilitiesareaddedtoVDE,theformatOOofthisdatabasemaychangefromoneversionofVDEtotheMO=next.)Anewfeaturemay,forexample,requiretheadditionOOofnewdatabasetablesorofnewcolumnstoexistingtablesQOinordertostorethedatarequiredto implementthefeature.JOGNewfeaturesmayalsorequireotherchangestoyourVDESOlibrary,suchastheadditionofa subdirectoryoranewfile.IOTo accommodatesuchchangestothelibraryformat,eachLOQnewversionofVDEthatrequiresaformatchangecontainsPOcodethatconvertsyourexistingVDElibrarytothenewfor-JOmat.(VDEalso maintainsadatabaseformatversionnumberOOZinyourdatabasesothatitalwaysknowsthecurrentformat0Oofyourlibraryandits database.A POWhenanewversionofVDEis installedonyoursystem,thatMOversionmayrequirethatyourexistingVDElibrarybecon-PO5veredtoanewformat.+Ifso,therearetwowaystoeffectMOthis conversion.*OneistoallowVDEto automaticallycon-POvertthelibraryformatthefirsttimeanyuseraccessestheOO>librarythroughVDE.Thesecondwayisto explicitlyconvert>OthelibraryusingtheCONVERTLIBRARYcommand. !OBydefault,VDEwill Cnot/convertyourVDElibraryautomat-QOicallythefirsttimeanyuserstartsanewVDEsessionthat%O5attachestothatlibrary  105 Automatic conversionisusefulforTOsmall libraries,for librariesthatareaccessedonlybythelo-OOcalcopyofVDE,andfor librariesthatareeasilyrestoredKO>frombackup.)Inordertoavoid unexpected conversionsandNOthe resulting potentialforlibraryaccessoutages, automaticSO conversionis,bydefault,disabledwhenthelibraryiscreated.*/  DOVIfyouspecifythe /AUTO_CONVERT qualifierwiththe=OCREATELIBRARYorMODIFYLIBRARYcommand,VDENOwill automaticallyconvertyourlibrarywhennewversionsofOO`VDEare installedonyoursystem.(If automatic conversionisIO disabled,ausermustenteranexplicitCONVERTLIBRARYKOcommandtoconvertthelibrary.)Tousethiscommand,youIOjmusthavetheVDE privilegeMODLIB.ThisapproachgivesLOyoumorecontroloverwhen conversionsoccursothatyourLOVDElibrarycannotbe accidentally convertedtotheformatPOsforanewversionofVDEthatyoudonotyetwanttouse. uIO Furthermore,whenthelibraryformatchanges,youshouldKOingeneraldeleteall processes connectedtotheVDEli-QO5brarybefore convertingthelibrarysothatalluser processesLOusethenewversionofVDEafterthe conversion.,ThisisIO especially importantifmostusersusekeptVDEsubpro-NO>cessestoaccessthelibrary.,Todeletesuch processes,use;Othe RMU/CLOSEcommandwiththe /ABORT=DELPRC#O qualifier.'Forexample: Ot$DtRMU/CLOSE/CLUSTER/ABORT=DELPRC%DEV$:[ROOTDIR]VDE$DATABASEU! +AOAfterenteringthiscommand,usetheVDECONVERTGOLIBRARYcommand.)This procedureensuresthatallusersTO5ofyourlibrarywillaccessitwiththenewversionofVDEandOOthatyourlibraryhastheformatthatthisversion requires.fAOTousethe RMU/CLOSEcommand,youmusthavethe%OOpenVMS privilegeSYSPRV. JOYoucanmodifythelibrary attributethatcontrolsauto-?Omaticlibrary conversionusingthe /AUTO_CONVERT;O5or/NOAUTO_CONVERT qualifierwiththeMODIFYOLIBRARYcommand.b `8-O6.2.5BSendingMail NotificationsKO4The /AUTO_MAIL qualifier specifiesthatVDEshouldsendaNOmail notificationmessagetotheuserwhohasqueuedare-HO placementwhenthat replacementislater performed(see O=QueuedReplacements).&=The /NOAUTO_MAIL qualifierLO suppressessuch notification messages.)These qualifiersthusOOcontrolthevolumeofmailmessagesVDEsends.'Ifyouspec-IOGifyneither qualifier, /AUTO_MAILisassumedbydefault.*OO GOThe /NOSEND_MAIL qualifier suppressesallVDEmailno-SO tificationmessagesforthelibrary.)This qualifierisusefulifRO5youaresettingupaVDElibraryfortestingpurposesorsim-MOplytoplaywith.*Fora productionVDElibraryyoushouldNOalwaysenablemailnotifications,whichcanyoudobyspec-KO>ifyingthe /SEND_MAIL qualifierorbysimplyomittingthe"O /NOSEND_MAIL qualifier. r:O6.2.6BAllowingDeletionofLibraryEntitiesRO4VDEallowsyoutodeletelibraryentitiessuchasmodules,fa-GO cilities,andstreamswithvariousDELETE commands.*ToIOusesuch commands,youmustingeneralhavethecorre-KO=spondingdelete privileges.-Thesedelete privilegesprotectLOagainstdeletionoflibraryentitiesby unauthorizedusers.QOTheyalsorequire authorizeduserstosetthose privilegesbe-OOGforedeleting entities,thus providingsome protectionagainstO accidental deletion.! t]POAsan additional protectionagainst accidentaldeletionofli-SObrary entities,VDEallowsyoutospecifythatcertain entities,QO5suchasspecificmodules, facilities,andstreams,arenotal-POlowedtobedeletedevenwhentheuserhasthe correspondingNOdelete privilege.+Agivenstream,forexample,canhaveitsMO>delete attributesetto no-deleteusingthe /NODELETEqual-COifiertotheMODIFYSTREAMcommand.+VDEwillthenDOnotallowtheDELETESTREAMcommandtodeletethatQOHstream.*Thestreamcanstillbedeleted,butonlyiftheat-DOtributeisfirstchangedwithanotherMODIFYSTREAMKOcommandtoallowthestreamtobedeleted.*The no-deleteNOR attributethusprevents accidentaldeletionofthestreambyMO requiringanextracommandto explicitlyallowdeletionbe-AOforetheDELETESTREAMcommandcanbeused.,The;O[ delete-stream privilegeisrequiredaswell.W! -MOWhenyoucreateyourVDElibrary,youcanspecifythede-UOfaultsettingofthedeletion attributefornewdatabase entities.ifiesthatdatabaseentitiesshouldnotbeallowedtobedeletedOObydefault.+Ifyouspecifyneither qualifier,VDEbydefaultNOmarksnewdatabaseentitiesasbeingallowedtobedeleted.NOHYoucanofcoursealwaysoverridethisdefaultby explicityPO specifyingthedelete attributewhencreatingnew entities.(InOOgeneral,allowingdeletionismore convenientforthelibraryKOR maintainer.(Notallowingdeletionismore appropriatewhenNOnumerous individualshaveaccesstothelibraryandsomeofBOthemmaybeaccident-pronewhenentering commands.d :3O6.2.7BCMSHistoryandNotesDefaultsFO4Twosetsof qualifierstotheCREATELIBRARYcommandJOcontrolsVDE's treatmentofCMShistoryandnotesinfor-?OmationintheVDElibrary.-The/NOCMS_ELEM_HISTNO= qualifiercausesVDEtocreateCMSelements(thatis,deltaROfiles)withnodefaulthistoryandnotesstrings.'ThispreventsLOCMSfrom producingfileswithhistoryornotes informationFOGwhenmodulesarefetchedwiththeCMSFETCHcommand.OOThislibrary attributehasnoeffectonmodulesfetchedwithHOtheVDEFETCHcommand,soitisonlyrelevantifDCLGOQcommand proceduresaccesstheCMSelementsintheVDE(OlibraryusingCMS directly.! mistakeslesslikelywheresuch informationgetsreplacedinto=OtheVDElibraryaspartofthemoduletext.2HOBothofthese qualifierspreventcertainproblemswhereLOhistoryornotes informationgetsincludedinoutputfilesKO5wherethis informationmustnotbepresent.)SuchproblemsMOonlyoccurinspecial circumstancesanddonotaffectmostPOVDE libraries.*Asaresult,these qualifiersareoptionalandQO>thedefaultsettingsaregivenbythepositiveformsofthose;O qualifiers,/CMS_ELEM_HISTand/HISTORY_NOTES.M^+O6.2.8B Configuring Architectures3O4Thissectionisunderconstruction...6 KOAfterthecreationofthevarious architecturesusingone>OormoreCREATE ARCHITECTURE commands,onenor-NO5mallyenablesthedisplayofdiffernt architectureswiththe5OMODIFYLIBRARY/SHOW_ARCHITECTUREcommand.oE OSeeChapter9$bforfurther information.*FlO! s*O6.2.9B Miscellaneous AttributesEO4Other qualifierstotheCREATELIBRARYcommandallowPOyoutosetvarious miscellaneouslibrary attributes.'The/ASK_AO INFO_FILE qualifier determineswhethertheREPLACEOO=commandwillbydefaultasktheuserwhethertoeditare-,O placement informationfile(seeSection2.7).The/SHOW_@OGEN_EXPR qualifier determineswhethertheRESERVEKOGcommanddisplaystheexpected generation expressionoftheIOnewmodule generationtobecreatedwhenthemoduleisMOlater replaced.+Theseandother qualifiersare describedinFOQmoredetailinthe descriptionoftheCREATELIBRARYHOcommand.+Whethertheyare applicabletoyoudependsonKOthe developmentprocessyouthinkis appropriateforyourOZproject.*Y~? ! NQOIfyouhavenostrongfeelingsontheseoptions,usethede-POfaults.'Ifyoulaterchangeyourmind,youcanalwayschange>O5thesesettingwiththeMODIFYLIBRARYcommand.#jT2RX z,O6.3BLibrary Directory StructurePOUInadditiontoitsroot directoryand database,yourVDEli-LObrarycontainsanumberof additionaldisk directoriesandOOsubdirectories.(These additional directoriescontainthesourceIO^modulesforyoursoftwaresystem,all associatedderivedMOmodules(suchasobjectmodulesand executableimages),andMOvariouscommandfilesandlogfilesthatVDEusestoper-NOhformits functions.*Thissection describesthe structureand2O functionsofthesedisk directories.! )O6.3.1BDeltaFile DirectoriesNO4VDEalwaysstoresallsourcemodulesthatarepartofyour4Osoftwaresystemin``deltafiles.''(A6 deltafilestoresallgen-NOerationsofasourcemoduleina condensedform.)ThedeltaQO=filestoreseverylinethathaseverbeenpartofthesourceMOmodule,alongwith information specifyingwhichlinesbelongSOtowhich generationsofthemodule.'BecausealinethatisthePOGsamefromone generationtothenextisonlystoredonceinTOthedeltafile,thefilesavesspaceby essentiallyonlystoringPO differencesbetween generations.((Suchfilesarecalled``deltaROQfiles''becausetheGreekletterdeltaisoftenusedtodenoteHO differencesbetween quantitiesin mathematical notation.)Z>OVDEusescallableCMS(VAX/VMSCode ManagementOOSystem)tomanageitsdeltafiles.)VDEsetsuponeCMSli-LO5braryforeachfacilityinyoursoftwaresystem.+VDEalsoLOcreatesoneCMSelement(whichisadeltafile)foreach5Osourcemoduleinyoursoftwaresystem.L "'OBydefault,VDEcreatesa% delta-fileroot directorycalledGO VDE$CMS.DIRwithinthelibraryroot directorywhenyouPO5createthelibrary.(Eachtimeyoucreateanew facility,VDEPOcreatesa subdirectoryforthatfacilitywithinthe delta-fileROroot directory.)TheCMSlibraryforthefacilityiscreatedinOO>the facility's subdirectory.'CMSuses additionalsubdirectoriesOOwithintheCMSlibrarytostoretheactualdeltafiles(CMSNO elements),butVDEdoesnotkeeptrackoftheinternalor-,OH ganizationoftheCMSlibrary.HTable6-1 6H illustratesthediskAO directoriesthatVDE establishesfordeltafiles.* b?= KOVDErecordsthe directory specificationforthe delta-filePOroot directoryandeach facility's delta-file directoryinits>O< database.(TheSHOWLOCATION /DELTA_FILEcommand:Odisplaysthis informationonyour terminal.S)MOAlthoughVDEusesthedefault locationsjust described,youPOcanspecify different locationsforthe delta-file directories.NO5Tospecifya different delta-fileroot directory(VDE$CMSby>O default),youmusttakethe followingactions:a `m<mSpecifythe/DEFER qualifierwiththe CREATEALIBRARYcommand.)This qualifierpreventsVDEfromM initializingthe delta-file directorytreeusingitsdefaultwrules. `8EntertheSET DIRECTORYcommandwiththeGO /DELTA_FILE qualifiertospecifythedesired delta-fileMroot directory.(Forexample,tospecifythatthe delta-fileBroot directoryshouldbeDEV$:[DELTAROOT],usetheY followingcommand:VDE>8SET% DIRECTORY% /DELTA_FILES&DEV$:[DELTAROOT] eJThiscommandcausesVDEtouse directoryDEV$:[DELTAROOT]Tasthe delta-fileroot directoryinsteadofDEV$:[ROOTDIR.VDE$CMS]. `[8[EntertheSET DIRECTORYcommandwiththe> /DELTA_FILEand /FACILITY qualifierstospecifyO thedesired delta-file directoryforaspecific facility.)ForKeexample,tospecifythatthe delta-file directoryforfa-GcilityFOOshouldbeDSK2:[PQR.STU],usethe followingcommand:VDE>ESET% DIRECTORY% /DELTA_FILES& /FACILITY=FOO%DSK2:[PQR.STU]4 [ JNotethatyoucanusethiscommandtoplacethedelta-Pfile directoryforagivenfacilityona differentdiskthan+5therestoftheVDElibrary. `DAfterhavingenteredalldesiredSET DIRECTORYcom-F mands,enterthe followingcommandtoactuallycreateNethe specified delta-fileroot directoryandtherestofthe& delta-file directorytree:BVDE>.BCREATE%DIRECTORY_TREE% /DELTA_FILESHThiscommandcreatestheCMSlibraryforeachfacility?inadditiontocreatingtheactual directories.NKWTocreatethe delta-file directoryandCMSlibraryforaAspecificfacilityFOO,usethe followingcommand:5VDE>=5CREATE%DIRECTORY_TREE% /DELTA_FILES% /FACILITY=FOOr HDONotethattheSET DIRECTORYcommand specifieswhereSOa directoryshouldbelocated,butdoesnotactuallycreatetheUO5 directory.(Ineffect,itcreatesatemplateforsomepartoftheNOVDE directorytree.(Toactuallycreate directoriesfromthatBO template,youmustentertheCREATEDIRECTORY_TREEJO>command.(This arrangementallowsyoutospecify templatesPOformanypartsofthe directorytreebeforeyouactuallyuse2Othe templatestocreate directories.H j+O6.3.2BStagingArea DirectoriesMO4WhenyouuseVDEforsourcecontrol,youcanreplacemod-OOulesintwoways.(Oneistoreplacemodules immediately,inNOwhichcasethemodulesbeingreplacedareinsertedintotheJO=VDElibraryrightaway.+Theotherwayistoqueuemod-JOulesfor replacement,inwhichcasethemodulesarenotQOinsertedintothelibraryuntilan authorizeduser ``performs''FOGthequeued replacement.+Queued replacementsareusefulJObecausetheygiveprojectmanagersmorecontrolovertheLOtimingof replacementsandtheyallowthereplacedmodulesHOQtobereviewedbeforebeinginsertedintothelibrary.b 8HOWhenauserqueuesmodulesfor replacement,VDEcopiesPOthefilesbeingreplacedintothe library'sstagingarea.*TheO5 stagingarea@U5isadisk directorytreethat temporarilyholdsNOfilesbeingreplaceduntilthe corresponding replacementsareJO performedbyan authorizeduser.+ThestagingareastartsSO>withthestagingarearoot directory.'Bydefault,thisrootdi-JOrectoryis subdirectory VDE$STAGEwithinthelibraryrootO directory.i! ?IOWithinthestagingarearoot directory,VDEcreatestwoPOmorelevelsofsubdirectories.(Thestagingarearoot directoryHO5containssubdirectorieswithnamesoftheformVDE$STG_ OnK.*Eachsuch directoryholdsagroupof100 replacements.CO Directory VDE$STG_12,forexample,containsreplace-OO>mentswith ReplacementIdvaluesintherange1200to1299.IOWithineachsuch directory,VDEcreates second-leveldi-OO rectoriesthateachholdthefilesforasingle replacement.COHWithin VDE$STG_12,forexample,thereare subdirec-DOtorieswithnamessuchas VDE$REP_1261, representingO replacement1261.Table6-2'~ illustratesthis structure.*a? WJOWithinthe replacement subdirectory,VDEcreatesonesub-NO directoryforeachfacilityinvolvedinthe replacement.)VDENO5storesthe individualfilesbeingreplacedinthosefacilityJOsubdirectories.+Commentand informationfilesforthere-OO placementarestoredinthe replacement subdirectory.'ThisisO>alsoshowninM>Table6-2.*Ma?1LOAs mentionedabove,VDE'sdefaultlocationforthestagingIOarearoot directoryis subdirectory VDE$STAGEwithinthePO<libraryroot directory.(Tochangethisdefault,youmusttake"Othe followingactions:! a `m<mSpecifythe/DEFER qualifierwiththe CREATEALIBRARYcommand.)This qualifierpreventsVDEfromP initializingthestagingarearoot directoryusingitsdefaultwrules. `8EntertheSET DIRECTORYcommandwiththeLO/STAGING qualifiertospecifythedesiredstagingareadi-Mrectory.'Forexample,tospecifythatthestagingareadi-GrectoryshouldbeDEV2$:[PROJ.STAGE],usethe followingYcommand:VDE>6SET% DIRECTORY%/STAGING%DEV2$:[PROJ.STAGE] LThiscommandcausesVDEtouse directoryDEV2$:[PROJ.STAGE]Yasthestagingarearoot directoryinsteadofDEV$:[ROOTDIR.VDE$STAGE].R5Itis preferablethatthestagingareabeona differentdisk,thantherestofthelibrary. ` C Enterthe followingcommandtoactuallycreatethe4e specifiedstagingarearoot directory:VDE>*CREATE%DIRECTORY_TREE%/STAGINGN:OTheSET DIRECTORYandCREATEDIRECTORY_TREENOcommandscanbeusedatanytimeafterlibrarycreationtoIO5redirectthestagingareatoa differentdisk location./FOAfteragiven replacementhasbeen performed,VDEnoKOlongerneedsthe correspondingstagingarea.)VDEdoesnotSO5itselfdeletethosefiles,butyoushoulddoso periodicallytoPOreclaimthediskspace.*StagingareafilescanbeusefulforOOsometime,however,becausetheycontaincopiesofthefilesPO>insertedintotheVDElibrary.)Theycanthusbeusedtore-LOcoverlost informationifyourdeltafiles(CMS libraries)POarelostordamaged.+Incaseofsuchloss,youhavetore-HOHstoretheCMS librariesfrombackups.+ThatshouldmakeMOthemclosetobeing consistentwiththe informationintheGOVDE database.,Afterthat,youcanusetheVDEVERIFY=OR GENERATIONcommandwiththe/RECOVER qualifierOOtorestoretheCMS librariestothestategivenbytheVDENO database.)Thisrecovery operationrequiresaccesstotheoldNO[stagingareadirectories-toretrievecopiesofanylostmod-QOule generationsfor insertionintotheCMS libraries.(ForthisNO reason,youshouldalwayshavethestagingareasonadif-QOeferentdiskthanthedeltafilesortheVDEdatabaseandyouKOshouldkeepthestagingareasforold replacementsaroundDOforsometimeafterthe replacementsare performed. wKOFor informationontypicalstagingarea maintenanceopera-Otions,seeSection7.5.*|? l1O6.3.3B DevelopmentStream DirectoriesPO4IfyouintendtouseVDEtobuildyoursoftwaresystem,youKOmustsetupa directorytreeforeach developmentstreamROthatyouwanttobuild.'That directorytreewillcontainclearPO=copies(asopposedto delta-filecopies)ofyoursourcefilesSOalongwithalloutputfilesproducedbythebuilds.)Ifyouin-ROtendtouseVDEonlyforsourcecontrolandnotfor building,OOGyoudonotneed directorytreesforstreamsunlessyouwantMOVDEtomaintainclearcopiesofyourmodulesfor debuggingNOorforgeneral reference.*ThissectionexplainsbothhowtoOOQsetupstream directorytreesifneededandhowtosuppress Othemifnotneeded. MOBydefault,VDEcreatesa directorytreeforeachnewde-JO velopmentstreamthatyoucreate.,Theroot directoryforKO5this directorytreehasthesamenameasthestreamandOOisa subdirectoryofthelibraryroot directory.+AnyperiodsTO( . )inthestreamnamearechangedto underscores( _ )inJO>the directorynametomaintainvalidOpenVMSfilenames.MOWithinthestreamroot directory,thereisone subdirectoryNOforeachfacilityinyoursoftwaresystem.)Eachsuchsubdi-;OHrectoryhasthesamenameasthe facility._HTable6-3HshowsOthis structure.*_ b?L "KOWithineachfacility subdirectory,VDEcreatesseveralad-OOditionalsubdirectories.)Bydefault,therearefoursuchsub-BO5 directoriescalledSRC,OBJ,VDE$COM,andVDE$LOG.HOTheSRC subdirectoryismeanttoholdsourcefilesinJO clear-copyform.,TheOBJ directoryismeanttoholdob-NO>jectfiles, executableimages,andallotherderivedmodulesKOthatcanbeproducedwhenyoursoftwaresystemisbuilt.FOTheVDE$COM subdirectorywillholdcommandfilesthatLOHVDEcreatestoperformbuildstepsandtheVDE$LOGsubdi-QOrectorywillholdthe correspondinglogfiles.)ThecontentsofFOtheVDE$COMandVDE$LOGsubdirectoriesarethusunderNORVDEcontrolwhilethecontentsoftheSRCandOBJdirecto-QOriesareunderyourcontrolwhenyousetuptheVDElibrary.>OThesesubdirectoriesarefurther illustratedinTable6-3.*a?g! =OOYoucandirectVDEtocreate additionalsubdirectorieswithinROthefacilityroot directoryandyoucan explicitlyspecifyyourSO<own locationsforthestreamandfacilityroot directories.'ThisIOtopiciscoveredinmoredetaillaterinthissection.:! `*O SuppressingStream DirectoriesPO4IfyouwanttouseVDEforsourcecontrolonlyandnotforLO building,youmaywanttosuppressthecreationofstreamIO directorytreesbecauseyouarenotgoingtousethem.PO> (However,ifyouwantVDEtomaintainclearcopiesofsourcePOfileson replacementthenyoudoneedstream directories.)'ToQOsuppresscreationofstream directorytrees,takethe followingOGsteps:2  `m<mSpecify the /DEFER qualifier with the!CREATEALIBRARYcommand.*This qualifierpreventsVDEfromIcreatingthe directorytreeforthedefaultstreamMAIN'wwhencreatingthelibrary. `7EnterCREATEDIRECTORY_TREEcommandswithEOthe /DELTA_FILESand/STAGING qualifiersinordertoKcreatethe delta-file directorytreeandthestagingarearoot directory.'See~Section6.3.1 MandSection6.3.2. `8Enterthe SET DIRECTORYcommandwith the>/STREAMand/DEFER qualifiersforstreamMAIN:]VDE>]SET%STREAM%MAINVDE>)SET% DIRECTORY%/STREAM%/DEFER*~?*?WtC/DEFER specifiesthatwhennewstreamsarecreatedEfromthecurrentstream,directory-treecreationwillI5bedeferredforthosestreams.*Thismeansthatthede-G scendantsofstreamMAINwillnotget directorytrees>unlessyouenterexplicitCREATEDIRECTORY_TREE>commandsforthem. YOOAfterthesestepsaredone,youcancreatenewstreamswith@OtheCREATESTREAMcommandasneeded.-BecauseofAO5theSET DIRECTORYcommand,each subsequentCREATEFOSTREAMcommandhasanimplicit/DEFER qualifierwhichCO suppressescreationofthestream's directorytree.U! +2ODefiningYourOwnStream DirectoriesTO4Ifyouneedstream directorytreesbutyoudonotlikethede-MOfault directory structureor placement,thenyoucandefineSOyourownstream directories.(Onewaytodosoisto explicitlyMO>specifytheroot directoryfornewstreamswhenyoucreateGOthestreams.+AnotherwayistousetheSET DIRECTORYJOcommandwiththe/STREAM qualifiertospecifythedirec-LOGtory structureand placementyouwantforagivenstream.AOYoucanentermultipleSET DIRECTORYcommandstoNOspecify differentaspectsofthedesired directory structure;JOQtogetherthesecommandsdefineatemplateforthedirec-KOtory structureand placementthatyouwant.*Thenusethe=OCREATEDIRECTORY_TREEcommandwiththe/STREAMSO[ qualifiertoactuallycreatethe directorytreeforthatstream.QOIn addition,anyfuturechildstreamsthatarecreatedfromaPO givenstreamwillinheritthe directory structureofthepar-MOdent.)Theactual directorytreesforsuch descendantstreams9Oarecreatedwhenthestreamsarecreated.KOThe followingaretheoptionsyouhavein specifyingthe=O directory structureand placementforstreams:9!  `mMmTospecifythe placementofanewstream'sroot directory,Fcreatethestreamusingthe /DIRECTORY qualifierwith'theCREATESTREAMcommand:VDE><CREATE%STREAM%BIRCH%/DIRECTORY=DEV2$:[MY_BIRCH] W;Thisexamplecreates stream BIRCHandmakesCDEV2$:[MY_BIRCH]itsroot directory.+Thisisgener-N5allythebestwaytospecifytheroot directoryforanewB developmentstream.- Specifyingstreamrootdirecto-LriesthiswayallowsyoutospreadyourVDElibraryoverL>multipledisksforbetter performanceanddisk utilization. JWYoucanalsospecifythatallfuture descendantsoftheJcurrentstreammusthavetheirroot directories specifiedIwhenthosestreamsarecreated.*Todoso,enteraSET@a DIRECTORYcommandwiththe/PROMPT qualifierfor.thecurrentstream.'Forexample:>VDE>>SET%STREAM%BIRCHVDE>*SET% DIRECTORY%/STREAM%/PROMPT avDThesecommandsspecifythatastreamroot directoryLmustbe explicitly specifiedforeachfuture descendantofE5theexistingstreamBIRCH.Wheneachsuch descendant?iscreatedwiththeCREATESTREAMcommand,VDEKpromptstheuserforthenameofthestreamrootdirec-G>toryunlesstheuser specifiesitwiththe /DIRECTORYK qualifier.)Thisfeatureisusefulwhenyouwanteachfu-Nturestream's directorytreetogoonaseparatedeviceto7Hbeselectedwhenthestreamiscreated._! 5;WNotethattheSET DIRECTORY/STREAMcommandKactsonthecurrentdefaultstream.,ForittoactonaHgivenstream,youmustthussetthatstreamusingthe=aSETSTREAMcommand,asshownintheexample. `GTospecifythe placementoftheroot directoryofanF9alreadyexistingstream's directorytree,usetheSET< DIRECTORYcommandwiththe/STREAM qualifier.=ThenusetheCREATEDIRECTORY_TREEcommandtoHBactuallycreatethestream directorytree.&Forexample:VDE>SET%STREAM%BIRCHVDE>0SET% DIRECTORY%/STREAM% DEV2$:[MYDIR]WVDE>)WCREATE%DIRECTORY_TREE%/STREAMVDE>$CANCEL% DIRECTORY%/STREAMV EThefirstthreecommandsmake directory DEV2$:[MYDIR]Ftheroot directoryfortheexistingstreamBIRCH.IfE5thesecommandsarenot specified,VDEuses subdirec-MtoryBIRCHinthelibraryroot directorybydefault.'AfterJyouhavecreatedthe directorytree,youshouldusethe@>CANCEL DIRECTORYcommandtopreventfuturechildEstreamsfrom inheritingthe DEV2$:[MYDIR]rootdirec-Htory.(Thisensuresthat subsequentstreamscreatedfromHHstreamBIRCHdonotattempttousethesamerootdi-Mrectory;insteadtheygeta subdirectorywithinthelibrary'root directorybydefault. `xNxTospecifythe placementoftheroot directoryforagivenKfacilityforthecurrentstream,usethe /FACILITYquali-)fieraswell:VDE>SET%STREAM%BIRCHVDE>BSET% DIRECTORY%/STREAM% /FACILITY=FOO&DEV2$:[BIRCHFOO]>VDE>9>CREATE%DIRECTORY_TREE%/STREAM/% /FACILITY=FOOVDE>3CANCEL% DIRECTORY%/STREAM% /FACILITY=FOO- <Thesecommandsmake directoryDEV2$:[BIRCHFOO]Jtheroot directoryforfacilityFOOwithinstreamBIRCH.I5Ifthiscommandisnot specified,VDEuses subdirectoryGFOOwithinthestreamroot directorybydefault.,ThisBformoftheSET DIRECTORYcommandisseldomusedL>becausethereisusuallynoneedtoplacethe directoriesLforan individualfacilityona differentdiskthanotherK facilities.-However,ifyoudouseit,usethe indicated?HCANCEL DIRECTORYcommandaftercreatingthedi-Lrectorysothat subsequentchildstreamswillnotusethesame directory. `xHxTospecifythatagivenstream's directorytreeshouldJhave additionalsubdirectorieswithineach facility'srootF) directory,usethe /SUBDIRECTORY qualifiertotheSET@ DIRECTORYcommand.-TospecifythateachfacilityKshouldhavea subdirectoryforanalysis(.ANA)files,for>3example,youwouldusethe following commands:VDE>SET%STREAM%BIRCHVDE>?SET% DIRECTORY%/STREAM%/SUBDIRECTORY=ANASYM%[.ANA] as>ThisSET DIRECTORYcommand specifiesthateachDfacilityinstreamBIRCHandits descendantstreamsI5shouldhavea subdirectoryANA.Theformofthedirec-Ptory specification ``[.ANA]'' indicatesthatitisrelativetoHeach facility'sroot directory.'TheANASYM parameterisL>a ``directorysymbol''whichisusedlaterinVDEscriptsJto referencethenew subdirectory.((Usuallythe directoryJsymbolisthesameasthe directorynamebutherethey0Hdifferforclarityof exposition.)m! 5CMWVDEgivesyoufourfacilitysubdirectoriesbydefault:&SCR,;OBJ,VDE$COM,andVDE$LOG.The /SUBDIRECTORY? qualifiertoSET DIRECTORYallowsyoutospec-Gaify additionalsuchsubdirectories.,Asalways,theSETB DIRECTORYcommandonlycreatesatemplatefortheMdesired directorytree;theactual directoriesarenotcre-<kateduntilyouusetheCREATEDIRECTORY_TREEEcommandorcreatenewstreamsthatinheritthetem-%platefromtheirparent.4!  IOThesevariouswaysof specifying directory placementandJO structuregiveyou considerablecontroloverVDE'sstreamMO5 directorytrees.(YoucanspreadyourVDElibraryovermul-POtipledisksusingthese capabilities.*YoucancontrolhowtheOOvarioussubdirectoriesforeachfacilityareusedbythewayQO>thatyouwritetheVDEscriptsthat determinehowbuildsteps:Oandcertainother operationsare performed.$`` glx+,/&C&(n 1U1  2&2<ZR<\>D2Ax F6 |KF2%N&O<`>pX$GQy l6 ~Sf p hSV%(8 "2"5< %F Z $. o~[ ^ 04BAH24x<5caC nt3kd p N NX9I ^   &T4df#jt18$^#. ;M#l>^A& x+F"~DD,>XP- 4 Pp(D8T:<T m]zP.$