Faq's
Faq's
254
Normal Queries
Sub Queries
Co-related queries
Nested queries
Compound queries
Equijoins
Non-equijoins
self join
outer join
What is a tablespace?
A database is divided into Logical Storage Unit called tablespaces. A tablespace is used to
grouped related logical structures together.
What is an oracle instance?
What is an Archiver in Oracle?
What is a partition of table in Oracle?
What is schema?
A schema is collection of database objects of a user.
A mirrored on-line redo log consists of copies of on-line redo log files physically located on
separate disks, changes made to one member of the group are made to all members.
IN
OUT
INOUT
What are the Referential actions supported by FOREIGN KEY integrity constraint ?
UPDATE and DELETE Restrict - A referential integrity rule that disallows the update or
deletion of referenced data. DELETE Cascade - When a referenced row is deleted all associated
dependent rows are deleted.
What is a cursor?
Advantages of redo log files?
What is referential integrity?
What is an Index ?
An Index is an optional structure associated with a table to have direct access to rows, which can
be created to increase the
performance of data retrieval. Index can be created on one or more columns of a table.
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.
What is a View ?
A view is a virtual table. Every view has a Query attached to it. (The Query is a SELECT
statement that identifies the
What is Table ?
A table is the basic unit of data storage in an ORACLE database. The tables of a database hold
all of the user accessible data. Table data is stored in rows and columns.
What is a synonym?
A synonym is an alias for a table, view, sequence or program unit.
What is a Tablespace?
A database is divided into Logical Storage Unit called tablespace. A tablespace is used to
grouped related logical structures
together
A column defined as UNIQUE can contain Nulls while a column defined as PRIMARY KEY
can’t contain Nulls.
What is the effect of setting the value “ALL_ROWS” for OPTIMIZER_GOAL parameter of the
ALTER SESSION command ? What are the factors that affect OPTIMIZER in choosing an
Optimization approach ?
Answer The OPTIMIZER_MODE initialization parameter Statistics in the Data Dictionary the
OPTIMIZER_GOAL parameter of the
What is the effect of setting the value “CHOOSE” for OPTIMIZER_GOAL, parameter of the
ALTER SESSION Command ?
The Optimizer chooses Cost_based approach and optimizes with the goal of best throughput if
statistics for atleast one of the tables accessed by the SQL statement exist in the data dictionary.
Otherwise the OPTIMIZER chooses RULE_based approach.
What is a trigger?
What is a union, intersect, minus in Oracle?
What are the different approaches used by Optimizer in choosing an execution plan ?
Rule-based and Cost-based.
Use the same extent size for all the segments in a given tablespace. Locally Managed tablespaces
(available from 8i onwards) with uniform extent sizes virtually eliminates any tablespace
fragmentation. Note that the number of extents per segment does not cause any performance
issue anymore, unless they run into thousands and thousands where additional I/O may be
required to fetch the additional blocks where extent maps of the segment are stored.
Where can one find the high water mark for a table? (for DBA)
There is no single system table, which contains the high water mark (HWM) for a table. A
table’s HWM can be calculated using the results from the following SQL statements:
SELECT BLOCKS
FROM DBA_SEGMENTS
WHERE OWNER=UPPER(owner) AND SEGMENT_NAME = UPPER(table);
ANALYZE TABLE owner.table ESTIMATE STATISTICS;
SELECT EMPTY_BLOCKS
FROM DBA_TABLES
WHERE OWNER=UPPER(owner) AND SEGMENT_NAME = UPPER(table);
Thus, the tables’ HWM = (query result 1) - (query result 2) - 1
NOTE: You can also use the DBMS_SPACE package and calculate the HWM =
TOTAL_BLOCKS - UNUSED_BLOCKS - 1.
Define Transaction ?
A Transaction is a logical unit of work that comprises one or more SQL statements executed by a
single user.
What is a Schema ?
The set of objects owned by user account is called the schema.
What is a cluster Key ?
The related columns of the tables are called the cluster key. The cluster key is indexed using a
cluster index and its value is stored only once for multiple tables in the cluster.
What is clusters ?
Group of tables physically stored together because they share common columns and are often
used together is called Cluster.
What are the system resources that can be controlled through Profile ?
The number of concurrent sessions the user can establish the CPU processing time available to
the user’s session the CPU processing time available to a single call to ORACLE made by a SQL
statement the amount of logical I/O available to the user’s session the amout of logical I/O
available to a single call to ORACLE made by a SQL statement the allowed amount of
idle time for the user’s session the allowed amount of connect time for the user’s session.
administrator can grant the privileges for a group of related users granted to a role and then grant
only the role to each member of the group.
DYNAMIC PRIVILEGE MANAGEMENT - When the privileges of a group must change, only
the privileges of the role need to be modified. The security domains of all users granted the
group’s role automatically reflect the changes made to the role.SELECTIVE AVAILABILITY
OF PRIVILEGES - The roles granted to a user can be selectively enable (available for use) or
disabled (not available for use). This allows specific control of a user’s privileges in any given
situation.APPLICATION AWARENESS - A database application can be designed to
automatically enable and disable selective roles when a user attempts to use the application.
What is Auditing ?
Monitoring of user access to aid in the investigation of database use.
What is a snapshot?
dba_temp_files:
SELECT * FROM v$tempfile;
SELECT * FROM dba_temp_files;
How do I find used/free space in a TEMPORARY tablespace? (for DBA )
Unlike normal tablespaces, true temporary tablespace information is not listed in
DBA_FREE_SPACE. Instead use the V$TEMP_SPACE_HEADER view:SELECT
tablespace_name, SUM (bytes used), SUM (bytes free)
FROM V$temp_space_header
GROUP BY tablespace_name;
What is a profile ?
Each database user is assigned a Profile that specifies limitations on various system resources
available to the user.
What is a sequence?
How can we specify the Archived log file name format and destination?
By setting the following values in init.ora file. LOG_ARCHIVE_FORMAT = arch %S/s/T/tarc
(%S - Log sequence number and is zero
left paded, %s - Log sequence number not padded. %T - Thread number lef-zero-paded and %t -
Thread number not padded). The file name created is arch 0001 are if %S is used.
LOG_ARCHIVE_DEST = path.
What is a SNAPSHOT ?
Snapshots are read-only copies of a master table located on a remote node which is periodically
refreshed to reflect changes made to the master table.
What is snapshots?
Snapshot is an object used to dynamically replicate data between distribute database at specified
time intervals. In ver 7.0 they are read only.
logical database. The data of all databases in the distributed database can be simultaneously
accessed and modified.
snashot of operations.
- A complex snapshots contain atleast any one of the above.
manipulated content canvas view. At run time only one of the content canvas views assign to a
window is displayed at a time.
each database user.But in MTA the database manager can assign multiple users (multiple user
processes) to a single dispatcher
(server process), a controlling process that queues request for work thus reducing the databases
memory requirement and
resources.
Does a Before form trigger fire when the parameter form is suppressed?
Yes.
What is SGA?
The System Global Area in an Oracle database is the area in memory to facilitate the transfer of
information between users.
It holds the most recently requested structural information between users. It holds the most
recently requested structural
information about the database. The structure is database buffers, dictionary cache, redo log
buffer and shared pool area.
What are the factors causing the reparsing of SQL statements in SGA?
Due to insufficient shared pool size.
Monitor the ratio of the reloads takes place while executing SQL statements. If the ratio is
greater than 1 then increase the
SHARED_POOL_SIZE.
access the tables. When procedure executed it will execute the privilege of procedures owner.
Users cannot access tables
If a parameter is used in a query without being previously defined, what diff. exist between.
report 2.0 and 2.5 when the
query is applied?
While both reports 2.0 and 2.5 create the parameter, report 2.5 gives a message that a bind
parameter has been created.
What are the sql clauses supported in the link property sheet?
Where start with having.
current form. Data parameters are used to pass data to products invoked with the run_product
built-in subprogram.
between the forms as desired. when one form invokes another form by executing call_form, the
called form is modal with
respect to the calling form. That is, any windows that belong to the calling form are disabled, and
operators cannot navigate
loading the new form calling new form completely replace the first with the second. If there are
changes pending in the first
form, the operator will be prompted to save them before the new form is loaded.
What is the “LOV of Validation” Property of an item? What is the use of it?
When LOV for Validation is set to True, Oracle Forms compares the current value of the text
item to the values in the first
column displayed in the LOV. Whenever the validation event occurs. If the value in the text item
matches one of the values in
the first column of the LOV, validation succeeds, the LOV is not displayed, and processing
continues normally. If the value
in the text item does not match one of the values in the first column of the LOV, Oracle Forms
displays the LOV and uses the
text item value as the search criteria to automatically reduce the list.
What is the diff. when Flex mode is mode on and when it is off?
When flex mode is on, reports automatically resizes the parent when the child is resized.
application interface.
What are the two types of views available in the object navigator(specific to report 2.5)?
View by structure and view by type .
with open form and call_form in the same application, state whether the following are true/False
If two groups are not linked in the data model editor, What is the hierarchy between them?
Two group that is above are the left most rank higher than the group that is to right or below it.
An open form can not be execute the call_form procedure if you chain of called forms has been
initiated by another open form?
True
window, just under its menu bar. Vertical Tool bars are displayed along the left side of a window
What is the purpose of the product order option in the column property sheet?
To specify the order of individual group evaluation in a cross products.
What is a timer?
Timer is an “internal time clock” that you can programmatically create to perform an action each
time the times.
What are the two phases of block coordination?
There are two phases of block coordination: the clear phase and the population phase. During,
the clear phase, Oracle Forms
navigates internally to the detail block and flushes the obsolete detail records. During the
population phase, Oracle Forms
issues a SELECT statement to repopulate the detail block with detail records associated with the
new master record. These
contains values that can not be displayed, a vertical scroll bar appears, allowing the operator to
view and select
undisplayed values.
What is term?
The term is terminal definition file that describes the terminal form which you are using r20run.
assigned.To specify that the console should be displayed, set the console window form property
to the name of any window in
Stacked canvas views obscure some part of the underlying content canvas view, and or often
shown and hidden programmatically.
backup all data files, all control files and all log files. When completed, restart your database.
Do the following queries to get a list of all files that needs to be backed up:
select name from sys.v_$datafile;
select member from sys.v_$logfile;
select name from sys.v_$controlfile;
Sometimes Oracle takes forever to shutdown with the “immediate” option. As workaround to
this problem, shutdown using these
commands:
alter system checkpoint;
shutdown abort
startup restrict
shutdown immediate
Note that if you database is in ARCHIVELOG mode, one can still use archived log files to roll
forward from an off-line
backup. If you cannot take your database down for a cold (off-line) backup at a convenient time,
switch your database into
string. Whereas the edit_textitem built-in needs the input focus to be in the text item before the
built-in is executed.
What are the built-ins that are used to Attach an LOV programmatically to an item?
set_item_property
get_item_property
(by setting the LOV_NAME property)
incurs less overhead. When done, remember to backup your control files. Look at this example:
ALTER SYSTEM SWITCH LOGFILE; — Force log switch to update control file headers
ALTER DATABASE BACKUP CONTROLFILE TO ‘/backupDir/control.dbf’;
NOTE: Do not run on-line backups during peak processing periods. Oracle will write complete
database blocks instead of the
normal deltas to redo log files while in backup mode. This will lead to excessive database
archiving and even database
freezes.
What are the different file extensions that are created by oracle reports?
Rep file and Rdf file.
be used for final deployment, but can not be subsequently edited in the designer.ex. f45gen
module=old_lib.pll
How does one put a database into ARCHIVELOG mode? (for DBA )
The main reason for running in archivelog mode is that one can provide 24-hour availability and
guarantee complete data
recoverability. It is also necessary to enable ARCHIVELOG mode before one can start to use on-
line database backups. To
enable ARCHIVELOG mode, simply change your database startup command script, and bounce
the database:
SQLPLUS> connect sys as sysdba
SQLPLUS> startup mount exclusive;
SQLPLUS> alter database archivelog;
SQLPLUS> archive log start;
SQLPLUS> alter database open;
NOTE1: Remember to take a baseline database backup right after enabling archivelog mode.
Without it one would not be able to
recover. Also, implement an archivelog backup to prevent the archive log directory from filling-
up.
NOTE2: ARCHIVELOG mode was introduced with Oracle V6, and is essential for database
point-in-time recovery. Archiving can be
ARCHIVELOG mode.
What is the basic data structure that is required for creating an LOV?
Record Group.
them up to prevent the archive log directory from filling up. If the archive log directory becomes
full, your database will
Does Oracle write to data files in begin/hot backup mode? (for DBA )
Oracle will stop updating file headers, but will continue to write data to the database files even if
a tablespace is in
backup mode.
In backup mode, Oracle will write out complete changed blocks to the redo log files. Normally
only deltas (changes) are
logged to the redo logs. This is done to enable reconstruction of a block if only half of it was
backed up (split blocks).
Because of this, one should notice increased log activity and archiving during on-line backups.
Which parameter can be used to set read level consistency across multiple queries?
Read only
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
Form parameters are variables of type char,number,date that you define at design time.
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.
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
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!
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?
No
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
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.
Is it possible to link two groups inside a cross products after the cross products group has been
created?
no
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
On-Clear-Details
On-Populate-Details
What are the different default triggers created when Master Deletes Property is set to isolated?
Master Deletes Property Resulting Triggers
—————————————————
Isolated On-Clear-Details
On-Populate-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
On-Populate-Details
Pre-delete
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
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
What is forms_DDL?
Issues dynamic Sql statements at run time, including server side pl/SQl and DDL
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 built-ins that are used for setting the LOV properties at runtime?
get_lov_property
set_lov_property
Atleast how many set of data must a data model have before a data model can be base on it?
Four
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
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.
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
Use the Add_group_row procedure to add a row to a static record group 1. true or false?
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
highly tunable and allows the database to be monitored and adjusted to increase its performance.
One should do performance
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
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.
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
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
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
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
What are the different types of Delete details we can establish in Master-Details?
Cascade
Isolate
Non-isolate
etc.,) and boilerplate objects (boxes, lines, images etc.,) that operators interact with us they run
your form . Each canvas
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
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.
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.
old export version, and import it using a later version of the import utility. This is quite an
effective way of upgrading a
. 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
Where is a procedure return in an external pl/sql library executed at the client or at the server?
At the client.
ms_excel. OLE containers provide a place to store, display and manipulate objects that are
created by ole server
What is an LOV?
An LOV is a scrollable popup window that provides the operator with either a single or multi
column selection list.
What are the built -ins used for Modifying a groups structure?
ADD-GROUP_COLUMN (function)
ADD_GROUP_ROW (procedure)
DELETE_GROUP_ROW(procedure)
specify editor attributes such as windows display size, position, and title.
My database was terminated while in BACKUP MODE, do I need to recover? (for DBA)
If a database was terminated while one of its tablespaces was in BACKUP MODE (ALTER
TABLESPACE xyz BEGIN BACKUP;), it will
tell you that media recovery is required when you try to restart the database. The DBA is then
required to recover the
database and apply all archived logs to the database. However, from Oracle7.2, you can simply
take the individual datafiles
down time.
Thiru Vadivelu contributed the following:
From Oracle9i onwards, the following command can be used to take all of the datafiles out of hot
backup mode:
ALTER DATABASE END BACKUP;
The above commands need to be issued when the database is mounted.
However, unlike database tables, record groups are separate objects that belong to the form
module which they are defined.
or export dump files. DUL does not care about rollback segments, corrupted blocks, etc, and can
thus not guarantee that the
data is not logically corrupt. It is intended as an absolute last resort and will most likely cost your
company a lot of
money!!!
I’ve lost my REDOLOG files, how can I get my DB back? (for DBA)
The following INIT.ORA parameter may be required if your current redo logs are corrupted or
blown away. Caution is advised
when enabling this parameter as you might end-up losing your entire database. Please contact
Oracle Support before using it.
_allow_resetlogs_corruption = true
you can base other object on it. An object based on a property can inherit the setting of any
property in the clause that
I’ve lost some Rollback Segments, how can I get my DB back? (for DBA)
Re-start your database with the following INIT.ORA parameter if one of your rollback segments
is corrupted. You can then drop
end up with lost or inconsistent data!!! Please contact Oracle Support before using it.
_Corrupted_rollback_segments =
(rbs01, rbs01, rbs03, rbs04)
What are the differences between EBU and RMAN? (for DBA)
Enterprise Backup Utility (EBU) is a functionally rich, high performance interface for backing
up Oracle7 databases. It is
sometimes referred to as OEBU for Oracle Enterprise Backup Utility. The Oracle Recovery
Manager (RMAN) utility that ships
with Oracle8 and above is similar to Oracle7’s EBU utility. However, there is no direct upgrade
path from EBU to RMAN.
catalog rman/rman
RMAN>create catalog tablespace tools;
RMAN> exit;
You can now continue by registering your databases in the catalog. Look at this example:
rman catalog rman/rman target backdba/backdba
RMAN> register database;
How can a group in a cross products be visually distinguished from a group that does not form a
cross product?
A group that forms part of a cross product will have a thicker border.
A frame is a holder for a group of fields. A repeating frame is used to display a set of records
when the no. of records that are to displayed is not known before.
What are three panes that appear in the run time pl/sql interpreter?
1. Source pane.
2. interpreter pane.
3. Navigator pane.
What are the two panes that Appear in the design time pl/sql interpreter?
1. Source pane.
2. Interpreter pane
What are the two ways by which data can be generated for a parameters list of values?
1. Using static values.
2. Writing select statement.
What are the default extensions of the files created by menu module?
.mmb,
.mmx
What are the default extensions of the files created by forms modules?
.fmb - form module binary
.fmx - form module executable
To display the page no. for each page on a report what would be the source & logical page no. or
& of physical page no.?
& physical page no.
It is possible to use raw devices as data files and what is the advantages over file. system files ?
Yes. The advantages over file system files. I/O will be improved because Oracle is bye-passing
the kernnel which writing into disk. Disk Corruption will be very less.
We should depend on export/import utility for backup/recovery (fully reliable) The tar command
cannot be used for physical file backup, instead we can use dd command which is less flexible
and has limited recoveries.
exceeds beyond its optimal value when an entry wraps and causes the rollback segment toexpand
into anotion Completes. e. will be written.
The data dictionary cache is stored in an area in SGA called the Shared SQL Pool. This will
allow sharing of parsed SQL statements among concurrent users.
need to be backed up. All data files. All Archive log, redo log files. All control files.
List the Optional Flexible Architecture (OFA) of Oracle database? or How can we organize the
tablespaces in Oracle database
Shutdown the database Copy one of the existing control file to new location Edit Config ora file
by adding new control file.name Restart the database.
What is advantage of having disk shadowing/ Mirroring ?
Shadow set of disks save as a backup in the event of disk failure. In most Operating System if
any disk failure occurs it
file I/O request to use the shadow set of files instead of the main set of files. This reduces I/O
load on the main set of
disks.
free space in the Rollback Segment Tablespace. This prevents other user using Rollback
segments.
Process of having a copy of redo log files is called mirroring. This can be achieved by creating
group of log files together, so that LGWR will automatically writes them to all the members of
the current on-line redo log group. If any one group fails then database automatically switch over
to next group. It degrades performance.
Which parameter in Storage clause will reduce no. of rows per block?
PCTFREE parameter
Row size also reduces no of rows per block.
What is meant by recursive hints ?
Number of times processes repeatedly query the dictionary table is called recursive hints. It is
due to the data dictionary cache is too small. By increasing the SHARED_POOL_SIZE
parameter we can optimize the size of Data Dictionary Cache.
What is the difference between locks, latches, enqueues and semaphores? (for DBA)
A latch is an internal Oracle mechanism used to protect data structures in the SGA from
simultaneous access. Atomic hardware
instructions like TEST-AND-SET is used to implement latches. Latches are more restrictive than
locks in that they are always
exclusive. Latches are never queued, but will spin or sleep until they obtain a resource, or time
out.
Enqueues and locks are different names for the same thing. Both support queuing and
concurrency. They are queued and serviced
What is a database EVENT and how does one set it? (for DBA)
Oracle trace events are useful for debugging the Oracle database server. The following two
examples are simply to demonstrate
syntax. Refer to later notes on this page for an explanation of what these particular events do.
Either adding them to the INIT.ORA parameter file can activate events. E.g.
event=’1401 trace name errorstack, level 12′
… or, by issuing an ALTER SESSION SET EVENTS command: E.g.
alter session set events ‘10046 trace name context forever, level 4′;
The alter session method only affects the user’s current session, whereas changes to the
INIT.ORA file will affect all
must be completed within one rollback segment. A single rollback segment can have multiple
rollback segment entries.
information if an ORA-1401 “inserted value too large for column” error occurs. The 1401 can be
replaced by any other Oracle
problem.
The following lists of events are examples only. They might be version specific, so please call
Oracle before using them:
” 10210 trace name context forever, level 10 10211 trace name context forever, level 10 10231
trace name context forever,
address).
Eg: variable x varchar2;
exec := dbms_utility.make_data_block_address(1,12);
print x
alter session set events ‘immediate trace name blockdump level 50360894′
/
How will you swap objects into a different table space for an existing database ?
Export the user
Perform import using the command imp system/manager file=export.dmp indexfile=newrite.sql.
This will create all definitions into newfile.sql. Drop necessary objects.
Run the script newfile.sql after altering the tablespaces.
Import from the backup for the necessary objects.
What are the factors causing the reparsing of SQL statements in SGA?
Due to insufficient Shared SQL pool size. Monitor the ratio of the reloads takes place while
executing SQL statements. If the
ratio is greater than 1 then increase the SHARED_POOL_SIZE. LOGICAL & PHYSICAL
ARCHITECTURE OF DATABASE.
consistency and guide recovery operations. Multiple copies of control files are advisable.
name R0 in the SYSTEM tablespace. Make new rollback segment available (After shutdown,
modify init.ora file and Start
database) Create other tablespaces (RBS) for rollback segments. Deactivate Rollback Segment
R0 and activate the newly created
rollback segments.
database recoveries. Before writing them into the redo log files, they will first brought to redo
log buffers in SGA and LGWR
will write into files frequently. LOG_BUFFER parameter will decide the size.
executed.
the time of execute-query post-change trigger will fire, on-validate field trigger will not fire.
While specifying master/detail relationship between two blocks specifying the join condition is a
must ?
True or False. ?
True
default function of insert, delete or update respectively. For Eg, instead of inserting a row in a
table an existing row can
triggers. Unrestricted package procedure that does not interfere with the basic functions of SQL
* Forms it can be used in
any triggers.
A query fetched 10 records How many times does a PRE-QUERY Trigger and POST-QUERY
Trigger will get executed ?
PRE-QUERY fires once.
POST-QUERY fires 10 times.
Give the sequence in which triggers fired during insert operations, when the following 3 triggers
are defined at the same
block level ?
a. ON-INSERT b. POST-INSERT c. PRE-INSERT
Can we create two blocks with the same name in form 3.0 ?
No
Name the two files that are created when you generate the form give the filex extension ?
INP (Source File)
FRM (Executable File)
What package procedure used for invoke sql *plus from sql *forms ?
Host (E.g. Host (sqlplus))
What is the difference between a Function Key Trigger and Key Function Trigger ?
Function key triggers are associated with individual SQL*FORMS function keys You can attach
Key function triggers to 10 keys
or key sequences that normally do not perform any SQL * FORMS operations. These keys
referred as key F0 through key F9.
in a statement does not have statistics, Oracle has to revert to rule-based optimization for that
statement. So you really
want for all tables to have statistics right away; it won’t help much to just have the larger tables
analyzed.
Generally, the CBO can change the execution plan when you:
1. Change statistics of objects by doing an ANALYZE;
2. Change some initialization parameters (for example: hash_join_enabled, sort_area_size,
db_file_multiblock_read_count).
This can be done by specifying hints. If the index is physically smaller than the table (which is
usually the case) it will
take less time to scan the entire index than to scan the entire table.
Where can one find I/O statistics per table? (for DBA)
The UTLESTAT report shows I/O per tablespace but one cannot see what tables in the
tablespace has the most I/O. The
executing the procedure, one can do a simple SELECT * FROM io_per_object; to extract the
required information. For more
My query was fine last week and now it is slow. Why? (for DBA)
The likely cause of this is because the execution plan has changed. Generate a current explain
plan of the offending query
and compare it to a previous one that was taken when the query was performing well. Usually
the previous plan is not
available.
Some factors that can cause a plan to change are:
. Which tables are currently analyzed? Were they previously analyzed? (ie. Was the query using
RBO and now CBO?)
. Has OPTIMIZER_MODE been changed in INIT.ORA?
. Has the DEGREE of parallelism been defined/changed on any table?
. Have the tables been re-analyzed? Were the tables analyzed using estimate or compute? If
estimate, what percentage was
used?
. Have the statistics changed?
. Has the INIT.ORA parameter DB_FILE_MULTIBLOCK_READ_COUNT been changed?
. Has the INIT.ORA parameter SORT_AREA_SIZE been changed?
. Have any other INIT.ORA parameters been changed?
. What do you think the plan should be? Run the query with hints to see if this produces the
required performance.
What is a view?
because the CBO calculates that executing a Full Table Scan would be faster than accessing the
table via the index.
Fundamental things that can be checked are:
. USER_TAB_COLUMNS.NUM_DISTINCT - This column defines the number of distinct
values the column holds.
. USER_TABLES.NUM_ROWS - If NUM_DISTINCT = NUM_ROWS then using an index
would be preferable to doing a FULL TABLE SCAN. As
the NUM_DISTINCT decreases, the cost of using an index increase thereby is making the index
less desirable.
. USER_INDEXES.CLUSTERING_FACTOR - This defines how ordered the rows are in the
index. If CLUSTERING_FACTOR approaches the
number of blocks in the table, the rows are ordered. If it approaches the number of rows in the
table, the rows are randomly
ordered. In such a case, it is unlikely that index entries in the same leaf block will point to rows
in the same data blocks.
. Decrease the INIT.ORA parameter DB_FILE_MULTIBLOCK_READ_COUNT - A higher
value will make the cost of a FULL TABLE SCAN
cheaper.
. Remember that you MUST supply the leading column of an index, for the index to be used
(unless you use a FAST FULL SCAN or
SKIP SCANNING).
. There are many other factors that affect the cost, but sometimes the above can help to show
why an index is not being used
by the CBO. If from checking the above you still feel that the query should be using an index, try
specifying an index hint.
Obtain an explain plan of the query either using TKPROF with TIMED_STATISTICS, so that
one can see the CPU utilization, or
with AUTOTRACE to see the statistics. Compare this to the explain plan when not using an
index.
a single row in the INDEX_STATS view. This row is overwritten by the next ANALYZE
INDEX command, so copy the contents of the
view into a local table after each ANALYZE. The ‘badness’ of the index can then be judged by
the ratio of ‘DEL_LF_ROWS’ to
‘LF_ROWS’.
What are the unrestricted procedures used to change the popup screen position during run time ?
Anchor-view
Resize -View
Move-View.
What is a type?
What is an Alert ?
An alert is window that appears in the middle of the screen overlaying a portion of the current
display.
Deleting a page removes information about all the fields in that page ?
a. True. b. False
a. True.
Two popup pages can appear on the screen at a time ?Two popup pages can appear on the screen
at a time ?
a. True. b. False?
a. True.
a. Call - unrestricted
b. User Exit - Unrestricted
c. Call_query - Unrestricted
d. Up - Restricted
e. Execute Query - Restricted
f. Message - Restricted
g. Exit_form - Restricted
h. Post - Restricted
i. Break - Unrestricted.
* forms executable.
What is a Trigger ?
A piece of logic that is executed at or triggered by a SQL *forms event.
1. Error_Code
2. Error_Text
3. Form_Failure
4. Form_Fatal
5. Message_Code
Can you attach an lov to a field at run-time? if yes, give the build-in name.?
Yes. Set_item_proprety
application.
How many maximum number of radio buttons can you assign to a radio group?
Unlimited no of radio buttons can be assigned to a radio group
How do you pass the parameters from one form to another form?
To pass one or more parameters to a called form, the calling form must perform the following
steps in a trigger or user named
parameter built-in procedure to add one or more parameters list. Execute the call_form,
New_form or run_product built_in
procedure and include the name or id of the parameter list to be passed to the called form.
List system variables available in forms 4.0, and not available in forms 3.0?
System.cordination_operation
System Date_threshold
System.effective_Date
System.event_window
System.suppress_working
What built-in is used for changing the properties of the window dynamically?
Set_window_property
Canvas-View
What are the menu items that oracle forms 4.0 supports?
Plain, Check,Radio, Separator, Magic
Give the equivalent term in forms 4.0 for the following. Page, Page 0?
Page - Canvas-View
Page 0 - Canvas-view null.
What is the built-in used to get and set lov properties during run-time?
Get_lov_property
Set_lov_property
Record Group
Write the Abbreviation for the following File Extension 1. FMB 2. MMB 3. PLL?
FMB —– Form Module Binary.
MMB —– Menu Module Binary.
PLL —— PL/SQL Library Module Binary.
What is an Lov?
A list of values is a single or multi column selection list displayed in a pop-up window
List the built-in routines for the controlling canvas views during run-time?
Find_canvas
Get-Canvas_property
Get_view_property
Hide_View
Replace_content_view
Scroll_view
Set_canvas_property
Set_view_property
Show_view
Alert
issues. Regardless of the size of the business, Oracle Financials can meet accounting
management demands with:
Oracle Assets: Ensures that an organization’s property and equipment investment is accurate and
that the correct asset tax
reporting needs.
Oracle Inventory: Helps an organization make better inventory decisions by minimizing stock
and maximizing cash flow.
Oracle Order Entry: Provides organizations with a sophisticated order entry system for managing
customer commitments.
Oracle Payables: Lets an organization process more invoices with fewer staff members and
tighter controls. Helps save money
Helps correctly account for cash, reduce outstanding receivables, and improve collection
effectiveness.
Oracle Revenue Accounting Gives an organization timely and accurate revenue and flexible
commissions reporting.
Oracle Sales Analysis: Allows for better forecasting, planning. and reporting of sales
information.
it. If you implement Oracle Financials, you should switch your current GL system first.GL is
relatively easy to implement.
You should go live with it first to give your implementation team a chance to be familiar with
Oracle Financials.
a single installation of Oracle Applications. This keeps each operating unit’s transaction data
separate and secure.
Use the following query to determine if MuliOrg is intalled:
select multi_org_flag from fnd_product_groups;
field by telling what kind of information appears in the field, or alternatively, what kind of
information should be entered
in the field.
A flexfield is an Oracle Applications field made up of segments. Each segment has an assigned
name and a set of valid values.
Oracle Applications uses flexfields to capture information about your organization. There are
two types of flexfields: key
What is an Alert?
An alert is a modal window that displays a message notifies the operator of some application
condition
What are the built-in routines is available in forms 4.0 to create and manipulate a parameter list?
Add_parameter
Create_Parameter_list
Delete_parameter
Destroy_parameter_list
Get_parameter_attr
Get_parameter_list
set_parameter_attr
view differs from a content canvas view in that it is not the base view for the window to which it
is assigned
What is a canvas-view?
A canvas-view is the background object on which you layout the interface items (text-items,
check boxes, radio groups, and so
on.) and boilerplate objects that operators see and interact with as they run your form. At run-
time, operators can see only
those items that have been assigned to a specific canvas. Each canvas, in term, must be displayed
in a specific window.
cursors are called Explicit Cursors. They can be declared and used.
global to the packages and local to the schema. Package Body contains actual procedures and
local declaration of the
What are two virtual tables available during database trigger execution ?
The table columns are referred as OLD.column_name and NEW.column_name.
For triggers related to INSERT only NEW.column_name values only available.
For triggers related to UPDATE only OLD.column_name NEW.column_name values only
available.
For triggers related to DELETE only OLD.column_name values only available.
of defined policies can be obtained from DBA_AUDIT_POLICIES. Audit records are stored in
DBA_FGA_AUDIT_TRAIL. Look at this
example:
o Add policy on table with autiting condition…
execute dbms_fga.add_policy(’HR’, ‘EMP’, ‘policy1′, ‘deptno > 10′);
o Must ANALYZE, this feature works with CBO (Cost Based Optimizer)
analyze table EMP compute statistics;
select * from EMP where c1 = 11; — Will trigger auditing
select * from EMP where c1 = 09; — No auditing
o Now we can see the statments that triggered the auditing condition…
select sqltext from sys.fga_log$;
delete from sys.fga_log$;
specific oracle error. e.g. PRAGMA EXCEPTION_INIT (exception name, oracle error number)
secure separation of data. This ensures that users only have access to data that pertains to them.
Using this option, one
could even store multiple companies’ data within the same schema, without them knowing about
it. VPD configuration is done
via the DBMS_RLS (Row Level Security) package. Select from SYS.V$VPD_POLICY to see
existing VPD configuration.
What is Raise_application_error ?
Raise_application_error is a procedure of package DBMS_STANDARD which allows to issue
an user_defined error messages from
to implement row level security. Access to rows are restricted according to a user’s security
sensitivity tag or label.
Oracle Label Security is configured, controlled and managed from the Policy Manager, an
Enterprise Manager-based GUI utility.
tools to monitor the Oracle environment and automate tasks (both one-time and repetitive in
nature) to take database
connects to the management server to monitor and configure the Oracle enterprise.
. Console: This is a graphical interface from where one can schedule jobs, events, and monitor
the database. The console can
be opened from a Windows workstation, Unix XTerm (oemapp command) or Web browser
session (oem_webstage).
. Intelligent Agent (OIA): The OIA runs on the target database and takes care of the execution of
jobs and events scheduled
What happens if a procedure that updates a column of table X is called in a database trigger of
the same table ?
Mutation of table occurs.
transaction processing.
How many types of database triggers can be specified on a table ? What are they ?
Insert Update Delete
Before Row o.k. o.k. o.k.
After Row o.k. o.k. o.k.
Before Statement o.k. o.k. o.k.
After Statement o.k. o.k. o.k.
If FOR EACH ROW clause is specified, then the trigger for each Row affected by the statement.
If WHEN clause is specified, the trigger fires according to the returned Boolean value.
I & ii.
exceptions are.
CURSOR_ALREADY_OPEN
DUP_VAL_ON_INDEX
NO_DATA_FOUND
TOO_MANY_ROWS
INVALID_CURSOR
INVALID_NUMBER
LOGON_DENIED
NOT_LOGGED_ON
PROGRAM-ERROR
STORAGE_ERROR
TIMEOUT_ON_RESOURCE
VALUE_ERROR
ZERO_DIVIDE
OTHERS.
modifications, Log events transparently, Enforce complex business rules Derive column values
automatically, Implement complex
fields in the record and closes when all the records have been processed.
e.g.. FOR emp_rec IN C1 LOOP
salary_total := salary_total +emp_rec sal;
END LOOP;
How packaged procedures and functions are called from the following?
a. Stored procedure or anonymous block
b. an application program such a PRC *C, PRO* COBOL
c. SQL *PLUS??
What is difference between a Cursor declared in a procedure and Cursor declared in a package
specification ?
A cursor declared in a package specification is global and can be accessed by other procedures or
procedures in a package.
A cursor declared in a procedure is local to the procedure that can not be accessed by other
procedures.
What are the cursor attributes used in PL/SQL ?
%ISOPEN - to check whether cursor is open or not
% ROWCOUNT - number of rows fetched/updated/deleted.
% FOUND - to check whether cursor has fetched any row. True if rows are fetched.
% NOT FOUND - to check whether cursor has fetched any row. True if no rows are featched.
These attributes are proceeded with SQL for Implicit Cursors and with Cursor name for Explicit
Cursors.
What are % TYPE and % ROWTYPE ? What are the advantages of using these over datatypes?
% TYPE provides the data type of a variable or a database column to that variable.
% ROWTYPE provides the record type that represents a entire row of a table or view or columns
selected in the cursor.
The advantages are :
I. Need not know about variable’s data type
ii. If the database definition of a column in a table changes, the data type of a variable changes
accordingly.
What are the different types of PL/SQL program units that can be defined and stored in
ORACLE database ?
Procedures and Functions,Packages and Database Triggers.
performance (for example all objects of the package are parsed compiled, and loaded into
memory once)
What is a Procedure ?
A Procedure consist of a set of SQL and PL/SQL statements that are grouped together as a unit
to solve a specific problem or
perform a set of related tasks.
What is a Package ?
A Package is a collection of related procedures, functions, variables and other package constructs
together as a unit in the
database.
What is an UTL_FILE.What are different procedures and functions associated with it?
UTL_FILE is a package that adds the ability to read and write to operating system files.
Procedures associated with it are
embedded pl/sql,the language in which pl/sql is embedded is known as the host language. The
prcompiler translates the
embedded SQL and pl/sql statements into calls to the precompiler runtime library. The output
must be compiled and linked with
declaration. Actual parameters contain the values that are passed to a procedure and receive
results. Formal parameters are
What should be the return type for a cursor variable. Can we use a scalar data type as return
type?
The return type for a cursor must be a record type.It can be declared explicitly as a user-defined
or %ROWTYPE can be used.
allows user to type SQL commands to be executed directly against an Oracle database. SQL is a
language used to query the
PL/SQL.
query all the rows of one of the tables in the join condition even though they don’t satisfy the
join condition.
Equi-join–Its a join condition that retrieves rows from one or more tables in which one or more
columns in one table are
What are various privileges that a user can grant to another user?
-SELECT
-CONNECT
-RESOURCES
where rownum<&Start);
Explicit cursor is a cursor in which the cursor name is explicitly assigned to a SELECT statement
via the CURSOR…IS
statement. An implicit cursor is used for all SQL statements Declare, Open, Fetch, Close. An
explicit cursors are used to
process multirow SELECT statements An implicit cursor is used to process INSERT, UPDATE,
DELETE and single row SELECT. .INTO
statements.
What is a cursor?
Oracle uses work area to execute SQL statements and store processing information PL/SQL
construct called a cursor lets you
name a work area and access its stored information A cursor is a mechanism used to fetch more
than one row in a Pl/SQl block.
data from different tables together for faster retrieval than if the table placement were left to the
RDBMS.
order to free the resources used for the query CLOSE statement is used.
Can cursor variables be stored in PL/SQL tables. If yes how. If not why?
No, a cursor variable points a row which cannot be stored in a two-dimensional PL/SQL table.
any rows. When the where clause of the explicit cursor does not match any rows the
%NOTFOUND attribute is set to TRUE
instead.
There is a string 120000 12 0 .125 , how you will find the position of the decimal place?
INSTR(’120000 12 0 .125′,1,’.')
output 13
allocated using Pro*C or OCI with version 2.2, the only means of passing a cursor variable to a
PL/SQL block is via bind
When do you use WHERE clause and when do you use HAVING clause?
HAVING clause is used when you want to specify a condition for a group function and it is
written after GROUP BY clause. The
WHERE clause is used when you want to specify a condition for columns, single row functions
except group functions and it is
called with parameter. A procedure all is a PL/SQL statement by itself, while a Function call is
called as part of an
expression.
What is syntax for dropping a procedure and a function .Are these operations possible?
Drop Procedure procedure_name
Drop Function function_name
How will you delete duplicating rows from a base table?
delete from table_name where rowid not in (select max(rowid) from table group by
duplicate_values_field_name); or delete
trigger.
-Can cause other database triggers to fire. Can cause other database triggers to fire, but not other
form triggers.
What is a view ?
A view is stored procedure based on one or more tables, it’s a virtual table.
automatically define NOT NULL, whereas a column that compose a UNIQUE is not
automatically defined to be mandatory must also
indicating the types of the select list that will eventually be returned by the cursor variable.
ALL_TABLES).
The best answer is to refer to the utility which Oracle released which makes it unnecessary to do
ANALYZE TABLE for each
Table individually.
What is the maximum buffer size that can be specified using the DBMS_OUTPUT.ENABLE
function?
1,000,00
There is a % sign in one field of a column. What will be the query to find it?
” Should be used before ‘%’.
What is a transaction ?
Transaction is logical unit between two commits and commit and rollback.
How to access the current value and next value from a sequence ? Is it possible to access the
current value in a session
can be accessed.
What are the usage of SAVEPOINTS ?value in a session before accessing next value ?
SAVEPOINTS are used to subdivide a transaction into smaller parts. It enables rolling back part
of a transaction. Maximum of
ROWID.
How many LONG columns are allowed in a table ? Is it possible to use LONG columns in
WHERE clause or ORDER BY ?
Only one LONG columns is allowed. It is not possible to use LONG column in WHERE or
ORDER BY clause.
Join - Joining two tables by equating two common columns.Non-Equi Join - Joining two tables
by equating two common
columns.Outer Join - Joining two tables in such a way that query can also retrieve rows that do
not have corresponding join
If an unique key constraint on DATE column is created, will it validate the rows that are inserted
with SYSDATE ?
It won’t, Because SYSDATE format contains time attached with it.
How does one stop and start the OMS? (for DBA)
Use the following command sequence to stop and start the OMS (Oracle Management Server):
oemctl start oms
oemctl status oms sysman/oem_temp
oemctl stop oms sysman/oem_temp
Windows NT/2000 users can just stop and start the required services. The default OEM
administrator is “sysman” with a
password of “oem_temp”.
NOTE: Use command oemctrl instead of oemctl for Oracle 8i and below.
management server and repository. Remember to setup a backup for the repository database after
creating it.
If a View on a single base table is manipulated will the changes be reflected on the base table ?
If changes are made to the tables which are base tables of a view will the changes be reference
on the view.
The following describes means to create a OEM V1.x (very old!!!) repository on WindowsNT:
. Create a tablespace that would hold the repository data. A size between 200- 250 MB would be
ideal. Let us call it
Dummy_Space.
. Create an Oracle user who would own this repository. Assign DBA, SNMPAgent,
Exp_Full_database, Imp_Full_database roles to
this user. Lets call this user Dummy_user. Assign Dummy_Space as the default tablespace.
. Create an operating system user with the same name as the Oracle username. I.e. Dummy_User.
Add ‘Log on as a batch job’
How does one list one’s databases in the OEM Console? (for DBA)
Follow these steps to discover databases and other services from the OEM Console:
1. Ensure the GLOBAL_DBNAME parameter is set for all databases in your LISTENER.ORA
file (optional). These names will be
listed in the OEM Console. Please note that names entered are case sensitive. A portion of a
listener.ora file:
(SID_DESC =
(GLOBAL_DBNAME = DB_name_for_OEM)
(SID_NAME = …
2. Start the Oracle Intelligent Agent on the machine you want to discover. See section “How
does one start the Oracle
Intelligent Agent?”.
3. Start the OEM Console, navigate to menu “Navigator/ Discover Nodes”. The OEM Discovery
Wizard will guide you through the
ascending sequence reaches its maximum value, it generates its minimum value. After a
descending sequence reaches its
minimum, it generates its maximum.NO CYCLE specifies that the sequence cannot generate
more values after reaching its maximum
or minimum value.
What is difference between CHAR and VARCHAR2 ? What is the maximum SIZE allowed for
each type ?
CHAR pads blank spaces to the maximum length. VARCHAR2 does not pad blank spaces. For
CHAR it is 255 and 2000 for VARCHAR2.
What are the different types of Coordinations of the Master with the Detail block?
POPULATE_GROUP(function)
POPULATE_GROUP_WITH_QUERY(function)
SET_GROUP_CHAR_CELL(procedure)
SET_GROUPCELL(procedure)
SET_GROUP_NUMBER_CELL(procedure)
Use the ADD_GROUP_COLUMN function to add a column to a record group that was created
at design time?
I) TRUE II) FALSE
II) FALSE
Suppose a customer table is having different columns like customer no, payments.What will be
the query to select top three
max payments?
SELECT customer_no, payments from customer C1
WHERE 3<=(SELECT COUNT(*) from customer C2
WHERE C1.payment <= C2.payment)
the first five background processes.They do the house keeping activities for the Oracle and are
common in any system.
The various background processes in oracle are
a) Data Base Writer(DBWR) :: Data Base Writer Writes Modified blocks from Database buffer
cache to Data Files.This is
transaction commits and log buffer fills, LGWR writes log entries into a online redo log file.
c) System Monitor(SMON) :: The System Monitor performs instance recovery at instance
startup. This is useful for recovery
Checkpoints and Updating all data files and control files of database to indicate the most recent
checkpoint
f)Archieves(ARCH) :: The Archiver copies online redo log files to archival storal when they are
busy.
g) Recoveror(RECO) :: The Recoveror is used to resolve the distributed transaction in network
h) Dispatcher (Dnnn) :: The Dispatcher is useful in Multi Threaded Architecture
i) Lckn :: We can have upto 10 lock processes for inter instance locking in parallel sql.
ANSI, a transaction begins with first executable statement and ends when it is explicitly
committed or rolled back.
statements.
b) Rollback :: A transaction that retracts any of the changes resulting from SQL statements in
Transaction.
c) SavePoint :: For long transactions that contain many SQL statements, intermediate markers or
savepoints are declared.
basically an area allocated by Oracle for executing the Sql Statement. Oracle uses an implicit
cursor statement for Single
row query and Uses Explicit cursor for a multi row query.
f) System Global Area(SGA) :: The SGA is a shared memory region allocated by the Oracle that
contains Data and control
information for one Oracle Instance. It consists of Database Buffer Cache and Redo log Buffer.
g) Program Global Area (PGA) :: The PGA is a memory buffer that contains data and control
information for server process.
g) Database Buffer Cache :: Database Buffer of SGA stores the most recently used blocks of
database data. The set of database
and storing related procedures, functions, variables and other Package Contents
the new value that will be used. DT are useful for implementing complex business rules which
cannot be enforced using the
integrity rules.We can have the trigger as Before trigger or After Trigger and at Statement or
Row level. e.g:: operations
combinations are there and the restriction of usage of 12 triggers has been lifted from Oracle 7.3
Onwards.
Stored Procedures :: Stored Procedures are Procedures that are stored in Compiled form in the
database.The advantage of using
the stored procedures is that many users can use the same procedure in compiled and ready to
use format.
How many Integrity Rules are there and what are they
There are Three Integrity Rules. They are as follows ::
a) Entity Integrity Rule :: The Entity Integrity Rule enforces that the Primary key cannot be Null
b) Foreign Key Integrity Rule :: The FKIR denotes that the relationship between the foreign key
and the primary key has to be
enforced.When there is data in Child Tables the Master tables cannot be deleted.
c) Business Integrity Rules :: The Third Intigrity rule is about the complex business processes
which cannot be implemented
because for evertime the SQL must be parsed whenver they are executed.
f45run module = my_firstform userid = scott/tiger optimize_sql = No
d) Optimize_Tp ::
By setting the Optimize_Tp= No, Oracle Forms assigns seperate cursor only for each query
SELECT statement. All other SQL
Who created all these users in my database?/ Can I drop this user? (for DBA)
Oracle creates a number of default database users or schemas when a new database is created.
Below are a few of them:
SYS/CHANGE_ON_INSTALL or INTERNAL
Oracle Data Dictionary/ Catalog
Created by: ?/rdbms/admin/sql.bsq and various cat*.sql scripts
Can password be changed: Yes (Do so right after the database was created)
Can user be dropped: NO
SYSTEM/MANAGER
The default DBA user name (please do not use SYS)
Created by: ?/rdbms/admin/sql.bsq
Can password be changed: Yes (Do so right after the database was created)
Can user be dropped: NO
OUTLN/OUTLN
Stored outlines for optimizer plan stability
Created by: ?/rdbms/admin/sql.bsq
Can password be changed: Yes (Do so right after the database was created)
Can user be dropped: NO
SCOTT/TIGER, ADAMS/WOOD, JONES/STEEL, CLARK/CLOTH and BLAKE/PAPER.
Training/ demonstration users containing the popular EMP and DEPT tables
Created by: ?/rdbms/admin/utlsampl.sql
Can password be changed: Yes
Can user be dropped: YES - Drop users cascade from all production environments
HR/HR (Human Resources), OE/OE (Order Entry), SH/SH (Sales History).
Training/ demonstration users containing the popular EMPLOYEES and DEPARTMENTS
tables
Created by: ?/demo/schema/mksample.sql
Can password be changed: Yes
Can user be dropped: YES - Drop users cascade from all production environments
CTXSYS/CTXSYS
Oracle interMedia (ConText Cartridge) administrator user
Created by: ?/ctx/admin/dr0csys.sql
TRACESVR/TRACE
Oracle Trace server
Created by: ?/rdbms/admin/otrcsvr.sql
DBSNMP/DBSNMP
Oracle Intelligent agent
Created by: ?/rdbms/admin/catsnmp.sql, called from catalog.sql
Can password be changed: Yes - put the new password in snmp_rw.ora file
Can user be dropped: YES - Only if you do not use the Intelligent Agents
ORDPLUGINS/ORDPLUGINS
Object Relational Data (ORD) User used by Time Series, etc.
Created by: ?/ord/admin/ordinst.sql
ORDSYS/ORDSYS
Object Relational Data (ORD) User used by Time Series, etc
Created by: ?/ord/admin/ordinst.sql
DSSYS/DSSYS
Oracle Dynamic Services and Syndication Server
Created by: ?/ds/sql/dssys_init.sql
MDSYS/MDSYS
Oracle Spatial administrator user
Created by: ?/ord/admin/ordinst.sql
AURORA$ORB$UNAUTHENTICATED/INVALID
Used for users who do not authenticate in Aurora/ORB
Created by: ?/javavm/install/init_orb.sql called from ?/javavm/install/initjvm.sql
PERFSTAT/PERFSTAT
Oracle Statistics Package (STATSPACK) that supersedes UTLBSTAT/UTLESTAT
Created by: ?/rdbms/admin/statscre.sql
Remember to change the passwords for the SYS and SYSTEM users immediately after
installation!
Except for the user SYS, there should be no problem altering these users to use a different
default and temporary tablespace.
and passwords that match their names and userids. Also, passwords don’t ever expire. This
means that one can hack an account
user to another without a password. Of course it is not advisable to bridge Oracle’s security, but
look at this example: SQL>
setting the visual attributes and then attach the property classes for the objects. OOPS supports
the concepts of objects and
classes and we can consider the property classes as classes and the items as objects
What is the difference between candidate key, unique key and primary key
Candidate keys are the columns in the table that could be the primary keys and the primary key is
the key that has been
selected to identify the rows. Unique key is also useful for identifying the distinct rows in the
table.)
What is concurrency
Concurrency is allowing simultaneous access of same data by different users. Locks useful for
accesing the database are
a) Exclusive
The exclusive lock is useful for locking the row when an insert,update or delete is being
done.This lock should not be
resource Grants are given to the objects so that the object might be accessed accordingly.The
grant has to be given by the
created.
a) System Table space :: This data file stores all the tables related to the system and dba tables
b) User Table space :: This data file stores all the user related tables
We should have seperate table spaces for storing the tables and indexes so that the access is fast.
Data Files :: Every Oracle Data Base has one or more physical data files.They store the data for
the database.Every datafile
is associated with only one database.Once the Data file is created the size cannot change.To
increase the size of the
parameters e.g.::
db_block_buffers = 500
db_name = ORA7
db_domain = u.s.acme lang
Control Files :: Control files record the physical structure of the data files and redo log files
They contain the Db name, name and location of dbs, data files ,redo log files and time stamp.
used to denote the percentage of the used space that is to be used when creating a table
eg.:: Pctfree 20, Pctused 40
all the users see the same values. It contains DML statements or Remote Procedural calls that
reference a remote object.
There are basically 2 phases in a 2 phase commit.
a) Prepare Phase :: Global coordinator asks participants to prepare
b) Commit Phase :: Commit all participants to coordinator to Prepared, Read only or abort Reply
rules and is the only Rdbms to satisfy the maximum number of rules.
What is Normalisation
Normalisation is the process of organising the tables to remove the redundancy.There are mainly
5 Normalisation rules.
a) 1 Normal Form :: A table is said to be in 1st Normal Form when the attributes are atomic
b) 2 Normal Form :: A table is said to be in 2nd Normal Form when all the candidate keys are
dependant on the primary key
c) 3rd Normal Form :: A table is said to be third Normal form when it is not dependant
transitively
object is similar to copying an object, except that the resulting reference object maintains a link
to its source object. A
reference object automatically inherits any changes that have been made to the source object
when you open or regenerate the
object is similar to copying an object, except that the resulting reference object maintains a link
to its source object. A
reference object automatically inherits any changes that have been made to the source object
when you open or regenerate the
object is similar to copying an object, except that the resulting reference object maintains a link
to its source object. A
reference object automatically inherits any changes that have been made to the source object
when you open or regenerate the
module that contains the reference object. Any string expression up to 32K:
- a literal
- an expression or a variable representing the text of a block of dynamically created PL/SQL
code
- a DML statement or
- a DDL statement
Restrictions:
The statement you pass to FORMS_DDL may not contain bind variable references in the string,
but the values of bind variables
can be concatenated into the string before passing the result to FORMS_DDL.
What are the types of triggers and how the sequence of firing in text item
Triggers can be classified as Key Triggers, Mouse Triggers ,Navigational Triggers.
Key Triggers :: Key Triggers are fired as a result of Key action.e.g :: Key-next-field, Key-
up,Key-Down
Mouse Triggers :: Mouse Triggers are fired as a result of the mouse navigation.e.g.
When-mouse-button-presed,when-mouse-doubleclicked,etc
Navigational Triggers :: These Triggers are fired as a result of Navigation. E.g. : Post-Text-
item,Pre-text-item.
We also have event triggers like when ?new-form-instance and when-new-block-instance.
We cannot call restricted procedures like go_to(?my_block.first_item?) in the Navigational
triggers
But can use them in the Key-next-item.
The Difference between Key-next and Post-Text is an very important question. The key-next is
fired as a result of the key
action while the post text is fired as a result of the mouse movement. Key next will not fire
unless there is a key event.
and functionality standards. Property classes also allow you to make global changes to
applications quickly. By simply
changing the definition of a property class, you can change the definition of all objects that
inherit properties from that
class.
Yes . All type of triggers .
If you have property class attached to an item and you have same trigger written for the item .
Which will fire first?
Item level trigger fires , If item level trigger fires, property level trigger won’t fire. Triggers at
the lowest level are
always given the first preference. The item level trigger fires first and then the block and then the
Form level trigger.
However, unlike database tables, record groups are separate objects that belong to the form
module in which they are defined.
A record group can have an unlimited number of columns of type CHAR, LONG, NUMBER, or
DATE provided that the total number of
columns does not exceed 64K. Record group column names cannot exceed 30 characters.
Programmatically, record groups can be used whenever the functionality offered by a two-
dimensional array of multiple data
types is desirable.
TYPES OF RECORD GROUP:
Query Record Group A query record group is a record group that has an associated SELECT
statement. The columns in a query
record group derive their default names, data types, and lengths from the database columns
referenced in the SELECT
statement. The records in a query record group are the rows retrieved by the query associated
with that record group.
Non-query Record Group A non-query record group is a group that does not have an associated
query, but whose structure and
What is FORMS_MDI_WINDOW?
forms run inside the MDI application window. This property is useful for calling a form from
another one.
mostly for giving the base effect. Its like a plate on which we add items and stacked canvas is
used for giving 3 dimensional
effect.
What are user-exits?
It invokes 3GL programs.
Make sure that the Oracle Forms variable or item is the same data type as the return value from
the foreign function.
After assigning an Oracle Forms variable or item value to a PL/SQL variable, pass the PL/SQL
variable as a parameter value in
the PL/SQL interface of the foreign function. The PL/SQL variable that is passed as a parameter
must be a valid PL/SQL data
type; it must also be the appropriate parameter type as defined in the PL/SQL interface.
F45XTB.DLL. If you rename the DLL to F45XTB.DLL, replace the existing F45XTB.DLL in
the ORAWINBIN directory with the new
F45XTB.DLL.
registry.
What is precompiler?
It is similar to C precompiler directives.
Can you connect to non - oracle datasource ?
Yes .
Locking mode :
Specifies when Oracle Forms should attempt to obtain database locks on rows that correspond to
queried records in the form.
a) immediate b) delayed
that will run against non-ORACLE data sources. For applications that will run against ORACLE,
use the default setting.
Cursor mode - define cursor state across transaction Open/close.
container application. OLE automation provides a way for an OLE container application to use
the features of an OLE server
application to manipulate an OLE object from the OLE container environment. (FORMS_OLE)
the called form is current, Oracle Forms rolls back uncommitted changes to this savepoint.
OPEN_FORM : When you call a form, Oracle Forms issues a savepoint for the called form. If
the CLEAR_FORM function causes a
rollback when the called form is current, Oracle Forms rolls back uncommitted changes to this
savepoint.
NEW_FORM : Exits the current form and enters the indicated form. The calling form is
terminated as the parent form. If the
calling form had been called by a higher form, Oracle Forms keeps the higher call active and
treats it as a call to the new
form. Oracle Forms releases memory (such as database cursors) that the terminated form was
using.
Oracle Forms runs the new form with the same Runform options as the parent form. If the parent
form was a called form, Oracle
Forms runs the new form with the same options as the parent form.
application’s interface.
properties.
You can change the appearance of objects at runtime by changing the named visual attribute
programmatically; property class
attribute, the named visual attribute settings take precedence, and any visual attribute properties
in the class are ignored.
used at the block level to display the current row in a multi-record If you define an item-level
Current Record Attribute,
you can display a pre-determined item in a special color when it is part of the current record, but
you cannot dynamically
object at runtime.
Can u set default font in forms?
Yes. Change windows registry(regedit). Set form45_font to the desired font.
_break
Whenever a transaction is committed, the corresponding redo entries temporarily stores in redo
log buffers of the SGA are
written to an on-line redo log file by the background process LGWR. The on-line redo log files
are used in cyclical fashion.
including the contents of rollback segments. Rolling back transactions that have been explicitly
rolled back or have not been
committed as indicated by the rollback segments regenerated in step a. Releasing any resources
(locks) held by transactions
in process at the time of the failure. Resolving any pending distributed transactions undergoing a
two-phase commit at the
database.
Parallel Mode If the first instance that mounts a database is started in parallel mode, other
instances that are started in
What are the advantages of operating a database in ARCHIVELOG mode over operating it in
NO ARCHIVELOG mode ?
Complete database recovery from disk failure is possible only in ARCHIVELOG mode. Online
database backup is possible only in
ARCHIVELOG mode.
limited only to those whose user accounts have been granted the RESTRICTED SESSION
system privilege.
calculations such as summations etc. Place holder Columns :: These columns are useful for
storing the value in a variable
fields .
What is Flex
Flex is the property of moving the related fields together by setting the flex property on
What are the minimum number of groups required for a matrix report
The minimum of groups required for a matrix report are 4 e —–
What is a Synonym ?
A synonym is an alias for a table, view, sequence or program unit.
What is a Sequence ?
A sequence generates a serial list of unique numbers for numerical columns of a database’s
tables.
What is a Segment ?
A segment is a set of extents allocated for a certain logical structure.
What is schema?
A schema is collection of database objects of a User.
the column or set of columns (the dependent value) matches a value in a column of a related
table (the referenced value). It
also specifies the type of data manipulation allowed on referenced data and the action to be
performed on dependent data as a
with the same hash key value are stores together on disk.
with the same hash key value are stores together on disk.
key value is hashed. The resulting hash key value points directly to the area on disk that stores
the specified rows.
key value is hashed. The resulting hash key value points directly to the area on disk that stores
the specified rows.
associated database specifies a global object name in a SQL statement or object definition.
of any database in the network specifies a global object name in a SQL statement or object
definition.
database space in Oracle data blocks. Block size is specified in init.ora file and cannot be
changed latter.
data for the row is stored in a chain of data block (one or more) reserved for that segment.
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.
cluster has a data segment. The data of every table in the cluster is stored in the cluster’s data
segment.
users.
statement finishes execution, the temporary segment extents are released to the system for future
use.
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.
must be opened for database operation to proceed. It is also used in database recovery.
Is it possible to split the print reviewer into more than one region?
Yes
Is it possible to center an object horizontally in a repeating frame that has a variable horizontal
size?
Yes
For a field in a repeating frame, can the source come from the column which does not exist in the
data group which forms the
The join defined by the default data link is an outer join yes or no?
Yes
Is it possible to insert comments into sql statements return in the data model editor?
Yes
Is it possible to disable the parameter from while running the report?
Yes
When a form is invoked with call_form, Does oracle forms issues a save point?
Yes
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.
You have just had to restore from backup and do not have any control files. How would you go
about bringing up this database?
I would create a text based backup control file, stipulating where on disk all the data files where
and then issue the
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.
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.
Where would you look for errors from the database engine?
In the alert log.
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.
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
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.
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.
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
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.
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
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.
How would you determine the time zone under which a database was operating?
select DBTIMEZONE from dual;
Explain the use of setting GLOBAL_NAMES equal to TRUE.
Setting GLOBAL_NAMES dictates how you might connect to a database. This variable is either
TRUE or FALSE and if it is set to
TRUE it enforces database links to have the same name as the remote database to which they are
linking.
While a procedure does not have to return any values to the calling application, a function will
return a single value. A
package on the other hand is a collection of functions and procedures that are grouped together
based on their commonality to
view in a SQL statement. They are also used to pipeline information in an ETL process.
Where in the Oracle directory tree structure are audit traces placed?
In unix $ORACLE_HOME/rdbms/audit, in Windows the event viewer
base tables. They are typically used in data warehouse or decision support systems.
When a user process fails, what background process cleans up after it?
PMON
Give two methods you could use to determine what DDL changes have been made.
You could use Logminer or Streams
When creating a user, what permissions must you grant to allow them to connect to the database?
Grant the CONNECT to the user.
What view would you use to look at the size of a data file?
DBA_DATA_FILES
You have just compiled a PL/SQL package but got errors, how would you view the errors?
SHOW ERRORS
the data being produced by another Oracle utility EXPORT while the SQL*Loader utility allows
data to be loaded that has been
produced by other utilities from different data sources just so long as it conforms to ASCII
formatted or delimited files.
to divide a transaction into smaller parts. This allows the option of later rolling back all work
performed from the current
What are the values that can be specified for OPTIMIZER MODE Parameter ?
COST and RULE.
What are the values that can be specified for OPTIMIZER_GOAL parameter of the ALTER
SESSION Command ?
CHOOSE,ALL_ROWS,FIRST_ROWS and RULE.
How does one create a standby database? (for DBA)
While your production database is running, take an (image copy) backup and restore it on
duplicate hardware. Note that an
and apply the redo log files to the standby database (pipe it). Remember the database is
recovering and will prompt you for
How does one give developers access to trace files (required as input to tkprof)? (for DBA)
The “alter session set sql_trace=true” command generates trace files in USER_DUMP_DEST
that can be used by developers as
input to tkprof. On Unix the default file mask for these files are “rwx r– —”.
There is an undocumented INIT.ORA parameter that will allow everyone to read (rwx r-r–) these
trace files:
_trace_files_public = true
Include this in your INIT.ORA file and bounce your database for it to take effect.
requirements for the database system. Managing primary database structures (tablespaces)
Managing primary objects
(table,views,indexes) Enrolling users and maintaining system security. Ensuring compliance with
Oralce license agreement
Controlling and monitoring user access to the database. Monitoring and optimizing the
performance of the database. Planning
for backup and recovery of database information. Maintain archived data on tape Backing up and
restoring the database.
user process, it dumps information about the error to its trace. This can be used for tuning the
database.
What are the roles and user accounts created automatically with the database?
DBA - role Contains all database system privileges.
SYS user account - The DBA role will be assigned to this account. All of the base tables and
views for the database’s
dictionary are store in this schema and are manipulated only by ORACLE. SYSTEM user
account - It has all the system
privileges for the database and additional tables and views that display administrative
information and internal tables and
What are the minimum parameters should exist in the parameter file (init.ora) ?
DB NAME - Must set to a text string of no more than 8 characters and it will be stored inside the
datafiles, redo log files
will be used.
DB_BLOCK_BUFFERS - To determine the no of buffers in the buffer cache in SGA.
PROCESSES - To determine number of operating system processes that can be connected to
ORACLE concurrently. The value should
lose your job. Hardware and software can always be replaced, but your data may be
irreplaceable!
Normally one would schedule a hierarchy of daily, weekly and monthly backups, however
consult with your users before deciding
in-time to make media available for new backups. Off-site vaulting is also highly recommended.
Frequently test your ability to recover and document all possible scenarios. Remember, it’s the
little things that will get
you. Most failed recoveries are a result of organizational errors and miscommunications.
What strategies are available for backing-up an Oracle database? (for DBA)
The following methods are valid for backing-up an Oracle database:
Export/Import - Exports are “logical” database backups in that they extract logical definitions
and data from the database to
a file.
Cold or Off-line Backups - Shut the database down and backup up ALL data, log, and control
files.
Hot or On-line Backups - If the databases are available and in ARCHIVELOG mode, set the
tablespaces into backup mode and
backup their files. Also remember to backup the control files and archived redo log files.
RMAN Backups - While the database is off-line or on-line, use the “rman” utility to backup the
database.
It is advisable to use more than one of these methods to backup your database. For example, if
you choose to do on-line
database backups, also cover yourself by doing database exports. Also test ALL backup and
recovery scenarios carefully. It is
If your database is in ARCGIVELOG mode, you also need to backup archived log files.
What is the difference between online and offline backups? (for DBA)
A hot backup is a backup performed while the database is online and available for read/write.
Except for Oracle exports, one
point-in-time (before the disaster occurred), or roll-forward until the last transaction recorded in
the log files. Sql>
How does one backup a database using the export utility? (for DBA)
Oracle exports are “logical” database backups (not physical) as they extract data and logical
definitions from the database
into a file. Other backup strategies normally back-up the physical data files.
One of the advantages of exports is that one can selectively re-import tables, however one cannot
roll-forward from an
restored export file. To completely restore a database from an export file one practically needs to
recreate the entire
database.
Always do full system level exports (FULL=YES). Full exports include more information about
the database in the export file
or module to be run. If the called product is unavailable at the time of the call, Oracle Forms
returns a message to the
operator.
What is the main diff. bet. Reports 2.0 & Reports 2.5?
Report 2.5 is object oriented.
their default names, data types, had lengths from the database columns referenced in the
SELECT statement. The records in
query record group are the rows retrieved by the query associated with that record group.
relationship between the blocks reflects a primary key to foreign key relationship between the
tables on which the blocks are
based.
What is a library?
A library is a collection of subprograms including user named procedures, functions and
packages.
What is an anchoring object & what is its use? What are the various sub events a mouse double
click event involves?
An anchoring object is a print condition object which used to explicitly or implicitly anchor other
objects to itself.
Use the add_group_column function to add a column to record group that was created at a design
time?
False
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 is the use of break group? What are the various sub events a mouse double click event
involves?
A break group is used to display one record for one group ones. While multiple related records in
other group can be
displayed.
What is STATSPACK and how does one use it? (for DBA)
Statspack is a set of performance monitoring and reporting utilities provided by Oracle from
Oracle8i and above. Statspack
provides improved BSTAT/ESTAT functionality, though the old BSTAT/ESTAT scripts are still
available. For more information
What are the common RMAN errors (with solutions)? (for DBA)
Some of the common RMAN errors are:
RMAN-20242: Specification does not match any archivelog in the recovery catalog.
Add to RMAN script: sql ‘alter system archive log current’;
RMAN-06089: archived log xyz not found or out of sync with catalog
Execute from RMAN: change archivelog all validate;
How can you execute the user defined triggers in forms 3.0 ?
Execute Trigger (trigger-name)
What ERASE package procedure does ?
Erase removes an indicated global variable.
When the form is running in DEBUG mode, If you want to examine the values of global
variables and other form variables, What
(EMP_CAT,’1′,’First’,'2′,’Second’Null); Here the Null is the else statement where null is done .
SYSTEM will be locked after creating an Oracle9iDB database using the DB Configuration
Assistant (dbca). DBA’s must unlock
What is the difference between DBFile Sequential and Scattered Reads?(for DBA)
Both “db file sequential read” and “db file scattered read” events signify time waited for I/O read
requests to complete.
Time is reported in 100’s of a second for Oracle 8i releases and below, and 1000’s of a second
for Oracle 9i and above. Most
people confuse these events with each other as they think of how data is read from disk. Instead
they should think of how
blocks). Single block I/Os are usually the result of using indexes. This event is also used for
rebuilding the control file
and reading data file headers (P2=1). In general, this event is indicative of disk contention on
index reads.
db file scattered read:
Similar to db file sequential reads, except that the session is reading multiple data blocks and
scatters them into different
discontinuous buffers in the SGA. This statistic is NORMALLY indicating disk contention on
full table scans. Rarely, data
from full table scans could be fitted into a contiguous buffer area, these waits would then show
up as sequential reads
How does one use ORADEBUG from Server Manager/ SQL*Plus? (for DBA)
Execute the “ORADEBUG HELP” command from svrmgrl or sqlplus to obtain a list of valid
ORADEBUG commands. Look at these
examples:
SQLPLUS> REM Trace SQL statements with bind variables
SQLPLUS> oradebug setospid 10121
Oracle pid: 91, Unix process pid: 10121, image: oracleorcl
SQLPLUS> oradebug EVENT 10046 trace name context forever, level 12
Statement processed.
SQLPLUS> ! vi /app/oracle/admin/orcl/bdump/ora_10121.trc
SQLPLUS> REM Trace Process Statistics
SQLPLUS> oradebug setorapid 2
Unix process pid: 1436, image: ora_pmon_orcl
SQLPLUS> oradebug procstat
Statement processed.
SQLPLUS>> oradebug TRACEFILE_NAME
/app/oracle/admin/orcl/bdump/pmon_1436.trc
SQLPLUS> REM List semaphores and shared memory segments in use
SQLPLUS> oradebug ipc
SQLPLUS> REM Dump Error Stack
SQLPLUS> oradebug setospid
SQLPLUS> oradebug event immediate trace name errorstack level 3
SQLPLUS> REM Dump Parallel Server DLM locks
SQLPLUS> oradebug lkdebug -a convlock
SQLPLUS> oradebug lkdebug -a convres
SQLPLUS> oradebug lkdebug -r (i.e 0×8066d338 from convres dump)
If the maximum record retrieved property of the query is set to 10 then a summary value will be
calculated?
Only for 10 records.
What are the different objects that you cannot copy or reference in object groups?
Objects of different modules
Another object groups
Individual block dependent items
Program units.
What is an OLE?
Object Linking & Embedding provides you with the capability to integrate objects from many
Ms-Windows applications into a
single compound document creating integrated applications enables you to use the features
form .
What are the return values of functions SQLCODE and SQLERRM ? What is Pragma
EXECPTION_INIT ? Explain the usage ?
SQLCODE returns the latest code of the error that has occurred.
SQLERRM returns the relevant error message of the SQLCODE.
use a primary PL/SQL tables can have one column and a primary key. Cursors
recovery time
Parallel operations are supported
Better querying facility for knowing different details of backup
No extra redo generated when backup is taken..compared to online
backup without RMAN which results in saving of space in hard disk
RMAN an intelligent tool
Maintains repository of backup metadata
Remembers backup set location
Knows what need to backed up
Knows what is required for recovery
Knows what backups are redundant
Backups in RMAN
Oracle backups in RMAN are of the following type
RMAN complete backup OR RMAN incremental backup
These backups are of RMAN proprietary nature
IMAGE COPY
The advantage of uing Image copy is its not in RMAN proprietary format..
Backup Format
RMAN backup is not in oracle format but in RMAN format. Oracle backup comprises of backup
sets and it consists of backup
pieces. Backup sets are logical entity In oracle 9i it gets stored in a default location There are two
type of backup sets
Datafile backup sets, Archivelog backup sets One more important point of data file backup sets
is it do not include empty
Restoring database
Restoring database has been made very simple in 9i .
It is just
Restore database..
RMAN has become intelligent to identify which datafiles has to be restored
and the location of backuped up file.
results in faster backups lesser space consumption and also reduces the time needed for daily
backups
The resulting image copy is now updated with block changes captured by incremental
backups.The merging of the image copy and
incremental backup is initiated with RMAN recover command. This results in faster recovery.
With the new DURATION option for the RMAN BACKUP command, DBAs can weigh backup
performance against system service level
New Features in Oem to identify RMAN related backup like backup pieces, backup sets and
image copy
already been backed up and also the same with archive log too.
Now with 9i backup optimization parameter we can prevent repeat backup of read only
tablespace and archive log. The command
backup You had to give a run etc . The syntax was a bit complex …RMAN has now become
very simple and easy to use..
If you changed the location of backup set it is compulsory for you to register it using RMAN or
while you are trying to
restore backup It resulted in hanging situations
There is no method to know whether during recovery database restore is going to fail because of
missing archive log file.
Compulsory Media Management only if using tape backup
Incremental backups though used to consume less space used to be slower since it used to read
the entire database to find the
changed blocks and also They have difficult time streaming the tape device. .
Considerable improvement has been made in 10g to optimize the algorithm to handle changed
block.
Observation
Introduced in Oracle 8 it has become more powerful and simpler with newer version of Oracle 9
and 10 g.
So if you really don’t want to miss something critical please start using RMAN.
but not by the second.UNION - returns all distinct rows selected by either queryUNION ALL -
returns all rows selected by
Should the OEM Console be displayed at all times (when there are scheduled jobs)? (for DBA)
When a job is submitted the agent will confirm the status of the job. When the status shows up as
scheduled, you can close
down the OEM console. The processing of the job is managed by the OIA (Oracle Intelligent
Agent). The OIA maintains a .jou
file in the agent’s subdirectory. When the console is launched communication with the Agent is
established and the contents
of the .jou file (binary) are reported to the console job subsystem. Note that OEM will not be
able to send e-mail and paging
from nth position of string1.SUBSTR (String1 n,m)SUBSTR returns a character string of size m
in string1, starting from nth
position of string1.
What kind of jobs can one schedule with OEM? (for DBA)
OEM comes with pre-defined jobs like Export, Import, run OS commands, run sql scripts,
SQL*Plus commands etc. It also gives
you the flexibility of scheduling custom jobs written with the TCL language.
column must be empty. to add a column with NOT NULL constrain, the table must be empty.
How does one backout events and jobs during maintenance slots? (for DBA)
Managemnet and data collection activity can be suspended by imposing a blackout. Look at
these examples:
agentctl start blackout # Blackout the entrire agent
agentctl stop blackout # Resume normal monitoring and management
agentctl start blackout ORCL # Blackout database ORCL
agentctl stop blackout ORCL # Resume normal monitoring and management
agentctl start blackout -s jobs -d 00:20 # Blackout jobs for 20 minutes
ROLESystem Control :
ALTER SYSTEM.
trying again:
1) In $ORACLE_HOME/network/admin: snmp_ro.ora and snmp_rw.ora.
2) Also delete ALL files in $ORACLE_HOME/network/agent/.
“Monitored Destinations” field when you’ve registered the event in the OEM Console.
Where can one get more information about TCL? (for DBA)
One can write custom event checking routines for OEM using the TCL (Tool Command
Language) language. Check the following
with other database users. It is a bad practice to create the repository with SYS and System.
. If you are unable to launch the console or there is a communication problem with the intelligent
agent (daemon). Ensure OCX
files are registered. Type the following in the DOS prompt (the current directory should be
$ORACLE_HOME\BIN:
C:\Orawin95\Bin> RegSvr32 mmdx32.OCX
C:\Orawin95\Bin> RegSvr32 vojt.OCX
. If you have a problem starting the Oracle Agent
Solution A: Backup the *.Q files and Delete all the *.Q Files ($Oracle_home/network/agent
folder)
Backup and delete SNMP_RO.ora, SNMP_RW.ora, dbsnmp.ver and services.ora files
($Oracle_Home/network/admin folder) Start the
What is import/export and why does one need it? (for DBA)
The Oracle export (EXP) and import (IMP) utilities are used to perform logical database backup
and recovery. They are also
used to move Oracle data from one machine, database or schema to another.
The imp/exp utilities use an Oracle proprietary binary file format and can thus only be used
between Oracle databases. One
cannot export data and expect to import it into a non-Oracle database. For more information on
how to load and unload data
line parameters, or using parameter files. Look at the imp/exp parameters before starting. These
parameters can be listed by
example:
exp scott/tiger tables=emp query=\”where deptno=10\”
What are the two ways to incorporate images into a oracle forms application?
Boilerplate Images
Image_items
Can one monitor how fast a table is imported? (for DBA)
If you need to monitor how fast rows are imported from a running import job, try one of the
following methods:
Method 1:
select substr(sql_text,instr(sql_text,’INTO “‘),30) table_name,
rows_processed,
round((sysdate-to_date(first_load_time,’yyyy-mm-dd hh24:mi:ss’))*24*60,1) minutes,
trunc(rows_processed/((sysdate-to_date(first_load_time,’yyyy-mm-dd hh24:mi:ss’))*24*60))
rows_per_min
from sys.v_$sqlarea
where sql_text like ‘INSERT %INTO “%’
and command_type = 2
and open_versions > 0;
For this to work one needs to be on Oracle 7.3 or higher (7.2 might also be OK). If the import
has more than one table, this
statement will only show information about the current table being imported.
Contributed by Osvaldo Ancarola, Bs. As. Argentina.
Method 2:
Use the FEEDBACK=n import parameter. This command will tell IMP to display a dot for every
N rows imported.
tablespace they were originally exported from. One can alter this behaviour by following one of
these procedures: Pre-create
records.
How is possible to restrict the user to a list of values while entering values for parameters?
By setting the Restrict To List property to true in the parameter property sheet.
to that of the DB2 Load utility, but comes with more options. SQL*Loader supports various load
formats, selective loading,
data file, and use BEGINDATA to start the data section in the control file.
load data
infile *
replace
into table departments
( dept position (02:05) char(4),
deptname position (08:27) char(20)
)
begindata
COSC COMPUTER SCIENCE
ENGL ENGLISH LITERATURE
MATH MATHEMATICS
POLY POLITICAL SCIENCE
it to a file:
set echo off newpage 0 space 0 pagesize 0 feed off head off trimspool on
spool oradata.txt
select col1 || ‘,’ || col2 || ‘,’ || col3
from tab1
where col2 = ‘XYZ’;
spool off
Alternatively use the UTL_FILE PL/SQL package:
rem Remember to update initSID.ora, utl_file_dir=’c:\oradata’ parameter
declare
fp utl_file.file_type;
begin
fp := utl_file.fopen(’c:\oradata’,'tab1.txt’,'w’);
utl_file.putf(fp, ‘%s, %s\n’, ‘TextField’, 55);
utl_file.fclose(fp);
end;
/
You might also want to investigate third party tools like SQLWays from Ispirer Systems, TOAD
from Quest, or ManageIT Fast
Can one load variable and fix length data records? (for DBA)
Yes, look at the following control file examples. In the first we will load delimited data (variable
length):
LOAD DATA
INFILE *
INTO TABLE load_delimited_data
FIELDS TERMINATED BY “,” OPTIONALLY ENCLOSED BY ‘”‘
TRAILING NULLCOLS
( data1,
data2
)
BEGINDATA
11111,AAAAAAAAAA
22222,”A,B,C,D,”
If you need to load positional data (fixed length), look at the following control file example:
LOAD DATA
INFILE *
INTO TABLE load_positional_data
( data1 POSITION(1:5),
data2 POSITION(6:15)
)
BEGINDATA
11111AAAAAAAAAA
22222BBBBBBBBBB
Can one skip header records load while loading?
Use the “SKIP n” keyword, where n = number of logical rows to skip. Look at this example:
LOAD DATA
INFILE *
INTO TABLE load_positional_data
SKIP 5
( data1 POSITION(1:5),
data2 POSITION(6:15)
)
BEGINDATA
11111AAAAAAAAAA
22222BBBBBBBBBB
Can one modify data as it loads into the database? (for DBA)
Data can be modified as it loads into the Oracle Database. Note that this only applies for the
conventional load path and not
Can one load data into multiple tables at once? (for DBA)
Look at the following control file:
LOAD DATA
INFILE *
REPLACE
INTO TABLE emp
WHEN empno != ‘ ‘
( empno POSITION(1:4) INTEGER EXTERNAL,
ename POSITION(6:15) CHAR,
deptno POSITION(17:18) CHAR,
mgr POSITION(20:23) INTEGER EXTERNAL
)
INTO TABLE proj
WHEN projno != ‘ ‘
( projno POSITION(25:27) INTEGER EXTERNAL,
empno POSITION(1:4) INTEGER EXTERNAL
)
What is the difference between boiler plat images and image items?
Boiler plate Images are static images (Either vector or bit map) that you import from the file
system or database to use a
graphical elements in your form, such as company logos and maps. Image items are special types
of interface controls that
store and display either vector or bitmap images. Like other items that store values, image items
can be either base table
items(items that relate directly to database columns) or control items. The definition of an image
item is stored as part of
the form module FMB and FMX files, but no image file is actually associated with an image
item until the item is populate at
run time.
Can one selectively load only the records that one need? (for DBA)
Look at this example, (01) is the first character, (30:37) are characters 30 to 37:
LOAD DATA
INFILE ‘mydata.dat’ BADFILE ‘mydata.bad’ DISCARDFILE ‘mydata.dis’
APPEND
INTO TABLE my_selective_table
WHEN (01) <> ‘H’ and (01) <> ‘T’ and (30:37) = ‘19991217′
(
region CONSTANT ‘31′,
service_key POSITION(01:11) INTEGER EXTERNAL,
call_b_no POSITION(12:29) CHAR
)
Can one skip certain columns while loading data? (for DBA)
One cannot use POSTION(x:y) with delimited data. Luckily, from Oracle 8i one can specify
FILLER columns. FILLER columns are
used to skip columns/fields in the load file, ignoring fields that one does not want. Look at this
example: — One cannot use
POSTION(x:y) as it is stream data, there are no positional fields-the next field begins after some
delimiter, not in column
X. –>
LOAD DATA
TRUNCATE INTO TABLE T1
FIELDS TERMINATED BY ‘,’
( field1,
field2 FILLER,
field3
)
column 1.
How can get SQL*Loader to COMMIT only at the end of the load file? (for DBA)
One cannot, but by setting the ROWS= parameter to a large value, committing can be reduced.
Make sure you have big rollback
during the load process. This will significantly slow down load times even with ROWS= set to a
high value.
Add the following option in the command line: DIRECT=TRUE. This will effectively bypass
most of the RDBMS processing.
Turn off database logging by specifying the UNRECOVERABLE option. This option can only
be used with direct data loads. Run multiple load jobs concurrently.
How does one use SQL*Loader to load images, sound clips and documents? (for DBA)
SQL*Loader can load data from a “primary data file”, SDF (Secondary Data file - for loading
nested tables and VARRAYs) or LOGFILE. The LOBFILE method provides and easy way to
load documents, images and audio clips into BLOB and CLOB columns.
What is the difference between the conventional and direct path loader? (for DBA)
The conventional path loader essentially loads the data by using standard INSERT statements.
The direct path loader (DIRECT=TRUE) bypasses much of the logic involved with that, and
loads directly into the Oracle data files. More information about the restrictions of direct path
loading can be obtained from the Utilities Users Guide.
Functions return a single variable by value whereas procedures do not return any variable by
value. Rather they return multiple variables by passing variables by reference through their OUT
parameter.
Can you have two functions with the same name in a PL/SQL block ?
Yes.
Can you have two stored functions with the same name ?
Yes.
OverLoading means an object performing different functions depending upon the no. of
parameters or the data type of the parameters passed to it.
Can 2 functions have same name & input parameters but differ only by return datatype ?
No.
What is the maximum no. of statements that can be specified in a trigger statement ?
One.
What are cascading triggers? What is the maximum no of cascading triggers at a time?
When a statement in a trigger body causes another trigger to be fired, the triggers are said to be
cascading. Max = 32.
Used by Oracle to store information about various physical and logical Oracle structures e.g.
Tables, Tablespaces, datafiles, etc
Yes. In the CHECK condition for a column of a table, we can reference some other column of
the same table and thus enforce self referential integrity.
What are the states of a rollback segment ? What is the difference between partly available and
needs recovery ?
The various states of a rollback segment are :
ONLINE, OFFLINE, PARTLY AVAILABLE, NEEDS RECOVERY and INVALID.
An insert statement followed by a create table statement followed by rollback ? Will the rows be
inserted ?
No.
The & operator means that the PL SQL block requires user input for a variable. The && operator
means that the value of this variable should be the same as inputted by the user previously for
this same variable. If a transaction is very large, and the rollback segment is not able to hold the
rollback information, then will the transaction span across different rollback segments or will it
terminate ? It will terminate (Please check ).
Can you pass a parameter to a cursor ?
Explicit cursors can take parameters, as the example below shows. A cursor parameter can
appear in a query wherever a constant can appear. CURSOR c1 (median IN NUMBER) IS
SELECT job, ename FROM emp WHERE sal > median;
Which symbol preceeds the path to the table in the remote database ?
@
If all the values from a cursor have been fetched and another fetch is issued, the output will be :
error, last record or
first record ?
Last Record
A table has the following data : [[5, Null, 10]]. What will the average function return ?
7.5
Consider a sequence whose currval is 1 and gets incremented by 1 by using the nextval reference
we get the next number 2. Suppose at this point we issue an rollback and again issue a nextval.
What will the output be ?
3
A Relational Database is a database where all data visible to the user is organized strictly as
tables of data values and where all database operations work on these tables.
In a Single Threaded Architecture (or a dedicated server configuration) the database manager
creates a separate process for each database user. But in MTA the database manager can assign
multiple users (multiple user processes) to a single dispatcher (server process), a controlling
process that queues request for work thus reducing the databases memory requirement and
resources.
What is Auditing ?
The database has the ability to audit all actions that take place within it.
a) Login attempts, b) Object Accesss, c) Database Action Result of Greatest(1,NULL) or
Least(1,NULL) NULL
TO make index access path unavailable - Use FULL hint to optimizer for full table scan - Use
INDEX or AND-EQUAL hint to optimizer to use one index or set to indexes instead of another.
- Use an expression in the Where Clause of the SQL.
Can database trigger written on synonym of a table and if it can be then what would be the effect
if original table is accessed.
Yes, database trigger would fire.
Synonym is just a second name of table used for multiple link of database. View can be created
with many tables, and with virtual columns and with conditions. But synonym can be on view.
What is the effect of synonym and table name used in same Select statement ?
Valid
Foreign key is the key i.e. attribute which refers to another table primary key. Reference key is
the primary key of table referred by another table. Can dual table be deleted, dropped or altered
or updated or inserted ?
Yes
If content of dual is updated to some value computation takes place or not ?
Yes
If any other table same as dual is created would it act similar to dual?
Yes
Assume that there are multiple databases running on one machine. How can you switch from one
to another ?
Changing the ORACLE_SID
Portability : Oracle is ported to more platforms than any of its competitors, running on more than
100 hardware platforms and 20 networking protocols. Market Presence : Oracle is by far the
largest RDBMS vendor and spends more on R & D than most of its competitors earn in total
revenue. This market clout means that you are unlikely to be left in the lurch by Oracle and there
are always lots of third party interfaces available. Backup and Recovery : Oracle provides
industrial strength support for on-line backup and recovery and good software fault tolerence to
disk failure. You can also do point-in-time recovery. Performance : Speed of a ‘tuned’ Oracle
Database and application is quite good, even with large databases. Oracle can manage > 100GB
databases.
Multiple database support : Oracle has a superior ability to manage multiple databases within the
same transaction using a two-phase commit protocol.
PL/SQL requires that you declare an identifier before using it. Therefore, you must declare a
subprogram before calling it. This declaration at the start of a subprogram is called forward
declaration. A forward declaration consists of a subprogram specification terminated by a
semicolon.
Formal Parameters : The variables declared in a subprogram specification and referenced in the
subprogram body are formal parameters. For example, the following procedure declares two
formal parameters named emp_id and increase: Eg. PROCEDURE raise_salary (emp_id
INTEGER, increase REAL) IS current_salary REAL;
What all important parameters of the init.ora are supposed to be increased if you want to increase
the SGA size ?
In our case, db_block_buffers was changed from 60 to 1000 (std values are 60, 550 & 3500)
shared_pool_size was changed from 3.5MB to 9MB (std values are 3.5, 5 & 9MB) open_cursors
was changed from 200 to 300 (std values are 200 & 300) db_block_size was changed from 2048
(2K) to 4096 (4K) {at the time of database creation}. The initial SGA was around 4MB when the
server RAM was 32MB and The new SGA was around 13MB when the server RAM was
increased to 128MB.
If I have an execute privilege on a procedure in another users schema, can I execute his
procedure even though I do not have privileges on the tables within the procedure ?
Yes
A package cursor is a cursor which you declare in the package specification without an SQL
statement. The SQL statement for the cursor is attached dynamically at runtime from calling
procedures.
If you insert a row in a table, then create another table and then say Rollback. In this case will the
row be inserted ?
Yes. Because Create table is a DDL which commits automatically as soon as it is executed. The
DDL commits the transaction
even if the create statement fails internally (eg table already exists error) and not syntactically.
What is a transaction ?
A transaction is a set of SQL statements between any two COMMIT and ROLLBACK
statements.
What is implicit cursor and how is it used by Oracle ?
An implicit cursor is a cursor which is internally created by Oracle. It is created by Oracle for
each individual SQL.
Which of the following is not a schema object : Indexes, tables, public synonyms, triggers and
packages ?
Public synonyms
What is PL/SQL?
PL/SQL is Oracle’s Procedural Language extension to SQL. The language includes object
oriented programming techniques such as encapsulation, function overloading, information
hiding (all but inheritance), and so, brings state-of-the-art programming to the Oracle database
server and a variety of Oracle tools.
No. Unlike Oracle Forms, SQL*Plus does not have a PL/SQL engine. Thus, all your PL/SQL are
send directly to the database engine for execution. This makes it much more efficient as SQL
statements are not stripped off and send to the database individually.
Currently, the maximum parsed/compiled size of a PL/SQL block is 64K and the maximum code
size is 100K. You can run the following select statement to query the size of an existing package
or procedure.
SQL> select * from dba_object_size where name = ‘procedure_name’
Included in Oracle 7.3 is a UTL_FILE package that can read and write files. The directory you
intend writing to has to be in your INIT.ORA file (see UTL_FILE_DIR=… parameter). Before
Oracle 7.3 the only means of writing a file was to use
Can one use dynamic SQL within PL/SQL? OR Can you use a DDL in a procedure ? How ?
From PL/SQL V2.1 one can use the DBMS_SQL package to execute dynamic SQL statements.
Eg: CREATE OR REPLACE PROCEDURE DYNSQL
AS
cur integer;
rc integer;
BEGIN
cur := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE(cur,’CREATE TABLE X (Y DATE)’, DBMS_SQL.NATIVE);
rc := DBMS_SQL.EXECUTE(cur);
DBMS_SQL.CLOSE_CURSOR(cur);
END;
Synonym is just a second name for a table used for multiple link of database.View can be created
with many tables, and with virtual columns and with conditions but its not physically stored.