You are on page 1of 47

What are the pre-requisites of the Oracle Installation?

Prerequisites:
Make sure your process architecture is certified by oracle corporation:
$uname m
$grep model name /proc/cpuinfo
Make sure that your linux distribution is certified by oracle corporation.
$cat /etc/redhat-release
Make sure that all of the required operating system packages have been installed on the
database server. Which package and versions are required will vary depending on your linux
distribution and hardware platform. You can verify that a package has been installed:
$rpm q
Make sure that your hardware is sufficient. At least 1 GB RAM, 1.5 times the amount of
physical memory and bare minimum of 6.5 GB of disk space.
$grep MemTotal /proc/meminfo
$grep SwapTotal /proc/meminfo
Oracle installer will need access to a directory with at least 1 GB of free space for writing
temporary files during installation.
Make sure that the linux kernel on the database server has parameters set sufficiently high for
oracle. You can change kernel parameters in linux simply by editing the /etc/sysctl.conf file
and rebooting the server.
Create a linux group that will be used by the oracle software owner. You can call it anything
you like, but the standard is oinstall. You can create your oinstall group with a command
like:
$/usr/sbin/groupadd g 501 oinstall
Create a linux group that will be used by oracle database administrator. You can call it
anything you like, but the standard is dba. You can create your dba group with a command
like:
$/usr/sbin/groupadd g 502 dba
Create a linux user that will be the oracle software owner. You can call it anything you like,
but the standard is Oracle.
$/usr/sbin/useradd c Oracle software owner d /home/oracle g oinstall G dba m u 501
s /bin/bash oracle
$passwd oracle
It is necessary to increase limits that the shell imposes on the oracle user for maximum
number of open file descriptors and process.
Create mount points for the oracle software and the oracle database. Each mount point should
correspond to a separate physical device or set of devices. Youll need at least one mount
point. Create an app/oracle subdirectory below the software mount point, and oradata
subdirectories below the mount point to be used for database files. Make these subdirectories
owned by the oracle user and oinstall group, and give them 775 permissions, except for the
datafile directory, give this 750 permissions.
If you downloaded the oracle software then use unzip to unpack the distribution. If you have
the software on CD or DVD, then mount the media.
Edit the oracle users login file on the database server so that the environment will be
configured automatically on login. If you are using bash shell, then edit .bash_profile.
Log out and log back in as the oracle user from an X window so that the environment is set
correctly.

Make sure your DISPLAY variable is set. If you had to set your DISPLAY variable manually,
then ensure that the X server on your workstation will allow your database server to open
windows on your display.
Ensure that the mount point you plan to use for the oracle software has sufficient free space.
Log in as oracle user, and start OUI with runInstaller command. Follow the oracle installation
dialog box and respond to the prompt.
How to upgrade the database from 8i to 10g?
Upgrading Manually
The steps for a manual upgrade to the Oracle Database 10g database version are following:
Create a spool file.
SQL> SPOOL upgrade.log
2. Log in as a user with the SYSDBA privilege, and run the Pre-Upgrade Information Tool.
Make any changes it recommends.
To start the Pre-Upgrade Information Tool, run the following:
SQL> @$ORACLE_HOME\rdbms\admin\utlu102i.sql
To see the results of the pre-upgrade check, turn spooling off with the following command:
SQL> spool off
Check the upgrade.log spool file to see if you meet all upgrade requirements.
Back up the database youre going to upgrade.
Copy the current init.ora file to the new Oracle Database 10g init.ora file location.
Copy your current init.ora file to its default location in the new Oracle Database 10g Release
2 home ($ORACLE_HOME/dbs). You should also make the changes that the Pre-Upgrade
Information Tool recommended. Remove all obsolete and deprecated parameters and add the
new parameters, such as SGA_TARGET, which automates shared memory management.
Shut down the database and restart it under the new Oracle 10g home in the STARTUP
UPGRADE mode.
Shut down the current database if its running, and start it up again with the updated init.ora
parameter file under the new Oracle Database 10g home.
Create the required Sysaux tablespace.
SQL> CREATE TABLESPACE sysaux DATAFILE '/u10/oradata/prod/sysaux01.dbf'
SIZE 500M REUSE
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
The database is now technically converted into an Oracle Database 10g version

SQL> SELECT * FROM V$VERSION;


Run the catupgrd.sql upgrade script.
Make sure youre logged in as a user with SYSDBA privileges, and run the upgrade script
from the new environment:
SQL> @$ORACLE_HOME/rdbms/admin/catupgrd.sql
Check to see if any objects became invalidated during the database upgrade.
SQL> SELECT count(*) FROM DBA_OBJECTS
WHERE status = 'INVALID';
Run the utlrp.sql script to recompile any objects that became invalid during the database
upgrade.
You can recompile all invalidated Oracle database objects using the utlrp.sql script:
SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql
To check that there arent any invalid objects left, you should run the check again:
SQL> SELECT count(*) FROM dba_objects
WHERE status = 'INVALID';
Run the Post-Upgrade Status Tool.
After the upgrade process completes, you must run the Post-Upgrade Status Tool, using the
following script:.
SQL> @utlu102s.sql
The Post-Upgrade Status Tool summarizes the upgrade process.
Caution Dont start the newly upgraded database under the old Oracle homethis corrupts
your database.
End the spool file.
After the upgrade script had finished, you can turn off the spooling of the upgrade process:
SQL> SPOOL OFF
Shutting Down and Starting Up the New Database
You can now shut down and restart the instance so youre ready for normal database
operations:
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
Its a good idea to promptly back up the new database. You must also change the passwords
for the Oracle-supplied user accounts if you manually upgraded the database. You may also
need to modify the listener.ora file, as well as migrate to the SPFILE from your init.ora file.

Choose to migrate all your dictionary-managed tablespaces to locally managed tablespaces


by using the DBMS_SPACE_ADMIN package.
SQL>EXECUTE DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL
('TEST1');
Error in RMAN backup and recovery.
RMAN fails with ORA-01031 (insufficient privileges) or ORA-01017 (invalid
username/password) errors when trying to connect to the target database
RMAN-10003: unable to connect to target database using connect string
system/manager@proddb"
RMAN-04004: error from recovery catalog database: ORA-28009: connection as SYS should
be as SYSDBA or SYSOPER
RMAN-20202: Tablespace not found in the recovery catalog
RMAN-03009: failure of backup command on ch2 channel at 11/07/2011 17:37:00
ORA-19504: failed to create file "/PDF/AMDD_BACKUP/AMDD_Lvl0_Hot_Back"
ORA-27038: created file already exists
RMAN-03009: failure of allocate command on t1 channel at 07/21/2005 13:49:06
ORA-19554: error allocating device, device type: SBT_TAPE, device name:
ORA-27211: Failed to load Media Management Library
RMAN-03009: failure of backup command on ch00 channel at 02/04/2010 23:34:43
ORA-19566: exceeded limit of 0 corrupt blocks for file
/db/FINPRODDATA/oradata/psindex.dbf
RMAN-06012: channel: C2 not allocated
RMAN-06023: no backup or copy of datafile 4 found to restore
RMAN-06059: expected archived log not found, lost of archived log
compromises recoverability
RMAN-05001: auxiliary file name conflicts with a file used by the target database . RMAN05501 Getting this when creating standby database
RMAN-06002: command not allowed when not connected to a recovery catalog
What will you do if the archive location becomes full?
A: Once the archive destination becomes full the location also becomes invalid. Normally
Oracle does not do a recheck to see if space has been made available.
Using the command:
alter system archive log all to '/u07/app/oradata/DBADB/archive';
gives Oracle a valid location for the archive logs. Even after using this, the archive log
destination parameter is still invalid and automatic archive does not work. This solution is
best for systems that do not archive regularly but cannot be shutdown. You can also use this
to allow you to do a Shutdown immediate instead of Shutdown abort.

Shutdown and restart of the database resets the archive log destinstation parameter to be
valid. Do not forget to make disk space available before starting the database.
Use the REOPEN attribute of the LOG_ARCHIVE_DEST_n parameter to determine whether
and when ARCn attempts to re-archive to a failed destination following an error. REOPEN
applies to all errors, not just OPEN errors. REOPEN=n sets the minimum number of seconds
before ARCn should try to reopen a failed destination. The default value for n is 300 seconds.
A value of 0 is the same as turning off the REOPEN option, in other words, ARCn will not
attempt to archive after a failure. If you do not specify the REOPEN keyword, ARCn will
never reopen a destination following an error.
alter system archive log stop;
alter system archive log start;
A tablespace is in begin backup mode and my database crashes what would be the
result
A: we cannot startup a database whose any of the datafile is in backup mode.
AT STARTUP AFTER CRASH WITH TABLESPACE(S) IN HOT BACKUP
*******************************************************
1. Mount the database.
SQL> STARTUP MOUNT;
2. Find out which datafiles were in hot backup mode when the database crashed or was
shutdown abort or the machine was rebooted by running the query:
SQL> SELECT V1.FILE#, NAME
FROM V$BACKUP V1, V$DATAFILE V2
WHERE V1.STATUS = 'ACTIVE' AND V1.FILE# = V2.FILE#;
3. For each of the files returned by the above query, issue the command:
SQL> ALTER DATABASE DATAFILE '<full path name>' END BACKUP;
4. Open the database.
SQL> ALTER DATABASE OPEN;
I have a corrupted system datafile for the database what will you do
A: We need to start the database in mount mode, then restore the system datafile to its proper
location and apply the recover database command. When we get recovery completion
message, we open the database.
How do I detect corruptions on the database
A: We detect the corruptions on the database by using DBVERIFY utility. It is used to
perform a physical data structure integrity check on datafiles whether the database is online
or offline. We invoke the dbverify utility from the O/S command line
$dbv file=<datafilename> log=<loglocation> block=<datafileblocksize>
A datafile of the non system tablespace is corrupt what will I do
A: First of all, we change the status of relevant datafiles to offline, restore the datafiles to its
proper location and apply the ALTER DATABASE RECOVER DATAFILE <DATAFILE>;
once the datafile is recovered, we bring back the datafile in online status.

How do you diagnose a lock issue


A: The first thing that we need to do is to know what the session is actually doing, whether it
is idle, processing or waiting. If session is in waiting state, we need to find out which thing
makes session waiting. We diagnose the problem using STATE and EVENT column of
V$SESSION view. If the session is waiting for anything, we need to find out how long the
session has been waiting by using SESSION_IN_WAIT column. A very long wait usually
indicates some sort of bottleneck. The EVENT column shows not only the event a session is
experiencing now but also the last wait event the session has experienced. Another column
WAIT_TIMEin the same V$SESSION view shows how long that wait lasted. The next
logical question is which session holds that lock the answer comes with
BLOCKING_SESSION column. If the session holding the lock is an orphan session, you
may want to kill it to release the lock. Find the SQL statement the session is executing. We
also query the V$LOCK view to identify the blocking session.
Describe how to trace a database session
A: To trace a particular session, we need session id and serial number for that session. Once
we have sid and serial#, we invoke
execute dbms_system.set_sql_trace_in_session(<sid>,<serial#>, true);
at sql prompt, we run the task to demonstrate the problem and after executing the task, we
disable the trace by invoking
execute dbms_system.set_sql_trace_in_session(<sid>,<serial#>, false);
It will create a dump file in user_dump_dest location in the database. We need to convert this
dump file in human readable format by using tkprof utility.
A query is going for full table scans , what will you do
A: When a query goes to full table scan, we need to focus on the number of rows in that table,
if it is a small table, full table scan does not matter, but with the large table, we need to check
whether stats for related table are latest or not. Sometimes, a missing or corrupted index also
cause the full table scan.
A tablespace with 2 datafiles was added after the last backup taken. One of the datafiles
has become corrupt. How do I deal with this scenario
A: we need to create a new empty datafile to replace the damaged datafile that has no
corresponding backup then recover the new datafile by applying archivelog files.
What are the advantages of using RMAN
A: The RMAN utility has following advantages over user managed backup:
It automatically manages the backup files without DBA intervention.
It automatically deletes unnecessary backup datafiles and archived redo log files both from
disk and tape
It provides you with detailed reporting of backup actions.
It provides considerable help in duplicating a database or creating a standby database.
It lets you verify that available backups are usable for recovery.
It lets you make incremental backups, which isnt possible by any other means of any backup.

It automatically detects corrupt data blocks during backups, with the corruption relevant
information recorded in the V$DATABASE_BLOCK_CORRUPTION view.
When only a few data blocks are corrupted, you can recover at the data block level, instead of
recovering an entire datafile.
You can take advantage of the unused block compression feature, wherein RMAN skips
unused data blocks during a backup.
Only RMAN provides the ability to perform encrypted backups.
What is CPU Patches and how to install ?
An n-apply CPU patch consists of groups of security fixes, where each group is called a
molecule. Each molecule is an independent patch and does not conflict with any of the other
molecule patches within the CPU. Prior to the patch installation, the following checks are
performed for each molecule patch being installed:
Conflicts with other patches
Subset patches (patch to be installed is a subset of an existing patch in the Oracle Home)
Duplicates (patch to be installed is the same as an existing patch in the Oracle Home)
If a conflict is found, the installation will stop and you will be notified to file a merge request
for the conflicting patches.
Select one of the following options:
Option 1: Resolve patch conflicts and install CPU together
File an SR for the merge request indicating all patches that conflict with the CPU as reported
by OPatch.
Install the merge patches when they become available.
Install the CPU patch.
Option 2: Perform a partial installation of the CPU and resolve the conflicts later
At the conclusion of the aborted installation, OPatch returns the necessary command to install
all molecules that do not conflict with patches in the Oracle home. Run this command to
perform a partial CPU installation.
File an SR for the merge request indicating all patches that conflict with the CPU as reported
by OPatch.
Install the merge patches when they become available.
If a subset or duplicate is found, the patch installation will continue. The subset and duplicate
patches will not be installed as they are already installed.
export PATH=$PATH:/usr/ccs/bin
unzip p14038791_112020_<platform>.zip
cd 14038791
opatch napply -skip_subset -skip_duplicate
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle.sql cpu apply
SQL> QUIT
Check the following log files in $ORACLE_BASE/cfgtoollogs/catbundle for any errors:
catbundle_CPU_<database SID>_APPLY_<TIMESTAMP>.log
catbundle_CPU_<database SID>_GENERATE_<TIMESTAMP>.log

First of all what will check in awr report?


First of all we need to check the elapsed time and the database time. The database time
should be greater than elapsed time. Database time/elapsed time gives us database load means
average active sessions. Then we focus on foreground wait events, total wait/(elapsed time *
60) gives average inactive sessions. Then we focus on time model statistics, check how many
percent of DB time is for sql execution. Then we focus on top 5 timed foreground events and
make sure which kind of waits is being experienced. If wait belongs to user input/output,
check tablespace, datafile, wait histogram, segment reads and sql by reads. It would be better
to review disk and move one datafile. It wait belongs to cpu, then check os cpu, sql by cpu
and sql by gets. It would be better to add index on inventories. If wait belongs to commit,
then check load profile and instance stats. This is optimal for OLTP instance, short
transactions and frequent commits. If wait is due to lock, then check histogram and segments.
The solution is to apply lock on only required table.
Suppose top wait event are showing buffer busy wait,db file sequential read,what will
you do?
Buffer busy wait:
This wait happens when a session wants to access a database block in the buffer cache but it
cannot as the buffer is "busy". The two main cases where this can occur are:
Another session is reading the block into the buffer
Another session holds the buffer in an incompatible mode to our request
Normal wait time is 1 second. If the session has been waiting for an exclusive buffer during
the last wait then it waits 3 seconds this wait. The session will keep timing-out/waiting until it
acquires the buffer.
Finding the blocking process can be quite difficult as the information required is not
externalised. If P3 (Reason Code) shows that the "buffer busy wait" is waiting for a block
read to complete then the blocking session is likely to be waiting on an IO wait (eg: "db file
sequential read" or "db file scattered read") for the same file# and block#.
If the wait is due to the buffer being held in an incompatible mode then it should be freed
very soon.
Db_file_sequential_read: A sequential read wait occurs within an Oracle database when a
single block is read. A single read is most commonly an index probe by ROWID into an
individual table, or the access of an index block. Sequential reads are single-block reads, as
opposed to multiblock (scattered) reads.
Solutions to Physical Read Waits:
Tune the SQL
Re-schedule contentious SQL
Re-analyze schema using dbms_stats
Distribute disk I/O across more spindles
Use the KEEP pool
Increase the data buffer cache size
In top 5 Sql section ,how to analyze the sql statement and how to find this sql statement
is giving the problem.
In order to analyze a sql statement, that has regressed, simply generate an awr sql report for a
time when the statement was performing well, and a second report when statement was

performing poorly, the execution plan and statistics can then be compared between the two
reports to determine why the sql statement has regressed. Not all regressions are due to plan
changes, it may be that the statement is executed more often, retrieves more data, or incurs
more wait time. Comparing both the statistics and the execution plans can help determine the
cause of regression.
Steps involved in RMAN cloning.
RMAN> connect target /
RMAN> backup database plus archivelog;
Enter the listener information in listener.ora file and tnsnames.ora.
Create the init.ora file for the new duplicate database. Specifiy the db_file_name_convert and
log_file_name_convert parameters.
Create the password file for new duplicate database.
Source the environment for duplicate database
Connect as sysdba and start the database in nomount state using new created pfile and exit
from the session.
Source the environment again for primary database.
RMAN>connect target / auxiliary sys/passwd@dupdb
RMAN> duplicate target database to dupdb;
Relation b/w commit and ckeckpoint.
There is no relationship between commit and checkpoint.
Checkpoint is a feature, it does not trigger LGWR.
DBWR may trigger LGWR to write in log file if some redo verctors that protect blocks of the
previous list are not already written.
SCN no relation with commit. SCN may increase but this has no relation with commit (in
user sense).
SCN is more System Change Number, it ticks many changes, not only commits. it is not
always that DBWR triggers LGWR.It does so only when it finds that the dirty blocks in the
redo are not yet written. Locks are released at commit (or rollback) not at checkpoint.
Commits (and rollbacks) are user actions, checkpoint is background action.
LGWR and DBWR works together, they are not independent, it is the opposite, they are
tightly linked.
Relation b/w logswitch and ckeckpoint.
A log switch is when we fill up one online redo log and goto the next. A log switch will
always initiate a CHECKPOINT (it always starts a checkpoint going).
A log switch implies a checkpoint will start. A checkpoint implies nothing about a log switch
(checkpoints may be started based on time, number of changed OS blocks, log switches or
operator intervention. A checkpoint does not cause a log switch, a log switch causes a
checkpoint). So, that is the relationship between the two. The reason a log switch fires a
checkpoint is because the system wants to get the blocks in the buffer cache that are
"protected" by the online redo log we just filled flushed to disk (so we can reuse that redo log
file).

If we did not flush these blocks out -- we would need to keep that filled online redo log file
until we did flush them out (it is needed to recover those dirty blocks in the event of a
failure). So, the log switch fires a checkpoint in anticipation of needing to reuse that redo log
file.
What if top command doesnt work?
Top command displays information about top consuming resource process. But if top does
not work, we can use ps command to get that information. E.g.,
$ps e o pcpu,pid,user,tty,args | sort n k 1 r | head
How will you trace the user session? What is event 10046?
SQL> ALTER SESSION SET EVENTS '10046 trace name context forever, level 8';
SQL> ALTER SESSION SET EVENTS '10046 trace name context off';
SQL> EXEC DBMS_SYSTEM.set_sql_trace_in_session(sid=>123, serial#=>1234,
sql_trace=>TRUE);
SQL> EXEC DBMS_SYSTEM.set_sql_trace_in_session(sid=>123, serial#=>1234,
sql_trace=>FALSE);
SQL> EXEC DBMS_SYSTEM.set_ev(si=>123, se=>1234, ev=>10046, le=>8, nm=>' ');
SQL> EXEC DBMS_SYSTEM.set_ev(si=>123, se=>1234, ev=>10046, le=>0, nm=>' ');
Event 10046 is an undocumented, but well known feature within the Oracle database that
generates detailed information on how a statement is parsed, what the values of bind
variables are, and what wait events occurred during a particular session. Activating Event
10046 gives us a more detailed trace that that provided by alter session set sql_trace=true
I emptied the recycle bin and I need the table back or I will lose my job. How do I
recover a dropped table? Can I restore the table and recover the dropped table without
affecting other objects of the database?
DBAs get fired for dropping production tables, so act quickly! DDL like drop table cannot be
rolled-back, and you have lost your recycle bin, but you still have several options for
recovering a dropped table:
Data pump exports - If you care about the data in this table, you would have exported it
nightly.
RMAN - You can recover a single dropped table by restoring the entire database into your
test environment using RMAN, and then roll forward. You can then extract the table and copy
it from test to production using CTAS over a database link and then re-add the indexes and
constraints.
LogMiner - Oracle LogMiner can used to recover a dropped table. See here, the steps to
recover a dropped table using LogMiner.
Flashback - It's easy to recover a dropped table with these steps in flashback.
Here is an example of recovering a dropped table with flashback. To recover the table we first
check to see that it resides in the recyclebin, and then we issue the flashback table to before
drop command to recover the table:

SQL> drop table mytab;


Table dropped.
SQL> select original_name from dba_recyclebin;
ORIGINAL_NAME
-------------------------------MYTAB
SQL> flashback table MYTAB to before drop;
Flashback complete.
SQL> select * from mytab;
ID
---------2
2
What are the advantages of DATAPUMP over export import?Why Datapump is very
fast compared to export/import?
Ans:Top 10 difference between exp/imp(export/import) and expdp/impdp(Datapump export
and import) are:
1)Data Pump Export and Import operate on a group of files called a dump file set rather than
on a single sequential dump file.
2)Data Pump Export and Import access files on the server rather than on the client. This
results in improved performance. It also means that directory objects are required when you
specify file locations.
3)The Data Pump Export and Import modes operate symmetrically, whereas original export
and import did not always exhibit this behavior.
For example, suppose you perform an export with FULL=Y, followed by an import using
SCHEMAS=HR. This will produce the same results as if you performed an export with
SCHEMAS=HR, followed by an import with FULL=Y.
4)Data Pump Export and Import use parallel execution rather than a single stream of
execution, for improved performance. This means that the order of data within dump file sets
and the information in the log files is more variable.

5)Data Pump Export and Import represent metadata in the dump file set as XML documents
rather than as DDL commands. This provides improved flexibility for transforming the
metadata at import time.
6)Data Pump Export and Import are self-tuning utilities. Tuning parameters that were used in
original Export and Import, such as BUFFER and RECORDLENGTH, are neither required
nor supported by Data Pump Export and Import.
7)At import time there is no option to perform interim commits during the restoration of a
partition. This was provided by the COMMIT parameter in original Import.
8)There is no option to merge extents when you re-create tables. In original Import, this was
provided by the COMPRESS parameter. Instead, extents are reallocated according to storage
parameters for the target table.
9)Sequential media, such as tapes and pipes, are not supported.
10)The Data Pump method for moving data between different database versions is different
than the method used by original Export/Import. With original Export, you had to run an
older version of Export (exp) to produce a dump file that was compatible with an older
database version. With Data Pump, you can use the
current Export (expdp) version and simply use the VERSION parameter to specify the target
database version
Reorg? How and why and for which objects generally?
MOVE is easy. That moves an object from one tablespace (and set of data files) to another
tablespace (and another set of data files). That may or may not decrease the size of the table.
It would be used when you need to temporarily or permanently relocate an object, which is
what would need to happen if you need to shrink a data file.
COALESCE is only related to index-organized tables or hash partitioned tables. It does the
same thing for an index-organized table that coalescing an index does; it merges the contents
of an index block.
SHRINK SPACE tells Oracle to physically move rows around in a table (this is why row
movement must be enabled for the table) in order to release free space in the table back to the
tablespace. You'd do this if, for example, you have a log table that had been storing 9 months
of data and you've decided to permanently decrease that to 3 months of data, deleted the old 6
months worth of data, leaving the table permanently smaller (assuming no increase in the log
generation rate) and 67% empty.

ALTER TABLE SHRINK is a two phase operation:


1st. step: reads table from the back and deletes first row found , then read table from the front
and uses first free slot to reinsert it.
This is reiterated until the position for reading from back and reading from fron tis the same.
Then the segtment is compact, right. This is DML and indexes are maintained.
2. step adjusts high water mark. This need Exclusive Table lock.

On the other hand the ALETR TABLE MOVE is similar to a CREATE TABLE AS SELECT
which does not use the SGA but the PGA. Here arrays are filled in temporary segments and
then dumped into newly formatted blocks.
> Indexes are not maintained, the rows change their physical address and the indexes must be
rebuilt afterwards.
> Alter table move is not an online operation. No DMLs allowed in between.
> alter table move is to be used to reduce the no of empty blocks
In general ways of reorg are
table As Select (CTAS) - This copies the table rows into a clean area, lowering the highwater-mark, packing the rows densely (as dictated by PCTFREE) and releasing free space.
Online reorg - Using the dbms_redefinition package you can use parallel CTAS to reorganize
tables, while the tables continue to accept updates.
Data pump (expdp, impdp) - Rarely used in high-speed production apps, except for backups.
Alter table move - The alter table xxx move command moves rows down into un-used space
and adjusts the HWM but does not adjust the segments extents, and the table size remains the
same. The alter table move syntax also preserves the index and constraint definitions.
Alter table shrink space - Using the "alter table xxx shrink space compact" command will repack the rows, move down the HWM, and releases unused extents. With standard Oracle
tables, you can reclaim space with the "alter table shrink space" command:
If mount point gets full then how will we know. every time we dont go to the server and
we wont issue df -h. Then how can we know that its getting full?
#!/bin/bash
rm ~/latest_problem_with_disk_space
for i in `df -kh|grep -v cciss|grep -v intfdata|grep -v Available|grep -v none|grep -v stage|awk
'{print $4}'|sed -e 's/%//g' -e '1,2d'` ;
do
if [ $i -lt 90 ]; then
echo "good" ;
else
echo "we have a problem on `df -h | grep $i `" >> ~/latest_problem_with_disk_space ;

fi ;
done
if [ -e ~/latest_problem_with_disk_space ] ; then
mailx -s "FileSystem Full alert" your_email@yourcompany.com <
~/latest_problem_with_disk_space ;
fi
Why do I have invalid objects? What causes them? How you identify them ?
An object that references another object is called a dependent object, and an object being
referenced is a referenced object. These references are established at compile time, and if the
compiler cannot resolve them, the dependent object being compiled is marked invalid. When
a referenced object is changed in a way that might affect a dependent object, the dependent
object is marked invalid. It is important to be aware of changes that can invalidate schema
objects, because invalidation affects applications running on the database. Changes to tables,
views, or PL/SQL units typically occur when an application is patched or upgraded using a
patch script or ad-hoc DDL statements. Dependent objects might be left invalid after a patch
has been applied to change a set of referenced objects.
To identify the invalid objects:
SELECT object_name, object_type FROM dba_objects
WHERE status = 'INVALID'
How do you recommend to your client for applying cpu patches. How to they impact the
business.
Oracle believes that the timely application of Critical Patch Updates is necessary for
organizations to maintain a proper security in-depth posture. It is not mandatory to install
Critical Patch Updates, but Oracle strongly recommends that they are applied to fix security
vulnerabilities and minimize the risk of a successful attack. If this is not possible, customers
should determine the risk to machines based on factors such as:
the severity of unfixed vulnerabilities;
the sensitivity of data stored; and
the accessibility of the machine to attackers.
what is the use of psu patches ( patch set updates, i understand that both cpu and psu
are db patches and both are released quarterly), can you please throw some more light
on it .
Oracle PSU is a new patching strategy whereby the DBA can choose only "recommended"
and "proactive" patches, instead of all of the patches in a quarterly Critical Patch Update
(CPU).
An Oracle PSU contains recommended bug fixes and "proactive" cumulative patches, a nice
change that makes it simple for the DBA to chose to apply "priority" patches.
Starting each quarter, Oracle Critical Patch Updates (CPU) will now contain both the PSU
and CPU, so the DBA may choose to apply a whole CPU or only the selected patches in the
PSU patch bundle.

The naming conventions for CPU and PSU is the last-order digit, so it's easy to see of you are
patching with CPU or PSU:
CPU = 10.2.0.4.1
PSU = 10.2.0.4.2
Also, the PSU supports Oracle's zero-downtime patching, a method for RAC databases
whereby each node is patched independently with no downtime.
what is version conflict while patching and how to resolve it
if a patch has been applied, all the bugs fixed by that patch could reappear after another patch
is applied. This is called a conflict situation. OPatch detects such situations and raises an error
when a it detects a conflict.
OPatch can detect the following types of conflicts:
Bug Superset If all the bugs fixed by a patch in the system are also fixed by the patch to be
applied, this patch (the patch to be applied) is considered to be a superset of the patch already
applied. If a bug superset condition is detected, it is not considered an error situation. All the
subset patches are removed from the system and the new patch is applied.
For example, consider a scenario where four patches A,B,C, and D are applied in a system,
each of which fixes 2 bugs as shown in Figure 61. If you apply a patch E that fixes bugs
5,6,7,8,9, and 10, patch E will be the superset of patch C and D.
If you want OPatch to error out if the current patch bugs-to-fix is a superset or the same as an
installed patch bugs-fixed in the Oracle home directory, you can use the -no_bug_superset
flag:
$ OPatch/opatch apply -no_bug_superset <Path_To_Patch>
Subset Patches to be applied can be subsets of other patches installed in the Oracle home.
Consider the following scenario:
Patch A, installed in the Oracle home, fixed bugs 1, 2, and 3.
Patch B, installed in the Oracle home, fixed bugs 10, 11, and 12.
Patch D, to be installed, fixes bugs 1 and 2.
Patch D is a subset of Patch A.
Using the skip_subset Option
When you want to skip patches formerly applied in the Oracle home that are now subsets of
other patches you want to apply now, you can use the skip_subset option of napply. For
example, if you used napply yesterday for patch A that fixed bugs 1 and 2, then you use
napply today with the skip_subset option for patch B that fixes bug 1 and patch C that fixes
bugs 1, 2, and 3, then subset patch A is skipped, and patch C then becomes a superset of patch
A.
The following example applies all patches under the <patch_location> directory. OPatch
skips duplicate patches and subset patches (patches under <patch_location> that are subsets
of patches installed in the Oracle home).
opatch napply <patch_location> -skip_subset -skip_duplicate
The following example applies patches 1, 2, and 3 that are under the <patch_location>
directory. OPatch skips duplicate patches and subset patches (patches under <patch_location>
that are subsets of patches installed in the Oracle home).
opatch napply <patch_location> -id 1,2,3 -skip_subset -skip_duplicate
See the description for the skip_subset option in Table 43 for more information.

Duplicate A duplicate patch fixes the same set of bugs that another patch fixed. For
example, if you applied Patch A that fixed bugs 1, 2 and 3, and now apply Patch B that also
fixes bugs 1, 2 and 3, then Patch B is a duplicate of Patch A. A patch is always a duplicate of
itself.
Using the skip_duplicate Option
If you specify this option, OPatch removes duplicate patches from the list of patches to be
applied. For example, if you used napply yesterday for Patch A discussed above, then use
napply today with the -skip_duplicate option for Patch A and other patches, duplicate Patch A
is skipped.
Bug Conflict If a set of bugs to be fixed by the current interim patch includes some but
not all bugs already fixed by one or more previously installed interim patches, this is
considered a bug conflict. You must remove the bug conflict before proceeding with the patch
by using the apply command with the -force flag, which rolls back the conflicting patches
before applying the new one.
For example, consider a scenario where four patches A,B,C, and D are applied in a system,
each of which fixes 2 bugs as shown in Figure 62. If you apply a patch E that fixes bugs
1,3,5,7,9, and 10, this patch fixes bugs 1,3,5,7,9, and 10, opens bugs 2,4,6, and, 8. This is a
conflict situation.
File Conflict If a set of files to be patched by the current interim patch include files
already patched by one or more previously installed interim patches and it is not a bug
superset, this is considered a file conflict. You must remove the file conflict before you
proceed with patching by using the apply command with the -force flag, which rolls back the
conflicting patches before applying the new one.
Combination Conflict If a set of patches has a combination of a bug superset and bug
or file conflict, this is considered a combination conflict and is an error situation. In this case,
OPatch removes all conflicting patches as well as the subset patches and then re-applies the
new patch.
For example, consider a scenario where four patches A,B,C, and D are applied in a system,
each of which fixes 2 bugs as shown in Figure 63. Patch C is the subset of patch D. Patch A
and patch B are conflicting patches of patch D. If you apply this patch D that fixes bugs
1,3,5,6,7, and 8 with the -force flag, OPatch rolls back patches A, B, and C and applies patch
D.
Patch Conflict Detection and Resolution
OPatch detects and reports any conflicts encountered when applying an interim patch with a
previously applied patch. The patch application fails in case of conflicts. You can use the
-force option of OPatch to override this failure. If you specify -force, the installer firsts rolls
back any conflicting patches and then proceeds with the installation of the desired interim
patch.
You may experience a bug conflict and might want to remove the conflicting patch. This
process is known as patch rollback. During patch installation, OPatch saves copies of all the
files that were replaced by the new patch before the new versions of these files are loaded,
and stores them in $ORACLE_HOME/.patch_storage. These saved files are called rollback
files and are key to making patch rollback possible. When you roll back a patch, these
rollback files are restored to the system. If you have gained a complete understanding of the
patch rollback process, you should only override the default behavior by using the -force flag.
To roll back a patch, execute the following command:
$ OPatch/opatch rollback -id <Patch_ID>

How can you tell how much space is left on a given file system and how much space each
of the file systems subdirectories take-up?
$df h <filesystem>
$du sh <filesystem>
You have 4 instances running on the same UNIX box. How can you determine which
shared memory and semaphores are associated with which instance?
First, run "ipcs -b" on the database server.
Now log into each individual instance you have up and running by setting your
"ORACLE_HOME" and "ORACLE_SID". Log into each instance using "svrmgrl" and use
the following command:
svrmgr> connect internal
Connected.
SVRMGR> oradebug ipc
output shows that the particular database instance I was logged into, owned shared memory
segment 353 while its semaphore identifiers where 458758 and 458759. You can verify that
these are correct by looking them
After logging into each database instance and running "oradebug ipc", you will know which
segments are valid on the running databases. Using this process of elimination you can
identify the idle segments from a crashed instance. You can then kill them using "ipcrm -m"
and "ipcrm -s" respectfully.
The command syntax to remove the shared memory segments or semaphores is as follows:
% ipcrm -m <shared memory id>
% ipcrm -s <semaphore id>
What spfile/init.ora file parameter exists to force the CBO to make the execution path of
a given statement use an index, even if the index scan may appear to be calculated as
more costly?
Optimizer_mode=first_rows
optimizer_index_cost_adj=force

Assuming today is Monday, how would you use the DBMS_JOB package to schedule
the execution of a given procedure owned by SCOTT to start Wednesday at 9AM and to
run subsequently every other day at 2AM.
EXEC DBMS_JOB.SUBMIT(<jobnum>,SCOTT.<procname>,trunc(sysdate)
+2+9/24,trunc(sysdate)+2+2/24);
How would you edit your CRONTAB to schedule the running of /test/test.sh to run
every other day at 2PM?
00 14 */2 * * /test/test.sh

How would you extract DDL of a table without using a GUI tool?
select dbms_metadata.get_ddl('TABLE','tab_name') from dual;
desc <tablename>
Database crashes. Corruption is found scattered among the file system neither of your
doing nor of Oracles. What database recovery options are available? Database is in
archive log mode.
First of all secure all the archives and all the backups you have on the tape or other system.
Then run fschk to check the filesystem. If the corruption is detected at the filesystem level
and is not recoverable by fschk format the file system and restore the database through
RMAN.
How do you increase the OS limitation for open files (LINUX and/or Solaris)?
you can increase the maximum number of open files by setting a new value in kernel variable
/proc/sys/fs/file-max as follows (login as the root):
# sysctl -w fs.file-max=100000
Above command forces the limit to 100000 files. You need to edit /etc/sysctl.conf file and put
following line so that after reboot the setting will remain as it is:
# vi /etc/sysctl.conf
Append a config directive as follows:
fs.file-max = 100000
Save and close the file. Users need to log out and log back in again to changes take effect or
just type the following command:
# sysctl p
Verify your settings with command:
# cat /proc/sys/fs/file-max
OR
# sysctl fs.file-max
Provide an example of a shell script which logs into SQLPLUS as SYS, determines the
current date, changes the date format to include minutes & seconds, issues a drop table
command, displays the date again, and finally exits.
Create a file.sh using vi then type the following line
sqlplus -s sys/*******@service_name
select sysdate from dual;
ALTER SESSION SET NLS_DATE_FORMAT='YYYY/MM/DD MI:SS'
drop table xx;
select sysdate from dual;
exit;
What would you use to improve performance on an insert statement that places millions
of rows into that table?
1. DML Triggers to be DISABLED and then ENABLED once the insert completed.
2. DISABLE the Clustered Index and then ENABLED once the insert completed.
3. After completion of INSERT, Defragmentation should be there.
4. After completion of INSERT, Statistics should be updated.

5. (Optional) If it is non-peek time & This is the only activity is going on then, Database
recovery mode should be SIMPLE / BULK-LOGGED. ( It should not be there along with
other activities....)
What would you do with an in-doubt distributed transaction?
A transaction is in-doubt when there is a failure during any aspect of the two-phase commit.
Distributed transactions become in-doubt in the following ways:
A server machine running Oracle software crashes
A network connection between two or more Oracle databases involved in distributed
processing is disconnected
An unhandled software error occurs
You can manually force the commit or rollback of a local, in-doubt distributed transaction.
Because this operation can generate consistency problems, perform it only when specific
conditions exist.
No action is required by the administrator of any node that has one or more in-doubt
distributed transactions due to a network or system failure. The automatic recovery features
of Oracle transparently complete any in-doubt transaction so that the same outcome occurs on
all nodes of a session tree (that is, all commit or all roll back) after the network or system
failure is resolved.
In extended outages, however, you can force the commit or rollback of a transaction to
release any locked data. Applications must account for such possibilities.
If youre unsure in which script a sys or system-owned object is created, but you know
its in a script from a specific directory, what UNIX command from that directory
structure can you run to find your answer?
$grep R string </directory>
Whats the benefit of dbms_stats over analyze?
Starting with the introduction of the dbms_stats package, Oracle provides a simple way for
the Oracle professional to collect statistics for the CBO. The old-fashioned analyze table and
dbms_utility methods for generating CBO statistics are obsolete and somewhat dangerous to
SQL performance because they don't always capture high-quality information about tables
and indexes. The CBO uses object statistics to choose the best execution plan for all SQL
statements. The dbms_stats utility does a far better job in estimating statistics, especially for
large partitioned tables, and the better stats result in faster SQL execution plans.
You have found corruption in a tablespace that contains static tables that are part of a
database that is in NOARCHIVE log mode. How would you restore the tablespace
without losing new data in the other tablespaces?
In no archivelog mode, it is not possible to restore or recover a particular backup without
effecting other tablespace. One thing that can be done is to make a clone from the latest
backup and export the tablespace to be restored and import that export to the original
database.

How do you recover a datafile that has not been physically been backed up since its
creation and has been deleted. Provide syntax example.
Assume that the file /u01/ORADATA/data/data01.dbf of tablespace DATA is damaged and
you don't have a backup of the data file.
SQL
SQL> connect internal
connected
SQL> shutdown abort
Oracle Instance Aborted
SQL> startup mount
Oracle Instance Started
SQL> alter database create datafile /u01/ORADATA/data/data01.dbf;
Statement Processed
SQL> recover datafile /u01/ORADATA/data/data01.dbf;
Statement Processed
SQL> select * from v$datafile;
You will see a list of datafiles with their status. If the status of the concerned file has not
been reset to ONLINE, issue the following command.
SQL> alter database datafile /u01/ORADATA/data/data01.dbf online;
Statement Processed
SQL> select * from dba_tablespaces;
If the status of the tablespace CASE is not ONLINE, then issue the following command.
SQL> alter tablespace CASE online;
Statement Processed
SQL> alter database open;
Statement Processed
what will you do if you get a complain your database is slow?
If we get a complaint regarding database slowness, first of all we need to ensure whether the
issue is user specific, module specific or on entire application level. In order to understand
better problem, you should ask questions to yourself or person encountering performance
issue like
Is whole application slow or only component of the application is slow? ( like only
concurrent manager running slow)
Is this a particular component like report server slow then is a particular report or all reports
are slow?
Is performance issue during all time or at specific time lets say from 11AM to 4PM?
Was performance issue popped up recently or performance degradation is since long?
What changed recently?
Depending on answer you can start looking into application like if issue is user specific,
module specific or on entire application level.
If it is user specific problem, trace the user session and find the root cause of the problems
and area where database is performing poorly, and either tune (if possible) or kill the session.
At broad level, we need to focus on these areas and to find the root cause of the problems.
Is gather stats schedule (atleast weekly?)?
Is Purge Obsolete Workflow request & concurrent request purging scheduled?
Is there any runaway process on database tier or application tier? (Runaway process is
process taking unexceptionally long time with high CPU or memory usage)

Any discoverer process taking long time or high CPU? (usually on Middle tier like dis4ws..)
Any custom report taking long time?
what is the diff between lock and deadlock?
A lock enables multiple users to access the database concurrently. When a user modify the
database record, a lock is applied on that record and it prevents other users to write to
database. Depending on the various modification tasks, a lock can be classified into three
categories: exclusive lock, shared lock and update lock. Whereas a deadlock is a situation
where two or more transactions are put into wait state simultaneously, each transaction
acquires a lock that prevents other transaction to write until it get released.and in this
situation, each waits for the other transaction to get released. Whenever we get a deadlock
situation, in the alert log file, we can see ORA-00060 error. We need to trace the session
experiencing the deadlock and take the appropriate action to kill one session.
What is a recycle bin how do I clear it
A : Recycle bin is a feature which is introduced in 10g. When we enable recycle bin in our
database, any table that is dropped is not actually get deleted. Oracle just renames the table
and all its associated objects with a system generated name that begins with BIN$. The
dropped table takes place in recycle bin. If we need to undrop the table, we supply the
command FLASHBACK TABLE .... TO BEFORE DROP. This command simply renames
the table name from BIN$... to its original name. To clear a recyclebin, we need to purge it.
How do I do a clone using export / import
A:
You must have full backup dump
2. List the content from export dump
Imp file=/dump/xyz.dmp log=/dump/imp.log full=y show=y
It will list all sql statement in log (imp.log)
c. Open the imp.log file, search and find the tablespace and users sql statements
i. Create tablespace .......
ii. Create users ....
iii. Create index..
iv. And what every you want
d. Copy and past it in a file.sql. now u will the script for creating a database.
e. Copy and save create user.. is seperate file and create tablespace.. in sepereate sql file.
3. Create required folders (bdump,udump, also oradata)
4. Edit the pfile, use it from backup, if not. copy it from old db alert log or statspack report if
u have.
5. Create oracle service

Windows : oradim new sid xxx


Solaris : export oracle_sid= xxx
6. Startup the database
Sqlplus /as sysdba
Startup nomount pfile=/pfile.ora
7. Run the script
$> @ file.sql
It will create all tablespaces
8. Open the database
Alter database mount;
Alter database open;
9. Create the users
Run the script to create users
@users.sql
10. Import the datas
Imp file=/dump/xyz.dmp log=/dump/imp.log full=y
After import data, update the database metrics using analyze command..
What is SGA_MAX_SIZE and SGA_TARGET?
SGA_TARGET specifies the total size of all SGA components. If the SGA_TARGET is set,
then the following memory pools are automatically sized :
Buffer cache (DB_CACHE_SIZE)
Shared pool (SHARED_POOL_SIZE)
Large pool (LARGE_POOL_SIZE)
Java pool ( JAVA_POOL_SIZE)
SGA_MAX_SIZE specifies the hard limit upto which the SGA_TARGET can dynamically
grow. While executing DBCA, Oracle suggests that the estimated SGA_MAX_SIZE is to set
aside 40% of memory. However, it should be set according to your requirement that depends
on multiple factors such as no of concurrent users, volume of transactions and growth rate of
database. Under normal operation, you can set the SGA_MAX_SIZE equals to the
SGA_TARGET. Sometimes, we need to perform some extra-heavy batch processing jobs that
leads to more SGA size. At this circumstance, you must have capability to adjust for peak
loads. That is why, you set hard limit for your SGA_MAX_SIZE.
SGA_MAX_SIZE cannot be changed dynamically without bouncing the database whereas
SGA_TARGET can be changed dynamically without bouncing the database.

While applying a rdbms patch using opatch you are getting the error, unable to read
inventory/inventory is corrupted/ORACLE_HOME is not not registered, what you will
do, and how you will apply the patch?

Ans: We will check the inventory directory permission, try to apply the patch after giving 777
permissions to that inventory directory. If still it wont work we will apply patch with the
following command:
Opatch apply no_inventory
Have you applied rdbms patches and for what?
Ans : We got ORA-7445 error in alert log, for which oracle recommended to apply a rdbms
patch.
There are four Oracle Databases running on a mahine. How would you check the
location of their Oracle Homes ?
- Check entry in oratab file
When Database is up, listener is up. listener.ora and tnsnames.ora both are configured
properly, still client is not being able to make a connection to the database. What may
be the possible issues ?
Firewall blocking db port between client and server
Authentication restricted in sqlnet.ora (Client allowed from only selected machines)
1. Give one method for transferring a table from one schema to another:
There are several possible methods, export-import, CREATE TABLE... AS SELECT, or
COPY.
2. What is the purpose of the IMPORT option IGNORE? What is it?s default setting
The IMPORT IGNORE option tells import to ignore "already exists" errors. If it is not
specified the tables that already exist will be skipped. If it is specified, the error is ignored
and the tables data will be inserted. The default value is N.
3. You have a rollback segment in a version 7.2 database that has expanded beyond
optimal, how can it be restored to optimal
Use the ALTER TABLESPACE ..... SHRINK command.
4. If the DEFAULT and TEMPORARY tablespace clauses are left out of a CREATE
USER command what happens? Is this bad or good? Why
The user is assigned the SYSTEM tablespace as a default and temporary tablespace. This is
bad because it causes user objects and temporary segments to be placed into the SYSTEM
tablespace resulting in fragmentation and improper table placement (only data dictionary
objects and the system rollback segment should be in SYSTEM).
5. What are some of the Oracle provided packages that DBAs should be aware of
Oracle provides a number of packages in the form of the DBMS_ packages owned by the
SYS user. The packages used by DBAs may include: DBMS_SHARED_POOL,

DBMS_UTILITY, DBMS_SQL, DBMS_DDL, DBMS_SESSION, DBMS_OUTPUT and


DBMS_SNAPSHOT. They may also try to answer with the UTL*.SQL or CAT*.SQL series
of SQL procedures. These can be viewed as extra credit but aren?t part of the answer.
6. What happens if the constraint name is left out of a constraint clause
The Oracle system will use the default name of SYS_Cxxxx where xxxx is a system
generated number. This is bad since it makes tracking which table the constraint belongs to or
what the constraint does harder.
7. What happens if a tablespace clause is left off of a primary key constraint clause
This results in the index that is automatically generated being placed in then users default
tablespace. Since this will usually be the same tablespace as the table is being created in, this
can cause serious performance problems.
8. What is the proper method for disabling and re-enabling a primary key constraint
You use the ALTER TABLE command for both. However, for the enable clause you must
specify the USING INDEX and TABLESPACE clause for primary keys.
9. What happens if a primary key constraint is disabled and then enabled without fully
specifying the index clause
The index is created in the user?s default tablespace and all sizing information is lost. Oracle
doesn?t store this information as a part of the constraint definition, but only as part of the
index definition, when the constraint was disabled the index was dropped and the information
is gone.
10. (On UNIX) When should more than one DB writer process be used? How many
should be used
If the UNIX system being used is capable of asynchronous IO then only one is required, if the
system is not capable of asynchronous IO then up to twice the number of disks used by
Oracle number of DB writers should be specified by use of the db_writers initialization
parameter.
11. You are using hot backup without being in archivelog mode, can you recover in the
event of a failure? Why or why not
You can?t use hot backup without being in archivelog mode. So no, you couldn?t recover.
12. What causes the "snapshot too old" error? How can this be prevented or mitigated
This is caused by large or long running transactions that have either wrapped onto their own
rollback space or have had another transaction write on part of their rollback space. This can
be prevented or mitigated by breaking the transaction into a set of smaller transactions or
increasing the size of the rollback segments and their extents.

13. How can you tell if a database object is invalid By checking the status column of the
DBA_, ALL_ or USER_OBJECTS views, depending upon whether you own or only
have permission on the view or are using a DBA account.
13. A user is getting an ORA-00942 error yet you know you have granted them
permission on the table, what else should you check
You need to check that the user has specified the full name of the object (select empid from
scott.emp; instead of select empid from emp;) or has a synonym that balls to the object
(create synonym emp for scott.emp;)
14. A developer is trying to create a view and the database won?t let him. He has the
"DEVELOPER" role which has the "CREATE VIEW" system privilege and SELECT
grants on the tables he is using, what is the problem
You need to verify the developer has direct grants on all tables used in the view. You can?t
create a stored object with grants given through views.
15. If you have an example table, what is the best way to get sizing data for the
production table implementation
The best way is to analyze the table and then use the data provided in the DBA_TABLES
view to get the average row length and other pertinent data for the calculation. The quick and
dirty way is to look at the number of blocks the table is actually using and ratio the number of
rows in the table to its number of blocks against the number of expected rows.
16. How can you find out how many users are currently logged into the database? How
can you find their operating system id
There are several ways. One is to look at the v$session or v$process views. Another way is to
check the current_logins parameter in the v$sysstat view. Another if you are on UNIX is to
do a "ps -ef|grep oracle|wc -l? command, but this only works against a single instance
installation.
17. A user selects from a sequence and gets back two values, his select is: SELECT
pk_seq.nextval FROM dual;What is the problem Somehow two values have been
inserted into the dual table. This table is a single row, single column table that should
only have one value in it.
18. How can you determine if an index needs to be dropped and rebuilt
Run the ANALYZE INDEX command on the index to validate its structure and then calculate
the ratio of LF_BLK_LEN/LF_BLK_LEN+BR_BLK_LEN and if it isn?t near 1.0 (i.e.
greater than 0.7 or so) then the index should be rebuilt. Or if the ratio BR_BLK_LEN/
LF_BLK_LEN+BR_BLK_LEN is nearing 0.3.
How can you tell if a tablespace has excessive fragmentation
If a select against the dba_free_space table shows that the count of a tablespaces extents is
greater than the count of its data files, then it is fragmented.

You see the following on a status report: redo log space requests 23 redo log space wait
time 0 Is this something to worry about? What if redo log space wait time is high? How
can you fix this Since the wait time is zero, no. If the wait time was high it might
indicate a need for more or larger redo logs.
What can cause a high value for recursive calls? How can this be fixed
A high value for recursive calls is cause by improper cursor usage, excessive dynamic space
management actions, and or excessive statement re-parses. You need to determine the cause
and correct it By either relinking applications to hold cursors, use proper space management
techniques (proper storage and sizing) or ensure repeat queries are placed in packages for
proper reuse.
You attempt to add a datafile and get: ORA-01118: cannot add anymore datafiles: limit
of 40 exceeded What is the problem and how can you fix it
When the database was created the db_files parameter in the initialization file was set to 40.
You can shutdown and reset this to a higher value, up to the value of MAX_DATAFILES as
specified at database creation. If the MAX_DATAFILES is set to low, you will have to
rebuild the control file to increase it before proceeding.
Users arent being allowed on the system. The following message is received: ORA00257 archiver is stuck. Connect internal only, until freed What is the problem
The archive destination is probably full, backup the archive logs and remove them and the
archiver will re-start.
Your users get the following error: ORA-00055 maximum number of DML locks
exceeded What is the problem and how do you fix it
The number of DML Locks is set by the initialization parameter DML_LOCKS. If this value
is set to low (which it is by default) you will get this error. Increase the value of
DML_LOCKS. If you are sure that this is just a temporary problem, you can have them wait
and then try again later and the error should clear.
How do you set up your tablespace on installation
The answer here should show an understanding of separation of redo and rollback, data and
indexes and isolation os SYSTEM tables from other tables. An example would be to specify
that at least 7 disks should be used for an Oracle installation so that you can place SYSTEM
tablespace on one, redo logs on two (mirrored redo logs) the TEMPORARY tablespace on
another, ROLLBACK tablespace on another and still have two for DATA and INDEXES.
They should indicate how they will handle archive logs and exports as well. As long as they
have a logical plan for combining or further separation more or less disks can be specified.
You have installed Oracle and you are now setting up the actual instance. You have been
waiting an hour for the initialization script to finish, what should you check first to
determine if there is a problem
Check to make sure that the archiver isn?t stuck. If archive logging is turned on during install
a large number of logs will be created. This can fill up your archive log destination causing
Oracle to stop to wait for more space.
How you manage the servers?
A: We have our custom scripts which is sheduled to run at a specific time which monitors
applications/databases servers availability by ping and traceroute results, uptime, file systems

details, free disk space in each mount point, memory utilization, CPU utilization, top CPU
consuming processes, input/output stats, general database information such as tablespaces
and datafiles, control files, redo log files, SGA configuration, user details, scheduled backup
status, invalid objects, critical errors in alert log, database hit ratio, top 5 wait events, top 5
resource consuming queries. And it will mail us if some processes is not running, any value
reaches to threshold value. Based on this we will react.
1: Assume that your production database is in standby you want to upgrade your production
database total down time require for that is 10 hours but client wants to finish the task with in
5 hours what is the solution?
2: What are different types of incremental backup's and what are they?
3: Using RMAN how to take the backup of archives and at the same time we have to delete
backup-ed archive's(what ever we have taken backup that should be deleted from the archive
location to make archive destination space free.
4: Using 10g EXPDP i have exported one schema into a dump file, Is that dump file
recognized by oracle 9i binaries if i Import that dump file to 9i?
5: What are the views to monitor Expdp & Impdp?
6: Difference between partial checkpoint and full checkpoint?
7: What is a fail group? What's its purpose(asm concept)?
8: Can we keep standby database in higher version(11i) and primary database in 10g? if i do
so, what about the archives generated at primary db is this archives are going to applied
(MRP) to standby?
9: How to configure logical standby database ? In real time which one is prefer
logical/physical standby?
10: Difference between convention path and direct path in data pump?
11: How to Find Out DB Buffer Cache Size by Select Statement ?
12: If listener details are not at default location($oracle_home/network/admin) then how to
find out the details?
13: We can't create role and user with the same name. Why?
14: What is high water mark...and what is its use?
15: What are the steps to take to run the SQL query quickly?
16: What is the possible value of 'AUDIT_TRAIL' parameter and Which data dictionary to
show it?
17: What is Read Consistency ?.. How can find out consistency?
18: What is the command to assign multiple roles to multiple users?
1: How can I come to know that whether my database is configured or running using PFILE
or SPFILE?
2: What happens if you kill any one of the background process?
3: What is the difference between Root user and Oracle user?
4: What do you mean by RAC? What is the importance of it?
5: Where will the statistics collected in AWR will be stored? In which path?
6: How can you detect whether a table is locked or not?
7: The snapshot collected by executing snapshot.snap will be stored in statspack table, Where
will be the statspack table? In which path?
8: Do the db name and Instance name should be equal? Predict either Yes or No? Give reason
for your prediction?
9: How to get/download the recent patches released by oracle?

10: Is there any way to take incremental backup's in user managed backup's(with out using
RMAN)?
11: Assume that a database consists of a user tablespace and system tablespace then How to
store one tablespace into one diskgroup and another tablespace into other diskgroup if i am
using ASM concept?
12: what are the different ways to recreate the control file when the db is not opened (bcz
control file is lost)?
13: What are the responsibilities of L1, L2, L3 dba's?
14: What is the use of Index Rebuilding?
15: What to do if the file system becomes full?
16: What to do if the Buffer Cache hit ratio is below 90%?
17: What to do if the Data Dictionary Cache falls below 90%?
18: What to do if the Library Cache falls below 75%?
19: In our company, OEM is not installed, so how can I collect the statistics using AWR and
ADDM? And how can I tune the DB?
20: My DB was performing ok yesterday there is no change in code no backup or batch job is
running and performance is very slow how to investiagate and how to solve the prob?
21: My database is down and I cannot restore. How to Restore?
22: When we should run catcpu.sql and Why?
1: What is difference between backup piece, backupset & image copy?
2: What is meant by UNTIL SEQUENCE (or) UNTIL CANCEL?
3: How do you find the size of the table?
4: What is the day to day activities of a Oracle DBA?
5: What kind of issues will Oracle DBA usually be facing daily and how to solve those
issues?
6: What is the query to get the number of rows or rowids present in a table?
7: What is the difference between Export and Import(oracle 9i) and Datapump(oracle 10g)?
8: During SQL query execution what are the process takes place in SGA?
9: What major role does the background process plays in displaying the output for an SQL
query?
10: What is the difference between Physical backup and Logical backup?
11: How can I come to know that which SQL query is taking long time to get executed?
12: What is the difference between data guard and standby?
13: What do you mean by High Water Mart(HWM)?
14: Explain explain plan code for (select * from emp) query?
15: Explain Hot backup and Cold backup with an RMAN script?
16: What major challenges and problems did you face in your DBA job? How did you handle
them?
17: Will there be any changes in writing RMAN scripts for hot backup and cold backup? If
yes, then give me the script for hot backup and cold backup?
18: What are pathes in oracle?
19: What is compress utilities?
20: What are the steps involved in rman cloning?
21: What is a 'hist'?
22: What is a File system?
1: I have created one materialized view every day its taking 1hr :30 mins to refresh it
completely n today it took 4hrs:30mins still it didn't get completed. What is the reason behind
this? How to solve?

2: How to kill 50% user's session ( DB Level )?


3: What is fragmentation?
4: What is row chaining?
5: What is row migration?
6: What happens in the background, when we issue the command ALTER DATABASE
BEGIN BACKUP?
7: Which tablespace will RECYCLEBIN use?
8: What is a Latch?
9: What is hit ratio?
10: What is meant by incarnation number?
11: How to know the number of users are connecting to the db?
12: How to monitor the db?
13: How to reclaim the space from deleted entries from table?
14: For 250gb database, What is the size of SGA?
15: How to check free space in tablespace?
16: How to check free space in tablespace? If tablespace size 1mb autoextend on max is 2mb
after completing 1mb space what does it shows in freespace?
17: How to take the backup of oracle_home?
18: When a user fire a query then if it is not giving any o/p what might be the reason?
19: How we can know the db is fine?
20: What is latch?
21: If archived log location is 100% full what happens to the database?
22: How to create a db_link for a schema in your database to connect to another database?
1: How INDEX tablespace will be reorganized? Why?
2: When Oracle will display 'Unable to extend TEMP table space', Why and What is the
solution?
3: Is it possible to install oracle10g in RH-5? i tried to install but its giving "bash .runInstaller
: /bin/sh: bad interpreter :permission denied". What's the Problem?
4: Why we use cursors?
5: You have found corruption in a tablespace that contains static tables that are part of a
database that is in NOARCHIVE log mode. How would you restore the tablespace without
losing new data?
6: Typically, Where is the conventional directory structure chosen for Oracle binaries to
reside?
7: What's the benefit of "dbms_stats" over "analyze"?
8: You create a private database link <link name> and upon connection, fails with: ORA2085: <Link name> connects to <fully qualified remote db name>. What is the problem?
How would you resolve?
9: What are the list of ORA Errors(causes and solutions) does a DBA face in day today
activities?
10: Is it possible to add a disk to ASM Disk Group while DB is up and running? If yes, it is
how?
11: Does DB work, if FAL_CLIENT and FAL_SERVER parameters have been not
configured?
12: How can you restore SYSTEM.DBF in hot backup?
13: Is recovery possible for control file?
14: Give details what happens to DB buffer cache,Redo buffer cache and Redo log files
When Update is going on large amounts of data, but Redo buffers and Redo log files are not
enough to maintain.

15: When DB is up and running ,If control files are removed. What is the status of DB and
what happens?
16: If a user told that he is not connecting to DB, What should be his problem? How can you
solve his problem?
17: Is it possible to create a DB with only two redo log files(one group)?
18: Scenario: Redolog files are full, User inserted 1 TB of data and user didn't save, What
happens?
19: How can you confirm whether cluster installed successfully or not? Which command will
you use?
20: Is it possible to increase the SGA size when DB is up and running?
21: There are three voting disks , two are corrupted, does cluster work?
22: Where can you find table query statistics?
1: What are the major challenges faced as a DBA? How did you handled?
2: In windows VMware i have installed RHEL 4 and oracle 10g, now want to use Toad for
oracle DBA suite. How to configure toad with oracle 10g?
3: If a job is running daily for 10 mins, and same job is running for long hours on one day.
What are all the things we have to check in this scenario to findout why it's running slow on
that particular day?
4: What is the rman step restore database with backupset any on server location.
5: How to create a database manually in 9i? Difference between manual database creation in
9i and 10g.
6: HOW TO EXPORT A SCHEMA OF 30GB, IF 10GB IN /U01, 10GB IN /U02, 10GB
IN /U03.
7: Having 4 multiple controlfiles,one of the controlfile size is increased,why?
8: What is the pre-requirement of installing oracle 9i on linux?
9: Database is hang due to archive location 100% filled,what is the immediate solution?
10: Datafile disk corrupted, How will you recover these datafiles?
11: Someone changed the listener location,whether its affect the database or not?
12: I have 8x,9x,10x home in server,it is possible to use single listener for all the 3 home's?
13: How will you see all databases names in the server?
14: Using top command show more cpu utilization, How will u determined which user
process cause this?
15: How ill u enable archivemode without downtime? If yes, How?
16: During database startup PMON backround process run first. Why?
17: When will you change the dbname and dbid in databases?
18: In the scenario,you get the error is unable to extend in non-system tablespace,there is no
space in disk and datafile size reached 2gb, How to resolve this?
19: What is semapores? If semapore=1000, What will happen?
20: Existing users are able to connect but New user's can't connect to the database, Why?
(listener,maxuser is not a problem)
21: How can we find which server is Primary and which is Satnd by in dataguard?
22: What a DBA supposed to monitor and how in Database monitoring?
1: What may be the reasons for session inactive? Except archive log full.
2: What is database schema?
3: What is join in database?
4: What is dual in database?
5: What is the default format of date data type in database?
6: What is the difference between SQL and PL/SQL?

7: What is the difference between on-line and off-line backups?


8: What is the step for install oracle 10g on linux. What is the step for migrate database from
windows xp to linux.
9: Which Process reads data from Datafiles?
10: Which Process writes data in Datafiles?
11: How to configure OEM?
12: What are steps take place in SGA during the execution of INSERT?
13: Explain "Differences in tuning a OLTP and OLAP systems"?
14: Explain the difference between SPFILE, PFILE and init.ora?
15: What are the main errors that conatin in Alert Log File?
16: What are the day to day activities of a DBA?
17: What are INITIAL and NEXT parameter of an object & Is it possible to change?
18: How to find the size and free space of a Tablespace, Database Size & Log Files?
19: What is meant by undo page faulting
20: Difference between Physical Standby and Logical Standby Database.
21: How to overcome chained rows in oracle?
22: What are the main new features in Oracle 11g?
1: How can you check whether backup process is successful or not in rman?
2: How to improve the performance while exports and import time?
3: Explain the important parameter of the pfile, which is related to database
performance/tunning of the database?
4: What is recovery in instance?
5: How to recover SPFILE , Controlfile from the RMAN backup?
6: Why u need creating the catalog in RMAN?
7: I loss my undo table space in the DataBase. How should overcome from this situation to
recover the DataBase?
8: I loss my current alert log file? What hepppens to the database?
9: If online redo log files are lost. How to recover from this situation?
10: In solaris oracle if a client is unable to connect with one of his databases, what may cause
the error and how can we fix it?
11: I want to multiplex my control file with out shutdown my database, my database is a
producation database? If possible, How?
12: What type of login issues are faced by a dba?
13: What type of procedures will be followed for dumping by dba?
14: What is high water mark?
15: How to see the RAM size?
16: What datafile header contains?
17: What is top command?
18: I want to move the database from Dev to Prod, What are the security checks you have to
take from your side?
19: How many archive processes used in oracle?
20: What is ORA-01555 error?
21: Having 4 multiple controlfiles, What will be the size of all these control files?
22: Why do we need to generate the AWR and ADDM reports? What is use of It?
1: How to clone the database? What is the use of duplicate command?
2: Explain Oracle Error ORA-7444?
3: Explain ASM?
4: What is the Database Re-organization?

5: If I lose the control files, How to recover the Database?


6: What is the pre-requirement of installing oracle 10g on linux?
7: What is semapores & semapore=1000? what will happen?
8: What is the difference between traditional exp/imp and data pump?
9: What is RMAN?
10: Is RMAN a Cold Backup or Hot Backup?
11: How we can know our database is a dedicated server or shared server?
12: What is the tablespace Re-organization?
13: What are the type of the Startup and shutdown comment in realtime environment?
14: How to monitor the Oracle database in realtime?
15: What does it mean that "doesn't wait for awk in max protection",it does wait for awk in
max availablility and if didn't get it will shutdown the database in max performance in
dataguard.
16: If ASM instance is down(or not started the ASM instance) and we have started the
database. Now my question is that if we commit any transaction after adding/updating few
records. Will our transactions will save or not? If yes, where will the data save?
17: What is the advantages of using transportable tablespaces?
18: Can we start the database instance without starting the ASM instance?
19: What is the command to apply redologs?
20: I lost my pfile / spfile . How to i recover this without any backup?
21: Is it possible to restore a RMAN from Linux system to Windows system? How?
22: What are the steps to convert the physical standby db to logical standby db?
1: What you will work as a shift DBA?
2: What is difference between dba_tables,user_tables,all_tables?
3: How do u kill the user session connected to the Database?
4: How do u find which process is taking high cpu memory?
5: The present listener is running, After some time we make some changes in listener and we
make reload the listener what happens to the existing users.
6: Can we export multipule owners objects at a time like exp owner=u1,u2 if yes, How?
7: How to change our producation database max performance to max avaliablity and max
protection,which parameter used for this and Explain about this.
8: How many types of tunning in oracle 10g?
9: Explain the concepts : Database, SQL , Netwrok, Memory Tunning?
10: Explain the Tunning concepts in oracle 10g?
11: Where do u set the kernel level parameters? What are they? What is the use?
12: What is the use of bind variables? Which parameters we want to set in parameter file for
using the bind variables in library cache?
13: How to audit a particular user?
14: How to check the database size and tablespace size?
15: How to check the block corruption and how to resolve that? Different types?
16: What is the difference between Maximum Protection, Availability, Performance?
17: How can you export the table structure without the data?
18: How can you export few days updated data?
19: How to check the which database taking 100% cpu utilization in server?
20: How to see uptime for a database?
21: In imports, We use ignore=y. What is the use of it?
22: Explain the Errors: ORA-600 and ORA-01555?

1: What is diff between mount and nomount stage of a databse?


2: What is error ORA-7444?
3: How will bring the database into archivelog mode. Discuss the steps.
4: What is cache fusion?
5: What is db file sequence read?
6: What is the diff btwn rman catalog and rman nocatalog?
7: What is the diff between oracle session tracing and oracle auditing?
8: If listener is start, When users are connected,after sometime listener is stop then what
happens the connected users.
9: Can we made standby database read write mode, If yes, How do we do?
10: Can we transfer physical files from producation database to standby database through ftp.
It is to do manually. Is any method to do automatically?
11: What is master node in RAC and how to find it?
12: How to configure the stand by database from production database using RMAN backup?
13: What is fractured block? Where do we see that?
14: What is metalink?
15: How can we apply cpu patch.
16: DB is not allowing the new users. What is the Problem?
17: Explain CONSISTENT=Y/N parameter in export with example for both Y & N?
18: Why it ll show "snap shot too old error" if we set CONSISTENT=Y?
19: What are the daily activities of Oracle DBA?
20: What is the crucial situation you got in last two years of carrier while handling production
database?
21: What is best problem you solved in your company as a DBA and you got appreciation?
22: Tell me some situations, When the database gets hang. How you find the problem and
solve them?
1: How can i see redo log file is empty and full and which view i can use to see it?
2: What is difference b/w maximum availability , maximum protection and maximum
performance in dataguard?
3: What is the meaning of roll forward and roll backward?
4: How to convert oracle database multilingual?
5: What is diff. b/w small file and big file? In real time which file is using?
6: How do u view how many users connected in a database oracle 10g?
7: User creation script in real time environment.
8: My database is up and running...i lost my control file.... after that what will happen if i give
the command like " alter system backup control file to trace" it will work or not?
9: How can i find out how many user logged in a database?
10: What are the day to day activities of Oracle DBA?
11: If my database size 100gb what is the size of sga?
12: What are the New features of 11g?
13: How to limit the session, for ex 100 users only allowed.
14: What are the real time issues faced by DBA's?
15: How to check the database size?
16: How the Bitmap Index help in Data Warehousing?
17: Describe v$session.
18: How to check our Oracle software version?
19: Where would you look to find out if a redo log was corrupted assuming you are using
Oracle mirrored redo logs?
20: How to determine if the standby is operating as a physical or logical standby?

21: How to see alert log file for errors?


22: What are the different modes of mounting a Database with the Parallel Server?
1: You have room for each to grow by 20 more extents each. Is there a problem? Should you
take any action.
2: You see multiple extents in the temporary tablespace. Is this a problem?
3: Define OFA.
4: How do you set up your tablespace on installation?
5: Which query you will use to find the tables with no indexes for particular user?
6: How to find the tables which are not having indexes?
7: In oracle 9i/10g, default db_writer_process is 1. How to change the number of
db_writer_process?
8: What is the difference between segment space management auto and manual?
9: Can i drop undo tablespace that which status is pending? If i drop pending undo
tablespace, what will happen?
10: What is mean by MAXINSTANCES in controlfile?
11: What is the difference between connect_time and cpu_per_session in profile creation?
12: Which privilege user must have to shutdown the database?
13: Consider the following incomplete Recovery.. "RECOVER DATABASE UNTIL
CALCEL" In this What UNTIL CALCEL means?
14: What is the difference between whole database backup and full database backup?
15: I created a script in RMAN for incremental level 1 backup. But i forgot that script name.
Now i wants to execute that script. How can i find that script name that is created by me?
16: In Normal export(Not data pump) paramter transport_tablespace = (Y/N).. In this Wat Y
and N means?
17: How to identify that the perticular table has been exported or not in its lifetime.
18: How to check the database in the consistent state?
19: During a Linux based installation of Oracle what is the purpose of modifying the kernel
parameters in /etc/sysctl.conf file?
20: What are the types of logs?
21: What are the different high availability solutions provided by Oracle?
22: Cold backup script in linux?
1: What are some indications that you need to increase the shared_pool_size parameter?
2: What is the general guideline for sizing db_block_size and db_multi_block_read for an
application that does many full table scans?
3: What is the fastest query method for a table?
4: Explain the use of TKPROF? What initialization parameter should be turned on to get full
TKPROF output?
5: What are the 10g new features in oracle DBA?
6: When looking at v$sysstat you see that sorts(disk) is high. Is this bad or good?
7: When should you increase copy latches. What parameters control copy latches?
8: Where can you get a list of all initialization parameters for your instance? How about an
indication if they are default settings or have been changed?
9: Describe hit ratio as it pertains to the database buffers. What is the difference between
instantaneous and cumulative hit ratio and which should be used for tuning?
10: What is the fundamental difference between cold & hot cloning?
11: In RMAN can we do complete & incomplete recovery ? How?
12: Discuss row chaining? How does it happen? How can you reduce it? How do you correct
it.

13: When looking at the estat events report you see that you are getting busy buffer waits. Is
this bad? How can you find what is causing it.
14: If you see contention for library caches how can you fix it.
15: If you see statistics that deal with "undo" what are they really talking about.
16: If tablespace has a default pct increase of zero what will this cause(in relationship to the
SMON process).
17: How can you tell if a tablespace has excessive fragmentation?
18: You see the following on a status report: redo log space requests 23 redo log space wait
time 0 Is this some thing to worry about? What if redo log space wait time is high? How can
you fix this.
19: What can cause a high value for recursive calls? How can this be fixed?
20: If you see a pin hit ratio of less than 0.8 in the estat library cache report. Is this a
problem? If so, how do you fix it.
21: You look at the dba_rollback_segs view and see that there is large number of shrinks and
they are of relatively small size, Is this a problem? How can it be fixed if it is a problem?
22: You look at the dba_rollback_segs view and see that you have a large number of wraps. Is
this a problem.
1 How does one create a new database?
2 What database block size should I use?
3 What database aspects should be monitored?
4 How does one rename a database?
5 Can one rename a database user (schema)?
6 Can one rename a tablespace?
7 How does one see the uptime for a database?
8 Can one resize tablespaces and data files?
9 How do I find the overall database size?
10 How do I find the used space within the database size?
11 Where can one find the high water mark for a table?
12 How do I find used/free space in a TEMPORARY tablespace?
13 How can one see who is using a temporary segment?
14 Who is using which UNDO or TEMP segment?
15 How does one get the view definition of fixed views/tables?
16 How full is the current redo log file?
17 Tired of typing sqlplus '/as sysdba' every time you want to do something?
18 What patches are installed within an Oracle Home?
19 How does one give developers access to trace files (required as input to tkprof)?
I: General Backup and Recovery question
1: Why and when should I backup my database?
2 :What strategies are available for backing-up an Oracle database?
3: What is the difference between online and offline backups?
4: What is the difference between restoring and recovering?
5: My database is down and I cannot restore. What now?
6: How does one backup a database using the export utility?
7: How does one put a database into ARCHIVELOG mode?
8: I've lost an archived/online REDO LOG file, can I get my DB back?
II: User managed backup and recovery

1: How does one do off-line database backups?


2: How does one do on-line database backups?
3: My database was terminated while in BACKUP MODE, do I need to recover?
4: Does Oracle write to data files in begin/hot backup mode?
III: RMAN backup and recovery
1: What is RMAN and how does one use it?
2: How does one backup and restore a database using RMAN?
3: How does one backup and restore archived log files?
4: How does one create a RMAN recovery catalog?
5: How does one integrate RMAN with third-party Media Managers?
6: How does one clone/duplicate a database with RMAN?
7: Can one restore RMAN backups without a CONTROLFILE and RECOVERY
CATALOG?
IV:General questions on oracle database
1: How to find the size of a table?
2: what is crontab?
3: what is ora inventory?
4: what is ora env?
5: what is oratab?
6: How do you check the free space of database?
7: How do you find the size of the database?
8: The database size is 20 GB, Now I have added datafile, After one week, database size
shown as 30 GB. How would know this.
9: Installation of Oracle.
(i) what is the use of running root.sh and orainst.sh?
10: what is ckpt?
11: what happens in the background when we give SQL statement?
12: There are three control files in the database, if one control file misses, what will happen to
the database?
13: How to recreate control file?
14: what is the use -R while granting permissions to user?
15: what is the use of resetlogs option?
16: client asks he needs the database for testing purpose, what will you do, and how will you
give the database without shutting down the production database?
17: While doing Hot Backup, After giving the statement alter database begin backup or alter
tablespace begin backup? what happens in the background?
18: How to resize logfile?
19: How to rename logfile?
20: How to add logfile?
21: How to check how many databases are running?
22: What happens if we give commit statement in background?
23: What is logfile?
24: What are modes of logfile?
25: What is CKPT? When it occurs and what happens if it occurs?
26: Can we use Arch instead of smon in
ps -ef|grep smon
27: what is the difference between statspack, addm and awr?
28: when does the dbwr, lgwr will write to the disks?

29: What is Instance Recovery?


30: If you miss the init.ora file, what is the situation of the database?
31: what is the use of SPFILE?
32: If spfile is crashed when database is running? what happens?
33: If the database is running on shutdown if pfile and spfile is missing? what happens now?
34: what is a latch?
35: Types of locks?
36: what is the use of archive log files?
37: cloning of database.
38: what is materialized view?
39: Types of Indexes?
40: Difference between B-tree and Bit-map Index?
41: Whar is Logical backup?
42: what is difference between normal export, import and datapump?
43: what is compress=y parameter and consistent=y in export?
44: Error codes in alert log file?
45: What kind of statement will be there in logfile?
46: what is external user?
47: New features in Oracle 11g.
48: What is Role and profile?
49: How will set a profile like, when he gives a wrong password for six times, the session
should lock and after some time it should unlock the session.
50: How many types of Optimizers are there?
51: How will you set the performance tuning statistics?
52: yesterday the user has executed the sql statement properly, today the same sql statement is
not executing properly? what do you do as a DBA?
53: What information is generated in the trace file?
54: What kind of errors you have been resolved after viewing the alert the log file?
55: Error code 01115?
56: After we creating control file, have u seen any messages in alert log files.
57: Name the Main Background Processes.
58: What PMON will do?
59: If SMON is missed, does PMON will give any messages.
60: When does LGWR writes files to the log files?
61: Name the components of SGA.
62: What does shared pool do?
63: How do you configure recovery catalog database?
64: Have you done in Upgradation.
65: Have you used SQL*Loader.
66: Have you created standby database.
67: What is semaphore?
68: What is Parsing?
69: What happens in background, when we give select * from emp?
70: What happens in the background,if DML command is issued?
71: What is Optimizer?
72: What is ORA-01555?
73: What is snapshot too old error and how it is specified?
74: What will save in the redo log files and when does LGWR will writes data from log
buffer cache to log files?
75: When check point occurs?

76: What happens between begin backup and end backup?


77: When begin backup occurs, if it was a big tablespace, then what about the redo log files?
78: What kind of locks will happens for DML and DDL statements?
79: What is the worst situation, you have faced in your job?
80: What is your daily activity?
81: What kind of errors will occur in alert log file and what kind of errors you have solved?
82: what is the maximum size of your database?
83: Advantages of data pump.
84: new features of oracle 10g.
85: what is consistent=y in exp.
86: what kind of data is stored in undo segments?
87: what occurs in commit and rollback, if it occurs?
88: where the committed will go?
89: what is the buffer paramter in exp.
90: what kind of performance planning do you use.
91: what is retention guarantee in undo?
92: If performance degraded, what are the pre-liminary steps taken by DBA.
93: One user A is having a table, and the other user B wants to select the columns from A
table? what will you do for this scenario.
94: what happens when archive log destination is full?
95: the production database is having a table called employee and 100 partitions are there in
this table.In the development database the same table is present with 50 partitions. (How will
you update the table in production to develpment using datapump). How will you update this
table to 100 partitions using datapump.
96: what is your backup strategy?
97: Do you go with export and import.
98: Do you go with user level backups and table level backups.
99: tell about the oracle architecture.
100: Tell about RMAN cloning steps.
101: what is the parameter DB_FILE_NAME_CONVERT will do?
102: RMAN cloning, How the cloning database will recognize the locations?
103: Do you know about Data Guard.
104: Do you know performance issues.
105: when user is accessing the database, yesterday the database was good, today the
database performance is low, what is you do?
106: Have u generated AWR scripts. How do you awr scripts?
107: Have you generated ADDM scripts?
108: How do you know the disk storage space in linux and unix?
109: how do you check cpu usage?
110: Tablespace utilization.
111: how much time it is required to export a user database.
112: database administartion tasks.
113: what is planning of the database. how do you plan.
114: If the database size is 10 GB for one user, and there are 60 users, how many tablespace
you will create?
115: I have four data files, the data files size have the size of 5 GB with auto extend option
and one with 10 GB with out auto extend option. which will you give the better performance.
116: what is the difference between 9i and 10g?
117: I have exported your database, on some users data in oracle 10g, I want to import in 9i
database. How do you import. what is the procedure.

118: I am importing one dumpfile. If it is giving some header is missing, what is the solution
for this.
119: what is the base element of configuration of an oracle database?
120: what is the of storage clause?
121: How do you find out the optimizer plan to choose the best execution plan?
122: what are the other methods to choose the best execution plan?
123: I have 5 branches, and each branch having one database, now the head office want to
view all the databases. Now it is better to keep all the databases in one database or keeping
each other different. What is your solution.
124: Difference between cold backup and hot backup?
125: What is export?
126: what is mirroring?
127: what is the use of mirroring? and what would happen if any mirror files are lost. will the
mirror file recover automatically.
128: Have you involved in crash recovery.
129: Explain Installation of Linux.
130: Explain three-tier architecture and network connections used in that.
131: difference between pfile and spfile.
132: Explain oracle architecture.
133: what will you do if a control file is lost.
134: have you used different block sizes for different tablespaces.
135: how many databases are there?
136: what is the maximum size of the database?
137: for the maximum size of the database, what is the SGA_TARGET value you set to?
138: what is the size of redo log file of the maximum database.
139: what is the size of the archive log file for the maximum size of the database?
140: what is the database reorganization?
141: which software version you are using for your operating?
142: what is the command to know the memory use of the server?
143: which command is used for the memory usage?
144: In 10g, is it compulsory to create sysaux tablespace.
145: What does SYSAUX will store.
146: can sysaux tablespace can be taken as offline.
147: can undo tablespace can be taken as offline.
148: where the recylcebin data will be stored.
149: explain the error ORA-600.
150: can temporary and system tablespace can be taken offline.
151: what is your backup strategy?
152. what is the difference between user managed backup and rman backup?
153. the client says, he need the backup the database is no archively mode through RMAN, in
this situation how will you react?
154. Have you undergone any migrations from one platform to another?
155.Rman clonning steps?
156. How do you move a table from one tablespace to another tablespace?
157. There are 10 indexes for a table, now you have moved the table from one tablespace to
another tablespace. what will happen to the indexes?
158. I have one table for this table there are two indexes created for this table. one index is
corrupted. How will you recover this index?
159. When will you rebuild a Index?
160. Explain about scheduling backups?

161. In Hot backup will you backup the undo tablespace, temporary tablespace and system
tablespace?
162. What is a database link? what is the use of a database link?
163. What is materialised View?
164. What is the difference between view and materialized view, what is use of the
materialized view?
165. what is the database statistics, what is use?
166. Ones user says the query is running slowly at the time what are the actions will take?
167. What is the difference between costbased optimization and rulebased optimization?
168. There are 2 databases, in that database one schema user data needed into the another
databases, what action will you do for this scenario?
169. what is difference between static and dynamic parameters?
170. For example X,Z one parameter how do you find x and z parameters are static or
dynamic?
171. What is the difference between logical standby database and physical database?
172. What is dataguard?
173. How you kill a user at the database level?
174. What is the difference in windows platform and linux platform while creating database
manually?
175. What is semaphore?
176. How can you limit the user password limit to three digits only?
177. If the user complaint that his section is flow how can you find out if how do you
rectified that?
178. How can you find out sql ID? Datadictionary view?
179. How can you start and shutdown the host without user interface? cronjob need
userinterface?
180. Installation, performance tunning know?
181. What are kernel parameters set while creating database?
182. In Rman how can you recover the lost archive log file?
183. If user finds out that emp table was lost in previous time? how can you restore it?
184. What are your day to day activities?
185. Where is you company?
186. What is your ticketing tool?
187. 10g new features? Which is your favorite one?
188. How can you do backup, hot , rman, datapump?
189. kernel parameters in installation? What is that path?
190. Background processes?
191. Tool used in company?
192. Smon, Have you done database refreshing?
193. If the space is filled up in Tablespace, what to do?
194. Hot and cold backup using Rman?
195. If there are 10 databases, how can you put them in crontab, using Rman how can you
backup?
196. What is Row chaining? how can you prevent row chaing?
197. Control file demultiplexing?
198. Backup incremental mechanism?
199. Current version?
200. Clonning using hot backup?
201. Hot backup (what happend internally when you put begin backup mode) can you put
system tablespace in begin backup mode?

202. When the disk is crashed, can you move datafiles to another location ( external tape
drive)?
203. Can you rename undo tablespace?
204. Rman can you use rman without catalog? if possible what happened? Crash recovery?
205. SGA : what is sga_ target and sga_ max? can sga_target will be zero?
206. Dynamic memory component?
207. What info can you see in alert log file? if a datafile is deleted/truncated/updated will that
info enters into alertlog file?
208.Cross checking or health checking using rman?
209. What are prerequisites before hot backup?
210. What are prerequisites before dataguard?
211. What is difference between dictionary managed tablespace and locally managed
tablespace?
212. Explain transportable tablespace procedure?
V:Real Time related Questions
1: which tool is used for db ticketing?
2: how do you check alert log file?
3: what is your team size?
4: when archive destination is full, what happens to the database? how to increase the size the
archive? if we don't need to resize, then what is the solution?
5: if one control file is lost, when the database is up, does it affects to the running database?
If you lost any of the control files, database will stop working and fail. You need to restore
the control file by copying any existed multiplexed control file to lost control file location
and rename the control file as lost control file name.
6: when sql statement is issued what happens in the background?
7: when you create a new user, you need to parse the password when he logins?
8: difference between hot and cold backup?
9: how do you connect to the remote server as a DBA?
10: what are the physical and logical files in a database?
11: add a new datafile to a existing tablespace and how will you add a temp file to a
temporary tablespace?
12: what are the tools you use to monitor the database?
13: how do you come to know whether you database is full or how will you check your
database is corrupted?
14: what will happen when the tablespace is in begin backup mode?
15: in os level, how do you check in which user you are?
16: what are the steps to be taken before inserting a new data file to a particular tablespace?
17: what are your daily activities?
18: exporting a schema from schema A to schema B?
19: first time- select * from emp; - t1
second time - select * from emp; - t2
which one will be faster executed?
20: difference between cold and hot backup? which one you will prefer?
21: creating a table using select *?
22: for the above question, you need to get the table definition or table structure?
23: what is the size of your databases in your environment?
24: transaction related question - i will give dml or ddl, create table tablename and you have
inserted certian rows into this table, after some point of time, you will agian alter the table
using alter command, and you will just come out with out saving(without commit or
rollback). whether the transaction will be committed or not, when we relogin again.

25: what are the background processes?


26: different types of segments?
27: different types of physical files in oracle database.
28: difference between procedures and functions.
29: Tell me about your environment.
30: what is the size of the database?
31: how many databases are there in your environment?
32: RMAN Cloning Steps
33: what will the ORA-600 error causes? what will you do?
34: database Patching.
35: Upgration procedures
36: how do you check the objects exists in your database?
37: difference between exp and expdp?
38: How do you rename a temporary tablespace?
39: what are the steps neeeded to rename a undo tablespace?
40: alter system set check point? what will happen?
41: steps to cold and hot backup.
42: while taking a backup, redo log files are mandatory?
43: while recovery, without redo log files, can we start the database.
44: while taking hot backup, which are the things will occur in the background?
45: what is logical backup? why it is named so?
46: explain oracle architecture.
47: what is the tar command in linux?
48: explain file system in linux.
49: how do you check the disk usage in linux?
50: how do you schedule your crontab?
51: steps to rename the system tablespace.
52: how do you increase the size of sga?
53: create the pfile from the destination database.
54: without knowing the location of tablespaces and the locations of dump directories, at this
situation we don't have the control file. what do you do to bring the database.
55: difference between 9i and 10g?
56: difference between flashback query and flashback database?
57: what are the contents of flashback?
58: how do you export a schema from one schema to antoher using data pump, what is the
difference while executing noraml export and data pump.
59: how data stored in logical backup.
60: what are the contents of sysaux tablespace?
61: what does the resetlogs option will do?
62: what is the use of flashback when you have backup in RMAN?
\63: how do you know which background processes are running and how will you know
which databases are running in a particular server.
64: what is the use of password file?
65: default port number of OEM.
66: if tablespace is in begin backup mode, can we add a datafile to that particular tablespace.
67: during RMAN backup, some files are missing, do RMAN backup will continue or not.
68: how do you solve the deadlock errors.
69: operating system version and oracle versions which you are using.
70: how many concurrent users will connect at a time.
71: team members in your company.

72: what are the roles.


73: what's your operating system bit size?
74: you got new database, how will you perform hot backup on it.
75: define row migration and row chaining.
76: how do you check alert log file.
77: how data will be there in alert log file.
78: what are the critical errors you got to know in alert log file, do you remember the error
number, and what does these done to your database.
79: size of your database and how many databases are there in your environment.
80: different types of segments. explain all.
81: explain your environment looks like.
82: Architecture
83: Tablespaces
84: checkpoint
85: Recovery
86: Expdp & Impdp
87: Data Guard
88: Tuning
89: RMAN
90: Hot backup - cronjobs
91: Cronjobs
92: Oracle Server Configuration
93: Server Version
94: OS Version
95: Row migration & Row Migration
96: all control files lost. no backup. how do you recover.
97: how do you resize online redo log file.
98: rename a redo log file.
99: some unix commands
100: in alert log file what do you find.
101: recent problem you faced in your environment.
102: How do see the top 20 processes running in the server.
103: how do you check how many users are there in unix environment.
104: explain TOP command.
105: Unix basic commands.
106: in your enviroment, what are your different server types, like cpu's and memory size.
107: how do you add a temp file to temporary tablespace.
108: Explain about undo tablespace.
109: what are the steps taken before hot backup.
110: explain about normalization.
111: explaing about tkprof.
112: explain point in time recovery.
113: how do you usually check alert log file.
114: explain about your project.
115: explain about flashback.
116: difference between truncate and delete
117: architecture
118: performance tuning: database buffer cache hit ratio using AWR report.
119: cold and hot backup.
120: data file resize and adding a datafile.

121: roles and responsibilities.


122: day to day work.
123: alert log file.
124: Architecture
125: Imports and Exports
126: Joins
127: PLSQL
128: Can you make a datafile resize in all the scenarios.
129: Point in time reocvery.
130: hot backup.
131: SGA target
132: data pump
133: Redolog files
134: SQL query selection process.
135: imposing a tablespace if it is full. how will you make it to wait.
136: checkpoint.

137: roles and responsibilities


138: what is your day to day activities.
139: what is your daily work.
140: what are the errors during export and import.
141: what is the export and import, if you have RMAN.
142: How do you monitor the database.
143: recent solrais version
144: RAC
145: Transportable Tablespace

146: Exp/Imp error on data type LOB.


147: Managing control files.
148: RMAN
VI:HR Related Questions:
1: tell me about yourself
2: what are your day to day activities
3: what are semahpores
4: how can you limit the user password limit to 3 digits only
5: if the user complaints that his session is slow,how can you find out it ,how do you rectify
that ?
6: how can you find sql id ? data dictionary view ?
7: how can you start and shutdown the host without user interface ? cron jobs need user
interface ?
8: do you know installation and performance tuning?
9: what are kernal parameters set while creating database ?
10: in Rman how can you recover the lost archive log files ?
11: if user finds out that emp table was lost in previous time? how can you restore it?
Nothing flashback query should be fired, by firing this our database will go prior to the time
(Back)..
12: what are ur contributions to ur previous company ?
13: what is ur ticketing tool ?
14: Have you worked on sun solaris?
15: 10 G new fatures ? which is ur favorite one ?
16: how can u do backups / hot / rman / datapump ?
17: tell me about kernal parameters in installation ? what is that path ?
18: tell about background processes ?
19: tools used in ur company ?
hcl - remedy

ibm - amgen
better to tell UNICENTER service disk
USD
20: have u done database refreshing ?
21: if the space is filledup in ts what u do ?
22: hot/cold backup using Rman
23: arch dest is full or lost what you do ?
24: What is Ur Ticking Tool ??
25: If there are 10 Databases, how can you put them in crontab, using Rman how can you
Backup
26: Row Chaining / How can you prevent Row chaining
27: Controlfile Demultiplexing
28: Backup internal Machanism
29: if thr are 10 databases,how can you monitor backup & recoverys
30: how to prevent row chaining
31: controlfile demultiplexing
32: internal process in backups
33: Alert log file lost
34: which process reads data process the undo tablespace
35: which background process helps in issuing the alert when it reach the threshold value
36: current version database you are using?
37: cloning using hot backup ?
38: hot backup ( what happend internally when you put begin backup mode)
can you put system tablespace in begin backupmode ?
39: when the disk is crashed,can you move datafiles to another location { external tape drive}
40: can you rename undo tablespace ?
41: Rman: can you use Rman without catalog ? if possible what happened ?

42: crash recovery


43: SGA: what is sga_target, & sga_max ? can sga_target will be Zero ?
44: prerequisites before hot backup ?
45: prerequisites before Dataguard ?
46: dataguard setup ?
47: levels of protection in dataguard ?
48: what info can you see in Alertlog file ? if a datafile is deleted/truncated/updated will that
info enters into alertlogfile ?
49: crosschecking in rman / & healthchecks using rman ?
How do you partitioned a table?
How do you design a database to detect and prevent unauthorized intrussion?
what is the function of flashback database, flashback transaction, and flashback query?
What is an RMAN repository used for.

How you will proceed for Performance Tunning on poor-performing DB?


What is Split brain in RAC? How to avoid ?
What are the pre-requisites for STANDBY DB creation?
What is Network-Link in datapump?
Describe top Wait Events,which comes in AWR ?