Translate

Thursday, April 4, 2013

What is DBA?

Answer:
DBA(Database Administration) is the function of managing and maintaining database management systems (DBMS) software. Mainstream DBMS software such as Oracle, IBM DB2 and Microsoft SQL Server need ongoing management. As such, corporations that use DBMS software often hire specialized IT (Information Technology) personnel called Database Administrators or DBAs.

DBA Responsibilities:

  • Installation, configuration and upgrading of Database server software and related products.
  • Evaluate Database features and Database related products.
  • Establish and maintain sound backup and recovery policies and procedures.
  • Take care of the Database design and implementation.
  • Implement and maintain database security (create and maintain users and roles, assign privileges).
  • Database tuning and performance monitoring.
  • Application tuning and performance monitoring.
  • Setup and maintain documentation and standards.
  • Plan growth and changes (capacity planning).
  • Work as part of a team and provide 24x7 support when required.
  • Do general technical troubleshooting and give cons.
  • Database recovery.

Types of database administration:

There are three types of DBAs:

  1. Systems DBAs
     (also referred to as Physical DBAs, Operations DBAs or Production Support DBAs): focus on the physical aspects of database administration such as
    •  DBMS installation.
    •  configuration.
    •  patching,.
    • upgrades.
    •  backups.
    •  restores.
    •  refreshes.
    • performance optimization.
    •  maintenance and 
    • disaster recovery.
  2. Development DBAs: focus on the logical and development aspects of database administration such as  
  • data model design and maintenance,
  •  DDL (data definition language) generation, 
  • SQL writing and tuning,
  •  coding stored procedures
  •  collaborating with developers to help choose the most appropriate DBMS feature/functionality and 
  • other pre-production activities.      

 3.Application DBAs:
usually found in organizations that have purchased 3rd party application software such as ERP (enterprise resource planning) and CRM (customer relationship management) systems. Examples of such application software includes Oracle Applications, Siebel and PeopleSoft (both now part of Oracle Corp.) and SAP. Application DBAs straddle the fence between the DBMS and the application software and are responsible for ensuring that the application is fully optimized for the database and vice versa. They usually manage all the application components that interact with the database and carry out activities such as application installation and patching, application upgrades, database cloning, building and running data cleanup routines, data load process management, etc.

While individuals usually specialize in one type of database administration, in smaller organizations, it is not uncommon to find a single individual or group performing more than one type of database administration.

Database administration tools:

Often, the DBMS software comes with certain tools to help DBAs manage the DBMS. Such tools are called native tools.
 For example-
  •  Microsoft SQL Server comes with SQL Server Enterprise Manager and
  •  Oracle has tools such as SQL*Plus and 
  • Oracle Enterprise Manager/Grid Control. In addition, 3rd parties such as   
  1. BMC, Quest Software,
  2.  Embarcadero Technologies
  3. EMS Database Management Solutions and 
  • SQL Maestro Group offer GUI tools to monitor the DBMS and help DBAs carry out certain functions inside the database more easily.
Another kind of database software exists to manage the provisioning of new databases and the management of existing databases and their related resources. The process of creating a new database can consist of hundreds or thousands of unique steps from satisfying prerequisites to configuring backups where each step must be successful before the next can start. A human cannot be expected to complete this procedure in the same exact way time after time - exactly the goal when multiple databases exist. As the number of DBAs grows, without automation the number of unique configurations frequently grows to be costly/difficult to support. All of these complicated procedures can be modeled by the best DBAs into database automation software and executed by the standard DBAs. Software has been created specifically to improve the reliability and repeatability of these procedures such as Stratavia's Data Palette and GridApp Systems Clarity

 



 

Wednesday, April 3, 2013

A database is an organized collection of data. The data is typically organized to model relevant aspects of reality (for example, the availability of rooms in hotels), in a way that supports processes requiring this information (for example, finding a hotel with vacancies).
A general-purpose database management system (DBMS) is a software system designed to allow the definition, creation, querying, update, and administration of databases. Well-known DBMSs include MySQL, PostgreSQL, SQLite, Microsoft SQL Server, Microsoft Access, Oracle, Sybase, dBASE, FoxPro, and IBM DB2. A database is not generally portable across different DBMS, but different DBMSs can inter-operate by using standards such as SQL and ODBC or JDBC to allow a single application to work with more than one database.

Terminology and overview

Formally, the term "database" refers to the data itself and supporting data structures. A "database management system" (DBMS) is a suite of computer software providing the interface between users and a database or databases. Because they are so closely related, the term "database" when used casually often refers to both a DBMS and the data it manipulates.
Outside the world of professional information technology, the term database is sometimes used casually to refer to any collection of data (perhaps a spreadsheet, maybe even a card index). This article is concerned only with databases where the size and usage requirements necessitate use of a database management system.[1]
The interactions catered for by most existing DBMS fall into four main groups:
  • Data definition. Defining new data structures for a database, removing data structures from the database, modifying the structure of existing data.
  • Update. Inserting, modifying, and deleting data.
  • Retrieval. Obtaining information either for end-user queries and reports or for processing by applications.
  • Administration. Registering and monitoring users, enforcing data security, monitoring performance, maintaining data integrity, dealing with concurrency control, and recovering information if the system fails.
A DBMS is responsible for maintaining the integrity and security of stored data, and for recovering information if the system fails.
Both a database and its DBMS conform to the principles of a particular database model.[2] "Database system" refers collectively to the database model, database management system, and database.[3]
Physically, database servers are dedicated computers that hold the actual databases and run only the DBMS and related software. Database servers are usually multiprocessor computers, with generous memory and RAID disk arrays used for stable storage. Hardware database accelerators, connected to one or more servers via a high-speed channel, are also used in large volume transaction processing environments. DBMSs are found at the heart of most database applications. DBMSs may be built around a custom multitasking kernel with built-in networking support, but modern DBMSs typically rely on a standard operating system to provide these functions.[citation needed] Since DBMSs comprise a significant economical market, computer and storage vendors often take into account DBMS requirements in their own development plans.[citation needed]
Databases and DBMSs can be categorized according to the database model(s) that they support (such as relational or XML), the type(s) of computer they run on (from a server cluster to a mobile phone), the query language(s) used to access the database (such as SQL or XQuery), and their internal engineering, which affects performance, scaleability, resilience, and security.