The current DBA trend is increased database management requirements and less DBAs to manage.
Many factors are responsible , such as :
1) Global trends and predictions for increased data requirements
3) Economic pressure to decrease size of IT departments
You can see why for many DBAs intense stress and a complete lack of time management is a way of life.
These are top 9 practises I follow in managing large database environments.
1) Inventory management system. The first DBA task is to create an database inventory management system. The objective is to list all database server instances in the environment , under your responsibility.
It could be a simple Excel spreadsheet listing out all database servers under your responsibility. The sort of columns I include are: Server name, instance, directory structure, version, collation, application, application owner etc. A combination of server and business information
A list of database servers under your management is a clear way of communicating your responsibilities and introducing some control into your workload.
2) Disaster Recovery Plan. It doesn’t matter how performant your databases are, if you can’t recover from a disaster. Organise Service Level Agreements (SLA) , Recovery Time Objectives (RTO) and Recovery Point objectives (RPO). These agreements assist in designing an architecture to support the organisational requirements.
Can you deal with database corruption?
What is your contingency plan for a power outage?
How does the DBA fit into the business continuity plan?
Underpinning a solid Disaster recover plan strategy is a backup strategy. Are you backing up databases according to recovery requirements ? Are you monitoring backup failures and proactively fixing problems? Are you regularly testing Restores?
3) Standardization. Maintain fix packs, security , maintenance, data-log-temp file layout ,installation files\methods and start up accounts as standard. Stick to the system as closely as possible. Different instances have different values such as memory , collation,OLE automation etc , script as much as possible and retain with the install files
4) Source of information. Being a database expert of every aspect of the database server ecosystem is a big challenge. It’s an on-going process . To be an effective DBA , you need to know where to get information , sometimes in a hurry.
I’ve found cultivating some habits , such as a) documenting problems and solutions b) reading the database server manuals c) following blogs d) involved in forums as useful.
5) IO performance. Three key pieces of information to document a) The IO profile of the database server instance b) Characteristics of the substorage , such as RAID levels, mirroring, snapshot capabilities c) A checklist of configurables such as disk alignment – have they been implemented ? have they been checked?
6) Server Maintenance Plan. Regular maintenance can save you much stress on a Monday morning. A well thought through and carefully implemented maintenance plan is key to well performing database servers.
Reindexing , statistics management, integrity checks are some key tasks
7) Database server Security. Create a Security Policy and distribute to the organisation. Encourage application users to sign – off the document . It becomes the benchmark for any security requests
Create scripts which lockdown the database server at installation. Apply regular checks to ensure the security policy is maintained. Typical security issue include developers with elevated rights and application users with system administrator rights!
8) Develop relationships with other IT team . For a DBA this includes developers, Operations and Storage engineers. Each group has it’s own perspective. Educating yourself about these other disciplines and working proactively assists greatly. It will help in troubleshooting and offering useful feedback to these groups , rather than accusatory threats.
9) Monitor Server Performance and Tuning. I consider performance tuning one of the primary functions of a DBA. Maintaining good database server performance is largely about a) a good maintenance plan b) monitoring and fixing bottlenecks quickly. It’s important to baseline the server and create a IO profile.
When a performance problem arises use the baseline to compare and gauge the performance issue severity.
Author: Jack Vamvas(http://www.dba-db2.com)