0% found this document useful (0 votes)
90 views4 pages

Topic: Term Paper Review

Uploaded by

Parveen Paul
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
90 views4 pages

Topic: Term Paper Review

Uploaded by

Parveen Paul
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

TERM PAPER REVIEW

CSE-301

DBMS

TOPIC: Differences between Oracle 9i Oracle SQL


Oracle 10g

INTRODUCTION
10 G supports grid computing ASM (Automatic storage management) and Memory
management.
Oralce 10g is higher version of 9i.
Oracle 10g is a major re-write of the Oracle kernel from Oracle 9i. 

Major differences between Oracle9i and Oracle10g:

 Major changes to SQL optimizer internals


 Oracle Grid computing
 AWR and ASH tables incorporated into Oracle Performance Pack and Diagnostic
Pack options
 Automated Session History (ASH) materializes the Oracle Wait Interface over time
 Data Pump replaces imp utility with impdp
 Automatic Database Diagnostic Monitor (ADDM)
 SQLTuning Advisor
 SQLAccess Advisor
 Rolling database upgrades (using Oracle10g RAC)
 dbms_scheduler package replaces dbms_job for scheduling

New Features of Oracle10g release 2:


 Web server load balancing –

The web cache component includes Apache extension to load-balance transactions to the
least-highly-loaded Oracle HTTP server (OHS)

 RAC instance load balancing –

Staring in Oracle 10g release 2, Oracle JDBC and ODP.NET provide connection pool
load balancing facilities through integration with the new “load balancing advisory” tool.
This replaces the more-cumbersome listener-based load balancing technique.

 Automated Storage Load balancing –

Oracle’s Automatic Storage Management (SAM) now enables a single storage pool to be
shared by multiple databases for optimal load balancing. Shared disk storage resources
can alternatively be assigned to individual databases and easily moved from one database
to another as processing requirements change.

 Data Guard Load Balancing –

Oracle Dataguard allows for load balancing between standby databases.

 Listener Load Balancing –

If advanced features such as load balancing and automatic failover are desired, there are
optional sections of the listener.ora file that must be present. Automatic Storage
Management (ASM) includes multiple disk operations and a non-ASM database
migration utility.

 Enhancements to data provisioning and Oracle Streams designed to make it easier to


archive, move, and copy large data sets.
 Integrated data encryption and key management in the database.
 Automated statistics collection directly from memory designed to eliminate the need
to execute SQL queries.
 Extended use of Standard Chunk sizes –

In 10gR2, the server has been enhanced to further leverage standard chunk allocation
sizes. This additional improvement reduces the number of problems arising from memory
fragmentation.

 Mutexes –

To improve cursor execution and also hard parsing, a new memory serialization
mechanism has been created in 10gR2. For certain shared-cursor related operations,
mutexes are used as a replacement for library cache latches and librarycache pins. Using
mutexes is faster, uses less CPU and also allows significantly improved concurrency over
the existing latch mechanism. The use of mutexes for cursor pins can be enabled by
setting the init.ora parameter _use_kks_mutex to TRUE

 V$SGASTAT –

V$SGASTAT has been enhanced to display a finer granularity of memory to component


allocation within the shared pool. This allows faster diagnosis of memory usage (in prior
releases many smaller allocations were grouped under the ‘miscellaneous’ heading).

 V$SQLSTAT –

A new view, V$SQLSTAT has been introduced which contains SQL related statistics
(such as CPU time, elapsed time, sharable memory). This view is very cheap to query
even on high-concurrency systems, as it does not require librarycache latch use. It
contains the most frequently used SQL statistics in the V$SQL family of views.

 V$OPEN_CURSOR –

This implementation of this view has also been enhanced to be latchless, making it
inexpensive to query.

 V$SQLAREA –

The V$SQLAREA view has been improved in 10gR2; the view optimizes the aggregation
of the SQL statements while generating the view data.

Oracle SQL
Oracle does not support AS in FROM clauses, but you can still specify tuple variables
without AS:
    from Relation1 u, Relation2 v
On the other hand, Oracle does support AS in SELECT clauses, although the use of AS is
completely optional.

The set-difference operator in Oracle is called MINUS rather than EXCEPT. There is no bag-


difference operator corresponding to EXCEPT ALL. The bag-intersection
operator INTERSECT ALL is not implemented either. However, the bag-union
operator UNION ALLis supported.

In Oracle, you must always prefix an attribute reference with the table name whenever this
attribute name appears in more than one table in the FROM clause. For example, suppose that
we have tables R(A,B)and S(B,C). The following query does not work in Oracle, even
though B is unambiguous because R.B is equated to S.B in the WHERE clause:
    select B from R, S where R.B = S.B;    /* ILLEGAL! */

Instead, you should use:


    select R.B from R, S where R.B = S.B;

In Oracle, the negation logical operator (NOT) should go in front of the boolean expression,
not in front of the comparison operator.
For example, "NOT A = ANY (<subquery>)" is a valid WHERE condition, but "A NOT =
ANY (<subquery>)" is not.
There is one exception to this rule: You may use either "NOT A IN (<subquery>)" or "A
NOT IN (<subquery>)".

In Oracle, an aliased relation is invisible to a subquery's FROM clause.


For example,
   SELECT * FROM R S WHERE EXISTS (SELECT * FROM S) is rejected because Oracle
does not find S in the subquery,
but
   SELECT * FROM R S WHERE EXISTS (SELECT * FROM R WHERE R.a = S.a)
is accepted.

In Oracle, a query that includes

1. a subquery in the FROM clause, using GROUP BY; and


2. a subquery in the WHERE clause, using GROUP BY

can cause the database connection to break with an error (ORA-03113: end-of-file on
communication channel), even if the two GROUP BY clauses are unrelated.

You might also like