Home > Uncategorized > More DBA Questions

More DBA Questions

1. Explain the difference between a hot backup and a cold backup and the benefits associated with each.

– A hot backup is basically taking a backup of the database while it is still up and running and it must be in         archive log mode. A cold backup is taking a backup of the database while it is shut down and does not require being in archive log mode. The benefit of taking a hot backup is that the database is still available for use while the backup is occurring and you can recover the database to any point in time. The benefit of taking a cold backup is that it is typically easier to administer the backup and recovery process. In addition, since you are taking cold backups the database does not require being in archive log mode and thus there will be a slight performance gain as the database is not cutting archive logs to disk.

2.  You have just had to restore from backup and do not have any control files. How would you go about bringing up this database?

– II would create a text based backup control file, stipulating where on disk all the data files where and then issue the recover command with the using backup control file clause.

3. How do you switch from an init.ora file to a spfile?

– Issue the create spfile from pfile command.

4. Explain the difference between a data block, an extent and a segment.

– A data block is the smallest unit of logical storage for a database object. As objects grow they take chunks of additional storage that are composed of contiguous data blocks. These groupings of contiguous data blocks are called extents. All the extents that an object takes when grouped together are considered the segment of the database object.

5. Give two examples of how you might determine the structure of the table DEPT.

– Use the describe command or use the dbms_metadata.get_ddl package.

6. Where would you look for errors from the database engine?

– In the alert log.

7. Compare and contrast TRUNCATE and DELETE for a table.

– Both the truncate and delete command have the desired outcome of getting rid of all the rows in a table. The difference between the two is that the truncate command is a DDL operation and just moves the high water mark and produces a now rollback. The delete command, on the other hand, is a DML operation, which will produce a rollback and thus take longer to complete.

8. Give the reasoning behind using an index.

– Faster access to data blocks in a table.

9. Give the two types of tables involved in producing a star schema and the type of data they hold.

– Fact tables and dimension tables. A fact table contains measurements while dimension tables will contain data that will help describe the fact tables.

10. What type of index should you use on a fact table?

– A Bitmap index.

11. Give two examples of referential integrity constraints.

– A primary key and a foreign key.

12. A table is classified as a parent table and you want to drop and re-create it. How would you do this without affecting the children tables?

– Disable the foreign key constraint to the parent, drop the table, re-create the table, enable the foreign key constraint.

13. Explain the difference between ARCHIVELOG mode and NOARCHIVELOG mode and the benefits and disadvantages to each.

– ARCHIVELOG mode is a mode that you can put the database in for creating a backup of all transactions that have occurred in the database so that you can recover to any point in time.

– NOARCHIVELOG mode is basically the absence of ARCHIVELOG mode and has the disadvantage of not being able to recover to any point in time. NOARCHIVELOG mode does have the advantage of not having to write transactions to an archive log and thus increases the performance of the database slightly.

14. What command would you use to create a backup control file?

– Alter database backup control file to trace.

15. Give the stages of instance startup to a usable state where normal users may access it.

– STARTUP NOMOUNT – Instance startup

– STARTUP MOUNT – The database is mounted

– STARTUP OPEN – The database is opened

16. What column differentiates the V$ views to the GV$ views and how?

– The INST_ID column which indicates the instance in a RAC environment the information came from.

17. How would you go about generating an EXPLAIN plan?

– Create a plan table with utlxplan.sql.

– Use the explain plan set statement_id = ‘tst1’ into plan_table for a SQL statement

– Look at the explain plan with utlxplp.sql or utlxpls.sql1g

18. How would you go about increasing the buffer cache hit ratio?

– Use the buffer cache advisory over a given workload and then query the v$db_cache_advice table. If a change was necessary then I would use the alter system set db_cache_size command.

19. Explain an ORA-01555

– You get this error when you get a snapshot too old within rollback. It can usually be solved by increasing the undo retention or increasing the size of rollbacks. You should also look at the logic involved in the application getting the error message.

20. Explain the difference between $ORACLE_HOME and $ORACLE_BASE.

– ORACLE_BASE is the root directory for oracle. ORACLE_HOME located beneath ORACLE_BASE is where the oracle products reside.

21. What is the maximum buffer size that can be specified using the DBMS_OUTPUT.ENABLE function?

– 1000000        

