Chapter 1 Review Questions & Solutions:
1.    DBAs must be involved in the database design to ensure that all functional specification requirements are met. (True/False) __TRUE______

2.    Tuning I/O is the first thing a DBA should tackle after all application design and code is tuned. (True/False) __FALSE______

3.    A DBA constantly monitors response time measurements. (True/False) __TRUE______

4.    VMSTAT is an Oracle tool that collects database statistics. (True/False) __FALSE_____

5.    Reading data from data files improves read consistency and has little performance impact. (True/False) __FALSE_____

6.    The task of disk striping is performed by the DBA. (True/False) __FALSE_____

7.    Problematic queries impact performance by causing high CPU utilization. (True/False) __TRUE______

8.    List five tasks that a DBA is responsible for when tuning a database.
1.    Gather database statistics
2.    Perform and analyze trend analysis
3.    Monitor the database performance
4.    Improve database performance when necessary to meet tuning goals
5.    Monitor and identify problematic queries

9.    List five tuning considerations of which the DBA should be aware.
1.    Type of users
2.    Network bandwidth and speed
3.    Type of operating system
4.    Number of users connecting to the database
5.    Service hours

10.    List five performance problems that may occur.
1.    Application problems
2.    Resource contention problems
3.    Scalability problems
4.    Connection problems
5.    Network problems

11.    Outline what aspects of the database should be tuned by each person involved in the SDLC process. Emphasize the role of the DBA in this process.

In SDLC the following people are involved:
  1. Analysts: They need to make sure to interpret users’ and business requirements into accurate functional specifications.
  2. Designers: They need to make sure that the design of the system meets the functional specification and the solution is an optimal one without any major design flaws. 
  3. Developers: They need to make sure that their code is optimal, specifically queries submitted to the database.
  4. QA (testers): They need to make sure that the database is performing according to the specification and should report any performance issues regardless of how minor or major the problem is.
  5. Users: They need to make sure that the system functionality is working without any performance issues.
  6. DBAs: They need to put their effort into ensuring that the design of the application does not have any database issues, the queries submitted are optimal and the database is configured to meet the application tuning goals.

12.    List the different areas of expertise and skills that a database performance expert should have.
A performance-tuning expert should have good knowledge of the database management system features and functionality. Also, he/she should be familiar with most aspects of the software development process.

13.    Explain why historical statistics are needed for improving performance.
Because historical statistics provide a trend which tells whether there is a problem or not

14.    How can you tell if your database is performing in an optimal way?
You can tell if the performance of the database is optimal from the indicators that you read from the database. The indicators are measurements that can be used to determine how close each indicator is to the acceptable threshold value

15.    When should you start tuning?
You should start tuning as early as possible, starting with the design phase, by making sure the database design and data model are in an optimal state and as late as the development phase where you can analyze the queries.

16.    What phase of the SDLC is most important for performance? Outline your responsibilities as DBA in that phase.
The most important phase of the SDLC is the Analysis and Design phase. As a DBA you should make sure the data model of the application has no design flaws and identify any database features that can be used to enhance the application design.

17.    As a DBA, do you believe you should demand from developers a list of all queries submitted to the database to review? Why or why not?
Yes, you should demand a list of all queries to analyze them and make sure that there is no problematic query. Identifying problematic queries before the application goes into production will reduce and prevent performance problems and it is one less problem to worry about

18.    As a DBA, should you learn about applications, their functions, and users from a business point of view? Why or why not?
When you learn about the application you will be able to tune the database to meet business requirements without any performance degradation that may impact user productivity.

19.    What is the difference in responsibilities between a system DBA and application DBA with respect to performance tuning and performance problems?
System DBA is more involved with tuning issues related to the database configuration that includes memory and I/O bound problems while application DBA is involved with database design and schema design and other related issues.

20.    Outline the steps you would take to tune a performance problem in production.
You should follow the tuning process outlined in this chapter, Table 1-2

EXAM REVIEW QUESTIONS - ORACLE9i PERFORMANCE TUNING (#1Z0-033)

1.    After analyzing the database, you determine that some queries are excessively consuming database resources. What should you do?
a.    Do nothing, since no users have complained about any performance issues.
b.    Analyze those queries further to determine if corrective action is needed.
c.    Inform developers about the problem queries and wait for their response.
d.    Modify the database configuration so the queries run more efficiently.

2.    After the database application is tuned, what should be tuned next?
a.    Design
b.    Queries
c.    Contention
d.    Operating system
e.    Memory

3.    When tuning the database, which of the following is considered the most important?
a.    Operating system
b.    Application design
c.    Application code
d.    Database configuration
e.    Input/output throughput
f.    Network bandwidth