1. Define Transaction?
A Transaction is a logical unit of work that comprises one or more SQL statements executed by a single user.
2. When does a Transaction end?
When it is committed or Roll backed.
3. What does COMMIT do?
COMMIT makes permanent the changes resulting from all SQL statements in the transaction. The changes made by the SQL statements of a transaction become visible to other user sessions transactions that start only after transaction is committed.
4. What does ROLLBACK do?
ROLLBACK retracts any of the changes resulting from the SQL statements in the transaction.
5. What is SAVE POINT?
For long transactions that contain many SQL statements, intermediate markers or savepoints can be declared which can be used to divide a transaction into smaller parts. This allows the option of later rolling back all work performed from the current point in the transaction to a declared savepoint within the transaction.
6. What is Read-Only Transaction?
A Read-Only transaction ensures that the results of each query executed in the transaction are consistent with respect to the same point in time.
7. What is the function of Optimizer?
The goal of the optimizer is to choose the most efficient way to execute a SQL statement.
8. What is Execution Plan?
The combination of the steps the optimizer chooses to execute a statement is called an execution plan.
9. What are the different approaches used by Optimizer in choosing an execution plan?
Rule-based and Cost-based.
10. What are the factors that affect OPTIMIZER in choosing an Optimization approach?
The OPTIMIZER_MODE initialization parameter Statistics in the Data Dictionary the OPTIMIZER_GOAL parameter of the ALTER SESSION command hints in the statement.
11. What are the values that can be specified for OPTIMIZER MODE Parameter?
COST and RULE.
12. Will the Optimizer always use COST-based approach if OPTIMIZER_MODE is set to "Cost'?
Presence of statistics in the data dictionary for atleast one of the tables accessed by the SQL statements is necessary for the OPTIMIZER to use COST-based approach. Otherwise OPTIMIZER chooses RULE-based approach.
13. What is the effect of setting the value of OPTIMIZER_MODE to ‘RULE’?
This value causes the optimizer to choose the rule_based approach for all SQL statements issued to the instance regardless of the presence of statistics.
14. What are the values that can be specified for OPTIMIZER_GOAL parameter of the ALTER SESSION Command?
CHOOSE, ALL_ROWS, FIRST_ROWS and RULE.
15. What is the effect of setting the value "CHOOSE" for OPTIMIZER_GOAL, parameter of the ALTER SESSION Command?
The Optimizer chooses Cost_based approach and optimizes with the goal of best throughput if statistics for atleast one of the tables accessed by the SQL statement exist in the data dictionary. Otherwise the OPTIMIZER chooses RULE_based approach.
16. What is the effect of setting the value "ALL_ROWS" for OPTIMIZER_GOAL parameter of the ALTER SESSION command?
This value causes the optimizer to the cost-based approach for all SQL statements in the session regardless of the presence of statistics and to optimize with a goal of best throughput.
17. What is the effect of setting the value 'FIRST_ROWS' for OPTIMIZER_GOAL parameter of the ALTER SESSION command?
This value causes the optimizer to use the cost-based approach for all SQL statements in the session regardless of the presence of statistics and to optimize with a goal of best response time.
18. What is the effect of setting the 'RULE' for OPTIMIER_GOAL parameter of the ALTER SESSION Command?
This value causes the optimizer to choose the rule-based approach for all SQL statements in a session regardless of the presence of statistics.
19. What is RULE-based approach to optimization?
Choosing an executing planbased on the access paths available and the ranks of these access paths.
20. What is COST-based approach to optimization?
Considering available access paths and determining the most efficient execution plan based on statistics in the data dictionary for the tables accessed by the statement and their associated clusters and indexes.
Oracle DBA Interview Questions - 1