22. Can you use a commit statement within a database trigger?

– Yes, if you are using autonomous transactions in the Database triggers.

23. What are between database triggers and form triggers?

– Database triggers are fired whenever any database action like INSERT, UPATE, DELETE, LOGON LOGOFF etc occurs. Form triggers on the other hand are fired in response to any event that takes place while working with the forms, say like navigating from one field to another or one block to another and so on.

24. What is syntax for dropping a procedure and a function? Are these operations possible?

– Drop Procedure/Function ; yes, if they are standalone procedures or functions. If they are a part of a package then one have to remove it from the package definition and body and recompile the package.

25. How to check if application 11i System is Autoconfig enabled ?

– Under $AD_TOP/bin check for file adcfginfo.sh and if this exists use adcfginfo.sh contextfile=<CONTEXT> show=enabled

If this file is not there , look for any configuration file under APPL_TOP if system is Autoconfig enabled then you will see entry like

26. How to check if Oracle application 11i System is Rapid Clone enabled ?

– For syetem to be Rapid Clone enabled , it should be Autoconfig enabled (Check above How to confirm if application 11i is Autoconfig enabled). You should have Rapid Clone Patches applied , Rapid Clone is part of Rapid Install Product whose Family Pack Name is ADX. By default all application 11i Instances 11.5.9 and above are Autoconfig and Rapid Clone enabled.

27. Whats is difference between two env files in <CONTEXT>.env and APPS<CONTEXT>.env under $APPL_TOP ?

– APPS<CONTEXT>.env is main environment file which inturn calls other environment files like <CONTEXT>.env under $APPL_TOP, <CONTEXT>.env under 806 ORACLE_HOME and custom.env for any Customized environment files.

28. What is main concurrent Manager types.

– # ICM – Internal Concurrent Manager which manages concurrent Managers

– # Standard Managers – Which Manage processesing of requests.

– # CRM – Conflict Resolution Managers , resolve conflicts in case of incompatibility.

29. What is US directory in $AD_TOP or under various product TOP’s .

– US directory is defauly language directory in Oracle Applications. If you have multiple languages Installed in your Applications then you will see other languages directories besides US, that directory will contain reports, fmx and other code in that respective directory like FR for France, AR for arabic, simplifies chinese or spanish.

30. Where is appsweb.cfg or appsweb_$CONTEXT.cfg stored and why its used ?

– This file is defined by environment variable FORMS60_WEB_CONFIG_FILE This is usually in directory $OA_HTML/bin on forms tier.

This file is used by any forms client session. When a user try to access forms , f60webmx picks up this file and based on this configuration file creates a forms session to user/client.

31. What is Multi Node System ?

– Multi Node System in Oracle Applications 11i means you have Applications 11i Component on more than one system. Typical example is Database, Concurrent Manager on one machine and forms, Web Server on second machine is example of Two Node System.

32. Can you clone from multi node system to single node system and vice versa ?

– Yes , this is now supported via Rapid Clone, Check if your system has all prereq. patches for Rapid Clone and you are on latest rapid clone patch.

33. Does rapid clone takes care of Updating Global oraInventory or you have to register manually in Global

– OraInventory after clone ?

Rapid Clone will automatically Update Global oraInventory during configuration phase. You don’t have to do any thing manually for Global oraInventory.

34. What is .dbc file , where its stored , whats use of .dbc file ?

– dbc as name says is database connect descriptor file which stores database connection information used by application tier to connect to database. This file is in directory $FND_TOP/secure also called as FND_SECURE

35. What are things you do to reduce patch timing ?

– You can take advantage of following –

# Merging patches via admrgpch

# Use various adpatch options like nocompiledb or nocompilejsp

# Use defaults file

# Staged APPL_TOP during upgrades

# Increase batch size (Might result into negative )

36. How you put Applications 11i in Maintenance mode ?

– Use adadmin to change Maintenance mode is Oracle application. With AD.I you need to enable maintenance mode in order to apply application patch via adpatch utility. If you don’t want to put application in maintenance mode you can use adpatch options=hotpatch feature.

37. Can you apply patch without putting Applications 11i in Maintenance mode ?

– Yes, use options=hotpatch as mentioned above with adpatch.

38. What is iAS Patch ?

