Monday, October 29, 2007

Oracle Interview Questions - Part 3

What is the Maximum allowed length of Record group Column?
Record group column names cannot exceed 30 characters.

Which parameter can be used to set read level consistency across multiple queries?
Read only

What are the different types of Record Groups?
Query Record Groups
NonQuery Record Groups
State Record Groups

From which designation is it preferred to send the output to the printed?

What are difference between post database commit and post-form commit?
Post-form commit fires once during the post and commit transactions process, after the database commit occurs. The post-form-commit trigger fires after inserts, updates and deletes have been posted to the database but before the transactions have been finalized in the issuing the command. The post-database-commit trigger fires after oracle forms issues the commit to finalized transactions.

What are the different display styles of list items?
Pop_listText_listCombo box

Which of the above methods is the faster method?
performing the calculation in the query is faster.

With which function of summary item is the compute at options required?
percentage of total functions.

What are parameters?
Parameters provide a simple mechanism for defining and setting the valuesof inputs that are required by a form at startup. Form parameters are variables of type char,number,date that you define at design time.

What are the three types of user exits available ?
Oracle Precompiler exits, Oracle call interface, NonOracle user exits.

How many windows in a form can have console?
Only one window in a form can display the console, and you cannot change the console assignment at runtime.

What is an administrative (privileged) user? (for DBA )
Oracle DBAs and operators typically use administrative accounts to manage the database and database instance. An administrative account is a user that is granted SYSOPER or SYSDBA privileges. SYSDBA and SYSOPER allow access to a database instance even if it is not running. Control of these privileges is managed outside of the database via password files and special operating system groups. This password file is created with the orapwd utility.

What are the two repeating frame always associated with matrix object?
One down repeating frame below one across repeating frame.

What are the master-detail triggers?

How does one connect to an administrative user? (for DBA )
If an administrative user belongs to the "dba" group on Unix, or the "ORA_DBA" (ORA_sid_DBA) group on NT, he/she can connect like this:
connect / as sysdba
No password is required. This is equivalent to the desupported "connect internal" method.
A password is required for "non-secure" administrative access. These passwords are stored in password files. Remote connections via Net8 are classified as non-secure. Look at this example:
connect sys/password as sysdba

How does one create a password file? (for DBA )
The Oracle Password File ($ORACLE_HOME/dbs/orapw or orapwSID) stores passwords for users with administrative privileges. One needs to create a password files before remote administrators (like OEM) will be allowed to connect.
Follow this procedure to create a new password file:
. Log in as the Oracle software owner
. Runcommand: orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=mypasswd
. Shutdown the database (SQLPLUS> SHUTDOWN IMMEDIATE)
. Edit the INIT.ORA file and ensure REMOTE_LOGIN_PASSWORDFILE=exclusive is set.
. Startup the database (SQLPLUS> STARTUP)
NOTE: The orapwd utility presents a security risk in that it receives a password from the command line. This password is visible in the process table of many systems. Administrators needs to be aware of this!

Is it possible to modify an external query in a report which contains it?

Does a grouping done for objects in the layout editor affect the grouping done in the data model editor?

How does one add users to a password file? (for DBA )
One can select from the SYS.V_$PWFILE_USERS view to see which users are listed in the password file. New users can be added to the password file by granting them SYSDBA or SYSOPER privileges, or by using the orapwd utility. GRANT SYSDBA TO scott;

If a break order is set on a column would it affect columns which are under the column?

Why are OPS$ accounts a security risk in a client/server environment? (for DBA )
If you allow people to log in with OPS$ accounts from Windows Workstations, you cannot be sure who they really are. With terminals, you can rely on operating system passwords, with Windows, you cannot.
If you set REMOTE_OS_AUTHENT=TRUE in your init.ora file, Oracle assumes that the remote OS has authenticated the user. If REMOTE_OS_AUTHENT is set to FALSE (recommended), remote users will be unable to connect without a password. IDENTIFIED EXTERNALLY will only be in effect from the local host. Also, if you are using "OPS$" as your prefix, you will be able to log on locally with or without a password, regardless of whether you have identified your ID with a password or defined it to be IDENTIFIED EXTERNALLY.

Do user parameters appear in the data modal editor in 2.5?

Can you pass data parameters to forms?

Is it possible to link two groups inside a cross products after the cross products group has been created?

What are the different modals of windows?
Modalless windows
Modal windows

What are modal windows?
Modal windows are usually used as dialogs, and have restricted functionality compared to modelless windows. On some platforms for example operators cannot resize, scroll or iconify a modal window.

