Professional Documents
Culture Documents
17
CEUR Proceedings 4th Workshop HCP Human Centered Processes, February 10-11, 2011
works on an experience base that capitalizes past DBA do not grant sufficient rights to the users. The
experience. This supposes that the experience base is second one is when DBA grants excessive privileges to
developed in a uniform representation of knowledge, some users or applications causing serious security
reasoning and context. Our study is in the realm of vulnerability.
research on context modeling and management 4) Change in database structure: The application can be
particularly that initiated in Brézillon and Pomerol impacted if any an unanticipated change occurred at the
(1999). This paper describes the improvements obtained schema level of a database such as accidentally
by contextualizing users’ procedures in applications like invalidating and dropping objects (table, column, etc …).
database administration. 5) Bad database deployment: The DBAs may
The paper starts by presenting database administration accidentally propagate the changes made to the database
problems followed by a discussion of the context in the testing environment to the production system. One
approach and the related work. Then it presents the of the other reasons of this category of problems is due to
different kinds of Knowledge in Database the bugs in the DBA's deployment scripts required to
Administration. After this, it discusses DBA procedures move from one environment to another.
and practices and how they are modeled using a 6) Database maintenance: Some of problems occur when
contextual graph based on example of a simple procedure the required maintenance tasks are not performed by the
for applying a database patch. Finally, the paper lists the database administrator. An example of this is when
remaining future work and concludes what has been database parameters like memory, size and path of data
reached. files need to be modified. Other DBA maintenance
problems are due to inattentive space management or
erroneous backup scripts resulting in an incorrect data
Database Administration problems recovery or bad patch updates as it will be discussed later
DBA activities include many tasks. Some of them must on in this paper.
be performed on a regular basis, others in response to 7) Other problems: This category is about the least
emergencies or specific user needs. Every day, the DBA frequent problems. Examples of problems include DBMS
follows the main established administration procedures bugs, data loss and hardware failure, etc ….
within the company like in the following list: Details, descriptions and real examples about database
- Verify that the database is up and accessible to administration problems can be found in (Mullins, 2002),
the end users ; (Oliveira & Nagaraja et al., 2006) and (Wessler, 2002).
- Verify that backup was successful ; Sometimes when of the above problems suddenly appear,
- Check performance statistics and if there are companies may lose large amounts of money for each
enough resources for acceptable performance ; hour of downtime. In such situation, A DBA life can
- Check the status of previous night’s processes ; become stressful because of the excessive pressure to
- Look for any new alert log entries to check solve problems quickly. In this framework, our work will
whether or not new database errors have contribute to find ways to minimize those DBA stressful
appeared since the last time. situations. One way to do this is by designing and
In addition, he must be constantly available and ready to implementing a context-based intelligent assistant system
deal with problems and prevent them before they occur. (CBIAS) to help the DBA by providing him with a
One or many technical problems can impact the comprehensive list of information to resolve critical
performance of the entire information system of the problems he faced. This system will be developed using a
company. This includes problems due to the database, the methodology that should take into consideration
server, the network and/or the application. Many of the contextual information about DBA procedures and
database problems fall into the following categories: practices as well as the different situations where he
1) Unable to connect to the database: Users cannot performs his tasks to ensure the availability and the safety
connect to the database because of locked account or bad of the database.
configuration file, and sometimes because the database is
down. The system administrator and DBA must interact
and work together to set shared server and database Context approach
configuration. The DBA often writes scripts to allow one Brézillon and Pomerol (1999) show that context plays an
or more critical databases to restart automatically if for important role in a number of domains since a long time.
any reason the server reboots. These scripts can include This is especially true for activities as predicting context
commands to start databases and connection processes changes, explaining unanticipated events and helping to
(i.e. oracle listener process). If the DBA forgets to handle them, and helping to focus attention. Context is
include a command to start one connection process, users used to describe knowledge shared on physical, social,
will not be able to connect to the database even if the historical and other circumstances where actions or
database is started. events happen. All this knowledge is not part of the
2) Slow time response and bad performance: Users actions to execute or the events that occur, but will
cannot get the results of their queries in an acceptable constrain the execution of an action and event
time frame. interpretation.
3) Privileges to access the database: This category of Context has an infinite dimension and it is not clearly
problems can occur in two cases. The first one is when defined. To deal with a large number of contextual
18
CEUR Proceedings 4th Workshop HCP Human Centered Processes, February 10-11, 2011
information, Brézillon and Pomerol (1999) distinguish Menasee (2008) introduce the notion of embedding
between three types of context (Figure 1) for a given policies into the database itself and enabling these
focus of attention, namely, external knowledge, policies to block every attempt to compromise the state of
contextual knowledge, and proceduralized context. The the database, or to alter its configuration in a way that
external knowledge is the knowledge that has nothing to contradicts what has been established and fed into the
do with the current focus. Conversely, the contextual policy by the system owner. The Common observations
knowledge is the knowledge that is more or less relevant concerning all these mentioned works and some similar
for the current focus of attention. Always at a given works not discussed in this paper are the full
focus, part of the contextual knowledge is proceduralized. considerations to technical aspects like using sensors to
The proceduralized context is a part of the contextual collect the contextual information about the
knowledge, which is invoked, organized, structured and administration environment like in DBSitter. Most of
situated according to this focus. them seldom consider the contextual information about
the preferences of DBA (experience matters, social and
cultural, etc. ...) and the dynamics aspects of contexts.
Nevertheless, some other research works have performed
ethnographic field studies to develop guidelines for tools
to better support how administrators actually work as in
(Barrett & Kandogan et al., 2004) and (Haber & Bailey,
2007). The present work contributes to contextualize
DBA procedures based on user-centered approach in
database administration. To improve the usability of
these procedures, the contextual graphs can be used. The
following section will help understanding the different
kinds of knowledge when dealing with database
administration procedures.
Figure 1: Different types of context.
Context can be modeled using an approach based on
contextual graphs (Brézillon, Pasquier and Pomerol,
A Knowledge Categorization in Database
2002; Brézillon, 2002) where the contextual elements are Administration
acquired incrementally when needed. Later on in this Effective database administration requires mix of three
paper we show to apply this approach to represent types of knowledge (Wessler, 2002): technical
contextual information in database administration knowledge, business knowledge, and human knowledge
procedures. as shown in Figure 2. These three main knowledge
categories in database administration are themselves
divided into sub-categories.
Related works
Technical knowledge
Nowadays there are many automated database
Technical knowledge corresponds to the technical skills
administration tools that helps the DBA in his decision- the DBA needs to possess. It can be broken down into
making. Traditional expert systems like Oracle Expert three main categories: database knowledge, application
offer much functionality such as assisting the DBA by knowledge, and system knowledge.
automating routine database maintenance and tuning
tasks (ORACLE, 2001). The main principle of these Database knowledge
systems is to suggest solutions to correct detected failures Database knowledge is about the RDBMS the DBA is
based on information already stored in a Knowledge responsible for. He should know everything about the
Base. There exists also solutions with a learning database he monitors on a daily basis and provides all the
mechanism to suggest the most adequate solution to each maintenance for it.
detected problem like in DBSitter which is based on the
combination of two methods: (1) Case Based Reasoning Application Knowledge
(CBR) to adapt known solutions and enrich the Application Knowledge concerns program code affecting
Knowledge Base (2) Mutli-Agent where a set of the database. The DBA needs to understand what it does
intelligent agents is used to monitor the Database and how it connects to the database. He also needs to
environment and actuate on it (Carneiro & Passos et al., support the packages and procedures stored inside the
2004). database. However tuning the code is a shared
Other recent research works uses Policy-based computing responsibility between the DBA and the application
to implement autonomic administration capabilities into a developers.
database for enforcing policies to control and decide
which changes are allowed and which ones are not. (Qiao System Knowledge
& Soetarman et al., 2007 ) present a framework to define, System Knowledge corresponds to the different aspects
manage, and enforce policies that are used to isolate a of systems administration and networking that affect the
problem into a more specific context, upon which either
general or customized solutions are derived. Jabbour and
19
CEUR Proceedings 4th Workshop HCP Human Centered Processes, February 10-11, 2011
20
CEUR Proceedings 4th Workshop HCP Human Centered Processes, February 10-11, 2011
the actions 1 to 3. So, the DBA has adapted the above DBA-SA Interaction
procedure to the contextual knowledge he has acquired The main role of the system administrator (SA) is to keep
over time by developing practices to reach the goal fixed all the system boxes running efficiently and in a secure
by this procedure. manner. If no system administration group exists, the
As explained by Brézillon (2003), the construction of the DBA assumes responsibility for DBMS-related system
proceduralized context from contextual knowledge is administration and programming. The DBA-SA
often a process of communication in a community of Interaction is needed where the SA should provide
practice, even if members of this community come from relevant information to the DBA and resources to support
different domains. Figure 3 represents how the different the Database especially in the following cases:
proceduralized contexts built from contextual knowledge - At the moment of the creation of a new database
during the interactions between the DBA and each or server ;
category of users. - When a DBA requests information about the
server’s backup strategy, the disk layout, RAID
level, machine memory;
- When a DBA needs to know if there are any
major non-database applications planned ;
- When DBA needs more disk space ;
The interaction between the SA and the DBA is not
always a very close and cordial relationship. There is
often contention between the two administrators on some
issues such as the moment to reboot the machine, use of
system resources (disk space and memory), backup and
recovery procedures, and user policy.
DBA-Developer Interaction
The interaction between the DBA and Developers is
needed mainly in the following cases:
- When Developers writes and maintain
programs, the DBA should implement any
Figure 3: Context in DBA-User’s interactions required database or environment changes;
- Supporting developers in tuning their database
The different interaction contexts contain elements of the queries used by their programs ;
contextual knowledge for the building of the - Database errors are the result of bad program
proceduralized context in the focus of attention of the code, the DBA asks the developers if they have
DBA and the corresponding user. These elements of changed anything to help him in
knowledge in the interaction context are extracted from troubleshooting.
the contextual knowledge of each category of user. Then
they are proceduralized by the two persons, and result in DBA-Manager Interaction
a shared chunk of knowledge. The resulting The DBA-Manager interaction concerns the following:
proceduralized context contains all the pieces of - The DBA must report to his manager who may
knowledge that have been discussed, accepted and be technical or may be from a non-technical
assembled by the DBA and each category of user. For background ;
example, in the DBA-System Administrator (SA) - The DBA explains to the manager the different
Interaction, the SA should provide relevant information parts of a system (at a high level) and explaining
to the DBA when he requests information about the how they are dependent on each other. He can
server such as the disk space and the needed permissions. also explain what it takes to provide high system
As shown in the Figure 3, in most IT organizations, a uptime, both in terms of hardware and in terms
DBA will interact with five types of users: data of trained IT professionals.
administrators, system administrators, developers, - The DBA may have to provide an explanation to
managers, customers and end users, other people outside his manager if problems still occur even if they
the organization. might not even be related to the database.
21
CEUR Proceedings 4th Workshop HCP Human Centered Processes, February 10-11, 2011
being said and provide support and answers that are Example of a DBA procedure for applying a database
understandable. patch:
As an example, we use contextual graphs to model the
DBA-Other people Interaction context-based DBA procedure for applying a database
The DBA-Other people interaction concerns the different patch. The previous procedure can be represented using
communications and contacts between the DBA and the contextual graph in Figure 4.
RDBMS vendors (Oracle, Microsoft, IBM … etc), and
other outside companies. The main objectives of these
interactions are the following:
1) To choose products and negotiate support contracts;
2) To ensure that any new purchased software, related to
both database and non-database uses, does not adversely
affect data protection or availability of the existing
databases. It is up to the DBA to do the needed testing to
guarantee that no unexpected problems or bugs occur
because of a new software addition;
3) To Sign up for the highly recommended training
classes, pursuing technical support issues.
22
CEUR Proceedings 4th Workshop HCP Human Centered Processes, February 10-11, 2011
23
CEUR Proceedings 4th Workshop HCP Human Centered Processes, February 10-11, 2011
24