– iAS Patch are patches released to fix bugs associated with IAS_ORACLE_HOME (Web Server Component) Usually these are shiiped as Shell scripts and you apply iAS patches by executing Shell script. Note that by default ORACLE_HOME is pointing to 8.0.6 ORACLE_HOME and if you are applying iAS patch export ORACLE_HOME to iAS . You can do same by executing environment file under $IAS_ORACLE_HOM

39. If we run autoconfig which files will get effected ?

– In order to check list of files changes during Autoconfig , you can run adchkcfg utility which will generate HTML report. This report will list all files and profile options going to change when you run AutoConfig.

40. What is difference between .xml file and AutoConfig ?

– Autoconfig is Utility to configure your Oracle Application environment. .xml file is repository of all configuration from which AutoConfig picks configuration and polulates related files.

41. What is .lgi files ?

– lgi files are created with patching along with .log files . .lgi files are informative log files containing information related to patch. You can check .lgi files to see what activities patch has done. Usually informative logs.

42. How will you skip worker during patch ?

– If in your adctrl there are six option shown then seventh is hidden option.(If there are seven options visible then 8th option is to Skip worker depending on ad version).

43. How to compile an Oracle Reports file ?

– Utility adrepgen is used to compile Reports. Synatx is given below adrepgen userid=apps\<psswd> source = $PRODUCT_TOP\srw\filename.rdf dest=$PRODUCT_TOP\srw\filename.rdf stype=rdffile dtype=rdffile logfile=x.log overwrite=yes batch=yes dunit=character

44. What is difference between AD_BUGS and AD_APPLID_PATCHES ?

– AD_BUGS holds information about the various Oracle Applications bugs whose fixes have been applied (ie. patched) in the Oracle Applications installation.

AD_APPLIED_PATCHES holds information about the “distinct” Oracle Applications patches that have been applied. If 2 patches happen to have the same name but are different in content (eg. “merged” patches), then they are considered distinct and this table will therefore hold 2 records.


– ADSPLICE UTILITY in ORACLE application is utility to add a new product.

46. How can you licence a product after installation ?

– You can use ad utility adlicmgr to licence product in Oracle application.

47. What is MRC ? What you do as application DBA for MRC ?

– MRC also called as Multiple Reporting Currency in oracle application. Default you have currency in US Dollars but if your organization operating books are in other currency then you as application DBA need to enable MRC in applications. How to enable MRC coming soon…

48. What is access_log in apache , what entries are recored in access_log ? Where is default location of this file ?

– access_log in Oracle Application Server records all users accessing oracle applications 11i. This file location is defined in httpd.conf with default location at $IAS_ORACLE_HOME/Apache/Apache/logs. Entries in this file is defined by directive LogFormat in httpd.conf Typical entry in access_log is – – [10/Sep/2006:18:37:17 +0100] “POST /OA_HTML/OA.jsp?…. HTTP/1.1” 200 28035

where 200 is HTTP status code and last digits 28035 is bytes dowloaded as this page(Size of page)

49. Where is Jserv configuration files stored ?

– Jserv configuration files are stored in $IAS_ORACLE_HOME/Apache/Jserv/etc

50. Where is applications start/stop scripts stored ?

– applications start/stop scripts are in directory $COMMON_TOP/admin/scripts/$CONTEXT_NAME

51. What are main configuration files in Web Server (Apache) ?

– Main configuration files in Oracle application Web Server are

# httpd.conf, apps.conf, oracle_apache.conf, httpd_pls.conf

# jserv.conf, ssp_init.txt, jserv.properties, zone.properties

# plsql.conf, wdbsvr.app, plsql.conf

52. What is dev60cgi and f60cgi ?

– CGI stands for Common Gateway Interface and these are Script Alias in Oracle application used to access forms server . Usually Form Server access directly via http://hostname:port/dev60cgi/f60cgi

53. What is difference between mod_osso and mod_ose in Oracle HTTP Server ?

– mod_osso is Oracle Single Sign-On Module where as mod_ose is module for Oracle Servlet Engine.

mod_osso is module in Oracle’s HTTP Server serves as Conduit between Oracle Apache Server and Singl Sign-On Server where as mod_ose is also another module in Oracle’s HTTP Server serves as conduit between Oracle Apache and Oracle Servlet Engine.