What are the different default triggers created when Master Deletes Property is set to Non-isolated?

Master Deletes Property Resulting Triggers
Non-Isolated(the default) On-Check-Delete-Master

What are the different default triggers created when Master Deletes Property is set to isolated?

Master Deletes Property Resulting Triggers
Isolated On-Clear-Details

What are the different default triggers created when Master Deletes Property is set to Cascade?

Master Deletes Property Resulting Triggers
Cascading On-Clear-Details

What is the diff. bet. setting up of parameters in reports 2.0 reports2.5?
LOVs can be attached to parameters in the reports 2.5 parameter form.

What are the difference between lov & list item?
Lov is a property where as list item is an item. A list item can have only one column, lov can have one or more columns

What is the advantage of the library?
Libraries provide a convenient means of storing client-side program units and sharing them among multiple applications. Once you create a library, you can attach it to any other form, menu, or library modules. When you can call library program units from triggers menu items commands and user named routine, you write in the modules to which you have attach the library. When a library attaches another library, program units in the first library can reference program units in the attached library. Library support dynamic loading-that is library program units are loaded into an application only when needed. This can significantly reduce the run-time memory requirements of applications.

What is lexical reference? How can it be created?
Lexical reference is place_holder for text that can be embedded in a sql statements. A lexical reference can be created using & before the column or parameter name.

What is system.coordination_operation?
It represents the coordination causing event that occur on the master block in master-detail relation.

What is synchronize?
It is a terminal screen with the internal state of the form. It updates the screen display to reflect the information that oracle forms has in its internal representation of the screen.

What use of command line parameter cmd file?
It is a command line argument that allows you to specify a file that contain a set of arguments for r20run.

What is a Text_io Package?
It allows you to read and write information to a file in the file system.

What is forms_DDL?
Issues dynamic Sql statements at run time, including server side pl/SQl and DDL

How is link tool operation different bet. reports 2 & 2.5?
In Reports 2.0 the link tool has to be selected and then two fields to be linked are selected and the link is automatically created. In 2.5 the first field is selected and the link tool is then used to link the first field to the second field.

What are the different styles of activation of ole Objects?
In place activationExternal activation

How do you reference a Parameter?
In Pl/Sql, You can reference and set the values of form parameters using bind variables syntax. Ex. PARAMETER name = '' or :block.item = PARAMETER Parameter name

What is the difference between object embedding & linking in Oracle forms?
In Oracle forms, Embedded objects become part of the form module, and linked objects are references from a form module to a linked source file.

Name of the functions used to get/set canvas properties?
Get_view_property, Set_view_property

What are the built-ins that are used for setting the LOV properties at runtime?

What are the built-ins used for processing rows?

What are built-ins used for Processing rows?

What are the built-in used for getting cell values?

What are the built-ins used for Getting cell values?

Atleast how many set of data must a data model have before a data model can be base on it?

To execute row from being displayed that still use column in the row which property can be used?
Format trigger.

What are different types of modules available in oracle form?
Form module - a collection of objects and code routines Menu modules - a collection of menus and menu item commands that together make up an application menu library module - a collection of user named procedures, functions and packages that can be called from other modules in the application

What is the remove on exit property?
For a modelless window, it determines whether oracle forms hides the window automatically when the operators navigates to an item in the another window.

What is WHEN-Database-record trigger?
Fires when oracle forms first marks a record as an insert or an update. The trigger fires as soon as oracle forms determines through validation that the record should be processed by the next post or commit as an insert or update. c generally occurs only when the operators modifies the first item in the record, and after the operator attempts to navigate out of the item.

What is a difference between pre-select and pre-query?
Fires during the execute query and count query processing after oracle forms constructs the select statement to be issued, but before the statement is actually issued. The pre-query trigger fires just before oracle forms issues the select statement to the database after the operator as define the example records by entering the query criteria in enter query mode.Pre-query trigger fires before pre-select trigger.

What are built-ins associated with timers?

What are the built-ins used for finding object ID functions?

What are the built-ins used for finding Object ID function?

Any attempt to navigate programmatically to disabled form in a call_form stack is allowed?

Use the Add_group_row procedure to add a row to a static record group 1. true or false?

What third party tools can be used with Oracle EBU/ RMAN? (for DBA)
The following Media Management Software Vendors have integrated their media management software packages with Oracle Recovery Manager and Oracle7 Enterprise Backup Utility. The Media Management Vendors will provide first line technical support for the integrated backup/recover solutions.
Veritas NetBackup
EMC Data Manager (EDM)
IBM's Tivoli Storage Manager - formerly ADSM
Legato Networker
ManageIT Backup and Recovery
Sterling Software's SAMS:Alexandria - formerly from Spectralogic
Sun Solstice Backup

