We have a ClearCase server installed on Solaris box and there are several vobs replicated in a multi-site environment. Now as this Clearcase server is becoming old we have setup an new Server on Windows and able to bring that new server into multi-site with all the required vobs. Now we would like to remove/decommission the vobs from old solaris box and want to free up the space occupied by those vobs.
Can any one suggest the best procedure to do this and also point us to the links for that procedure?
You can:
follow the technote "Moving a VOB using ClearCase MultiSite", which basically:
creates a replica on the source vob server:
import the replica on the destination vob server:
multitool mkreplica -export -workdir c:\\
[-maxsize 100m] -fship :
#
Import:
multitool mkreplica -import -workdir /var/tmp/doesntexist/ -tag
/your/new/vobtag/ -stgloc -auto -npreserve -public /var/adm/atria/
shipping/ms_ship/incoming/
simply rmtag and unregister the vob on the solaris box, in order to remove it completely from the central registry server.
See "How to remove a VOB or View from the ClearCase registry"
The alternative, to delete that vob, and to follow "Deleting a replica"
Then you can simply delete the vob and get back that disk space.
Related
This is a follow on from op - Moving Vobs between Win and AIX
Due to the aix and win vob servers sharing resources (common CC reg & Common Admin PVOB on the Aix box) we need to amalgamate these vob servers onto the AIX server as a precursor to our ultimate move to new servers at CC8.
on the Win VOb Server we have locked the vob, run vob_siddump then a reformat dump of the vob.
Then using xcopy we copied the dumped vob.vbs from Windows to AIX vob server run the fix_prot on the new server.
But when we run the reformatvob -load it goes through it's steps Shows "Loader Done" then shows the following errors
Error from vob database /vobstore/vobs/vobname.vbs.
Error Trouble Opening the VOB Database /vobstore/vobs/vobname.vbs,
Error Trouble Loading versioned object base /vobstore/vobs/vobname.vbs.
Because of the shared registry is this due to the existing registry entry and we need to unregister and then rmtag before registering and tagging fresh or do we need to do anything further?
Clearcase logs on aix vob server show:
DB Log - Error process not running on registery specified hostname (old win vob server)
Vob Log - shows unix UID and GID messange and Warning unable to verify mount options in vob tag registry Clearcase Object not found
David, there are a few things you need to do here:
unregister the VOB and remove all the tags that refer to the old server
reregister and retag the vobs at the new location.
If you can't register the VOB, run fix_prot -r -root ... to reset the ownership and try again.
run vob_sidwalk to remap object ownership.
run it again with -recover_filesystem to reset container ownership. Alternatively run checkvob -pool -protections -fix -force {vob storage dir}.
The last step really needed to be started on the Windows side before this started. Essentially, you needed a sid dump file to turn into the map file that the sidwalk needs (unless you want to remap everything to the VOB owner...)
The complete procedure to follow is at Moving VOBs between Operating system types You may want to start fresh from there if you still have the VOB located in the old location.
I have only one ClearCase registry. But I need to create another one in order to enhance the security. Unregister the vob and register it in the new registry is easy, but how can I move all the views?? I'm talking about two thousand views. So, I need a mechanism to move ALL the views of one vob to a new registry. Is it possible?
Basically, you need to have a script which would:
rmtag
unregister
mktag
register again
(from rgy_admin:)
But that would render the views inoperable: the users would have to delete them (simple delete, no mkview required), and rebuild the view.dat (for snapshot views)
Maybe it would be easier to declare your second registry server as a backup of your first registry, and once the two servers are in sync, make an rgy switchover (from "rgy_backup").
How to know an incoming sync packet is inteded for a particular vob?
multitool lspacket -l doesn't tell for which vob this is intended.
I have several incoming packets intended for my replica but when I import them using this command i am getting the below error:
C:\Program Files\IBM\RationalSDLC\ClearCase\var\shipping\ms_ship\incoming>multitool syncreplica -import sync_usal_unix_2012-11-29T23.00.17-05.00_2296
multitool: Error: Sync. packet C:\Program Files\IBM\RationalSDLC\ClearCase\var\shipping\ms_ship\incoming\sync_usal_unix_2012-11-29T23.00.17-05.00_2296 is not applicable.
Actually, multitool lspacket is the right command to check initially:
The OP vchitta initially thought:
The lspacket gave the below out put which shows that the intended replica name is correct but it doesn't reveal the VOB details.
multitool lspacket sync_usal_unix_2012-12-01T23.01.06-05.00_19957
Packet is: C:\Program Files\IBM\RationalSDLC\ClearCase\var\shipping\ms_ship\incoming\sync_usal_unix_2012-12-01T23.01.06-05.00_19957
Packet type: Update Packet fragment: 1 of 1
VOB family identifier is: 360ab8c4.661e11d3.a49e.00:01:80:a9:b5:ec
To which I argued:
Did you search '360ab8c4.661e11d3.a49e.00:01:80:a9:b5:ec' in the vob registry?
(or simply cleartool lsvob -l)
Is there any other Vob which would have the same uid?
See VOB objects and VOB replica objects.
Yes or no, this is your answer right there.
THE IBM documentation clearly mentions:
Each replica is a VOB, but the VOB object and VOB-replica object are different objects in the VOB database.
Specifically:
VOB object: The database has a single VOB object.
This object’s UUID is listed as the VOB family uuid in a lsvob –long listing.
VOB-replica object (or replica object): The database has a VOB-replica object for each of the VOB’s replicas.
This object’s UUID is listed as the Vob replica uuid in a lsvob –long listing.
The OP adds:
No.
No vob is having family identifier with the above UUID.
Now I am able to find which vob a packet is intended for with the help of family UUID.
I found this particular packet is for Platfom vob which I didn't replicated yet.
Original answer
See first "Packet is not applicable to any local replicas"
To verify that the host-name property of a VOB replica is wrong, enter the following command:
cleartool describe –fmt "%[replica_host]p\n"
replica:importing-replica-name#VOB-tag
For example:
cleartool describe –fmt "%[replica_host]p\n" replica:newyork#/vobs/tests
manhattan
If the host name is incorrect, use the chreplica command to change it. At the master replica of the importing replica, enter a chreplica command:
multitool chreplica –c "comment" –host new-host
replica:importing-replica-name#VOB-tag
For example:
multitool chreplica –c "change host name" –host brooklyn
replica:newyork#/vobs/tests
Updated replica information for "newyork".
Send an update packet to the other replicas in the family.
You can have multiple causes, as describes in this technote
Cause
The import command may have been run from a host other than the VOB server.
The hostname associated with the replica may have changed and MultiSite has not been updated.
The VOB server may have multiple host names and or multiple network cards and MultiSite is not properly configured to work with them.
Resolving the problem
For cause 1:
Make sure the syncreplica -import command is being run on the VOB server host.
The syncreplica -import command must be run on the VOB server host as it is a server operation.
For cause 2:
Check the hostnames associated with the replica and compare the outputs using the two commands below.
The VOB and the replica should show identical "host" output. If they do not, this is likely to be the problem.
Use the multitool chreplica -host command to resolve the problem.
Review the MultiSite Administrator's Guide on the topic of chreplica (multitool man chreplica) for more details.
cleartool lsvob -long <vob tag>
multitool lsreplica -long <replica-name>
For cause 3:
If the import is in fact being run on the correct server host, check to see how many hostnames that machine has.
Maybe the server has more then one network card, or several aliases.
If there is more than one name, make sure that the alternate_hostnames file exists.
It should contain each and every hostname the machine has, one per line.
Note: The alternate_hostnames file is supported on UNIX® and Linux® only.
I have already created my project views from the Rational Clearcase Client on XP machine.
Due to some reason I need to format my machine and I have installed Windows 7. Now my problem is, I already have the existing folders of the views created on XP. How do I re-import it so it will be shown in my Clearcase Navigator on Windows 7 machine?
In the OP jaychapani 's case (ClearCase Remote client):
The view storage for a "web view" is by definition on the CCRC server (so not on the client)
See "
How to reconstruct a CCRC view copy area after an unintentional deletion"
(the equivalent of a snapshot view directory is called, in CCRC, "view copy area")
A situation may occur where a developer unintentionally deletes a copy area and there is no backup.
The Web view still exists on the CM server and the view tag still exists in the ClearCase registry.
There is no way to perform such recovery completely from the CCRC graphical user interface (GUI).
Determine the View Tag (you can run cleartool lsview -l on the Web server: ask your ClearCase admin)
Create a new copy area (for example: D:\Webviews\<VIEWTAG>)
Create a .copyarea.dat file in the root of the above directory
Refer to technote 1119280 About the .copyarea.dat and .copyarea.db files for further details about this file.
a. Copy a .copyarea.dat file from another (known good) copy area into the root of the new copy area
b. Remove the "READONLY" and "HIDDEN" file attributes from that file.
Determine the UUID of the webview <VIEWTAG>.
You can get the UUID by running a cleartool lsview -l on the Web server (again, ask your ClearCase admin).
Modify the .copyarea.dat in the root of the new copy area.
If it was from a copy, modify the UUID and also the name of the <WEBVIEW> including its hexadecimal length field; modify also the name of the VOB root directory.
The timestamp in .copyarea.dat file does not need to be modified.
Remove the view tag from the .ccase_wvreg file.
Refer to technote1228258 About the CCRC .ccase_wvreg file for further details about this file.
Use CCRC GUI to perform "Add existing view".
Perform a Refresh->Repair->Discordance.
This repairs the content of the view.
Original answer, for a full ClearCase installation
If depends where the view storage of your (snapshot) view is stored.
If the view storage isn't stored on your local computer, you can simply re-create the root directory of your snapshot view and use "regen_view_dot_dat.pl" script found in <cc-home-dir>\etc\utils to regenerate the view.dat hidden file.
See "Clearcase - Find out when view was created" for more on that tool.
From that path, you can type clearexplorer . (note the space and the '.' dot), and you will see your view back in the ClearCase Explorer. Update it and you will find back its content.
If you had saved your snapshot view before formatting (including the hidden file view.dat), this is even easier: go the root path of that view and type clearexplorer .: your view will be back.
I would like to know:
How to Load two vobs in two different views where both vobs are in different registry and vob servers in a single client windows machine?
Different registry??? I dont think thats possible, because in the first place the View will not be the same across different registry.
Different VOB server in the same registry is not an issue, just load it normally.
Maybe I misunderstood your problem.
You need:
to pick one registry server
declare (mktag and register) the other vob from the other registry server in the first one
make sure the global path of the other vob is accessible from your client and from the first vob server (Windows to Unix can work, with, for instance, Samba. But if your VOB server, the one that you pick, is a Unix one, it won't be able to access VOB managed by a Windows Vob server)
Note: the hard part is to mktag and register the other vob in your registry server: you cannot do it in command line, because it will try to modify some files in the vob storage (which your first registry server has no right to do)
You can however do it graphically:
launch ccadminconsole.msc
Select the 'Registry' section:
create a new VOB object