Solved

Capacity Plan Revision

Posted on 2008-10-05
7
445 Views
Last Modified: 2008-11-01
Hi There,
How can i do Capacity Plan Revision for a database

Please provide me step by step information

Thanks
0
Comment
Question by:nav29
  • 3
  • 2
7 Comments
 
LVL 37

Expert Comment

by:momi_sabag
ID: 22648250
which platform do you use?
0
 
LVL 45

Expert Comment

by:Kent Olsen
ID: 22649269
Hi Nav29,

That's really a lot bigger question than you realize.  Kind of like hiring an engineer fresh out of college and telling him to "build me a car".  You'll get 4 wheels, a motor, and brakes, but beyond that it's a function of the mind of someone that has no idea what you really want.

What you've asked for is similar.  There are a lot of variables involved that only the DBA really knows.  Without a good understanding of these variables, a decent estimate is impossible.  (Then again, maybe you just want to know some of the variables?)

The first question is what kind of database is it?  An OLTP typically grows with every transaction as they are recorded in the history file.  An OLTP with 1,000 updates/day won't grow very quickly.  An OLTP with 1,000 updates/second has an incredible need to be properly designed and runs the risk of quickly exceeding the system's mass storage capacity.  At some point, no amount of disk will help as the database will exceed the server's ability to process the transactions quickly enough.

On the other hand, an OLAP is typically a very stable database.  It is a summary of an OLAP the is designed to meet the needs for quick reporting.  A data warehouse is a special kind of OLAP.  Even though they will grow, it is generally at a rate much, much slower than an OLTP.  The challenge here is that an OLAP will often exceed the server's ability to build and/or update the OLAP much more quickly than it will fill the available disk space.


Only after that database type (usage) is known can the next step be taken in Capacity Planning.  And the next step is to understand how the database changes on a daily bases to know what resources are most in demand.


Kent
0
 

Author Comment

by:nav29
ID: 22659033
its Database server        = DB2/6000 8.2.9
whats this means
1) in order to get the size of a table,  you need to do
      (a) runstats on the table
      (b) query NPAGES in syscat.tables  for the table,  the returned number is the number of pages,  you need to times 32 KB to get it in Bytes.
0
Guide to Performance: Optimization & Monitoring

Nowadays, monitoring is a mixture of tools, systems, and codes—making it a very complex process. And with this complexity, comes variables for failure. Get DZone’s new Guide to Performance to learn how to proactively find these variables and solve them before a disruption occurs.

 
LVL 45

Expert Comment

by:Kent Olsen
ID: 22659118
Hi nav29,

There is a DB2 utility called 'RUNSTATS' that will collect statistics about a table.  You'll need to run it, typically from the DB2 command line.

The RUNSTATS process will update the statistics, including the number of pages in the table.  You suggest that the table is using 32K pages, so if you'll multiply the number of pages by 32K, you'll get the size of the table in bytes.


Kent
0
 

Author Comment

by:nav29
ID: 22659167
Hi Kent,
1) I Know about rustats any easy way i can do runstats for all the tables in one shot ,
as i know how to do for each table from control centre
2) how to query NPAGES in syscat.tables  ?
0
 
LVL 45

Accepted Solution

by:
Kent Olsen earned 500 total points
ID: 22659219
A standard SQL query.  :)

SELECT tabschema, tabname, npages FROM syscat.tables
WHERE tabschema = myschema AND tabname = mytable;

or to get everything, just:

SELECT * FROM syscat.tables


Kent
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
How do identify a "break in coveage" 8 188
Define external data structure with free d specs in RPG 4 414
as400 interactive sql phone number search 7 137
db2 != check 14 57
Recursive SQL in UDB/LUW (you can use 'recursive' and 'SQL' in the same sentence) A growing number of database queries lend themselves to recursive solutions.  It's not always easy to spot when recursion is called for, especially for people una…
Recursive SQL in UDB/LUW (it really isn't that hard to do) Recursive SQL is most often used to convert columns to rows or rows to columns.  A previous article described the process of converting rows to columns.  This article will build off of th…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an antispam), the admini…

680 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question