BASICS
1. What is Performance Tuning?
Ans: Making optimal use of system using existing resources called performace tuning.
2. Types of Tunings?
Ans: 1. CPU Tuning 2. Memory Tuning 3. IO Tuning 4. Application Tuning 5. Databse Tuning
3. What Mailny Database Tuning contains?
Ans: 1. Hit Ratios 2. Wait Events
3. What is an optimizer?
Ans: Optimizer is a mechanizm which will make the execution plan of an sql statement
4. Types of Optimizers?
Ans: 1. RBO(Rule Based Optimizer) 2. CBO(Cost Based Optimzer)
5. Which init parameter is used to make use of Optimizer?
Ans: optimizer_mode= rule----RBO cost---CBO choose--------First CBO otherwiser RBO
6. Which optimizer is the best one?
Ans: CBO
7. What are the pre requsited to make use of Optimizer?
Ans: 1. Set the optimizer mode 2. Collect the statistics of an object
8. How do you collect statistics of a table?
Ans: analyze table emp compute statistics or analyze table emp estimate statistics
9. What is the diff between compute and estimate?
Ans: If you use compute, The FTS will happen, if you use estimate just 10% of the table will be read
10. What wll happen if you set the optimizer_mode=choose?Ans: If the statistics of an object is available then CBO used. if not RBO will be used
11. Data Dictionay follows which optimzer mode?
Ans: RBO
12. How do you delete statistics of an object?
Ans: analyze table emp delete statistics
13. How do you collect statistics of a user/schema?
Ans: exec dbms_stats.gather_schema_stats(scott)
14. How do you see the statistics of a table?
Ans: select num_rows,blocks,empty_blocks from dba_tables where tab_name='emp'
15. What are chained rows?
Ans: These are rows, it spans in multiple blocks
16. How do you collect statistics of a user in Oracle Apps?
Ans: fnd_stats package
17. How do you create a execution plan and how do you see?Ans: 1. @?/rdbms/admin/utlxplan.sql --------- it creates a plan_table 2. explain set statement_id='1' for select * from emp; 3. @?/rdbms/admin/utlxpls.sql -------------it display the plan
18. How do you know what sql is currently being used by the session?
Ans: by goind v$sql and v$sql_area
19. What is a execution plan?
Ans: Its a road map how sql is being executed by oracle db?
20. How do you get the index of a table and on which column the index is?
Ans: dba_indexes and dba_ind_columns
21. Which init paramter you have to set to by pass parsing?
Ans: cursor_sharing=force
22. How do you know which session is running long jobs?
Ans: by going v$session_longops
23. How do you flush the shared pool?
Ans: alter system flush shared_pool
24. How do you get the info about FTS?
Ans: using v$sysstat
25. How do you increase the db cache?
Ans: alter table emp cache
26. Where do you get the info of library cache?
Ans: v$librarycache
27. How do you get the information of specific session?
Ans: v$mystat
28. How do you see the trace files?
Ans: using tkprof --- usage: tkprof allllle.trc llkld.txt
29. Types of hits?
Ans: Buffer hit and library hit
30. Types of wait events?
Ans: cpu time and direct path read
Ans: Making optimal use of system using existing resources called performace tuning.
2. Types of Tunings?
Ans: 1. CPU Tuning 2. Memory Tuning 3. IO Tuning 4. Application Tuning 5. Databse Tuning
3. What Mailny Database Tuning contains?
Ans: 1. Hit Ratios 2. Wait Events
3. What is an optimizer?
Ans: Optimizer is a mechanizm which will make the execution plan of an sql statement
4. Types of Optimizers?
Ans: 1. RBO(Rule Based Optimizer) 2. CBO(Cost Based Optimzer)
5. Which init parameter is used to make use of Optimizer?
Ans: optimizer_mode= rule----RBO cost---CBO choose--------First CBO otherwiser RBO
6. Which optimizer is the best one?
Ans: CBO
7. What are the pre requsited to make use of Optimizer?
Ans: 1. Set the optimizer mode 2. Collect the statistics of an object
8. How do you collect statistics of a table?
Ans: analyze table emp compute statistics or analyze table emp estimate statistics
9. What is the diff between compute and estimate?
Ans: If you use compute, The FTS will happen, if you use estimate just 10% of the table will be read
10. What wll happen if you set the optimizer_mode=choose?Ans: If the statistics of an object is available then CBO used. if not RBO will be used
11. Data Dictionay follows which optimzer mode?
Ans: RBO
12. How do you delete statistics of an object?
Ans: analyze table emp delete statistics
13. How do you collect statistics of a user/schema?
Ans: exec dbms_stats.gather_schema_stats(scott)
14. How do you see the statistics of a table?
Ans: select num_rows,blocks,empty_blocks from dba_tables where tab_name='emp'
15. What are chained rows?
Ans: These are rows, it spans in multiple blocks
16. How do you collect statistics of a user in Oracle Apps?
Ans: fnd_stats package
17. How do you create a execution plan and how do you see?Ans: 1. @?/rdbms/admin/utlxplan.sql --------- it creates a plan_table 2. explain set statement_id='1' for select * from emp; 3. @?/rdbms/admin/utlxpls.sql -------------it display the plan
18. How do you know what sql is currently being used by the session?
Ans: by goind v$sql and v$sql_area
19. What is a execution plan?
Ans: Its a road map how sql is being executed by oracle db?
20. How do you get the index of a table and on which column the index is?
Ans: dba_indexes and dba_ind_columns
21. Which init paramter you have to set to by pass parsing?
Ans: cursor_sharing=force
22. How do you know which session is running long jobs?
Ans: by going v$session_longops
23. How do you flush the shared pool?
Ans: alter system flush shared_pool
24. How do you get the info about FTS?
Ans: using v$sysstat
25. How do you increase the db cache?
Ans: alter table emp cache
26. Where do you get the info of library cache?
Ans: v$librarycache
27. How do you get the information of specific session?
Ans: v$mystat
28. How do you see the trace files?
Ans: using tkprof --- usage: tkprof allllle.trc llkld.txt
29. Types of hits?
Ans: Buffer hit and library hit
30. Types of wait events?
Ans: cpu time and direct path read
Advanced
1. A tablespace has a table with 30
extents in it. Is this bad? Why or why not?
Level: Intermediate
Expected answer: Multiple extents in and of themselves aren't bad. However if you also have chained rows this can hurt performance.
Level: Intermediate
Expected answer: Multiple extents in and of themselves aren't bad. However if you also have chained rows this can hurt performance.
2. How do you set up tablespaces
during an Oracle installation?
Level: Low
Expected answer: You should always attempt to use the Oracle Flexible Architecture standard or another partitioning scheme to ensure proper separation of SYSTEM, ROLLBACK, REDO LOG, DATA, TEMPORARY and INDEX segments.
Level: Low
Expected answer: You should always attempt to use the Oracle Flexible Architecture standard or another partitioning scheme to ensure proper separation of SYSTEM, ROLLBACK, REDO LOG, DATA, TEMPORARY and INDEX segments.
3. You see multiple fragments in the
SYSTEM tablespace, what should you check first?
Level: Low
Expected answer: Ensure that users don't have the SYSTEM tablespace as their TEMPORARY or DEFAULT tablespace assignment by checking the DBA_USERS view.
Level: Low
Expected answer: Ensure that users don't have the SYSTEM tablespace as their TEMPORARY or DEFAULT tablespace assignment by checking the DBA_USERS view.
4. What are some indications that
you need to increase the SHARED_POOL_SIZE parameter?
Level: Intermediate
Expected answer: Poor data dictionary or library cache hit ratios, getting error ORA-04031. Another indication is steadily decreasing performance with all other tuning parameters the same.
Level: Intermediate
Expected answer: Poor data dictionary or library cache hit ratios, getting error ORA-04031. Another indication is steadily decreasing performance with all other tuning parameters the same.
5. What is the general guideline for sizing
db_block_size and db_multi_block_read for an application that does many full
table scans?
Level: High
Expected answer: Oracle almost always reads in 64k chunks. The two should have a product equal to 64 or a multiple of 64.
Level: High
Expected answer: Oracle almost always reads in 64k chunks. The two should have a product equal to 64 or a multiple of 64.
6. What is the fastest query method for a table?
Level: Intermediate
Expected answer: Fetch by rowid
Level: Intermediate
Expected answer: Fetch by rowid
7. Explain the use of TKPROF? What initialization
parameter should be turned on to get full TKPROF output?
Level: High
Expected answer: The tkprof tool is a tuning tool used to determine cpu and execution times for SQL statements. You use it by first setting timed_statistics to true in the initialization file and then turning on tracing for either the entire database via the sql_trace parameter or for the session using the ALTER SESSION command. Once the trace file is generated you run the tkprof tool against the trace file and then look at the output from the tkprof tool. This can also be used to generate explain plan output.
Level: High
Expected answer: The tkprof tool is a tuning tool used to determine cpu and execution times for SQL statements. You use it by first setting timed_statistics to true in the initialization file and then turning on tracing for either the entire database via the sql_trace parameter or for the session using the ALTER SESSION command. Once the trace file is generated you run the tkprof tool against the trace file and then look at the output from the tkprof tool. This can also be used to generate explain plan output.
8. When looking at v$sysstat you see that sorts (disk)
is high. Is this bad or good? If bad, how do you correct it?
Level: Intermediate
Expected answer: If you get excessive disk sorts this is bad. This indicates you need to tune the sort area parameters in the initialization files. The major sort are parameter is the SORT_AREA_SIZe parameter.
Level: Intermediate
Expected answer: If you get excessive disk sorts this is bad. This indicates you need to tune the sort area parameters in the initialization files. The major sort are parameter is the SORT_AREA_SIZe parameter.
9. When should you increase copy latches? What
parameters control copy latches?
Level: high
Expected answer: When you get excessive contention for the copy latches as shown by the "redo copy" latch hit ratio. You can increase copy latches via the initialization parameter LOG_SIMULTANEOUS_COPIES to twice the number of CPUs on your system.
Level: high
Expected answer: When you get excessive contention for the copy latches as shown by the "redo copy" latch hit ratio. You can increase copy latches via the initialization parameter LOG_SIMULTANEOUS_COPIES to twice the number of CPUs on your system.
10. Where can you get a list of all initialization parameters
for your instance? How about an indication if they are default settings or have
been changed?
Level: Low
Expected answer: You can look in the init.ora file for an indication of manually set parameters. For all parameters, their value and whether or not the current value is the default value, look in the v$parameter view.
Level: Low
Expected answer: You can look in the init.ora file for an indication of manually set parameters. For all parameters, their value and whether or not the current value is the default value, look in the v$parameter view.