|
dba |
In the course of our projects, we have often acted in the DBA role.
Thereby, we have executed DBA activities directly, as well as supported DBAs and
administrators in Computing Centers. The main items of our DBA activities are:
- Keeping the databases under surveillance
regarding performance, tablespaces, etc. This goal can be achieved either by
using tools, such as Oracle Enterprise Manager or TOAD, or by employing own
scripts, ad-hoc queries, and DML statements.
- Backup & Recovery - one of the most important tasks of a DBA,
especially when dealing with critical systems (regarding data integrity or
availability). There are several methods to create a backup of a database; the
decision, which strategy is the most adequate, should be made on a per-case basis:
- offline (cold backup) or online (hot backup)
- copying tablespaces and possibly (archived) redo logs, or using export/import
- directly, with own scripts, or by means of a tool, e.g., RMAN
- Administrating tablespaces and datafiles; assigning objects
(tables and indexes) to tablespaces
- Administrating users and schemas, assigning tablespaces to users,
assigning quotas, etc.
- Administrating the rights and the roles:
- privilege grants should be minimal and, as much as possible, redundancy-free
- privileges should be structured correctly within roles; roles should be nested
correctly within each other
- Setting the database parameters and optimizing the database
configuration (regarding pfile/spfile, optimizer, etc.)
- Exporting and importing databases, single schemas, or single
objects; migrating databases to other platforms
- Upgrading the database software, running optional
packages, as well as patches
and hotfixes
- Running stand-by databases / Data Guards
- Fixing or finding work-arounds for technical problems; co-operating
with the Oracle Technical Support
- Release deployment (Development => QA => Prod)
- . . .
DBA know-how can be very helpful in the development process, too. Simultaneous
possession of database administrator and database developer skills leads to an improvement of
the results and to an increase of the performance. The reason is the unification of competencies
on all levels, from the program logic, implemented in PL/SQL packages, down to the parameters
of tablespaces, the degree of parallelism, or the influence of the High Water Mark on the
performance of certain queries. Moreover, it enables straightforward design, reduction of the
number of iterations in the development process, and unitary performance optimization.
Particularly performance tuning in the database context should not be regarded
as an "add-on", done by somebody else - i.e., by the DBA - when the development is completed; it
should rather be interleaved with the development, and to a great extent with the design phase.
Another important aspect is knowing the contents and the semantics of the data
dictionary. On the one hand, the data dictionary supplies information about the objects
in the database and thus enables generating new objects or code automatically. On the other hand,
it provides information about the database itself - such as resource usage, performance, etc.
- and allows real-time monitoring of the processes running, as well as determining the
relationship between cause and effect.
|
|
|