Object ID

moon-buddy

ADSM.ORG Moderator
Joined
Aug 24, 2005
Messages
7,006
Reaction score
403
Points
0
Location
Somewhere in the US
PREDATAR Control23

(This is in reference to my previous post: https://adsm.org/forum/index.php?threads/delete-node-data.31889/)

I am pretty sure the answer is YES to this but I would like to verify with the forum.

If you have node data on two different storage pools, the OBJECT ID for any backup should be unique; meaning an OBJECT ID on STGPOOL1 for the NODE should not have similar OBJECT ID on STGPOOL2.

However, I am not seeing this. A select query shows that the OBJECT ID for backups on a node is the SAME on both STGPOOLS.

Am I right in saying that the OBJECT ID should be unique?
 
Last edited:
PREDATAR Control23

Try:
show invo OBJECTID

The object ID is unique for a given file. If a file is split between two volumes, show invo would show that it's stored in multiple aggregates. If one pool is a primary and one is a copy pool, this is also normal. Both copies of the file would be referenced.
 
PREDATAR Control23

Try:
show invo OBJECTID

The object ID is unique for a given file. If a file is split between two volumes, show invo would show that it's stored in multiple aggregates. If one pool is a primary and one is a copy pool, this is also normal. Both copies of the file would be referenced.


This is not the case. The 2 storage pools are totally unique. Both are actually primary pools. Backed up to the old one before and then moved the node to the new storage pool via node update to a new domain and storage pool.
 
PREDATAR Control23

This doesn't sound right.

Can you share these:
show bfo 123 (where 123 is the object ID)
show invo 123
select volume_name,file_size,object_id,file_hexname,cached,copied from contents where object_id=123

The last query gives the filename in HEX, not the actual, that's good enough to make a match that it's the same file, I don't need the real filename in case the name may reveal confidential data.



then moved the node to the new storage pool via node update to a new domain and storage pool.
This doesn't move existing data though, only new backups would go to the new destination. Did you also do a MOVE NODEDATA?
 
PREDATAR Control23

This doesn't move existing data though, only new backups would go to the new destination. Did you also do a MOVE NODEDATA?

NO - data was not moved. The intention to backup to a new storage pool was to eventually delete the OLD backup on the OLD storage pool. The old data had Encrypted backup which took a hit on the back end Data Domain. Encryption had been turned OFF so the backup was moved to a new Data Domain.

Here is the select command querying the old Storage Pool:
Code:
select distinct b.node_name,b.object_id from backups as b,volumeusage as v where b.node_name=v.node_name and v.stgpool_name='SQL' and b.node_name='NODE_SQL'
 
PREDATAR Control23

Ok, so if you did new backups, they should have new object IDs.

I'd like to see an example of where the same object ID is in two different pools, assuming you are looking for assistance.
 
PREDATAR Control23

OK, here is an example (I added filespace_name identity comparison):
Code:
select distinct b.node_name,b.object_id,v.stgpool_name from backups as b,volumeusage as v where b.node_name=v.node_name and v.filespace_name=b.filespace_name and v.stgpool_name='SQL' and b.node_name='NODE_SQL'

OUT:

NODE_NAME                                                                   OBJECT_ID     STGPOOL_NAME                   
----------------------------------------------------------     ---------------------     --------------------------------
NODE_SQL                                                                      1280602     SQL                           
NODE_SQL                                                                      1280603     SQL                           
NODE_SQL                                                                      1280604     SQL                           
NODE_SQL                                                                      1280605     SQL                           
NODE_SQL                                                                      1280606     SQL                           
NODE_SQL                                                                      1280612     SQL                           
NODE_SQL                                                                      1280613     SQL                           
NODE_SQL                                                                      1280628     SQL                           
NODE_SQL                                                                      1280629     SQL                           
NODE_SQL                                                                      1280630     SQL                           
NODE_SQL                                                                      1280631     SQL                           
NODE_SQL                                                                      1280632     SQL                           
NODE_SQL                                                                      1280638     SQL                           
NODE_SQL                                                                      1280639     SQL                           

select distinct b.node_name,b.object_id,v.stgpool_name from backups as b,volumeusage as v where b.node_name=v.node_name and v.filespace_name=b.filespace_name and v.stgpool_name='SQL1' and b.node_name='NODE_SQL'                           

OUT:

NODE_NAME                                                                   OBJECT_ID     STGPOOL_NAME                   
-----------------------------------------------------------     ---------------------     --------------------------------
NODE_SQL                                                                      1280602     SQL1                           
NODE_SQL                                                                      1280603     SQL1                           
NODE_SQL                                                                      1280604     SQL1                           
NODE_SQL                                                                      1280605     SQL1                           
NODE_SQL                                                                      1280606     SQL1                           
NODE_SQL                                                                      1280612     SQL1                           
NODE_SQL                                                                      1280613     SQL1                           
NODE_SQL                                                                      1280628     SQL1                           
NODE_SQL                                                                      1280629     SQL1                           
NODE_SQL                                                                      1280630     SQL1                           
NODE_SQL                                                                      1280631     SQL1                           
NODE_SQL                                                                      1280632     SQL1                           
NODE_SQL                                                                      1280638     SQL1                           
NODE_SQL                                                                      1280639     SQL1

Strange - the results are exactly identical.
 
PREDATAR Control23

There's no object_ID in the volumeusage table, so it's not cross-referencing anything other than the node. The node exists on both, so it lists both.

If you are unsure, look at:
show bfo 1280602
show invo 1280602
select volume_name,file_size,object_id,file_hexname,cached,copied from contents where object_id=1280602
 
PREDATAR Control23

There's no object_ID in the volumeusage table, so it's not cross-referencing anything other than the node. The node exists on both, so it lists both.

If you are unsure, look at:
show bfo 1280602
show invo 1280602
select volume_name,file_size,object_id,file_hexname,cached,copied from contents where object_id=1280602


I know there is no Object_ID on volumeusage thus the SQL qualifier: v.stgpool_name.

How would the select statement then be just to show OBJECT ID on just a particular Storage Pool?
 
PREDATAR Control23

I don't have time today to figure out the syntax, but your best bet is to use the column tables to get the volumes and the volumes table to get the stgpool_name:

upload_2017-4-18_12-50-17.png
 

Attachments

  • upload_2017-4-18_12-49-10.png
    upload_2017-4-18_12-49-10.png
    19.1 KB · Views: 5
PREDATAR Control23

Here is something strange:

Code:
tsm: TSM1500>show bfo 1280602

Bitfile Object: 1280602
  Active
Bitfile Object NOT found.

tsm: TSM1500>show invo 1280602
Inventory object 1280602 of copy type Backup has attributes:
  NodeName: NODE_SQL, Filespace(2): NODE\SQL\data\0001,
  ObjName: \<MASKED>\log\20161105190204\00007274.2016110519020400007274\.
  hlID: E643F48191594300D02BB7328DBD348E02689F87
  Type: 2 (File)  MC: 1 (DEFAULT) CG: 1  Size: 0  HeaderSize: 0
  Active, Inserted 11/05/2016 07:02:31 PM (UTC 11/06/2016 12:02:31 AM)
  GroupMap 0x00020000, bypassRecogToken NULL, flags 0000
  Peer Group Leader (no members!)

Bitfile Object: 1280602
  Active
Bitfile Object NOT found.

tsm: TSM1500>select volume_name,file_size,object_id,file_hexname,cached,copied from contents where object_id=1280602
ANR2034E SELECT: No match found using this criteria.
ANS8001I Return code 11.
 
PREDATAR Control23

Here is something strange:

Code:
tsm: TSM1500>show bfo 1280602

Bitfile Object: 1280602
  Active
Bitfile Object NOT found.

tsm: TSM1500>show invo 1280602
Inventory object 1280602 of copy type Backup has attributes:
  NodeName: NODE_SQL, Filespace(2): NODE\SQL\data\0001,
  ObjName: \<MASKED>\log\20161105190204\00007274.2016110519020400007274\.
  hlID: E643F48191594300D02BB7328DBD348E02689F87
  Type: 2 (File)  MC: 1 (DEFAULT) CG: 1 [U][B] Size: 0 [/B][/U] HeaderSize: 0
  Active, Inserted 11/05/2016 07:02:31 PM (UTC 11/06/2016 12:02:31 AM)
  GroupMap 0x00020000, bypassRecogToken NULL, flags 0000
  Peer Group Leader (no members!)

Bitfile Object: 1280602
  Active
Bitfile Object NOT found.

tsm: TSM1500>select volume_name,file_size,object_id,file_hexname,cached,copied from contents where object_id=1280602
ANR2034E SELECT: No match found using this criteria.
ANS8001I Return code 11.

The object size is 0, so it's only stored in the DB, not in a pool.
 
PREDATAR Control23

Oh, and there will be duplicates OBJECT_IDs in the contents table if a file spans 2 volumes and/or also has a copy in a copypool.
 
PREDATAR Control23

Since I don't have copy pools, the search would be easy.

The final select statement is:

Code:
select distinct c.node_name,c.object_id,v.stgpool_name from contents as c,volumes as v where c.volume_name=v.volume_name and v.stgpool_name='STORAGE_POOL_NAME' and c.node_name='NODE_NAME'

Works and shows unique OBJECT_ID.
 
PREDATAR Control23

I don't have time today to figure out the syntax, but your best bet is to use the column tables to get the volumes and the volumes table to get the stgpool_name:

View attachment 1279

Can you tell me what the "COPIED" column is in the CONTENTS table and when does it get changed from "No" to "Yes" ?
 
PREDATAR Control23

Can you tell me what the "COPIED" column is in the CONTENTS table and when does it get changed from "No" to "Yes" ?

"Copied" column reflects your offsite copy, it will get change from "No" to "Yes" when you run backup storage pool for your primary storage pool to copy storage pool.
 
Top