Many of the sites that I manage have asked to recieve a quarterly report
showing a list of archive files that are going to expire within the next
year.  I was able to design an SQL query that does this, but my problem
is that it takes a really long time.  Is there some other way to go
about doing this that I am not aware of?  Here is the sql query:
 
select -
  archives.node_name as "NODE_NAME",-
  archives.filespace_name as "FILESPACE_NAME",-
  archives.type as "TYPE",-
  archives.hl_name as "HL_NAME",-
  archives.ll_name as "LL_NAME",-
  substr(char(archives.archive_date), 1, 10) as "ARCHIVE_DATE",-
  case -
    when ar_copygroups.retver = 'NOLIMIT' then
substr(char(archives.archive_date + 100 years), 1, 10) -
    else substr(char(archives.archive_date + ar_copygroups.retver days),
1, 10) -
  end as "EXPIRATION_DATE" -
from archives, nodes, domains, ar_copygroups - 
  where archives.node_name = nodes.node_name -
  and nodes.domain_name = domains.domain_name -
  and domains.defmgmtclass = ar_copygroups.class_name -
  and ar_copygroups.set_name = 'ACTIVE' - 
  and days(date(case -
        when ar_copygroups.retver = 'NOLIMIT' then
substr(char(archives.archive_date + 100 years), 1, 10) -
        else substr(char(archives.archive_date + ar_copygroups.retver
days), 1, 10) -
      end)) - days(date(archives.archive_date)) <= 365

BTW, I ran this query against one of my smaller sites that only has
about 12 GB of data archived, and it took about 22 minutes.  At my main
site, I have multiple TSM backup servers that have well into the 3-4 TB
range.  As you can see, this would take about 5 days to finish at the
same rate!


Mel

Reply via email to