DBA Responsibility in Performance & Tuning
From USER satisfaction point of view, the major DBA responsibilties are
- Data Protection
- (user accounts/passwords, quota, roles, privileges etc) - Data Accountability
- (audit, redologs/archives, backups) - Data High Available
- (DR solutions thru Cluster & Replication solutions) - Data High Security
- (table level, column level, row level, remote, network security) - "Ensure to fast THROUPUT and/or RESPONSE TIME" --- which is important from PERFORMANCE TUNING point of view.
Performance Tuning goal
- Performance Tuning goal is to see the best THROUPUT and RESPONSE TIME.
- Performance Tuning is a 'Iterative and Continuous process'. Yesterday fix/finding is not all the times standard for tomorrow issue.
Because...
Everyday is unique to the database. Its frequent data changes, increase and decrease in volume size, statistics changes, new deployments etc. It involves, I/O fluctuations relating to Disk, IP and network etc.
DBA usually experience and fix the performance and tuning issues in two appraoches:
- Reactive Tuning appraoch:
The main indication of any database related issue is that system runs sudden slow or hang. When an issue is raised in PRODUCTION which needs immeidate fix, the immediate step of DBA is to find where is the issue. The best approach is to check AWR, ADDM and ASH reports. The findings give a start how to fix it and also it may help DBA to know who is to contact for fix?
DBA would need to check whether database enabled AWR, ADDM and ASH report. Becuase these are not come by default, they would need to be setup.
Each report is helpful to figure out different related issues.- AWR will help to determine system level performance issues such as buffer busy, latches and enques, cluster related findings, I/O related findings.
- ADDM will help out to see the Top SQL which are causing performance issues; and it provides suggestions and recommendations to avoid them.
- ASH will help to determine 'Transient perofrmance realted issues'.
- Proactive Tuning appraoch:
DBA can avoid coming and existing issues praoctively. He can do it in two phases. - After a temporary fix is done, DBA has to continue working on it in order to fix it on permanent basis.
- Before implementing any application/change in database, DBA can validate it whether it is good in all.
Possible INDICATIONS & CAUSES for the performance isseus:
- Increasing DEAD LOCKS & BLOCKED LOCKS exetremely
- LATCHES/ENQUEUES causes waiting time
- Mostly, other great impacts are -
- Backups,
- Export/Imports,
- After deployments situations and
- New database configuration chagnes etc.
All issues which are causing performance issues can be categorized into two:
- Bad Database configuration - at installation time or upgrade/migration time.
- Bad Application design - bad SQL and PL/SQL scripts.
Possible Frequent Questions to be asked/studied?
- When did the instance first start running so slowly?
- How did you first notice the instance was going slowly?
- Was SQL load increased or changed recently?
- Was there a major structural change made to the Database recently?
- Were any events or parameters recently added, deleted or changed?
- Was there any backupground processes like Backups, Export/imports?
- List any other versions you have tried in which the results are reasonably fast?
- Any recent changes to the OS or Hardware?
- Any Hardware or OS related errors recently reported?
Comments
Post a Comment