Why and when should one tune? (for DBA)
One of the biggest responsibilities of a DBA is to ensure that the Oracle database is tuned properly. The Oracle RDBMS is highly tunable and allows the database to be monitored and adjusted to increase its performance. One should do performance tuning for the following reasons:
The speed of computing might be wasting valuable human time (users waiting for response); Enable your system to keep-up with the speed business is conducted; and Optimize hardware usage to save money (companies are spending millions on hardware). Although this FAQ is not overly concerned with hardware issues, one needs to remember than you cannot tune a Buick into a Ferrari.

How can a break order be created on a column in an existing group? What are the various sub events a mouse double click event involves?
By dragging the column outside the group.

What is the use of place holder column? What are the various sub events a mouse double click event involves?
A placeholder column is used to hold calculated values at a specified place rather than allowing is to appear in the actual row where it has to appear.

What is the use of hidden column? What are the various sub events a mouse double click event involves?
A hidden column is used to when a column has to embed into boilerplate text.

What database aspects should be monitored? (for DBA)
One should implement a monitoring system to constantly monitor the following aspects of a database. Writing custom scripts, implementing Oracle's Enterprise Manager, or buying a third-party monitoring product can achieve this. If an alarm is triggered, the system should automatically notify the DBA (e-mail, page, etc.) to take appropriate action.
Infrastructure availability:
. Is the database up and responding to requests
. Are the listeners up and responding to requests
. Are the Oracle Names and LDAP Servers up and responding to requests
. Are the Web Listeners up and responding to requests

Things that can cause service outages:
. Is the archive log destination filling up?
. Objects getting close to their max extents
. User and process limits reached

Things that can cause bad performance:
See question "What tuning indicators can one use?".

Where should the tuning effort be directed? (for DBA)
Consider the following areas for tuning. The order in which steps are listed needs to be maintained to prevent tuning side effects. For example, it is no good increasing the buffer cache if you can reduce I/O by rewriting a SQL statement. Database Design (if it's not too late):
Poor system performance usually results from a poor database design. One should generally normalize to the 3NF. Selective denormalization can provide valuable performance improvements. When designing, always keep the "data access path" in mind. Also look at proper data partitioning, data replication, aggregation tables for decision support systems, etc.
Application Tuning:
Experience showed that approximately 80% of all Oracle system performance problems are resolved by coding optimal SQL. Also consider proper scheduling of batch tasks after peak working hours.
Memory Tuning:
Properly size your database buffers (shared pool, buffer cache, log buffer, etc) by looking at your buffer hit ratios. Pin large objects into memory to prevent frequent reloads.
Disk I/O Tuning:
Database files needs to be properly sized and placed to provide maximum disk subsystem throughput. Also look for frequent disk sorts, full table scans, missing indexes, row chaining, data fragmentation, etc
Eliminate Database Contention:
Study database locks, latches and wait events carefully and eliminate where possible. Tune the Operating System:
Monitor and tune operating system CPU, I/O and memory utilization. For more information, read the related Oracle FAQ dealing with your specific operating system.

What are the various sub events a mouse double click event involves? What are the various sub events a mouse double click event involves?
Double clicking the mouse consists of the mouse down, mouse up, mouse click, mouse down & mouse up events.

What are the default parameter that appear at run time in the parameter screen? What are the various sub events a mouse double click event involves?
Destype and Desname.

What are the built-ins used for Creating and deleting groups?
CREATE-GROUP (function)

What are different types of canvas views?
Content canvas views
Stacked canvas views
Horizontal toolbar
vertical toolbar.

What are the different types of Delete details we can establish in Master-Details?

What is relation between the window and canvas views?
Canvas views are the back ground objects on which you place the interface items (Text items), check boxes, radio groups etc.,) and boilerplate objects (boxes, lines, images etc.,) that operators interact with us they run your form . Each canvas views displayed in a window.

What is a User_exit?
Calls the user exit named in the user_exit_string. Invokes a 3Gl program by name which has been properly linked into your current oracle forms executable.

How is it possible to select generate a select set for the query in the query property sheet?
By using the tables/columns button and then specifying the table and the column names.

How can values be passed bet. precompiler exits & Oracle call interface?
By using the statement EXECIAFGET & EXECIAFPUT.

How can a square be drawn in the layout editor of the report writer?
By using the rectangle tool while pressing the (Constraint) key.

How can a text file be attached to a report while creating in the report writer?
By using the link file property in the layout boiler plate property sheet.