54. What is difference between COMPILE_ALL=SPECIAL and COMPILE=ALL while compiling Forms ?

– Both the options will compile all the PL/SQL in the resultant .FMX, .PLX, or .MMX file but COMPILE_ALL=YES also changes the cached version in the source .FMB, .PLL, or .MMB file. This confuses version control and build tools (CVS, Subversion, make, scons); they believe you’ve made significant changes to the source. COMPILE_ALL=SPECIAL does not do this.

55. What is GSM in Oracle application E-Business Suite ?

– GSM stands for Generic Service Management Framework. Oracle E-Business Suite consist of various compoennts like Forms, Reports, Web Server, Workflow, Concurrent Manager ..

Earlier each service used to start at their own but managing these services (given that) they can be on various machines distributed across network. So Generic Service Management is extension of Concurrent Processing which manages all your services , provide fault tolerance (If some service is down ICM through FNDSM and other processes will try to start it even on remote server) With GSM all services are centrally managed via this Framework.

56. What is FNDSM ?

– FNDSM is executable and core component in GSM ( Generic Service Management Framework discussed above). You start FNDSM services via application listener on all Nodes in Application Tier in E-Business Suite.

57. What are cursor attributes?

– Cursor attributes are used to get the information about the current status of your cursor. Both explicit and implicit cursors have four attributes, as shown:

Name Description

%FOUND Returns TRUE if record was fetched successfully, FALSE otherwise.

%NOTFOUND Returns TRUE if record was not fetched successfully, FALSE otherwise.

%ROWCOUNT Returns number of records fetched from cursor at that point in time.

%ISOPEN Returns TRUE if cursor is open, FALSE otherwise.

58. What is difference between an implicit and an explicit cursor.

– The implicit cursor is used by Oracle server to test and parse the SQL statements and the explicit cursors are declared by the programmers.

59. What is a cursor?

– A cursor is a mechanism by which you can assign a name to a “select statement” and manipulate the information within that SQL statement

60. What is the purpose of a cluster?

– A cluster provides an optional method of storing table data. A cluster is comprised of a group of tables that share the same data blocks, which are grouped together because they share common columns and are often used together. For example, the EMP and DEPT table share the DEPTNO column. When you cluster the EMP and DEPT, Oracle physically stores all rows for each department from both the EMP and DEPT tables in the same data blocks. You should not use clusters for tables that are frequently accessed individually.

61. How do you find the number of rows in a Table ?

– select count(*) from table, or from NUM_ROWS column of user_tables if the table statistics has been collected.

62. What is a pseudo column. Give some examples?

– Oracle DBA Interview questions and Answers

(Continued from previous question…)

What is a pseudo column. Give some examples?

Information such as row numbers and row descriptions are automatically stored by Oracle and is directly accessible, ie. not through tables. This information is contained within pseudo columns. These pseudo columns can be retrieved in queries. These pseudo columns can be included in queries which select data from tables.

Available Pseudo Columns

· ROWNUM – row number. Order number in which a row value is retrieved.

· ROWID – physical row (memory or disk address) location, ie. unique row identification.

· SYSDATE – system or today’s date.

· UID – user identification number indicating the current user.

· USER – name of currently logged in user.

63. Whats is location of access_log file ?

– access_log file by default is located in $IAS_ORACLE_HOME/ Apache/Apache/logs. Location of this file is defined in httpd.conf by patameter CustomLog or TransferLog

64. What is your Oracle application 11i Webserver Version and how to find it ?

– From 11.5.8 to 11.5.10 Webserver version is iAS, In order to find version under $IAS_ORACLE_HOME/Apache/Apache/bin execute ./httpd -version

./httpd -version

Server version: Oracle HTTP Server Powered by Apache/1.3.19

Server built: Dec 6 2005 14:59:13 (iAS rollup 5)

65. What is Location of Jserv configuration files ?

– Jserv configuration files are located in $IAS_ORACLE_HOME /Apache/Jserv/etc .

66. What is plssql/database cache ?

– In order to improve performance mod_pls (Apache component) caches some database content to file. This database/plssql cache is usually of type session and plsql cache

# session cache is used to store session information.

# plsql cache is used to store plsql cache i.e. used by mod_pls

67. Where is DATABASE/PLSSQL cache stored ?

