Joined: 03 Oct 2009 Posts: 1788 Location: Bloomington, IL
Bearing in mind that I'm describing our development sysplex...
Anyone can execute RUNSTATS on their data bases and table spaces as needed. Few are capable of doing so; we have tools for creating "shadow" copies of production data bases, and most developers do no more than run those tools. I don't think that we have a tool to generate RUNSTATS JCL and control cards, although we have a scary amount of abandonware that hasn't been reviewed in (in some cases) decades and that no one understands anymore.
When I was at IBM about 15-20 years ago, we wrote and scheduled our own utility jobs for production. Generally, they had to be blessed by a DBA, who would seldom do anything but say "Yes" or "No" (we developers would write all DDL, control cards, etc).
In my previous company we never ran Runstats Utility, but we collected stats via REORG utility during the weekends which are triggered by RTS and everybody had access to the SYSPRINT to check the details of stats and also everybody had access to production to query sysibm.* tables or check stats through RC/Query panels. In development everybody had access to runstats, but usually whenever table is loaded, stats are updated by Load utility itself. If stats are required for any specific tables, a request is made to the DBA. They are permitted to run explain, but only a very few know how to run explain & analyze.
In my current company, lots of runstats are being run and most of the options are used, basically it depends on the type of application, some are run daily in the batch and some are in the weekends and the utility is to be run only by the DBA. Mostly everybody will be having access to production SYSIBM.* tables to query the stats and also sysibm.* tables are copied from production to developement, so developers can see the prod stats in Development environment itself. They are permitted to run explain, but only a few know how to run explain & analyze.