1748204 Members
3937 Online
108759 Solutions
New Discussion юеВ

Re: DBA's duty?

 
SOLVED
Go to solution
A. Clay Stephenson
Acclaimed Contributor

Re: DBA's duty?

Something that could prove helpful is some sort of monthly "Kindergarten" so that the DBA's could meet with the developers and describe both good and bad techniques. For example, when is not enough indices a bad thing? When is too many indices a bad thing? When do good joins go bad?
You could also describe the sort of problems and fixes found during the month so that mistakes are not repeated by others and so that techniques that work can be shared.

One of the most useful approaches that I have learned over the years is to force development and test to be done on a slower/resource limited machine but with realistic data volumes. The developers will hate it initially because "my compiles take forever". That's bogus because at most compiles/links comprise 1% of the development time. The idea is that when the code is efficient enough to run well on a dog, it will run well on a fast production box. This helps to avoid the kinds of scaling problems that often occur when code is moved from a development to production environment.
If it ain't broke, I can fix that.
generic_1
Respected Contributor

Re: DBA's duty?

Yes it is a good idea to always test in developement before production. Not only for performance reasons, but stability. You could crash your production if things went bad.
As far as getting your database statistics. If you have like hardware in your test and dev environemnt. Take say a BCV copy or a LVM mirror of production, and place that developement into Dev. See how it performs, prevent surprise :). There are many storage options these days to take these snapshots for testing.
Also if you have Vpars you could up and down your resoursces on the fly to see your critical thresholds in performance vs hardware resources :).
Just some ideas, for testing the impact to your database.

In terms of the performance cookbook it will be helpful for you to understand how your new apps/changs may impact kernel parameters that may have new requirements that are causing speed issues.

With Databases Disk layout is very important. Make sure you are striping and that you have layed your disks out evenly across the back of your san/controllers, and backend fibers. Just because you have powerpath/securepath doesnt mean a bad data layout cant bite you. It is possible that your new app is just exploiting an underlying issue such as this.
ericfjchen
Regular Advisor

Re: DBA's duty?

DBA should be involved in the application development in all stages. In fact, how do you control a new program from testing to production?

Thanks

Eric
Warren_9
Honored Contributor

Re: DBA's duty?

In my company, no write permission for the programmer on the production box.
Only the DBA or SA have the privilege to upload programs from a staging area to the production.
Jean-Luc Oudart
Honored Contributor
Solution

Re: DBA's duty?

Eric,

DBA's duty is whatever is the job profile within your company. I mean the range of tasks and responsibility differ from one company to another. Sometimes you look after the space requirement and performance of a database / application, sometimes you can be involved in the development cycle.

I suppose the answer to your question is "process" or procedure. Each time the AP team deliver a new program, the "process" is there to ensure that everything has been done to guarantee performance are not altered. I don't mean this is perfect but this does help. Keep the communication line open !

Also, you should have a performance baseline for your different databases / applications. Therefore when a new program is delivered you can compare with previous stats. Obviously, this is better if you can this process in an uat environment.

Regards
Jean-Luc
fiat lux
Yogeeraj_1
Honored Contributor

Re: DBA's duty?

hi Eric,

also run regular statspack snapshots at peak periods (15mins snaps)

You can also send these reports to experienced AP Team members for review (especially the parts:
SQL ordered by Gets
SQL ordered by Reads
SQL ordered by Executes)

hope this helps too!

regards
yogeeraj
No person was ever honoured for what he received. Honour has been the reward for what he gave (clavin coolidge)