– PLSSQL and session cache are stored under $IAS_ORACLE_HOME/ Apache/modplsql/cache directory.

68. What is *.DBC file and whats is location of DBC file ?

– DBC as name stands for is database connect descriptor file used to connect to database. This file by default located in $FND_TOP/secure directory also called as $FND_SECURE directory.

69. What is content of DBC file and why its important ?

– DBC file is quite important as whenever Java or any other program like forms want to connect to database it uses DBC file. Typical entry in DBC file is




70. What are few profile options which you update after cloning ?

– Rapid clone updates profile options specific to site level . If you have any profile option set at other levels like server, responsibility, user….level then reset them.

71. How to retrieve SYSADMIN password ?

– If forgot password link is enabled and SYSADMIN account is configured with mail id user forget password link else you can reset sSYSADMIN password via FNDCPASS.

72. What is TWO_TASK in Oracle Database ?

– TWO_TASK mocks your tns alias which you are going to use to connect to database. Lets assume you have database client with tns alias defined as PROD to connect to Database PROD on machine teachmeoracle.com listening on port 1521. Then usual way to connect is sqlplus username/passwd@PROD ; now if you don’t want to use @PROD then you set TWO_TASK=PROD and then can simply use sqlplus username/passwd then sql will check that it has to connect to tnsalias define by value PROD i.e. TWO_TASK

73. What is GWYUID ?

– GWYUID , stands for Gateway User ID and password. Usually like APPLSYSPUB/PUB

74. Where GWYUID defined and what is its used in Oracle Applications ?

– GWYUID is defined in dbc i.e. Database Connect Descriptor file . It is used to connect to database by think clients.

75. If APPS_MRC schema is not used in 11.5.10 and higher then How MRC is working ?

– For products like Payable, Recievables which uses MRC and if MRC is enabled then each transaction table in base schema related to currency now has an assoicated MRC Subtables.

76. How you will avoid your query from using indexes?

– By changing the order of the columns that are used in the index, in the Where condition, or by concatenating the columns with some constant values.

77. What is a OUTER JOIN?

– An OUTER JOIN returns all rows that satisfy the join condition and also returns some or all of those rows from one table for which no rows from the other satisfy the join condition.

78. When do you use WHERE clause and when do you use HAVING clause?

– The WHERE condition lets you restrict the rows selected to those that satisfy one or more conditions. Use the HAVING clause to restrict the groups of returned rows to those groups for which the specified condition is TRUE.

79. There is a % sign in one field of a column. What will be the query to find it?

– SELECT column_name FROM table_name WHERE column_name LIKE ‘%\%%’ ESCAPE ‘\’;

80. Where will you find forms configuration details apart from xml file ?

– Forms configuration at time of startup is in script adfrmctl.sh and appsweb_$CONTEXT_NAME.cfg (defined by environment variable FORMS60_WEB_CONFIG_FILE) for forms client connection used each time a user initiates forms connection.

81. What is forms server executable Name ?

– f60srvm

82. How you will start Discoverer in Oracle Applications 11i ?

– In order to start dicoverer you can use script addisctl.sh under $OAD_TOP/admin/scripts/$CONTEXT_NAME or startall.sh under $ORACLE_HOME/discwb4/util (under Middle/Application Tier)

83. How many ORACLE HOME are Oracle Applications and whats significance of each ?

– There are three $ORACLE_HOME in Oracle Applications, Two for Applications Tier (Middle Tier) and One in Database Tier.

# ORACLE_HOME 1 : On Applications Tier used to store 8.0.6 techstack software. This is used by forms, reports and discoverer. ORACLE_HOME should point to this ORACLE_HOME which applying application Patch.

# ORACLE_HOME 2: On Application Tier used by iAS (Web Server) techstack software. This is used by Web Listener and contains Apache.

# ORACLE_HOME 3: On Database Tier used by Database Software usually 8i,9i or 10g database.

84. Where is HTML Cache stored in Oracle Applications Server ?

– Oracle HTML Cache is available at $COMMON_TOP/_pages for some previous versions you might find it in $OA_HTML/_pages

85. Where is plssql cache stored in Oracle Applications ?

– Usually two type of cache session and plssql stored under $IAS_ORACLE_HOME/Apache/modplsql/cache

86. What happens if you don’t give cache size while defining Concurrent Manager ?

