Dbspace usage report (spaceuse ) 2 of 2
Posted in 1997
# SPACEUSE -- Part 2 of 2 # A program which reports on tables and indexes in # dbspaces and displays the following: # # Number of rows # Initial extent # Next extent # Total space allocated for table/index in dbspace # Total space used for data # Total space used # Number of extents # Percent Usage (npused*100)/nptotal # Dbspace number # Dbspace name # # The information reported is specific to the dbspace in which the table # resides. For example, if a table is fragmented, the values will reflect only # table information pertaining to that fragment, e.g. number of rows in the # fragment. # # Authors : Pete Stiglich / Megha Shetty # Written on : 11/18/97 # #************************************************************************ ***** # Program developed on a Sun Ultra ( Solaris 2.5.1 ) w/6.04.UC1 4GL ( ODS 7.23) # Standard disclaimers apply. Program delivered as is. # # Pete Stiglich ( stiglich@promarkone.com ) #************************************************************************ ***** # To compile use the following: # c4gl spaceuse.4gl -o spaceuse.4ge # #Usage : spaceuse.4ge -d database [-t tablename] [-s dbspace] [-x rows] -[k[p]] # -d Database Name or 'all' for all database # -t Table Name or 'all' for all table # -s Dbspace Number # -x sort by [ [r]rows, [d]dbspace, [a]alloc, [e]extent] # -k[p] k-> in Kbytes, p-> in Pages ( Kbytes is the default not pages ) # -f Full report (including Summary) #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ###################################################################### report print_report2(var_dbnum,var_dbname) ###################################################################### define var_dbnum integer, var_dbname char(20), var_npdata integer, var_npused integer, var_nptotal integer, var_percent decimal(9,5), var1_npdata integer, var1_npused integer, var1_nptotal integer, var1_percent decimal(9,5) #_output output page length 60 left margin 0 top margin 0 bottom margin 0 order external by var_dbnum,var_dbname #_format_protel format page header if p_kbytes_flag =1 then print column 1, "DBSPACE USAGE SUMMARY (KBytes)- ", today using "mm/dd/yy" else print column 1, "DBSPACE USAGE SUMMARY (Pages)- ", today using "mm/dd/yy" end if print column 1,"----------------------------------------------------------"; print column 1,"---------------------------------------------------------------------- -" print column 01,"Database Name ", column 15,"Number Allocated ", column 35,"Data Number", column 50,"Number Used ", column 70,"Percent Used" print column 1,"----------------------------------------------------------"; print column 1,"---------------------------------------------------------------------- -" before group of var_dbnum print column 1, "Dbsapce <",ins_rec.dbspace clipped,">" print let var_nptotal=0 let var_npused=0 let var_npdata=0 after group of var_dbnum if var1_nptotal >0 then let var1_percent=(var1_npused*100)/var1_nptotal else let var1_percent= 0 end if print column 1, "Total ", column 15, var1_nptotal using "#,###,###,##&", column 35, var1_npdata using "#,###,###,##&", column 50, var1_npused using "#,###,###,##&", column 70,var1_percent using "###.##&" print let var1_nptotal=0 let var1_npused=0 let var1_npdata=0 after group of var_dbname if var_nptotal >0 then let var_percent=(var_npused*100)/var_nptotal else let var_percent= 0 end if print column 1,var_dbname clipped, column 15, var_nptotal using "#,###,###,##&", column 35, var_npdata using "#,###,###,##&", column 50, var_npused using "#,###,###,##&", column 70,var_percent using "###.##&" let var1_nptotal=var1_nptotal+var_nptotal let var1_npused=var1_npused+var_npused let var1_npdata=var1_npdata+var_npdata let var_nptotal=0 let var_npused=0 let var_npdata=0 on every row let var_nptotal=ins_rec.nptotal+var_nptotal let var_npused=ins_rec.npused+var_npused let var_npdata=ins_rec.npdata+var_npdata end report #end_report2 -------------------==== Posted via Deja News ====----------------------- http://www.dejanews.com/ Search, Read, Post to Usenet