1)
What are the
components of Physical database structure of Oracle Database?
ORACLE database is comprised of three types of files. One or more Data
files, two are more Redo Log files, and
one or more Control files.
2)
What are the
components of Logical database structure of ORACLE database?
Table spaces and the Database's
Schema Objects.
3)
What is a Table
space?
A database is divided into Logical
Storage Unit called table spaces. A table space is used to grouped related logical structures
together.
4)
What is SYSTEM table
space and when is it Created?
Every ORACLE database contains a table
space named SYSTEM, which is automatically created when the database is
created. The SYSTEM table space always contains the data dictionary tables for
the entire database.
5)
Explain the
relationship among Database, Table space and Data file.
Each databases logically divided into
one or more table spaces one or more data files are explicitly created for each table space.
6)
What is schema?
A schema is collection of database
objects of a User.
7)
What are Schema
Objects?
Schema objects are the logical
structures that directly refer to the database's data. Schema objects include tables, views, sequences,
synonyms, indexes, clusters, database triggers, procedures, functions packages
and database links.
8)
Can objects of
the same Schema reside in different table space?
Yes.
9)
Can a Table
space hold objects from different Schemes?
Yes.
10)
What is Table?
A table is the basic unit of data
storage in an ORACLE database. The tables of a database hold all of the user
accessible data. Table data is stored in rows and columns.
11)
What is a View?
A view is a virtual table. Every view
has a Query attached to it. (The Query is a SELECT statement that identifies
the columns and rows of the table(s) the view uses.)
12)
Does View
contain Data?
Views do not contain or store data.
13)
Can a View based
on another View?
Yes.
14)
What are the
advantages of Views?
1. Provide an
additional level of table security, by restricting access to a predetermined
set of rows and columns of a table.
2. Hide data
complexity.
3. Simplify
commands for the user.
4. Present
the data in a different perspective from that of the base table.
5. Store complex
queries.
15)
What is a
Sequence?
A sequence generates a serial list of
unique numbers for numerical columns of a database's tables.
16)
What is a
Synonym?
A
synonym is an alias for a table, view, sequence or program unit.
17)
What is the type
of Synonyms?
There are two types of Synonyms
Private and Public.
18)
What is a
Private Synonyms?
A Private Synonyms can be accessed only
by the owner.
19)
What is a Public
Synonym?
Public synonyms can be accessed by any
user on the database.
20)
What are
synonyms used for?
·
Synonyms are used to: Mask the real name and owner of an object.
·
Provide public access to an object.
·
Provide location transparency for tables, views or program units of a
remote database.
·
Simplify the SQL statements for database users.
21)
What is an
Index?
An Index is an optional structure
associated with a table to have direct access to rows, which can be created to increase the
performance of data retrieval. Index can be created on one or more
columns of a table.
22)
How is Indexes
Update?
Indexes
are automatically maintained and used by ORACLE. Changes to table data
are automatically
incorporated into all relevant indexes.
23)
What are
Clusters?
Clusters
are groups of one or more tables physically stores together to share common
columns and are often used together.
24)
What is cluster
Key?
The related column of the tables in a
cluster is called the Cluster Key.
25)
What is Index
Cluster?
A Cluster with an index on the Cluster
Key.
26)
What is Hash
Cluster?
A row is stored in a hash cluster based on the
result of applying a hash function to the row’s cluster key value. All rows
with the same hash key value are stores together on disk.
27)
When can Hash
Cluster used?
Hash clusters are better choice when
a table is often queried with equality queries. For such queries the
specified cluster key value is hashed. The resulting hash key value points
directly to the area on disk that stores the specified rows.
28)
What is Database
Link?
A database link is a named object
that describes a "path" from one database to another.
29)
What are the
types of Database Links?
Private Database Link, Public Database
Link & Network Database Link.
30)
What is Private
Database Link?
Private database link is created on
behalf of a specific user. A private database link can be used only when the
owner of the link specifies a global object name in a SQL statement or in the
definition of the owner's views or procedures.
31)
What is Public
Database Link?
Public database link is created for
the special user group PUBLIC. A public database link can
be used when any user in the associated
database specifies a global object name in a SQL statement or object
definition.
32)
What is Network
Database link?
Network database link is created and
managed by a network domain service. A network database link can be used when
any user of any database in the network specifies a global object name in a SQL
statement or object definition.
33)
What is Data
Block?
ORACLE database's data is stored in
data blocks. One data block corresponds to a specific number of bytes of
physical database space on disk.
34)
How to define
Data Block size?
A data block size is specified for
each ORACLE database when the database is created. A database users and
allocated free database space in ORACLE data blocks. Block size is
specified in INIT.ORA file and can’t be changed latter.
35)
What is Row
Chaining?
In Circumstances, all of the data for
a row in a table may not be able to fit in the same data block. When this
occurs, the data for the row is stored in a chain of data block (one or more)
reserved for that segment.
36)
What is an
Extent?
An Extent is a specific number of
contiguous data blocks, obtained in a single allocation, and used to store a
specific type of information.
37)
What is a
Segment?
A segment is a set of extents
allocated for a certain logical structure.
38)
What are the
different types of Segments?
Data Segment, Index Segment, Rollback
Segment and Temporary Segment.
39)
What is a Data
Segment?
Each Non-clustered table has a data
segment. All of the table's data is stored in the extents of its data segment.
Each cluster has a data segment. The data of every table in the cluster is
stored in the cluster's data segment.
40)
What is an Index
Segment?
Each Index has an Index segment
that stores all of its data.
41)
What is Rollback
Segment?
A Database contains one or more
Rollback Segments to temporarily store "undo" information.
42)
What are the
uses of Rollback Segment?
Rollback Segments are used: To generate
read-consistent database information during database recovery to rollback
uncommitted transactions for users.
43)
What is a
Temporary Segment?
Temporary segments are created by
ORACLE when a SQL statement needs a temporary work area to complete execution.
When the statement finishes execution, the temporary segment extents are
released to the system for future use.
44)
What is a Data
File?
Every ORACLE database has one or more
physical data files. A database's data files contain all the database data. The
data of logical database structures such as tables and indexes is physically
stored in the data files allocated for a database.
45)
What are the
Characteristics of Data Files?
·
A data file can be associated with only one database.
·
Once created a data file can't change size.
·
One or more data files form a logical unit of database storage called a table
space.
46)
What is a Redo
Log?
The set of Redo Log files for a
database is collectively known as the database's redo log.
47)
What is the
function of Redo Log?
The Primary function of the redo log is
to record all changes made to data.
48)
What is the use
of Redo Log Information?
The Information in a redo log file is
used only to recover the database from a system or media failure prevents
database data from being written to a database's data files.
49)
What does a
Control file Contain?
A Control file records the physical
structure of the database. It contains the following information.
Database Name
1. Names and
locations of a database's files and redo log files.
2. Time stamp of
database creation.
50)
What is the use
of Control File?
When an instance of an ORACLE
database is started, its control file is used to identify the database and redo
log files that must be opened for database operation to proceed. It is also
used in database recovery.
51)
What is a Data
Dictionary?
i. The data
dictionary of an ORACLE database is a set of tables and views that are used as
a read-only reference about the database.
ii. It stores
information about both the logical and physical structure of the database, the
valid users of an ORACLE database, integrity constraints defined for tables in
the database and space allocated for a schema object and how much of it is
being used.
52)
What is an
Integrity Constrains?
An integrity constraint is a declarative
way to define a business rule for a column of a table.
53)
Can an Integrity
Constraint be enforced on a table if some existing table data does not satisfy the constraint?
No.
54)
Describe the
different type of Integrity Constraints supported by ORACLE?
·
NOT NULL Constraint - Disallows Nulls in a table's column.
·
UNIQUE Constraint - Disallows duplicate values in a column or set of columns.
·
PRIMARY KEY Constraint - Disallows duplicate values and Nulls in a column or set of columns.
·
FOREIGN KEY Constrain - Require each value in a column or set of columns match a value in a
related table's UNIQUE or PRIMARY KEY.
·
CHECK Constraint - Disallows values that do not satisfy the logical expression of the
constraint.
55) What
is difference between UNIQUE constraint and PRIMARY KEY constraint?
A column defined as
UNIQUE can contain Nulls while a column defined as PRIMARY KEY can't contain
Nulls.
56)
Describe
Referential Integrity?
A rule defined on a column (or set of
columns) in one table that allows the insert or update of a row
only if the value for the column or set of columns (the
dependent value) matches a value in a column of a related
table (the referenced value). It also specifies
the type of data manipulation allowed on referenced data and the action to be
performed on dependent data as a result of any action on referenced data.
57)
What are the
Referential actions supported by FOREIGN KEY integrity constraint?
UPDATE and DELETE Restrict - A referential
integrity rule that disallows the update or deletion of referenced data.
DELETE Cascade - When a
referenced row is deleted all associated dependent rows are deleted.
58)
What is
self-referential integrity constraint?
If a foreign key reference a parent
key of the same table is called self-referential integrity constraint.
59)
What are the
Limitations of a CHECK Constraint?
The condition must
be a Boolean expression evaluated using the values in the row being inserted or
updated and can't contain subquery, sequence, the SYSDATE,UID,USER
or USERENV SQL functions, or the pseudo columns LEVEL or ROWNUM.
60)
What is the
maximum number of CHECK constraints that can be defined on a column?
No Limit.
61)
What constitute
an ORACLE Instance?
SGA and ORACLE background processes
constitute an ORACLE instance. (Or) Combination of memory structure and
background process.
62)
What is SGA?
The System Global Area (SGA) is a shared
memory region allocated by ORACLE that contains data and control information
for one ORACLE instance.
63)
What are the
components of SGA?
Database buffers, Redo Log Buffer the
Shared Pool and Cursors.
64)
What is PGA?
Program Global Area (PGA) is a memory
buffer that contains data and control information for a server process.
65)
Define
Transaction?
A Transaction is a logical unit
of work that comprises one or more SQL statements executed by a single user.
66)
When does a
Transaction end?
When it is committed or Roll backed.
67)
What does COMMIT
do?
COMMIT makes permanent the changes
resulting from all SQL statements in the transaction. The changes made by the
SQL statements of a transaction become visible to other user sessions
transactions that start only after transaction is committed.
68)
What does
ROLLBACK do?
ROLLBACK retracts any of the changes
resulting from the SQL statements in the transaction.
69)
What is SAVE
POINT?
For long
transactions that contain many SQL statements,
intermediate markers or save points can be
declared which can be used to divide a transaction into
smaller parts. This allows the option of later rolling back all
work performed from the current point in the transaction to a declared save
point within the transaction.
70)
What is
Read-Only Transaction?
Read-Only transaction ensures that
the results of each query executed in the transaction are consistent with
respect to the same point in time.
71)
What is the
function of Optimizer?
The goal of the optimizer is to
choose the most efficient way to execute a SQL statement.
72)
What is
Execution Plan?
The combination of the steps the
optimizer chooses to execute a statement is called an execution plan.
73)
What are the
different approaches used by Optimizer in choosing an execution plan?
Rule-based and Cost-based.
74)
What are the
factors that affect OPTIMIZER in choosing an Optimization approach?
The
OPTIMIZER_MODE initialization parameter Statistics in the Data
Dictionary the OPTIMIZER_GOAL parameter of the ALTER SESSION command hints in
the statement.
75)
What are the
values that can be specified for OPTIMIZER MODE Parameter?
COST and RULE.
76)
Will the
Optimizer always use COST-based approach if OPTIMIZER_MODE is set to
"Cost'?
Presence of statistics in the data
dictionary for at least one of the tables accessed by the SQL statements is
necessary for the OPTIMIZER to use COST-based approach. Otherwise OPTIMIZER
chooses RULE-based approach.
77)
What is the
effect of setting the value of OPTIMIZER_MODE to ‘RULE’?
This value causes the
optimizer to choose the rule based approach for all SQL statements
issued to the instance regardless of the
presence of statistics.
78)
What are the
values that can be specified for OPTIMIZER_GOAL parameter of the ALTER SESSION
Command?
CHOOSE, ALL_ROWS, FIRST_ROWS and RULE.
79)
What is the
effect of setting the value "CHOOSE" for OPTIMIZER_GOAL, parameter of
the ALTER SESSION Command?
The Optimizer chooses Cost based
approach and optimizes with the goal of best throughput if statistics for at
least one of the tables accessed by the SQL statement exist in the data
dictionary. Otherwise the OPTIMIZER chooses RULE_based approach.
80)
What is the
effect of setting the value "ALL_ROWS” for OPTIMIZER_GOAL parameter of the
ALTER SESSION command?
This value causes the optimizer to
the cost-based approach for all SQL statements in the session regardless of the
presence of statistics and to optimize with a goal of best throughput.
81)
What
is the effect of setting the value ‘FIRST_ROWS’ for OPTIMIZER_GOAL
parameter of the ALTER SESSION command?
This value causes the optimizer to
use the cost-based approach for all SQL statements in the session regardless of
the presence of statistics and to optimize with a goal of best response time.
82)
What is the
effect of setting the 'RULE' for OPTIMIER_GOAL parameter of the ALTER SESSION
Command?
This value causes the optimizer to
choose the rule-based approach for all SQL statements in a session regardless
of the presence of statistics.
83)
What is
RULE-based approach to optimization?
Choosing
an executing plan based on the access paths available and the ranks of
these access paths.
84)
What is
COST-based approach to optimization?
Considering available
access paths and determining the most efficient
execution plan based on statistics in the data dictionary for
the tables accessed by the statement and their associated clusters and
indexes.
85)
What are the
different types of PL/SQL program units that can be defined and stored in
ORACLE database?
Procedures and Functions, Packages and
Database Triggers.
86)
What is a
Procedure?
A
Procedure consist of a set of SQL and PL/SQL statements that are grouped
together as a unit to solve a specific problem or perform a set of
related tasks.
87)
What is
difference between Procedures and Functions?
A Function returns a value to the caller
where as a Procedure does not.
88)
What is a
Package?
A Package is a collection of related
procedures, functions, variables and other package constructs together as a
unit in the database.
89)
What are the
advantages of having a Package?
Increased functionality
(for example, global package variables can be
declared and used by any procedure in the package) and
performance (for example all objects of the package are
parsed compiled, and loaded into memory once)
90)
What is Database
Trigger?
A Database Trigger is procedure (set
of SQL and PL/SQL statements) that is automatically executed as a result of an
insert in, update to, or delete from a table.
91)
What are the
uses of Database Trigger?
Database triggers can be used to
automatic data generation, audit data modifications, enforce complex Integrity
constraints, and customize complex security authorizations.
92)
What are the
differences between Database Trigger and Integrity constraints?
A declarative integrity constraint is
a statement about the database that is always true. A constraint applies to
existing data in the table and any statement that manipulates the table.
A trigger does
not apply to data loaded before the definition of the
trigger, therefore, it does not guarantee all data in a table
conforms to the rules established by an associated trigger.
A trigger can be used to enforce
transitional constraints where as a declarative integrity constraint cannot be
used.
93)
What is a SQL *
NET?
SQL *NET is ORACLE’s mechanism for
interfacing with the communication protocols used by the networks that
facilitate distributed processing and distributed databases. It is used
in Clint-Server and Server-Server communications.
No comments:
Post a Comment