– Lets first understand what is cache size in Concurrent Manager. When Manager picks request from FND CONCURRENT REQUESTS Queues, it will pick up number of requests defined by cache size in one shot and will work on them before going to sleep. If you don’t define cache size while defining CM then it will take default value 1, i.e. picking up one request per cycle.

87. There are lot of DBC file under $FND_SECURE, How its determined that which dbc file to use from


– This value is determined from profile option “Applicationss Database ID”

88. What is RRA/FNDFS ?

– Report Review Agent(RRA) also referred by executable FNDFS is default text viewer in Oracle Applications 11i for viewing output files and log files. As most of Applications DBA’s are not clear about Report Server and RRA, I’ll discuss one on my blog and update link here .

89. What is PCP is Oracle Applications 11i ?

– PCP is acronym for Parallel Concurrurent processing. Usually you have one Concurrent Manager executing your requests but if you can configure Concurrent Manager running on two machines (Yes you need to do some additional steps in order to configure Parallel Concurrent Processing) . So for some of your requests primary CM Node is on machine1 and secondary CM node on machine2 and for some requests primary CM is on machine2 and secondary CM on machine1.

90. Why I need two Concurrent Processing Nodes or in what scenarios PCP is Used ?

– Well If you are running GL Month end reports or taxation reports annually these reposrts might take couple of days. Some of these requests are very resource intensive so you can have one node running long running , resource intensive requests while other processing your day to day short running requets.

Another scenario is when your requests are very critical and you want high resilience for your Concurrent Processing Node , you can configure PCP. So if node1 goes down you still have CM node available processing your requests.

91. Output and Logfiles for requests executed on source Instance not working on cloned Instance

– Here is exact problem description – You cloned an Oracle Apps Instance from PRODBOX to another box with Instance name say CLONEBOX on 1st of August. You can any CM logs/output files after 1st of August only becuase these all are generated on CLONEBOX itself, But unable to view the logs/output files which are prior to 1st August. What will you do and where to check ?

Log , Output file path and location is stored in table FND_CONCURRENT_REQUESTS. Check select logfile_name, logfile_node_name, outfile_name, outfile_node_name from fnd_concurrent_requests where request_id=&requestid ; where requestid is id of request for which you are not able to see log or out files. You should see output like /u01/PRODBOX/log/l123456.req, host1,/u01/PRODBOX/out/o123456.out, host1

Update it according to your cloned Instance Variables.

92. How to confirm if Report Server is Up and Running ?

– Report Server is started by executable rwmts60 on concurrent manager Node and this file is under $ORACLE_HOME/bin .execute command on your server like

ps -ef | grep rwmts60

You should get output like

applmgr ……. rwmts60 name=REP60_VISION

93. What is difference between ICM, Standard Managers and CRM in Concurrent Manager ?

– # ICM stand for Internal Concurrent Manager, which controls other managers. If it finds other managers down , it checks and try to restart them. You can say it as administrator to other concurrent managers. It has other tasks as well.

# Standard Manager These are normal managers which control/action on the requests nd does batch or single request processing. # CRM acronym for Conflict Resolution Manager is used to resolve conflicts between managers nd request. If a request is submitted whose execution is clashing or it is defined not to run while a particular type of request is running then such requests are actioned/assigned to CRM for Incompatibilities and Conflict resolution.

94. What is difference between SUBSTR and INSTR?

– INSTR function search string for sub-string and returns an integer indicating the position of the character in string that is the first character of this occurrence. SUBSTR function return a portion of string, beginning at character position, substring_length characters long. SUBSTR calculates lengths using characters as defined by the input character set.

95. Which data type is used for storing graphics and images?

– Raw, Long Raw, and BLOB.

96. What is difference between SQL and SQL*PLUS?

– SQL is the query language to manipulate the data from the database. SQL*PLUS is the tool that lets to use SQL to fetch and display the data.

97. What is difference between UNIQUE and PRIMARY KEY constraints?

– An UNIQUE key can have NULL whereas PRIMARY key is always not NOT NULL. Both bears unique values.

98. What is difference between Rename and Alias?

– Rename is actually changing the name of an object whereas Alias is giving another name (additional name) to an existing object.

