1. How many memory layers are in the shared pool?
1/3 of physical memory, can be 2/4k depending on bit of 32 or 64
2. How do you find out from the RMAN catalog if a particular archive log has been backed-up?
The database should be in ARCHIVE mode if you are going to use RMAN as backup method.
3. How can you tell how much space is left on a given file system and how much space each of the file system's subdirectories take-up?
4. Define the SGA and:
• How you would configure SGA for a mid-sized OLTP environment?
• What is involved in tuning the SGA?
5. What is the cache hit ratio, what impact does it have on performance of an Oracle database and what is involved in tuning it?
6. Other than making use of the statspack utility, what would you check when you are monitoring or running a health check on an Oracle 8i or 9i database?
7. How do you tell what your machine name is and what is its IP address?
8. How would you go about verifying the network name that the local_listener is currently using?
9. You have 4 instances running on the same UNIX box. How can you determine which shared memory and semaphores are associated with which instance?
10. What view(s) do you use to associate a user's SQLPLUS session with his o/s process?
11. What is the recommended interval at which to run statspack snapshots, and why?
12. What spfile/init.ora file parameter exists to force the CBO to make the execution path of a given statement use an index, even if the index scan may appear to be calculated as more costly?
13. Assuming today is Monday, how would you use the DBMS_JOB package to schedule the execution of a given procedure owned by SCOTT to start Wednesday at 9AM and to run subsequently every other day at 2AM.
14. How would you edit your CRONTAB to schedule the running of /test/test.sh to run every other day at 2PM?
15. What do the 9i dbms_standard.sql_txt() and
dbms_standard.sql_text() procedures do?
16. In which dictionary table or view would you look to determine at which time a snapshot or MVIEW last successfully refreshed?
17. How would you best determine why your MVIEW couldn't FAST REFRESH?
18. How does propagation differ between Advanced Replication and Snapshot Replication (read-only)?
19. Which dictionary view(s) would you first look at to
understand or get a high-level idea of a given Advanced Replication environment?
20. How would you begin to troubleshoot an ORA-03113 error?
21. Which dictionary tables and/or views would you look at to diagnose a locking issue?
22. An automatic job running via DBMS_JOB has failed. Knowing only that "it's failed", how do you approach troubleshooting this issue?
23. How would you extract DDL of a table without using a GUI tool?
24. You're getting high "busy buffer waits" - how can you find what's causing it?
25. What query tells you how much space a tablespace named "test" is taking up, and how much space is remaining?
26. Database is hung. Old and new user connections alike hang on impact. What do you do? Your SYS SQLPLUS session IS able to connect.
27. Database crashes. Corruption is found scattered among the file system neither of your doing nor of Oracle's. What database recovery options are available? Database is in archive log mode.
28. Illustrate how to determine the amount of physical CPUs a Unix Box possesses (LINUX and/or Solaris).
29. How do you increase the OS limitation for open files (LINUX and/or Solaris)?
30. Provide an example of a shell script which logs into SQLPLUS as SYS, determines the current date, changes the date format to include minutes & seconds, issues a drop table command, displays the date again, and finally exits.
31. Explain how you would restore a database using RMAN to Point in Time?
32. How does Oracle guarantee data integrity of data changes?
33. Which environment variables are absolutely critical in order to run the OUI?
34. What SQL query from v$session can you run to show how many sessions are logged in as a particular user account?
35. Why does Oracle not permit the use of PCTUSED with indexes?
36. What would you use to improve performance on an insert statement that places millions of rows into that table?
37. What would you do with an "in-doubt" distributed transaction?
38. What are the commands you'd issue to show the explain plan for "select * from dual"?
39. In what script is "snap$" created? In what script is
the "scott/tiger" schema created?
40. If you're unsure in which script a sys or system-owned object is created, but you know it's in a script from a specific directory, what UNIX command from that directory structure can you run to find your answer?
41. How would you configure your networking files to connect to a database by the name of DSS which resides in domain icallinc.com?
42. You create a private database link and upon connection, fails with: ORA-2085: connects to <fully qualified remote db name>. What is the problem? How would you go about resolving this error?
43. I have my backup RMAN script called "backup_rman.sh". I am on the target database. My catalog username/password is rman/rman. My catalog db is called rman. How would you run this shell script
from the o/s such that it would run as a background process?
44. Explain the concept of the DUAL table.
45. What are the ways tablespaces can be managed and how do they differ?
46. From the database level, how can you tell under which time zone a database is operating?
47. What's the benefit of "dbms_stats" over "analyze"?
48. Typically, where is the conventional directory structure chosen for Oracle binaries to reside?
49. You have found corruption in a tablespace that contains static tables that are part of a database that is in NOARCHIVE log mode. How would you restore the tablespace without losing new data in the other tablespaces?
50. How do you recover a datafile that has not been physically been backed up since its creation and has been deleted. Provide syntax example.
51. Draft one mock email requesting your on-technical management grant you downtime to (provide justification where applicable) complete the following tasks:
(1) Generate statistics on a large table;
(2) Generate an RDA – if you don't know what an RDA is please say so.
(3) Rename datafiles.
The following article provides some of the PL/SQL DBA Interviews questions, asked durinng a Oracle DBA interviews for contractors at a Bank in Luxembourg.
To read the complete article, click on the Read more ...link. Your comments or additions are welcome.
Submitted by our member: F. Lange - Certified DBA
1. What are the advantages and disadvantages, compared to the standard SQL and SQL*Plus?
2. Read the exercise. This block has not any compilation errors, sometimes it can have run time errors. How can you trap the errors and how can I force to execute the everytimes the line B := 10 ; ?
A number ;
B number ;
where col2 = 'Constant' ;
B := 10 ;
3. How to display the loop counter at the screen in a PL/SQL loop?
4. How can I display a LONG column? What are the maximum value, how to bypass then?
5. What is the first information displayed when you connect in sqlplus between
6. If you execute the following commands, why in the same session have I different answer?
select 'count=' || to_char ( count ( 1 ) ) from tab where Col = 1 ;
select 'count=' || to_char ( count ( 1 ) ) from tab where Col = 2 ;
select 'count=' || to_char ( count ( 1 ) ) from tab ;
7. How can I have consistency and what are the locks ?
8. Explain the following term by a sentence
9. What are the differences betwen tkprof and explain plan?
10. What is an instance and what is a data base ?
11. When start and end a transaction ?
12. What are the database control command language? Give examples.
13. What is a view what are the problems and the benefits of it?
14. What happens in this example?
Create table a ( a number ) ;
Create view V_A as select * from a ;
Alter table a add ( b number ) ;
Alter table a modify ( a not null ) ;
select * from from V_A ;
15. What is a database link what are the problems and the benefits of it ?
select T1.col1 , T2.col2
from TAB1 T1 , TAB2@link2 T2
where T1.col1 = T2.col1
order by T2.col1 ;
16. Look at the queries, in rules base mode does Oracle use the index in the following case?
select .... from tab1 where colonne * 13.85 > 100000 /* column NUMBER */ ;
select .... from tab1 where colonne not > 10000 /* column NUMBER */ ;
select .... from tab1 where colonne = 123 /* column CHAR */ ;
select .... from tab1 where trunc ( colonne ) = trunc ( sysdate ) /* column date */ ;
select .... from tab1 where rowid = '000001D3.0000.0001' ;
select .... from tab1 where substr ( colonne , 1 , 5 ) = 'MAIN:' /* column CHAR */ ;
select .... from tab1 where colonne not in ( select colonne from tab1 where col2 = 123 ) ; /* col2 number */ ;
1. Explain by one sentences, role, references, privilege on a table and profile?
2. What can trigger a snapshot to old error?
3. What are the DB files, how oracle discover them?
4. Where do you look for the trace file?
5. The following question about implementation. The answer is not a number but the way you do it.
You have got a raw partition. The size is 800M
dd if=/dev/rdsk/c.t.d.s. of=/dev/null bs=1024
You create one file table space what is it's maximum size available for the rollback and what is the maximum size for rollback? Explain how the extents for rollback segments are allocated?
9. How to backup a database and made a recovery of a table?
10. How do you chose your db_block_size ?
11. A database has been created with the default parameters how do you increase the DB_BLOCK_SIZE and the DB_FILE?
12. How can you move the tablespace ROLLBACK from one disk to an other, given this information?
select segment_name , tablespace_name , status , owner from
SYSTEM SYSTEM ONLINE SYS
RBS1 ROLLBACK ONLINE PUBLIC
RBS2 ROLLBACK ONLINE PUBLIC
select tablespace_name , file_name from dba_data_files where
tablespace_name = 'ROLLBACK' ;
New location is /dev/rdsk/c1t1d0s0
13. Estimate the size of the table? The answer is not a number but a list of steps you will use to derive this number.
create table emp ( emp_id number not null ,
name varchar2(50) not null ,
surname varchar2(50) not null,
social_number varchar2(10) ) ;
emp will contains 1000 static rows.
14. Same question but the table already exists and has one extents of 1Gbytes ?
15. How to shutdown a database in Oracle version 8i and 9i?
1. When you can NOT use Pro*C ? Where in your application you can use Embedded SQL?
ora-1403 OR ora-100
3. What will happen in this example?
EXEC SQL AT DB1 DECLARE CURSOR C1 AS SELECT COL1 FROM TABLE2 WHERE COL =
EXEC SQL AT DB1 OPEN C1 ;
EXEC SQL AT DB1 FETCH C1 INTO :VAR2 ;
while ( .... )
EXEC SQL AT DB1 UPADTE TABLE1 SET COL1 = COL1 WHERE COL2 = :VAR ;
if ( ......)
EXEC SQL AT DB2 UPDATE TABLE1 SET COL1 = COL1 + 1 WHERE COL2 = :VAR ;
if ( ....)
EXEC SQL AT DB1 COMMIT ;
EXEC SQL AT DB2 COMMIT ;
EXEC SQL AT DB1 FETCH C1 INTO :VAR2 ;
EXEC SQL AT DB1 CLOSE C1 ;
4. How can you know a value fetch is null ?
1. Explain the following?
2. Translate the following logical model to a physical one (tables,indexes,constraints ... )? Explain how do you read the relation between these two entities.
A (a1 a2 a3 a4 ... an) 1,1 <-> 0,N B (b1 b2 b3 ... bm)
A (a1 a2 a3 a4 ... an) 1,1 <-> 0,1 B (b1 b2 b3 ... bm)
A (a1 a2 a3 a4 ... an) 1,1 <-> 1,N B (b1 b2 b3 ... bm)
A (a1 a2 a3 a4 ... an) 1,1 <-> 1,1 B (b1 b2 b3 ... bm)
I just wanted to share with all DBA's looking for new job opportunities some of the Oracle DBA interviews questions a fiend of mine had when attending one job interview.
Hope that would help you better prepare for your interviews and know what type of questions are usually asked.
To read the complete article, click on the Read more ... link. Your comments or additions are welcome.
Submitted by our member: The Guru
1. Three users at a time giving the following command:
alter database backup controlfile to trace;
How can you differentiate the file using the filename itself?
2. When you execute:
alter tablespace begin backup;
How can Oracle engine can identify that the corresponding datafiles are in backupmode?
3. When exporting using filesize parameter I have generated three files. How the oracle name this three files?
4. One of my rollback segments got corrupted? How can I rectified?
5. When yesterday developer gives the following command:
select count(*) from
it gives the output within minutes
Today the same command takes hours? What will u check?
6. When the developer trying to compile the package. But the database gets hanged? What will u check?
7. What is the use of query in Tkprof?
8. What is the maximum number of value allowed in parse column?
9. How can we force the query not to use the index? (Something else then a using a hint)
10. Till yesterday the query is running smoothly. But today the develper is complaining? How will u start your tuning?
11. What is the difference between count(*) and count(1)?
12. As a Oracle DBA what are all the UNIX file you should b