0% found this document useful (0 votes)
42 views11 pages

BC0050 - Oracle & Distributed Databases - 4 Credits (Book ID: B0894)

1. The steps involved in recovering distributed transactions are: 2. Each site has a Local Transaction Manager (LTM) that agents can use to begin, commit, or abort local transactions. 3. To build a Distributed Transaction Manager (DTM), the LTM must ensure the atomicity of sub-transactions at each site and support a two phase commit protocol to coordinate the commit or abort of the overall distributed transaction across all sites. 4. The DTM uses the two phase commit protocol to ensure all sub-transactions either commit or abort at each site to maintain the ACID properties of the distributed transaction.

Uploaded by

deep4you
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views11 pages

BC0050 - Oracle & Distributed Databases - 4 Credits (Book ID: B0894)

1. The steps involved in recovering distributed transactions are: 2. Each site has a Local Transaction Manager (LTM) that agents can use to begin, commit, or abort local transactions. 3. To build a Distributed Transaction Manager (DTM), the LTM must ensure the atomicity of sub-transactions at each site and support a two phase commit protocol to coordinate the commit or abort of the overall distributed transaction across all sites. 4. The DTM uses the two phase commit protocol to ensure all sub-transactions either commit or abort at each site to maintain the ACID properties of the distributed transaction.

Uploaded by

deep4you
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

December 2011

Bachelor of Computer Application (BCA) Semester 4