Rename is a permanent name given to a table or column whereas Alias is a temporary name given to a table or column which do not exist once the SQL statement is executed.

99. What are various joins used while writing SUBQUERIES?


100. What is use of Applications listener ?

– Apps Listener usually running on All Oracle Applications 11i Nodes with listener alias as APPS_$SID is mainly used for listening requests for services like FNDFS and FNDSM.

101. How to start Applications listener ?

– In Oracle 11i, you have script adalnctl.sh which will start your apps listener. You can also start it by command lsnrctl start APPS_$SID (Replace sid by your Instance SID Name)

102. How to confirm if Apps Listener is Up and Running ?

– execute below command

lsnrctl status APPS_$SID (replcae SID with your Instance Name)

so If your SID is VISION then use lsnrctl status APPS_VISION out put should be like

Services Summary…

FNDFS has 1 service handler(s)

FNDSM has 1 service handler(s)

103. What is Web Listener ?

– Web Listener is Web Server listener which is listening for web Services(HTTP) request. This listener is started by adapcctl.sh and defined by directive (Listen, Port) in httpd.conf for Web Server. When you initially type request like http://becomeappsdba.blogspot.com:80 to access application here port number 80 is Web Listener port.

104. How will you find Invalid Objects in database ?

– using query SQLPLUS> select count(*) from dba_objects where status like ‘INVALID’;

105. How to compile Invalid Objects in database ?

– You can use adadmin utility to compile or you can use utlrp.sql script shipped with Oracle Database to compile Invalid Database Objects.

106. How to compile JSP in Oracle Applications ?

– You can use ojspCompile.pl perl script shipped with Oracle Applications to compile JSP files. This script is under $JTF_TOP/admin/scripts. Sample compilation method is

perl ojspCompile.pl –compile –quiet

107. What is difference between ADPATCH and OPATCH ?

– # ADPATCH is utility to apply ORACLE application Patches whereas

# OPATCH is utility to apply database patches

108. Can you use both ADPATCH and OPATCH in application ?

– Yes you have to use both in application , for application patches you will use ADPATCH UTILITY and for applying database patch in application you will use opatch UTILITY.

109. When can hash cluster used?

– Hash clusters are better choice when a table is often queried with equality queries. For

such queries the specified cluster key value is hashed. The resulting hash key value points

directly to the area on disk that stores the specified rows.

110. What is database link?

– A database link is a named object that describes a “path” from one database to another.

111. What are the types of database links?

– Private database link, public database link & network database link.

112. What is private database link?

– Private database link is created on behalf of a specific user. A private database link can be

used only when the owner of the link specifies a global object name in a SQL statement

or in the definition of the owner’s views or procedures.

113. What is public database link?

– Public database link is created for the special user group PUBLIC. A public database link can be used when any user in the associated database specifies a global object name in a SQL statement or object definition.

114. What is network database link?

– Network database link is created and managed by a network domain service. A network

database link can be used when any user of any database in the network specifies a global

object name in a SQL statement or object definition.

115. What is data block?

– Oracle database’s data is stored in data blocks. One data block corresponds to a specific

number of bytes of physical database space on disk.

116. How to define data block size?

– A data block size is specified for each Oracle database when the database is created. A

database users and allocated free database space in Oracle data blocks. Block size is

specified in init.ora file and cannot be changed latter.

117. What is row chaining?

– In circumstances, all of the data for a row in a table may not be able to fit in the same

data block. When this occurs, the data for the row is stored in a chain of data block (one

or more) reserved for that segment.

118. What is an extent?

– An extent is a specific number of contiguous data blocks, obtained in a single allocation

and used to store a specific type of information.

119. What is a segment?

– A segment is a set of extents allocated for a certain logical structure.

120. What are the different types of segments?

– Data segment, index segment, rollback segment and temporary segment.

121. What is a data segment?

– Each non-clustered table has a data segment. All of the table’s data is stored in the extents of its data segment. Each cluster has a data segment. The data of every table in the cluster is stored in the cluster’s data segment.

122. What is an index segment?

– Each index has an index segment that stores all of its data.

123. What is rollback segment?

– A database contains one or more rollback segments to temporarily store “undo”


124. What are the uses of rollback segment?

– To generate read-consistent database information during database recovery and to

rollback uncommitted transactions by the users.

125. What is a temporary segment?

