Aa@YHH $ d    dFootnote TableFootnote**. . / - . \[\[TOCHeading !<$lastpagenum><$monthname> <$daynum>, <$year>"<$monthnum>/<$daynum>/<$shortyear>;<$monthname> <$daynum>, <$year> <$hour>:<$minute00> <$ampm>"<$monthnum>/<$daynum>/<$shortyear><$monthname> <$daynum>, <$year>"<$monthnum>/<$daynum>/<$shortyear> <$fullfilename>  <$filename>  <$paratext[Title]>  <$paratext[Heading]>  <$curpagenum>  <$marker1>. <$marker2>xn (Continued)Pagepage<$pagenum>0Heading & Page <$paratext> on page<$pagenum>AaSee Heading & Page%See <$paratext> on page<$pagenum>. Table & Page7Table<$paranumonly>, <$paratext>, on page<$pagenum>+ (Sheet <$tblsheetnum> of <$tblsheetcount>) wwlooxxyyzz{{A.||AAeAn}AA1KenuJKme>O>, OIthnOnumDyeaP;Eme>J>, O$hoPuteOm>P$moO$daPhorOIthnIynuOr>O$moP$daOhorO OlfiO  OenaPOt[TO  OateOg]>O$cuPO$maOOkerD Eed)POagePm>0OdinI <II$paIIdinP%SeOtexIgeI>.Ile OablOumoOparOon OgenO+O$tbO> oOeetOP OwPOxOPOzOO{OOAOOOeOOAOOPOPAOKOJOKOOOOOIPOODOPOEOJOOOPOOPPOOOPOOOIOIOOOOOPPOOOOOOOOOOPEO PO OO POOOIPIOIOIOIDPEOPPOOPPOPIOIPI OI!OI"OP#OO$OI%OI'OI(OO)OO+JO,KO-OOu,duOw|PdvO}}PH$ wxu OH$ UU`O Hz xwyu Hz OUU`K H$ yxzu H$ EOUU` OHz zy{u OHz IUU`O OHH{z|u OHHO`O HH|{u HHOI` OHH}v PHH I@$Ocolons. O"`%$dbname : The name of the database. O<`'bFor example to access the soi_dsds_v1 database on quake from griffin do the following on griffin: V`(( $sql quake::soi_dsds_v1 p )cHere the database server is quake and the client is griffin. So we see that a remote database on a wy~)zSremote node can be accessed simply by issuing the above command and the network is y@)transparent to the user. `O 4 References `)1) ORACLE Database Administrators Guide `<2) ORACLE Installation and Users Guide for Dec RISC Ultrix `3) ORACLE SQL*NET Users Guide  `)4) INGRES Database Administrators Guide &`5) INGRES Net Users Guide Id~PH3K ^~ H RH RFootnoteOddbe HH FoHH}seak`th1) Ingres database engine. "` $2) Ingres' networking tool SQL Net. <`He3) Ingres' application tools. V`gr4) TCP/IP protocol. a p  a[5) Other hardware and software requirements as mentioned in the Installation Guide for the th~@specific unix platform. en`3.3 Installation Procedure s  aDuring the Ingres SQL/Server installation usually we will be asked if we want to install SQL NET  U_and it can be installed at that time. Also we will asked for the maximum number of inbound and atas\outbound sessions. The default is 12 and the maximum one can allow is system dependent. The @_communication server can be set up for TCP/IP protocol and the default port id II can be used. ` 3.4 Post-Installation Procedure   [The Ingres DBA needs to do the following steps to actually start the communication process ne.@bbetween the client and the server. These steps need to be done on both the client and the server. 4`4)$3.4.1 Run iistartup as Ingres DBA. aL e WThis allocates the shared memory resources, starts up the Ingres name server, database @Zx Qmanagement system(DBMS) servers, communications server and archiver and recovery hs aprocesses. If needed the Ingres name server and communications servers can be started separately Uv@st/by running iirungcn and iirungcc respectively. xim`ndJ3.4.2 Run the netu utility to define remote nodes and user authorization.  ow_Once in the netu utility choose N - Modify Node Entry and add a node entry. Then enter all the rotlt^informations like remote node name, remote node address, network software(tcpip) etc. Then go esYto the main menu and choose A - Modify Remote Authorization Entry and add user entry and ee`enter all the informations like remote node name, user name and password. Once this is done the @1  t^Oracle recommends the port number 1525. Make the following entry in the /etc/services file on L@cathe server machine: rif`e 9 orasrv 1525/tcp r`he2.3 Installation Procedure by plWMake sure that the RDBMS has been installed on both the client and the server. Run the tsVinstallation of SQL*NET TCP/IP as the oracle user. This can be done either by running ioracle.install or tcp.install scripts available in ~oracle/install and ~oracle/tcp/install respectively. sy]Please refer to the Installation and Users' Guide for more detailed explanations about these a@ options. `/s 2.4 Post-Installation Procedure IP or\A DBA needs to make sure that security is not violated by setting up a Distributed database s o csystem. Refer to "Network Security" in the Installation and Users' Guide. Finally start the server 525@ngQprocess on the server system only, by entering the following at the unix prompt: 8`  $orasrv R`15 2.5 Usage j`2.3The syntax for using SQL*NET TCP/IP is as follows: e s` h5 $application uid/pw@connect string n`where `SQLapplication : Is the command that invokes the Oracle application program. `ns]uid : Is the specific userid to be used to connect to the remote database. `syDpw : Is the password associated with the userid. ex`heWconnect string: Is the connection string which looks like this for TCP/IP connections. IP `or* t:hostname:sid,buffersize : ttbwhere hostname is the name of the remote host which is defined in the /etc/hosts file, sid is the Hs'eoracle system identifier of the remote database and buffer size is the size in bytes of the context gVth_area used by the driver to pass data between ORACLE and TCP/IP. The range is 4 to 4096 and the jdThadefault is 4096. However larger values result in faster transfer of data arrays but consume more ar@t memory. d HH OrHHui` RFor example to access the database proto1 on griffin from quake do the following: "` 3 $sqlplus scott/tiger@t:griffin:proto1 rid< cHere the database server is griffin and the client is quake. This is the scenerio where the client J `(quake) doesnot have a local database. However the same principles can be applied even when the hX@edlocal database is available. r`2.6 Useful options den tecIn this section we will see some useful options like creating aliases, database links and synonyms e d@ b1which will help easy access to remote databases. d`#2.6.1 Copying data between systems rge  fYWe can copy data from a remote database into a local database by using the SQL*PLUS copy acommand. This is particularly useful when transferring large amount of data from one database to Yanother and we can avoid manually exporting and importing data between the two databases l@"which can be very time consuming. `prKTo use the copy command log into SQL*PLUS and issue the following command: ent(` tQ COPY FROM uid/pw@connect string to uid/pw@connect string dB`he@ {APPEND|CREATE|INSERT|REPLACE} ed\`s ; tablename [(column list)] v`hi1 USING subquery; t`as2.6.2 Aliases  ^Alias can be created for the SQL*NET TCP/IP connect string sothat it can be short and simple msdfor the user to use and it can go in the /etc/sqlnet file in the local machine. For example in /etc/QL@`sqlnet file in quake enter the alias version1 for the prototype version1 in griffin as follows: d`9 version1 T:griffin:proto1 n`etThis way users can simply say `h 6 $sqlplus scott/tiger@version1 ,`lo instead of US F`ow> $sqlplus scott/tiger@t:griffin:proto1 ` nedPrivate aliases can go in the $HOME/.sqlnet file. This file is always scanned first before the /etc/ATn@edsqlnet file is scanned. dmeHH HHas`2.6.3 Database links   tKThe SQL*PLUS command CREATE DATABASE LINK grants access to multiple remote .usgdatabases while the user is still connected to the local database. All database links are saved in the @<@in,data dictionary where the link was created. ypV`fiKThe following example shows how to create a database link named PROTODATA. T:p`+From within SQL*PLUS enter the following: ay `h 7 CREATE DATABASE LINK PROTODATA ,`in= CONNECT TO SCOTT IDENTIFIED BY TIGER l`ri1 USING 'T:griffin:proto1' a`.sUThen to access a table say "ap" owned by scott on 'T:griffin:proto1' we can just say q`ed4 SELECT * FROM AP@PROTODATA;  `2.6.4 Synonyms $ ` The above example select statement can be even more simplified by creating synonyms for t2@maRthe table ap called protoap. To do this enter the following from within SQL*PLUS: L`usA CREATE SYNONYM PROTOAP FOR AP@PROTODATA; f`/Once the synonym is created we can simply say: was`/ SELECT * FROM PROTOAP; cre k [So we see here that aliases, database links and synonyms used together can make the remote @ /database access to be transparent to the user. ,UT UT`in13 Distributed Databases Implementation -- Ingres E`  3.1 Overview    _So far we have seen the Distributed Database implementation using Oracle. Here we will see the on   w_implementation using Ingres. This section is divided into Pre-Installation, Installation, Post- 4 ]Installation and Usage. Once again we restrict ourselves to Unix systems running Ingres with i ng^TCP/IP protocol. For other operating systems(o/s) and communication protocols please refer to -@ PL=documentations provided by Ingres in the References section. MG` OT3.2 Pre-Installation Procedure e t_ te_In this section we will see the basic elements needed for setting up a Distributed database or m@SoJClient/Server model. On the client and server side we need the following: d e H$  UTH$ emonUU`+ Hz  Hz tebaUUh,us8 we HH wHHn id`-la nHqv? ^~ HzHza Single Linee aH'~ sFootnote  F o ommHvDf ^~ o HHo Double LineproH ~se Double Line Pr settg mH ~de Single Linewe HZ~ TableFootnoteEGX-Rb ^~ +EPoEPo TableFootnote! duLeftdRight,usd~ Referencedddd^ddindv ddd o=]Ef= CellBodyf>  se CellHeadingf? gleFootnotef@THeadingoBodyfA! d TableFootnoteusfBT  TableTitleT:Table : fCPvTitleBody fD  BodyfETHeadingBodyfF  CellHeadingfG CellBodyfHT ! TableTitleT:Table : 0$ @I Indent@J   Header@K   Footer fM Body0$ @N Indentin fO Body fPP Heading2Body fQP Heading2Body  Emphasis   Subscript  Superscript    ;eujeThinfMediumgDoublehThick@i Very Thin eeeeeeeeegHHFGFHFGFHFGFHFGFHFGFFormat Af efeeeeefHHFGFHFGFHFGFHFGFHFGFFormat B-=.-Comment HelveticaTimesRegularRomanBold RegularItalic[ߎ5hfN5Í]D+Ӑpd!ǜlU8 |6A6rԀأ!VʒC^R@dcIxֱ vu J+;s o4GVc{,)_Oi; B4%