BC0050 Oracle & Distributed Databases 4 Credits
(Book ID: B0894)
Assignment Set 1 (40 Marks)
Answer all the questions 4 x 10 = 40
1. rite a !"#S$" co%e for fin% Sum of & num'ers usin( )*"+
"oop
set serveroutput on;
declare n number ! "n;
a number ;
b number ;
begin
a ! 1;
b ! 0;
#$ile(a %! n) loop
b ! b & a;
a ! a&1;
end loop;
dbms'output(put'line()sum o*natural numbers)++b);
end;
,. -ifferentiate 'etween !"#S$" functions an% proce%ures.
1( ,unction is mainl- used in t$e case #$ere it must return a value( .$ere as
a procedure ma- or ma- not return a value or ma- return more t$an one value
using t$e /01 parameter(
2( ,unction can be called *rom S23 statements #$ere as procedure can not
be called *rom t$e s4l statements
5( ,unctions are normall- used *or computations #$ere as procedures are
normall- used *or e6ecuting business logic(
4( 7ou can $ave DM3 (insert update delete) statements in a *unction( 8ut
-ou cannot call suc$ a *unction in a S23 4uer-
9( ,unction returns 1 value onl-( :rocedure can return multiple values (ma6
1024)(
;( Stored :rocedure supports de*erred name resolution( <6ample #$ile
#riting a stored procedure t$at uses table named tabl1 and tabl2 etc(( but
actuall- not e6ists in database is allo#ed onl- in during creation but runtime
:age 1
t$ro#s error ,unction #ont support de*erred name resolution(
=( Stored procedure returns al#a-s integer value b- de*ault >ero( #$ere as
*unction return t-pe could be scalar or table or table values
?( Stored procedure is precompiled e6ecution plan #$ere as *unctions are
not(
@( A procedure ma- modi*- an obAect #$ere a *unction can onl- return a
value 1$e B<10BC statement immediatel- completes t$e e6ecution o* a
subprogram and returns control to t$e caller(
.. -raw a %ia(ram of oracle architecture an% explain it 'riefl/.
1$e /racle server consists o* p$-sical *iles and memor- components( 1$e
/racle @i Database product is made up t$ree main components namel-
1( 0he 1racle Ser2er 1$is is t$e /racle database management s-stem t$at
is able to storeD manage and manipulate data( Et consists o* all t$e *ilesD
structuresD processes t$at *orm /racle Database @i( 1$e /racle server is made
up o* an /racle instance and an /racle database(
2( 0he 1racle *nstance Fonsists o* t$e memor- components o* /racle and
various background processes(
5( 0he 1racle %ata'ase 1$is is t$e centrali>ed repositor- #$ere t$e data is
stored( Et $as a p$-sical structure t$at is visible to t$e /perating s-stem made
up o* operating s-stem *iles and a logical structure t$at is recogni>ed onl- t$e
/racle Server(
1$e *igure 5(1 displa-s t$e arc$itecture o* t$e /racle Database @i( Et is
broadl- divided into t$e memor- components #$ic$ *orm t$e /racle instance
and t$e p$-sical database components #$ere di**erent kinds o* data are stored(
:age 2
4. -raw the %ia(ram of lo(ical structure of oracle %ata'ase an%
explain it in 'rief.
,ig belo# s$o#s t$e logical structure o* oracle database(
:age 5


1$e /racle database is divided into increasingl- smaller logical units to manageD
storeD and retrieve datae**icientl- and 4uickl-( 1$e *igure s$o#s t$e relations$ips
bet#een t$e logical structures o* t$e database(
3ogical structure mainl- consists o* tablespaceDsegmentsDe6tentsD andoracle data
blocks
1A83<S:AF<
<ac$ database is logicall- divided into one or more tablespaces ( /ne or more
data*iles are e6plicitl-created *or eac$ tablespace to p$-sicall- store t$e data o* all
logical structures in a tablespace( 1$ecombined si>e o* t$e data*iles in a tablespace is
t$e total storage capacit- o* t$e tablespace(
S<GM<C1
A segment is a set o* e6tents allocated *or a certain logical structure( 1$e segments
can be o* one o* *ollo#ing t-pe data segmentD inde6 segmentD temporar- segmentD
rollback segment(
:age 4
<H1<C1
1$e ne6t level o* logical database space is an e6tent( An e6tent is a speci*ic number
o* contiguous datablocksD obtained in a single allocationD and used to store a speci*ic
t-pe o* in*ormation(
/BAF3< DA1A83/FIS
At t$e *inest level o* granularit-D /racle database data is stored in data blocks( /ne
data blockcorresponds to a speci*ic number o* b-tes o* p$-sical database space on disk(
1$e standard block si>e isspeci*ied b- t$e D8'83/FI'SEJ< initiali>ation parameter(
En additionD -ou can speci*- up to *ive ot$erblock si>es
:age 9
December 2011
Bachelor of Computer Application (BCA) Semester 4
BC0050 Oracle & Distributed Databases 4 Credits
(Book ID: B0894)
Assignment Set 2 (40 Marks)
Answer all the questions 4 x 10 = 40
1. -iscuss the o'3ecti2es of $uer/ !rocessin(.
1$e main obAectives o* 4uer- processing in a distributed environment is to
*orm a $ig$ level4uer- on a distributed databaseD #$ic$ is seen as a single
database b- t$e usersD into an e**iciente6ecution strateg- e6pressed in a lo# level
language on local databases(K An important point o* 4uer- processing is 4uer-
optimi>ation( 8ecause man- e6ecution strategiesare correct trans*ormations o*
t$e same $ig$Llevel 4uer-D t$e one t$at optimi>es (minimi>es)resource
consumption s$ould be retained(K 1$e good measures o* resource consumption
are
1$e total cost t$at #ill be incurred in processing t$e 4uer-( Et is
t$e some o* all times incurred in processing t$e operations o* t$e 4uer- at
various sites and intrinsic communication(
1$e resource time o* t$e 4uer-( 1$is is t$e time elapsed *or
e6ecuting t$e 4uer-( Since operations can be e6ecuted in parallel at di**erent
sitesD t$e response time o* a 4uer- ma- be signi*icantl- less t$an its cost(K
/bviousl- t$e total cost s$ould be minimi>ed(
En a distributed s-stemD t$e total cost to be minimi>ed includes
F:0D EM/D and communication costs( 1$ese costs can be minimi>ed b-
reducing t$e number o* EM/ operations t$roug$ *ast access met$ods to t$e
data and e**icient use o* main memor-( 1$e communication cost is t$e time
needed *or e6c$anging t$e data bet#een sites participating in t$e e6ecution o*
t$e 4uer-(
En centrali>ed s-stemsD onl- F:0 and EM/ cost $ave to be
considered
2( -iscuss the 4eatures of the )etero(eneous Ser2ices.
1$e *ollo#ing are t$e *eatures o* Neterogeneous Services( Cot all *eatures
listed belo# are necessaril- supported b- -our Neterogeneous Services agent or
/racle Gate#a-(
1( Distributed 1ransactions A transaction can span bot$ /racle and nonL
/racle s-stemsD #$ile still guaranteeingD t$roug$ /racleOs t#o p$ase commit
mec$anismD t$at c$anges are eit$er all committed or all rolled back(
:age 1
2( 1ransparent S23 access Entegrate data *rom nonL/racle s-stems into t$e
/racle environment as i* t$e data is stored in one singleD local database( S23
statements issued b- t$e application are transparentl- trans*ormed into S23
statement understood b- t$e nonL/racle s-stem
5( :rocedural Access :rocedural s-stemsD like messaging and 4ueuing
s-stemsD are accessed*rom an /racle@i server using :3MS23 remote
procedure calls(
4( Data Dictionar- translations 1o make t$e nonL/racle s-stem appear as
anot$er /racle serverD S23 statements containing re*erences to /racle)s data
dictionar- tables are trans*ormed into S23 statements containing re*erences
to a nonL/racle s-stemOs data dictionar- tables(
9( :assLt$roug$ S23 /ptionall-D application programmers can directl-
access a nonL/racle s-stem *rom an /racle application using t$e nonL/racle
s-stemOs S23 dialect(
;( Accessing stored procedures Stored procedures in S23Lbased nonL
/racle s-stems are accessed as i* t$e- #ere :3MS23 remote procedures(
=( Cational 3anguage Support Neterogeneous Services supports multiLb-te
c$aracter setsD and translate c$aracter sets bet#een a nonL/racle s-stem and
t$e /racle@i server(
?( MultiL1$readed Agents MultiLt$readed agents take advantage o* -our
operating s-stem)s t$reading capabilities( MultiLt$readed agents reduce t$e
number o* re4uired processes b- taking advantage o* multiLt$readed server
capabilities(
@( Agent Sel*LBegistration Agent sel*Lregistration automates t$e process o*
updating Neterogeneous Services con*iguration data on remote $ostsD
ensuring correct operation over $eterogeneous database links(
10( Management Enter*ace :rovides a grap$ic representation o* active
Neterogeneous Services agents and o* #$ic$ user sessions are accessing
t$ose agents(
.. +xplain the steps in2ol2e% in reco2er/ of %istri'ute% transactions.
1$e issue o* recover- mec$anism is important in t$e case o* revoking t$e
s-stem to per*orm normal database operations a*ter a *ailure( 1$usD be*ore
discussing about recover-D let us *irst anal->e about t$e di**erent kinds o* *ailure
t$at can occur in a centrali>ed database(
Co# let us consider recover- problems in distributed databases( ,or t$is
purposeD let us assume t$at at eac$ site a 3ocal 1ransaction Manager is available(
<ac$ agent can issue begin'transactionD commitD and abort primitives to its 31M(
:age 2
A*ter $aving issued a begin'transaction to its 31MD an agent #ill possess t$e
properties o* a local transaction( .e #ill call an agent t$at $as issued a
begin'transaction primitive to its local transaction manager a SubLtransaction(
Also to distinguis$ t$e begin'transactionD commitD and abort primitives o* t$e
distributed transaction *rom t$e local primitives issued b- eac$ agent to its 31MD
#e #ill call t$e later as local'beginD local'commitD and local'abort(
,or building a Distributed 1ransaction Manager (D1M)D t$e *ollo#ing properties
are e6pected *rom t$e 31M
<nsuring t$e atomicit- o* subLtransaction .riting some records on stable
storage on be$al* o* t$e distributed transaction manager
.e need t$e second re4uirementD as some additional in*ormation must also
be recorded in suc$ a#a- t$at t$e- can be recovered in case o* *ailure( En order to
make sure t$at eit$er all actions o* a distributed transaction are per*ormed or
none is per*ormed at allD t#o conditions are necessar-
At eac$ site eit$er all actions are per*ormed or none is per*ormed
All sites must take t$e same decision #it$ respect to t$e commitment or abort
o* sub transaction(
:age 5
8egin'transaction .$en it is issued b- t$e root agentD D1M #ill $ave to
issue a local'begin primitive to t$e 31M at t$e site o* origin and all t$e sites at
#$ic$ t$ere are alread- active agents o* t$e same applicationD t$us trans*orming
all agents into subLtransactions; *rom t$is time on t$e activation o* a ne# agent
b- t$e same distributed transaction re4uires t$at t$e local'begin be issued to t$e
31M #$ere t$e agent is activatedD so t$at t$e ne# agent is created as a SubL
transaction( 1$e e6ample o* ,0CD 1BACS,<B is taken *or e6plaining t$is
concept( 1$e *ig ?(1 e6plains t$is(
Abort .$en an abort is issued b- t$e root agentD all e6isting subLtransactions
must be aborted( Essuing local'aborts to t$e 31Ms at all sites #$ere t$ere is an
active sub transaction per*orms t$is(
Fommit 1$e implementation o* t$e commit primitive is t$e most di**icult
and e6pensive( 1$e main di**icult- originates *rom t$e *act t$at t$e correct
commitment o* a distributed transaction re4uires t$at al subLtransactions commit
locall- even i* t$ere are *ailures(
:age 4
En order to implement t$is primitive *or a distributed transactionD t$e general
idea o* 2L:$ase commit :rotocol $as been developed( Et is discussed in detail in
t$e ne6t section(
4( hat are the %ifferent 0rou'leshootin( pro'lems in -istri'ute%
0ransaction5
A net#ork or s-stem *ailure can cause t$e *ollo#ing t-pes o* problems
A t#oLp$ase commit being processed #$en a *ailure occurs ma- not be
completed at all nodes o* t$e session tree(
E* a *ailure persists (*or e6ampleD i* t$e net#ork is do#n *or a long time)D t$e
data e6clusivel- locked b- inLdoubt transactions is unavailable to statements o*
ot$er transactions(
1$e *ollo#ing sections describe t$ese situations(
4ailures that *nterrupt 0wo6!hase Commit
1$e user program t$at commits a distributed transaction is in*ormed o* a
problem b- one o* t$e *ollo#ing error messages
A robust application s$ould save in*ormation about a transaction i* it
receives an- o* t$e above errors( 1$is in*ormation can be used later i* manual
distributed transaction recover- is desired(
4ailures that !re2ent -ata Access
.$en a user issues a S23 statementD /racle@i attempts to lock t$e re4uired
resources to success*ull- e6ecute t$e statement( No#everD i* t$e re4uested data is
currentl- being $eld b- statements o* ot$er uncommitted transactions and continues
to remain locked *or an e6cessive amount o* timeD a timeLout occurs(
0ransaction 0ime61ut
A DM3 S23 statement t$at re4uires locks on a remote database ma- be
blocked *rom doing so i* anot$er transaction (distributed or nonLdistributed)
currentl- o#n locks on t$e re4uested data( E* t$ese locks continue to block t$e
re4uesting S23 statementD a timeLout occursD t$e statement is rolled backD and t$e
*ollo#ing error message is returned to t$e user
/BAL0204@ timeLout distributed transaction #aiting *or lock
8ecause no data $as been modi*iedD no actions are necessar- as a result o*
t$e timeout( Applications s$ould proceed as i* a deadlock $as been encountered(
1$e user #$o e6ecuted t$e statement can tr- to reLe6ecute t$e statement later( E* t$e
lock persistsD t$e user s$ould contact an administrator to report t$e problem(
"oc7 4rom *n6-ou't 0ransaction
A 4uer- or DM3 statement t$at re4uires locks on a local database ma- be
:age 9
blocked *rom doing so inde*initel- due to t$e locked resources o* an inLdoubt
distributed transaction( En t$is caseD t$e *ollo#ing error message is immediatel-
returned to t$e user
En t$is caseD t$e S23 statement is rolled back immediatel-( 1$e user #$o
e6ecuted t$e statement can tr- to reLe6ecute t$e statement later( E* t$e lock persistsD
t$e user s$ould contact an administrator to report t$e problemD including t$e ED o*
t$e indoubt distributed transaction(
8anuall/ 12erri%in( *n6-ou't 0ransactions
A database administrator can manuall- *orce t$e F/MME1 or B/338AFI
o* a local inLdoubt distributed transaction( No#everD a speci*ic inLdoubt transaction
s$ould be manuall- overridden onl- #$en t$e *ollo#ing situations e6ist
1$e inLdoubt transaction locks data t$at is re4uired b- ot$er transactions(
An inLdoubt transaction prevents t$e e6tents o* a rollback segment to be
used b- ot$er transactions(
1$e *ailure t$at did not allo# t$e t#oLp$ase commit p$ases to complete #ill
not be corrected in an acceptable time period(
:age ;

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy