Oracle DBA Interview Questions/FAQs Part1
1. What is an instance?
SGA + background processes.
SGA + background processes.
2. What is SGA?
System/Shared Global Area.
System/Shared Global Area.
3. What is PGA (or) what is
pga_aggregate_target?
Programmable Global Area.
Programmable Global Area.
4. What are new memory parameters in Oracle
10g?
SGA_TARGET
PGA_TARGET
SGA_TARGET
PGA_TARGET
5. What are new memory parameters in Oracle
11g?
MEMORY_TARGET
MEMORY_TARGET
6. What are the mandatory background
processes?
DBWR LGWR SMON PMON CKPT RECO.
DBWR LGWR SMON PMON CKPT RECO.
7. What are the optional background
processes?
ARCH, MMAN, MMNL, MMON, CTWR, ASMB, RBAL, ARBx etc.
ARCH, MMAN, MMNL, MMON, CTWR, ASMB, RBAL, ARBx etc.
8. What are the new background processes in
Oracle 10g?
MMAN MMON MMNL CTWR ASMB RBAL ARBx
MMAN MMON MMNL CTWR ASMB RBAL ARBx
10. What are the new features in Oracle
10g?
11. What are the new features in Oracle
11g?
12. What are the new features in Oracle 11g
R2?
13. What are the new features in Oracle
12c?
14. What process will get data from
datafiles to DB cache?
Server process
Server process
15. What background process will writes
data to datafiles?
DBWR
DBWR
16. What background process will write undo
data?
DBWR
DBWR
17. What are physical components of Oracle
database?
Oracle database is comprised of three types of files. One or more datafiles, two or more redo log files, and one or more control files. Password file and parameter file also come under physical components.
Oracle database is comprised of three types of files. One or more datafiles, two or more redo log files, and one or more control files. Password file and parameter file also come under physical components.
18. What are logical components of Oracle
database?
Blocks, Extents, Segments, Tablespaces.
Blocks, Extents, Segments, Tablespaces.
19. What is segment space management?
LMTS and DMTS.
LMTS and DMTS.
20. What is extent management?
Auto and Manual.
Auto and Manual.
21. What are the differences between LMTS
and DMTS?
Tablespaces that record extent allocation in the dictionary are called dictionary managed tablespaces, and tablespaces that record extent allocation in the tablespace header are called locally managed tablespaces.
Tablespaces that record extent allocation in the dictionary are called dictionary managed tablespaces, and tablespaces that record extent allocation in the tablespace header are called locally managed tablespaces.
21. What is a datafile?
Every Oracle database has one or more physical datafiles. Datafiles contain all the database data. The data of logical database structures such as tables and indexes is physically stored in the datafiles allocated for a database.
Every Oracle database has one or more physical datafiles. Datafiles contain all the database data. The data of logical database structures such as tables and indexes is physically stored in the datafiles allocated for a database.
22. What are the contents of control file?
Database name, SCN, LSN, datafile locations, redolog locations, archive mode, DB Creation Time, RMAN Backup & Recovery Details, Flashback mode.
Database name, SCN, LSN, datafile locations, redolog locations, archive mode, DB Creation Time, RMAN Backup & Recovery Details, Flashback mode.
23. What is the use of redo log files?
24. What are the uses of undo tablespace or
redo segments?
25. How undo tablespace can guarantee
retain of required undo data?
Alter tablespace undo_ts retention guarantee;
Alter tablespace undo_ts retention guarantee;
26. What is ORA-01555 – snapshot too old
error and how do you avoid it?
27. What is the use/size of temporary
tablespace?
28. What is the use of password file?
29. How to create password file?
$ orapwd file=orapwSID password=sys_password force=y nosysdba=y
$ orapwd file=orapwSID password=sys_password force=y nosysdba=y
30. How many types of indexes are there?
Clustered and Non-Clustered
Clustered and Non-Clustered
1.B-Tree index
2.Bitmap index
3.Unique index
4.Function based index
2.Bitmap index
3.Unique index
4.Function based index
Implicit index and explicit index.
Explicit indexes are again of many types like simple index, unique index, Bitmap index, Functional index, Organisational index, cluster index.
Explicit indexes are again of many types like simple index, unique index, Bitmap index, Functional index, Organisational index, cluster index.
31. What is bitmap index & when it’ll
be used?
Bitmap indexes are preferred in Data warehousing environment.
Preferred when cardinality is low.
Bitmap indexes are preferred in Data warehousing environment.
Preferred when cardinality is low.
32. What is B-tree index & when it’ll
be used?
B-tree indexes are preferred in OLTP environment.
Preferred when cardinality is high.
B-tree indexes are preferred in OLTP environment.
Preferred when cardinality is high.
33. How you will find out fragmentation of
index?
AUTO_SPACE_ADVISOR_JOB will run in daily maintenance window and report fragmented indexes/Tables.
AUTO_SPACE_ADVISOR_JOB will run in daily maintenance window and report fragmented indexes/Tables.
analyze index validate structure;
This populates the table ‘index_stats’. It should be noted that this table contains only one row and therefore only one index can be analysed at a time.
This populates the table ‘index_stats’. It should be noted that this table contains only one row and therefore only one index can be analysed at a time.
An index should be considered for
rebuilding under any of the following conditions:
* The percentage of deleted rows exceeds 30% of the total, i.e. if del_lf_rows / lf_rows > 0.3.
* If the ‘HEIGHT’ is greater than 4.
* If the number of rows in the index (‘LF_ROWS’) is significantly smaller than ‘LF_BLKS’ this can indicate a large number of deletes, indicating that the index should be rebuilt.
* The percentage of deleted rows exceeds 30% of the total, i.e. if del_lf_rows / lf_rows > 0.3.
* If the ‘HEIGHT’ is greater than 4.
* If the number of rows in the index (‘LF_ROWS’) is significantly smaller than ‘LF_BLKS’ this can indicate a large number of deletes, indicating that the index should be rebuilt.
34. What is the difference between delete
and truncate?
Truncate will release the space. Delete won’t.
Delete can be used to delete some records. Truncate can’t.
Delete can be rollbacked.
Delete will generate undo (Delete command will log the data changes in the log file where as the truncate will simply remove the data without it. Hence data removed by Delete command can be rolled back but not the data removed by TRUNCATE).
Truncate is a DDL statement whereas DELETE is a DML statement.
Truncate is faster than delete.
Truncate will release the space. Delete won’t.
Delete can be used to delete some records. Truncate can’t.
Delete can be rollbacked.
Delete will generate undo (Delete command will log the data changes in the log file where as the truncate will simply remove the data without it. Hence data removed by Delete command can be rolled back but not the data removed by TRUNCATE).
Truncate is a DDL statement whereas DELETE is a DML statement.
Truncate is faster than delete.
35. What’s the difference between a primary
key and a unique key?
Both primary key and unique enforce uniqueness of the column on which they are defined. But by default primary key creates a clustered index on the column, where unique key creates a nonclustered index by default. Primary key doesn’t allow NULLs, but unique key allows one NULL only.
Both primary key and unique enforce uniqueness of the column on which they are defined. But by default primary key creates a clustered index on the column, where unique key creates a nonclustered index by default. Primary key doesn’t allow NULLs, but unique key allows one NULL only.
36. What is the difference between schema
and user?
Schema is collection of user’s objects.
Schema is collection of user’s objects.
37. What is the difference between SYSDBA,
SYSOPER and SYSASM?
SYSOPER can’t create and drop database.
SYSOPER can’t do incomplete recovery.
SYSOPER can’t change character set.
SYSOPER can’t CREATE DISKGROUP, ADD/DROP/RESIZE DISK
SYSOPER can’t create and drop database.
SYSOPER can’t do incomplete recovery.
SYSOPER can’t change character set.
SYSOPER can’t CREATE DISKGROUP, ADD/DROP/RESIZE DISK
SYSASM can do anything SYSDBA can do.
38. What is the difference between SYS and
SYSTEM?
SYSTEM can’t shutdown the database.
SYSTEM can’t create another SYSTEM, but SYS can create another SYS or SYSTEM.
SYSTEM can’t shutdown the database.
SYSTEM can’t create another SYSTEM, but SYS can create another SYS or SYSTEM.
39. How to improve sqlldr (SQL*Loader)
performance?
40. What is the difference between view and
materialized view?
View is logical, will store only the query, and will always gets latest data.
Mview is physical, will store the data, and may not get latest data.
View is logical, will store only the query, and will always gets latest data.
Mview is physical, will store the data, and may not get latest data.
41. What are materialized view refresh
types and which is default?
Complete, fast, force(default)
Complete, fast, force(default)
42. How fast refresh happens?
43. How to find out when was a materialized
view refreshed?
Query dba_mviews or dba_mview_analysis or dba_mview_refresh_times
SQL> select MVIEW_NAME, to_char(LAST_REFRESH_DATE,’YYYY-MM-DD HH24:MI:SS’) from dba_mviews;
(or)
SQL> select NAME, to_char(LAST_REFRESH,’YYYY-MM-DD HH24:MI:SS’) from dba_mview_refresh_times;
(or)
SQL> select MVIEW_NAME, to_char(LAST_REFRESH_DATE,’YYYY-MM-DD HH24:MI:SS’) from dba_mview_analysis;
Query dba_mviews or dba_mview_analysis or dba_mview_refresh_times
SQL> select MVIEW_NAME, to_char(LAST_REFRESH_DATE,’YYYY-MM-DD HH24:MI:SS’) from dba_mviews;
(or)
SQL> select NAME, to_char(LAST_REFRESH,’YYYY-MM-DD HH24:MI:SS’) from dba_mview_refresh_times;
(or)
SQL> select MVIEW_NAME, to_char(LAST_REFRESH_DATE,’YYYY-MM-DD HH24:MI:SS’) from dba_mview_analysis;
44. What is materialized view log (type)?
45. What is atomic refresh in mviews?
From Oracle 10g, complete refresh of single materialized view can do delete instead of truncate. To force the refresh to do truncate instead of delete, parameter ATOMIC_REFRESH must be set to false.
From Oracle 10g, complete refresh of single materialized view can do delete instead of truncate. To force the refresh to do truncate instead of delete, parameter ATOMIC_REFRESH must be set to false.
ATOMIC_REFRESH = FALSE, mview will be
truncated and whole data will be inserted. The refresh will go faster, and no
undo will be generated.
ATOMIC_REFRESH = TRUE (default), mview will be deleted and whole data will be inserted. Undo will be generated. We will have access at all times even while it is being refreshed.
ATOMIC_REFRESH = TRUE (default), mview will be deleted and whole data will be inserted. Undo will be generated. We will have access at all times even while it is being refreshed.
SQL> EXEC DBMS_MVIEW.REFRESH(‘mv_emp’,
‘C’, atomic_refresh=FALSE);
46. How to find out whether
database/tablespace/datafile is in backup mode or not?
Query V$BACKUP view.
Query V$BACKUP view.
47. What is row chaining?
If the row is too large to fit into an empty data block in this case the oracle stores the data for the row in a chain of one or more data blocks. Can occur when the row is inserted.
If the row is too large to fit into an empty data block in this case the oracle stores the data for the row in a chain of one or more data blocks. Can occur when the row is inserted.
48. What is row migration?
An update statement increases the amount of data in a row so that the row no longer fits in its data blocks. Now the oracle tries to find another free block with enough space to hold the entire row if such a block is available oracle moves entire row to new block.
An update statement increases the amount of data in a row so that the row no longer fits in its data blocks. Now the oracle tries to find another free block with enough space to hold the entire row if such a block is available oracle moves entire row to new block.
49. What are different types of partitions?
With Oracle8, Range partitioning (on single column) was introduced.
With Oracle8i, Hash and Composite(Range-Hash) partitioning was introduced.
With Oracle9i, List partitioning and Composite(Range-List) partitioning was introduced.
With Oracle 11g, Interval partitioning, REFerence partitioning, Virtual column based partitioning, System partitioning and Composite partitioning [Range-Range, List-List, List-Range, List-Hash, Interval-Range, Interval-List, Interval-Interval] was introduced.
With Oracle8, Range partitioning (on single column) was introduced.
With Oracle8i, Hash and Composite(Range-Hash) partitioning was introduced.
With Oracle9i, List partitioning and Composite(Range-List) partitioning was introduced.
With Oracle 11g, Interval partitioning, REFerence partitioning, Virtual column based partitioning, System partitioning and Composite partitioning [Range-Range, List-List, List-Range, List-Hash, Interval-Range, Interval-List, Interval-Interval] was introduced.
50. What is local partitioned index and
global partitioned index?
A local index is an index on a partitioned table which is partitioned in the exact same manner as the underlying partitioned table. Each partition of a local index corresponds to one and only one partition of the underlying table.
A global partitioned index is an index on a partitioned or non partitioned tables which are partitioned using a different partitioning key from the table and can have different number of partitions. Global partitioned indexes can only be partitioned using range partitioning.
A local index is an index on a partitioned table which is partitioned in the exact same manner as the underlying partitioned table. Each partition of a local index corresponds to one and only one partition of the underlying table.
A global partitioned index is an index on a partitioned or non partitioned tables which are partitioned using a different partitioning key from the table and can have different number of partitions. Global partitioned indexes can only be partitioned using range partitioning.
51. How you will recover if you lost
one/all control file(s)?
52. Why more archivelogs are generated,
when database is begin backup mode?
During begin backup mode datafile headers get freezed and as result row information cannot be retrieved as a result the entire block is copied to redo logs as a result more redo generated and more log switch and in turn more archive logs. Normally only deltas (change vectors) are logged to the redo logs. When in backup mode, Oracle will write complete changed blocks to the redo log files.
During begin backup mode datafile headers get freezed and as result row information cannot be retrieved as a result the entire block is copied to redo logs as a result more redo generated and more log switch and in turn more archive logs. Normally only deltas (change vectors) are logged to the redo logs. When in backup mode, Oracle will write complete changed blocks to the redo log files.
Mainly to overcome fractured blocks. Most
of the cases Oracle block size is equal to or a multiple of the operating
system block size.
e.g. Consider Oracle blocksize is 2k and
OSBlocksize is 4k. so each OS Block is comprised of 2 Oracle Blocks. Now you
are doing an update when your db is in backup mode. An Oracle Block is updating
and at the same time backup is happening on the OS block which is having this
particular DB block. Backup will not be consistent since the one part of the
block is being updated and at the same time it is copied to the backup
location. In this case we will have a fractured block, so as to avoid this
Oracle will copy the whole OS block to redo logfile which can be used for
recovery. Because of this redo generation is more.
53. What UNIX parameters you will set while
Oracle installation?
shmmax, shmmni, shmall, sem,
shmmax, shmmni, shmall, sem,
54. What is the use of inittrans and
maxtrans in table definition?
55. What are differences between dbms_job
and dbms_schedular?
Through dbms_schedular we can schedule OS level jobs also.
Through dbms_schedular we can schedule OS level jobs also.
56. What are differences between
dbms_schedular and cron jobs?
Through dbms_schedular we can schedule database jobs, through cron we can’t set.
Through dbms_schedular we can schedule database jobs, through cron we can’t set.
57. Difference between CPU & PSU
patches?
CPU – Critical Patch Update – includes only Security related patches.
PSU – Patch Set Update – includes CPU + other patches deemed important enough to be released prior to a minor (or major) version release.
CPU – Critical Patch Update – includes only Security related patches.
PSU – Patch Set Update – includes CPU + other patches deemed important enough to be released prior to a minor (or major) version release.
58. What you will do if (local) inventory
corrupted [or] opatch lsinventory is giving error?
59. What are the entries/location of
oraInst.loc?
/etc/oraInst.loc is pointer to central/local Oracle Inventory.
/etc/oraInst.loc is pointer to central/local Oracle Inventory.
60. What is the difference between
central/global inventory and local inventory?
61. What is the use of root.sh &
oraInstRoot.sh?
Ans:
Changes ownership & permissions of oraInventory
Creating oratab file in the /etc directory
In RAC, starts the clusterware stack
Ans:
Changes ownership & permissions of oraInventory
Creating oratab file in the /etc directory
In RAC, starts the clusterware stack
62. What is transportable tablespace (and
across platforms)?
63. How can you transport tablespaces
across platforms with different endian formats?
Ans:
RMAN
Ans:
RMAN
64. What is xtss (cross platform
transportable tablespace)?
65. What is the difference between restore
point & guaranteed restore point?
66. What is the difference between 10g/11g
OEM Grid control and 12c Cloud control?
67. What are the components of Grid
control?
Ans:
OMS (Oracle Management Server)
OMR (Oracle Management Repository)
OEM Agent
Ans:
OMS (Oracle Management Server)
OMR (Oracle Management Repository)
OEM Agent
68. What are the new features of 12c Cloud
control?
69. How to find if your Oracle database is
32 bit or 64 bit?
Ans:
execute the command “file $ORACLE_HOME/bin/oracle”, you should see output like /u01/db/bin/oracle: ELF 64-bit MSB executable SPARCV9 Version 1
Ans:
execute the command “file $ORACLE_HOME/bin/oracle”, you should see output like /u01/db/bin/oracle: ELF 64-bit MSB executable SPARCV9 Version 1
means you are on 64 bit oracle.
If your oracle is 32 bit you should see
output like below
oracle: ELF 32-bit MSB executable SPARC Version 1
oracle: ELF 32-bit MSB executable SPARC Version 1
70. How to find opatch Version ?
Ans:
opatch is utility to apply database patch, In order to find opatch version execute”$ORACLE_HOME/OPatch/opatch version”
Ans:
opatch is utility to apply database patch, In order to find opatch version execute”$ORACLE_HOME/OPatch/opatch version”