How can I message to passed to the user from reports?
By using SRW.MESSAGE function.

Does one need to drop/ truncate objects before importing? (for DBA)
Before one import rows into already populated tables, one needs to truncate or drop these tables to get rid of the old data. If not, the new data will be appended to the existing tables. One must always DROP existing Sequences before re-importing. If the sequences are not dropped, they will generate numbers inconsistent with the rest of the database. Note: It is also advisable to drop indexes before importing to speed up the import process. Indexes can easily be recreated after the data was successfully imported.

How can a button be used in a report to give a drill down facility?
By setting the action associated with button to Execute pl/sql option and using the SRW.Run_report function.

Can one import/export between different versions of Oracle? (for DBA)
Different versions of the import utility is upwards compatible. This means that one can take an export file created from an old export version, and import it using a later version of the import utility. This is quite an effective way of upgrading a database from one release of Oracle to the next.
Oracle also ships some previous catexpX.sql scripts that can be executed as user SYS enabling older imp/exp versions to work (for backwards compatibility). For example, one can run $ORACLE_HOME/rdbms/admin/catexp7.sql on an Oracle 8 database to allow the Oracle 7.3 exp/imp utilities to run against an Oracle 8 database.

What are different types of images?
Boiler plate imagesImage Items

Can one export to multiple files?/ Can one beat the Unix 2 Gig limit? (for DBA)
From Oracle8i, the export utility supports multiple output files. This feature enables large exports to be divided into files whose sizes will not exceed any operating system limits (FILESIZE= parameter). When importing from multi-file export you must provide the same filenames in the same sequence in the FILE= parameter. Look at this example:
exp SCOTT/TIGER FILE=D:\F1.dmp,E:\F2.dmp FILESIZE=10m LOG=scott.log
Use the following technique if you use an Oracle version prior to 8i:
Create a compressed export on the fly. Depending on the type of data, you probably can export up to 10 gigabytes to a single file. This example uses gzip. It offers the best compression I know of, but you can also substitute it with zip, compress or whatever.
# create a named pipe
mknod exp.pipe p
# read the pipe - output to zip file in the background
gzip <> scott.exp.gz &
# feed the pipe
exp userid=scott/tiger file=exp.pipe ...

What is bind reference and how can it be created?
Bind reference are used to replace the single value in sql, pl/sql statements a bind reference can be created using a (:) before a column or a parameter name.

How can one improve Import/ Export performance? (for DBA)
. Set the BUFFER parameter to a high value (e.g. 2M)
. Set the RECORDLENGTH parameter to a high value (e.g. 64K)
. Stop unnecessary applications to free-up resources for your job.
. If you run multiple export sessions, ensure they write to different physical disks.
. DO NOT export to an NFS mounted filesystem. It will take forever.


. Create an indexfile so that you can create indexes AFTER you have imported data. Do this by setting INDEXFILE to a filename and then import. No data will be imported but a file containing index definitions will be created. You must edit this file afterwards and supply the passwords for the schemas on all CONNECT statements.
. Place the file to be imported on a separate physical disk from the oracle data files
. Increase DB_CACHE_SIZE (DB_BLOCK_BUFFERS prior to 9i) considerably in the init$SID.ora file
. Set the LOG_BUFFER to a big value and restart oracle.
. Stop redo log archiving if it is running (ALTER DATABASE NOARCHIVELOG;)
. Create a BIG tablespace with a BIG rollback segment inside. Set all other rollback segments offline (except the SYSTEM rollback segment of course). The rollback segment must be as big as your biggest table (I think?)
. Use COMMIT=N in the import parameter file if you can afford it
. Use ANALYZE=N in the import parameter file to avoid time consuming ANALYZE statements
. Remember to run the indexfile previously created

Give the sequence of execution of the various report triggers?
Before form , After form , Before report, Between page, After report.

What are the common Import/ Export problems? (for DBA )
ORA-00001: Unique constraint (...) violated - You are importing duplicate rows. Use IGNORE=NO to skip tables that already exist (imp will give an error if the object is re-created).
ORA-01555: Snapshot too old - Ask your users to STOP working while you are exporting or use parameter CONSISTENT=NO
ORA-01562: Failed to extend rollback segment - Create bigger rollback segments or set parameter COMMIT=Y while importing
IMP-00015: Statement failed ... object already exists... - Use the IGNORE=Y import parameter to ignore these errors, but be careful as you might end up with duplicate rows.

Why is it preferable to create a fewer no. of queries in the data model?
Because for each query, report has to open a separate cursor and has to rebind, execute and fetch data.

No comments: