Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

RTC 2.0.0.2 Is it advisable to delete attachment from MODEL.ATTACHMENTS table RTCMasterDB

 RTC 2.0.0.2 Is it advisable to delete attachment from MODEL.ATTACHMENTS table RTCMasterDB

a user inadvertantly attached a file with extremely sensitive information and would like it deleted from our RTC system; removing it, and removing it from comment still leaves it available in HISTORY tab. I can see it in the master database and COULD delete it if this wouldn't cause any system instability or referential integrity issues. Is this a safe operation?

RTC 2.0.0.2 on Microsoft SQL Server 2008

0 votes


Accepted answer

Permanent link
Hi Dave

--> From RTC 3.0 and onwards, there is an option to permanently delete attachment by using the delete menu item.  
But not in RTC 2.0.0.2.  

--> For RTC 2.0.0.2, one needs to go through the following jazz.net article on discarding the work item and the Attachment history. This might suffice for the requirement.

http://jazz.net/library/article/193  
   
--> If there is a dire need to delete from the database using the SQL queries, IBM does not support running the queries at the database level, to delete the attachment. Even if tried, it's highly recommended an offline Database backup is taken before each change.   

--> For an attachment, there is not just a single entry in the Database for an item.  
   
1) There is an entry for querying (the model.attachment table)  
2) There are separate entries for the current state and historic states that contain the serialized EMF XML.  
   
Essentially all these entries will need to be deleted.  
   
--> In a couple of instances for RTC 2.0.0.2 version, following were the guidelines used to remove the attachment, using the SQL queries.   
   
**********

a.
   
***  
  
delete from MODEL.ATTACHMENT where ITEM_ID = '_6lIm0Qj_EeC-Q9fTUVcnpA';  
delete from REPOSITORY.ITEM_CURRENTS where ITEM_UUID = '_6lIm0Qj_EeC-Q9fTUVcnpA';  
delete from REPOSITORY.ITEM_STATES where ITEM_UUID = '_6lIm0Qj_EeC-Q9fTUVcnpA';  
delete from REPOSITORY.CONTENT_STORAGE where OWNER_ITEM_UUID = '_6lIm0Qj_EeC-Q9fTUVcnpA';  
delete from LINKS.AUDITABLE_LINK where TARGET_REF_REFERENCED_ITM_TM_D = '_6lIm0Qj_EeC-Q9fTUVcnpA';  
   
***  
   
This should remove all traces and content for the attachment.  

The server needs to be restarted after executing the SQL statements, as the transactional cache may still hold on to the attachment information.  

b. To find ITEM_ID from an attachment:  
   
select * from MODEL.ATTACHMENT where ID = 3424;  
   
c. The above commands were for Derby database though and needs to be varied based on the specific database in use.
   
**********

Dave Decker selected this answer as the correct answer

0 votes


One other answer

Permanent link
thanks Sumant; IBM support got me the same solution and it worked perfectly...REgards
dave

0 votes

Your answer

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details

Question asked: Mar 24 '14, 7:51 a.m.

Question was seen: 4,302 times

Last updated: Apr 03 '14, 7:06 a.m.

Confirmation Cancel Confirm