I decided to post a sample DBA job posting today. Is this the way you view the role of DBA today? Is this what DBAs do at your site? Anything missing? Would you apply for this job? Respond with comments please!
Database Administrator (DBA)
Assists in the development of data models (perhaps in conjunction with a data architect, perhaps solo) for new projects within IT. Has primary responsibility for the definition, creation, and maintenance of enterprise databases and database structures within the organizations. Analyzes, tests, and implements physical database design supporting various business applications (including base definition, structure, documentation, long-range requirements, operational guidelines). Ensures data recovery, maintenance, data integrity, and space requirements for physical database are met through formulations and monitoring of policies, procedures, and standards relating to database management. Provides a high degree of coordination between user, technical, application, and corporate entities to ensure effective data management as a corporate enterprise. Above all, ensures solutions meet business objectives and establishes and maintains a high level of user trust and confidence in IT’s knowledge of and concern for users’ business needs. Has a willingness to work with customers of varying levels of technical expertise in a high-pressure, complex environment.
- Provide first-level applications support: Resolve problems and answer questions related to the RDBMS and platform environment (e.g., Unix, Windows, Linux, z/OS); contact vendor support when necessary; facilitate application development and client problem resolution with optimum speed and efficiency
- RDBMS performance monitoring and tuning: Closely monitor performance; identify problems and implement solutions; ensure the database is running at optimum speed and efficiency
- Maintain database backup/recovery environment: Assure that data recovery time objectives are established and met; verify implementation of correct backup strategy; develop recovery procedures; support recovery from loss of data caused by user or system error; respond quickly to refresh data.
- Install and upgrade RDBMS and related products: Keep RDBMS at current release and maintenance levels; install supporting products; provide current, stable production and development environments
- Reorganize database structures as needed: Automate procedures at regular intervals; use tools to reorganize or defragment database table spaces, tables, and indexes; provide efficient database environment to maximize productivity and improve performance
- Perform application refreshes on request: Refresh data from one environment to another at the request of the application development staff; execute necessary tasks to accomplish this, including export, drop, create, and import pre-scheduled time to minimize impact; provide application development staff optimal development environment with current data
- Guide and oversee the database design process as needed: Research and recommend optimal design criteria; publish standards and work with development staff; standardize environment and improve efficiency
- Review and implement all changes to database structures, while ensuring the integrity of the data and maintaining data availability as requires by service level agreements
- Capacity planning and reporting: Monitor file system space, database allocation, etc.; verify efficient use of disk storage; reclaim unused space; optimize space allocation and avoid out-of-space conditions
- Create, develop, and review the physical model created from the logical model, ensuring the detailed physical design of data structures and databases complies with standards, guidelines, and procedures recommended for all aspects of data modeling, database design, and maintenance; ensure proper data modeling and design paradigms are applied
- Provide the appropriate tools, procedures, and facilities for creating and maintaining the entity data enterprise model
- Be capable of producing entity relationship diagrams; data flow diagrams; database normalization schemata; logical to physical database mapping; DDL and database commands
- Manage the implementation and use of the enterprise data dictionary
- Lead design reviews for database designs, application code, and pre- and post-implementation capacity meetings; estimate sizes of new databases
- Work closely with Systems Programmers and Systems Administrators to ensure that the database system is operating in accordance with required system usage; provide assistance and guidance in setting appropriate system parameters
- Develop rules, procedures, and standards for the access and maintenance of shared data resources
- Review overall physical database structures for data integrity, performance quality, recoverability, maintenance, and space requirement considerations
- Communicate complex technical information in a concise and articulate manner
- Participate in the evaluation and recommendation of DBA tools and new DBMS technologies
- Serve as business liaison to database vendors
- Be responsible for the integrity of production test and QA database environments
- Perform impact analyses, research products, configure software, and establish standards and procedures that support the company’s database environment needs
- Be responsible for application-oriented database administration and technical support for the various development, training, testing, and production of relational database environments; focus on application-specific database issues to ensure optimal application performance and integrity
- Develop utilities for monitoring and evaluating data quality
- Assist in the definition and development of database documentation and standards
- Conduct application transaction volume and traffic analysis, and interpret impact on database and network performance
- Development projects: Interact with analysts and developers, understand system requirements from conceptual models, analyze transactions and data volumes, and design the physical database
Skills and Knowledge
- Thorough understanding of the relational database model and solid theoretical knowledge of relational database techniques; skilled in ability to see the big picture and conceptualize and document creative solutions
- Experience in designing, modeling, developing, and supporting large RDBMS systems
- Extensive experience in logical and physical database design, hands-on data modeling techniques, and development methodology; physical schema design of table spaces, rollback segments, and data files
- Experience in the design of data extract, data migration, and data queuing facilities
- Proficiency in the concepts and practice of database normalization techniques
- Strong working knowledge of state-of-the-art database concepts/design/deployment, recovery techniques, performance monitoring and tuning, structured query language, relational database design techniques, JCL
- Knowledge of server-side development issues surrounding triggers, stored procedures, and packages
- Strong customer focus and management of client expectations; ability to establish and maintain a high level of user trust and confidence in IT’s knowledge of and concern for users’ business needs
- Excellent oral and written communications skills
- Ability to present and explain technical information to diverse types of audiences (management, users, vendors, technical staff) in a way that establishes rapport, persuades others, and gains understanding
- Ability to write clear proposals and technical documents
- Strong interpersonal skills at all levels of management and ability to motivate employees/teams to apply skills and techniques to solve dynamic problems; excellent teamwork skills
- Solid project management skills, effectively managing multiple small to large projects in a cross-functional environment
- Ability to weigh various suggested technical solutions against the original business needs and choose the most cost-effective solution
- Ability to work with long-established senior staff, provide guidance, and assign and follow up on tasks
- Proficiency in several RDBMS-specific middleware tools and utilities to support such activities as monitoring, database migration, DDL management, and replication is required
- Experience with cross-platform networking in a TCP/IP environment
- Extensive knowledge of SQL, including programming and ways to optimize SQL code.
- Solid programming knowledge of at least one 3GL/4GL/OO4GL language (e.g., C/C++, Perl, Unix shell, Visual Basic)
- Knowledge of Web-enabled GUIs is a plus (e.g., Oracle JDeveloper and WebSphere Studio)
- Bachelor’s degree in Computer Science, Engineering, or related discipline; Master’s degree is desirable; equivalent experience acceptable
- 3 years in-depth experience in the design, administration, programming, and support of RDBMSs (e.g., Oracle, SQL Server, DB2) in one or more computing environments (e.g., Unix, z/OS, Windows, Linux, Web).
- Ability to handle basic systems administration tasks to fulfill backup role if needed
- Demonstrated experience working well with customers of varying levels of technical expertise in high-pressure situations and complex environments
- Highly desirable that individual has earned certification as a developer or DBA, for example, Oracle DBA Certified Master (OCM), Oracle DBA Certified Professional (OCP), Microsoft Certified Database Administrator (MCDBA), Certified MySQL Professional (MySQL-Prof), IBM DB2 Universal Database Certified Solutions Expert (DB2), etc.
- Has close working relationship with systems team and peers in other areas of IT
- Works closely with Senior Systems Programmer, RDBMS and systems administrators
- Has contact with application users, primarily in problem resolution
- Has frequent interaction with application development staff as facilitator and client problem resolver; works collaboratively on such activities as performance problems, hardware/software upgrades, application program design reviews, new application setup and implementation, application workload growth prediction and measurement, etc.
- Is key participant in high-level technical strategy meetings, major upgrade decisions, capacity planning data collections, performance reporting, new application designing, etc.
- Has close working relationships with peers at external organizations