– Temporary segments are created by Oracle when a SQL statement needs a temporary

work area to complete execution. When the statement finishes execution, the temporary

segment extents are released to the system for future use.

126. What is a datafile?

– Every Oracle database has one or more physical data files. A database’s data files contain all the database data. The data of logical database structures such as tables and indexes is physically stored in the data files allocated for a database.

127. What are the characteristics of data files?

– A data file can be associated with only one database. Once created a data file can’t change

size. One or more data files form a logical unit of database storage called a tablespace.

128. What is a redo log?

– The set of redo log files for a database is collectively known as the database redo log.

129. What is the function of redo log?

– The primary function of the redo log is to record all changes made to data.

130. What is the use of redo log information?

– The information in a redo log file is used only to recover the database from a system or

media failure prevents database data from being written to a database’s data files.

131. What does a control file contains?

– Database name

– Names and locations of a database’s files and redolog files.

– Time stamp of database creation.

132. What is the use of control file?

– When an instance of an Oracle database is started, its control file is used to identify the database and redo log files that must be opened for database operation to proceed. It is also used in database recovery.

Data Base Administration

   1. Altering the argument list of one of the package constructs

   2. Any change made to one of the package constructs

   3. Any SQL statement change made to one of the package constructs

   4. Removing a local variable from the DECLARE section of one of the

package constructs

133. Procedure and Functions are explicitly executed. This is different from a

database trigger. When is a database trigger executed?

– 1. When the transaction is committed

  2. During the data manipulation statement

  3. When an Oracle supplied package references the trigger

  4. During a data manipulation statement and when the transaction is


134.Which Oracle supplied package can you use to output values and messages

from database triggers, stored procedures and functions within SQL*Plus?





135.What occurs if a procedure or function terminates with failure without being


– 1. Any DML statements issued by the construct are still pending and can be

  committed or rolled back.

  2. Any DML statements issued by the construct are committed

  3. Unless a GOTO statement is used to continue processing within the

  BEGIN section, the construct terminates.

  4. The construct rolls back any DML statements issued and returns the

  unhandled exception to the calling environment.

136. A stored function must return a value based on conditions that are

determined at runtime. Therefore, the SELECT statement cannot be hard-

coded and must be created dynamically when the function is executed. Which

Oracle supplied package will enable this feature?





137. What is a Cartesian product? What causes it?

– A Cartesian product is the result of an unrestricted join of two or more

tables. The result set of a three table Cartesian product will have x * y

* z number of rows where x, y, z correspond to the number of rows in

each table involved in the join. It is causes by specifying a table in the

FROM clause without joining it to another table.

138. What is an advantage to using a stored procedure as

opposed to passing an SQL query from an application.

– A stored procedure is pre-loaded in memory for faster execution. It

allows the DBMS control of permissions for security purposes. It also

eliminates the need to recompile components when minor changes

occur to the database.

139. What is the difference of a LEFT JOIN and an INNER JOIN


– A LEFT JOIN will take ALL values from the first declared table and

matching values from the second declared table based on the column

the join has been declared on. An INNER JOIN will take only

1. Altering the argument list of one of the package constructs

2. Any change made to one of the package constructs

3. Any SQL statement change made to one of the package constructs

4. Removing a local variable from the DECLARE section of one of the

package constructs

140. When a query is sent to the database and an index is not

being used, what type of execution is taking place?

– A table scans.

141. What are the pros and cons of using triggers?

– A trigger is one or more statements of SQL that are being executed in

event of data modification in a table to which the trigger belongs.

Triggers enhance the security, efficiency, and standardization of


Triggers can be beneficial when used:

– to check or modify values before they are actually updated or

inserted in the database. This is useful if you need to transform data

from the way the user sees it to some internal database format.

– to run other non-database operations coded in user-defined functions

– to update data in other tables. This is useful for maintaining

relationships between data or in keeping audit trail information.

– To check against other data in the table or in other tables. This is

useful to ensure data integrity when referential integrity constraints

aren’t appropriate, or when table check constraints limit checking to

the current table only.

1. Altering the argument list of one of the package constructs

2. Any change made to one of the package constructs

3. Any SQL statement change made to one of the package constructs

4. Removing a local variable from the DECLARE section of one of the

package constructs

Categories: Uncategorized
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: