BAAN IV. Oracle Database Driver Technical Reference Manual

Size: px
Start display at page:

Download "BAAN IV. Oracle Database Driver Technical Reference Manual"

Transcription

1 BAAN IV Oracle Database Driver Techical Referece Maual

2 A publicatio of: Baa Developmet B.V. P.O.Box AC Bareveld The Netherlads Prited i the Netherlads Baa Developmet B.V All rights reserved. The iformatio i this documet is subject to chage without otice. No part of this documet may be reproduced, stored or trasmitted i ay form or by ay meas, electroic or mechaical, for ay purpose, without the express writte permissio of Baa Developmet B.V. Baa Developmet B.V. assumes o liability for ay damages icurred, directly or idirectly, from ay errors, omissios or discrepacies betwee the software ad the iformatio cotaied i this documet. Documet Iformatio Code: U7155A US Group: User Documetatio Editio: A Date: October, 1998

3 Table of cotets 1 BAAN IV database driver overview 1-1 The BAAN IV architecture 1-1 Display tier 1-2 Applicatio tier 1-3 Database tier 1-3 Data flow through the BAAN IV architecture 1-4 BAAN IV hardware cofiguratios 1-5 Level 1 ad Level 2 database drivers BAAN IV database orgaizatio 2-1 BAAN IV data dictioary 2-1 Table amig covetio 2-2 Colum amig covetio 2-3 Idex amig covetio 2-4 Data type mappig 2-5 Additioal costraits Database driver iteral processig 3-1 Data itegrity 3-1 Referetial itegrity 3-1 Distributed databases 3-2 Data bufferig 3-2 Database driver SQL processig 3-2 The Oracle call iterface (OCI) 3-2 SQL processig 3-3 To set driver behavior 3-4 Driver resources 3-5 Eviromet variables 3-6 Storage file 3-8 i

4 Table of cotets 4 Database security 4-1 Database security 4-1 Groups 4-2 Object security 4-3 Autheticatio 4-4 DBA module 4-5 Utility programs orax_admi6.1 ad orax_mait orax_admi orax_mait Database driver profilig ad statistics 5-1 Profilig 5-1 Level 1 profilig example 5-2 Level 2 profilig example 5-3 Gatherig statistics 5-4 Troubleshootig 5-6 To log database driver trace iformatio 5-6 To log errors Database driver cofiguratio ad tuig 6-1 Cursor maagemet 6-1 Level 1 mode 6-1 Level 2 mode 6-2 Array iterface 6-3 Idex optimizatio 6-4 Duplicate idexes 6-6 Hash colum amig covetio 6-6 Size of hash colums 6-6 Idex optimizatio 6-7 Fetch optimizatio 6-7 Row cachig 6-8 Query tuig 6-9 Cocateated expressios 6-9 Descedig jois 6-11 Specifyig query tuig 6-11 Optimistic ad pessimistic referece checks 6-11 Lockig behavior 6-12 Implicit ad explicit lockig 6-12 Delayed lockig 6-13 Statemet ad lock timeouts 6-13 High-level lock retries 6-14 ii

5 Table of cotets 7 Appedix A: Database driver resources ad eviromet variables 7-1 Summary of Oracle resources ad eviromet variables 7-1 Detailed descriptio of Oracle resources ad eviromet variables 7-4 Geeric driver resources 7-5 Oracle driver specific resources 7-13 Resources passed to the Oracle database server 7-19 Usig SQL*Net or Net Appedix B: Storage file format ad cofiguratio optios 8-1 Storage file format 8-1 Storage file field descriptios 8-2 iii

6 Table of cotets iv

7 About this documet This documet supplies techical referece iformatio about the BAAN IV database driver for Oracle. This documet applies to both Oracle7 ad Oracle8 ad for the BAAN IV Level 1 ad Level 2 database drivers. Whe o metio is made of the Oracle versio or the BAAN IV database driver level, the iformatio applies to all variatios. Ay differeces are explicitly stated. This documet is iteded for those who wat to cofigure or customize the BAAN IV database driver for Oracle. Both the database driver ad the Oracle database server ca ru o either a UNIX system or a Widows NT system. You should have a elemetary kowledge of UNIX or Widows NT ad Oracle as well as a uderstadig of database techology. This documet also describes the BAAN IV database driver that forms the iterface betwee the BAAN IV applicatio server layer ad the Oracle database server. The formal ame for this database driver is the BAAN IV database driver for Oracle. For simplicity, the database driver is referred to as the BAAN IV Oracle driver. The procedures for istallig Oracle ad BAAN IV are described i the Oracle Istallatio for BAAN IV o UNIX (U7028B US) or i the Oracle Istallatio for BAAN IV o Widows NT (U7051D US). This documet is divided ito the followig six chapters ad two appedices: Chapter 1 provides a overview of the BAAN IV database driver architecture ad a explaatio of how the database driver fits withi the total BAAN IV architecture. Chapter 2 describes the BAAN IV database orgaizatio ad details the amig covetios used for data withi the Oracle database. Chapter 3 describes some of the iteral features of the BAAN IV Oracle database driver. Chapter 4 describes the BAAN IV admiistratio tools for the BAAN IV Oracle database driver. Chapter 5 describes the facilities for profilig ad gatherig statistics about database driver performace. v

8 About this documet Chapter 6 details the cofiguratio ad tuig optios for the BAAN IV Oracle database driver. Appedix A supplies iformatio about the database driver resources ad eviromet variables that ca be used o both the cliet ad the server. Appedix B cotais iformatio about the file format of the storage file ad the driver cofiguratio optios specific to the BAAN IV Oracle database driver. vi

9 1 BAAN IV database driver overview The database driver plays a importat role i Baa s commitmet to a ope systems cliet/server architecture. Because the BAAN IV architecture icludes both the BAAN IV software ad a third-party relatioal database maagemet system (RDBMS), the driver is eeded to provide a seamless iterface betwee the BAAN IV software ad the differet RDBMS products. The database driver allows the majority of BAAN IV s processig to be idepedet of the RDBMS. This chapter provides a overview of the database driver ad a explaatio of how it fits ito the BAAN IV architecture. The followig topics are covered i this chapter: The BAAN IV architecture Data flow through the BAAN IV architecture BAAN IV hardware cofiguratios Level 1 ad Level 2 database drivers The BAAN IV architecture BAAN IV supports a three-tier architecture that cosists of a display tier, a applicatio tier, ad a database tier. The display tier provides presetatio services for user iteractio. The applicatio tier cosists of the BAAN IV applicatio virtual machie ad the applicatio objects. The database tier icludes the BAAN IV database driver ad a third party RDBMS product that acts as the database server. Figure 1 depicts the BAAN IV architecture. The emphasis of this documet is the BAAN IV database driver. The database driver is the iterface betwee the BAAN IV applicatios ad the RDBMS server. The database driver traslates database requests from the BAAN IV applicatio virtual machie to RDBMS-specific SQL requests that it seds to the database server. After the database server retrieves the requested iformatio, the database driver the passes the data back to the BAAN IV applicatio virtual machie. 1-1

10 BAAN IV database driver overview To put the fuctios of the database driver ito perspective, each of the three tiers of the total BAAN IV architecture is briefly described below. Display Driver Display Tier Applicatio Virtual Machie (bshell) Applicatio Objects Applicatio Tier Database Driver Database Server (RDBMS) Database Tier Figure 1, BAAN IV three-tier architecture Display tier The display tier cosists of the display drivers. The display drivers iclude BA, (the ASCII iterface), BX (the X-Widows iterface for UNIX), BW (the BAAN IV user iterface for Microsoft Widows BW), ad BI (for Iteret browsers). The display driver facilitates the commuicatio betwee the user ad the applicatio tier. Data iput from the user through BW or BI is relayed to the BAAN IV applicatio virtual machie; data retured from the BAAN IV applicatio virtual machie is displayed to the user i graphical form by the display server. 1-2

11 BAAN IV database driver overview Applicatio tier The applicatio tier icludes the applicatio objects ad the BAAN IV applicatio virtual machie. Together, the applicatio objects ad the applicatio virtual machie provide much of the fuctioality of BAAN IV. The applicatio objects iclude the compiled BAAN IV applicatios ad the data dictioary. The BAAN IV applicatios provide the fuctioality eeded to implemet the BAAN IV Eterprise Resource Plaig (ERP) system. These applicatios are writte i Baa 3GL or Baa 4GL, which are programmig laguages supported by the BAAN IV Tools package. The data dictioary defies the data models used by the applicatios ad icludes iformatio about the domais, schemas, ad referetial itegrity rules used by BAAN IV. The BAAN IV applicatio virtual machie schedules ad rus the applicatio objects, seds ad receives iformatio to ad from the display server, ad, as ecessary, iitiates a istace of the database driver for commuicatio with the database server. A ruig database driver ca support multiple coectios to a sigle RDBMS istace. If a BAAN IV istallatio stores data tables i multiple RDBMS products or istaces, the applicatio virtual machie must start oe istace of the database driver for each RDBMS product or RDBMS istace with which it must commuicate. The BAAN IV applicatio virtual machie has traditioally bee called the BAAN IV shell or simply the bshell. Throughout the remaider of this documet, the bshell is referred to as the BAAN IV applicatio virtual machie or the applicatio virtual machie. Database tier The database tier cosists of the BAAN IV database driver ad the database server. The database driver provides a commo iterface betwee the BAAN IV applicatio virtual machie ad the database server. Commuicatio betwee the applicatio virtual machie ad the database driver is the same, regardless of which RDBMS product is used as the database server. Oe database driver exists for each of the RDBMS products that BAAN IV supports. Commuicatio betwee the database driver ad the database server is tailored to the RDBMS beig used. The database driver commuicates with the RDBMS through structured query laguage (SQL) statemets ad the ative applicatio programmig iterface (API) of the RDBMS. 1-3

12 BAAN IV database driver overview The database server cosists of Baa Base, the Baa ISAM database, or oe of five third party RDBMS products: Oracle, Iformix, Sybase, DB2, or Microsoft SQL Server. All BAAN IV applicatio data is stored i a relatioal database maaged by a RDBMS. Multiple RDBMS products ca exist i oe BAAN IV istallatio with some data residig i oe database server ad other data residig i aother. Data flow through the BAAN IV architecture The database driver provides a iterface betwee the BAAN IV applicatio virtual machie ad the specific RDBMS server beig used. The flow of data through the system is described below. Whe you perform a operatio at a GUI workstatio, the display server iterprets your iput ad seds the iformatio to the BAAN IV applicatio virtual machie. Based o the iformatio it receives, the applicatio virtual machie rus the appropriate applicatio object. Whe a ruig applicatio object requires iformatio that is stored i the database, the applicatio virtual machie seds the request to the database driver. Data requests from the cliet applicatios are RDBMS idepedet ad are made BAAN IV SQL, a RDBMS-idepedet SQL laguage. Whe the applicatio virtual machie carries out a database query from a applicatio object, it first determies whether or ot a ruig database driver is available to process the query. If o database driver is ruig, or if the ruig database driver istaces are commuicatig with a database server other tha the oe that stores the eeded data, the applicatio virtual machie starts a ew istace of the database driver. The applicatio virtual machie parses the BAAN IV SQL database query it receives from the applicatio object ad seds a iteral represetatio of the query to the database driver. The iteral represetatio of the query that the database driver receives is still RDBMS idepedet. The database driver traslates the database query ito a appropriate query usig SQL statemets compatible with the specific RDBMS beig used. Each database driver takes advatage of the desig of the particular RDBMS that it supports so that the resultig SQL statemets are valid for the RDBMS ad provide the best possible performace. The RDBMS-specific SQL statemets are the submitted to the RDBMS server, which processes the data request. 1-4

13 BAAN IV database driver overview Whe the has processed the query, RDBMS returs the data to the database driver. Error coditios are caught ad hadled by the database driver. The database driver the returs the data ad status iformatio to the applicatio virtual machie, where it provides the iformatio to the applicatio that requested it. The applicatio virtual machie ca also sed a message to the display server, which displays a appropriate message o the user s workstatio. BAAN IV hardware cofiguratios A BAAN IV implemetatio supports several hardware cofiguratios. These cofiguratios iclude stad-aloe mode ad may variatios of cliet/server mode. Available hardware, data storage requiremets, ad performace expectatios determie the most appropriate hardware cofiguratio. Stad-aloe mode refers to a cofiguratio i which all compoets of the BAAN IV architecture ru o a sigle machie. I stad-aloe mode, a ed user ca work from the host. The stad-aloe mode cofiguratio is illustrated i Figure 2. Display Driver Applicatio Virtual Machie (bshell) Applicatio Objects Database Driver Database Server (RDBMS) Figure 2, Stadaloe mode cofiguratio 1-5

14 BAAN IV database driver overview I a cliet/server cofiguratio, the compoets of the BAAN IV architecture are distributed over two or more machies. May cliet/server cofiguratios exists, ad the most commo cofiguratios are described here. The simplest cliet/server cofiguratio is sometimes thought of as a variatio of stad-aloe mode. I this cofiguratio, the applicatio tier, database driver ad RDBMS are o oe machie, whereas the display drivers are distributed amog the user workstatios. A istace of the applicatio virtual machie ad at least oe istace of the database driver is started for each user. All users have access to the same applicatio objects ad database servers. This cofiguratio is illustrated i Figure 3. Display Driver Display Driver Applicatio Virtual Machie (bshell) Applicatio Objects Applicatio Virtual Machie (bshell) Database Driver Database Driver Database Server (RDBMS) Figure 3, Cliet/Server cofiguratio I 1-6

15 BAAN IV database driver overview Whe two machies are available to be used as servers, two cofiguratios are commoly used. I both cofiguratios, the display drivers reside o the user workstatios. I the first cofiguratio, the applicatio tier is placed o oe server, whereas the database driver ad the database server are placed o aother. As with the previous cofiguratio, a istace of the applicatio virtual machie ad at least oe istace of the database driver are started for each user. All users have access to the same applicatio objects ad database servers. This cliet/server cofiguratio is illustrated i Figure 4. This cofiguratio uses the BAAN IV method of cliet/server access betwee the applicatio virtual machie ad the database server. Display Driver Display Driver Applicatio Virtual Machie (bshell) Applicatio Objects Applicatio Virtual Machie (bshell) Database Driver Database Driver Database Server (RDBMS) Figure 4, Cliet/Server cofiguratio II 1-7

16 BAAN IV database driver overview A alterative cofiguratio with two servers is to place the applicatios ad the database driver o oe server ad the database server o aother. Ed user workstatios are agai liked to the machie with the applicatio virtual machie. Agai, a istace of the applicatio virtual machie ad at least oe istace of the database driver is started for each user. All users have access to the same applicatio objects ad database servers. This cliet/server cofiguratio is illustrated i Figure 5. This cofiguratio focuses the RDBMS s ability to provide cliet/server access. Display Driver Display Driver Applicatio Virtual Machie (bshell) Applicatio Objects Applicatio Virtual Machie (bshell) Database Driver Database Driver Database Server (RDBMS) Figure 5, Cliet/Server cofiguratio III May other cofiguratios of cliet/server systems exist: for example, dividig the applicatio logic amog multiple servers or usig multiple servers for distributig the database. 1-8

17 BAAN IV database driver overview Level 1 ad Level 2 database drivers BAAN IV database drivers ca commuicate with the RDBMS server i two modes: Level 1 ad Level 2. With these two modes, there are differeces both i the way the BAAN IV SQL queries are processed ad i the way the data is stored i the database. For BAAN IV, Level 1 drivers are available for all supported RDBMS products. A Level 2 driver is available with BAAN IV for Oracle ad will be available for other RDBMS products i future releases. With a Level 1 database driver, queries to the database oly process a sigle row of a sigle database table at a time. Whe a complex query requires data from multiple tables, it must be broke ito multiple sigle table/sigle row queries. The database driver the jois the combied data before returig the resultig iformatio to the applicatio. Applicatio programs desiged for a Level 1 database driver usually access data oe record at a time. This type of access maps well to the Level 1 sigle table/sigle row queries. To provide good system performace for sigle table/sigle row queries, a extra colum, called a hash colum, is created for each idex defied i the table. This process is called hash optimizatio ad is used to simplify the SQL statemets set to the database server so that the RDBMS optimizer ca process the statemets more efficietly. A Level 2 database driver seds more complex queries to the database server, requires the RDBMS to do more of the work. A applicatio program writte for a Level 2 database driver typically uses set-orieted database access. The Level 2 database driver ca process these more complex queries more efficietly tha a Level 1 driver. I additio, a Level 2 driver does ot use the hash colums that are added whe usig a Level 1 driver with hash optimizatio, so less space is eeded to store the database. A Level 2 database driver typically improves system performace whe the applicatio programs are desiged with set-orieted database access. If a applicatio is writte with record-at-a-time database access, the database queries are very simple. Applicatios with complex database queries ofte show performace gais whe they ru with a Level 2 driver. However, record-at-atime applicatios ca perform poorly with a Level 2 driver because o hash optimizatio exists. You ca migrate betwee a Level 1 ad a Level 2 database driver usig the BAAN IV utilities bdbpre ad bdbpost. The process requires all database tables to be chaged to either add or remove the hash colums. While this is operatio is ot difficult, it could be quite time cosumig, depedig o the quatity of data that eeds to be coverted. 1-9

18 BAAN IV database driver overview 1-10

19 2 BAAN IV database orgaizatio All of the applicatio data used by BAAN IV is stored i database tables i the RDBMS. To keep the majority of the BAAN IV processig idepedet of the RDBMS, BAAN IV uses a data dictioary. The data dictioary icludes domai, schema, ad referetial itegrity iformatio that is stored i a databaseidepedet maer. Because so may tables are eeded, a covetio is used to ame tables, colums withi tables, ad idexes to data withi the tables. This chapter describes the data dictioary ad the amig covetios used by the BAAN IV database drivers to access data stored i the RDBMS. This chapter also discusses how BAAN IV data types are mapped to Oracle data types. The followig topics are covered i this chapter: BAAN IV data dictioary Table amig covetio Colum amig covetio Idex amig covetio Data type mappig Additioal costraits BAAN IV data dictioary A data dictioary is a catalog that provides iformatio about the data i a database. You ca thik of a data dictioary as metadata, that is, data about the data. Use a data dictioary to fid data that resides withi a database table. The BAAN IV database drivers maitai a data dictioary because the data used by the BAAN IV applicatios ca differ from the database tables defied i the RDBMS. The BAAN IV data dictioary maps BAAN IV data types, domais, schemas, ad referetial itegrity iformatio to the appropriate iformatio i the RDBMS. Whe storig or retrievig data i the RDBMS, the database driver maps data dictioary iformatio to database table defiitios. BAAN IV data dictioary iformatio ca be kept i shared memory where it will be available to all ruig BAAN IV applicatio virtual machies. The data dictioary iformatio is shared amog all the sessios ope withi a sigle database driver. 2-1

20 BAAN IV database orgaizatio The BAAN IV data dictioary caot be used directly by the database driver to create Oracle tables because ot all BAAN IV data types exactly match Oracle data types. To create valid Oracle tables, the driver must perform some mappig or traslatio. To map the BAAN IV data dictioary with tables i Oracle, the table ames, colum ames, ad idex ames adhere to set covetios. Table amig covetio The table ame of a BAAN IV table stored i Oracle has the followig format. T <DD Table ame>< Compay umber> The followig describes each of the compoets of the table ame. DD table ame The ame of the table used i the data dictioary. This ame cosists of a package desigatio, a module desigatio, ad a table umber as follows: <DD Table ame> = <package><module><table umber> Package A two-letter code that refers to the BAAN IV package that created the table. For example, a table created by the BAAN IV Tools package has the package code tt. Module A three-letter code that refers to the BAAN IV module withi the package that created the table. For example, a table created by the BAAN IV Distributio Sales module has the module code sls. Table umber A three-digit code that refers to a table that belogs to a BAAN IV module. Compay Number Three-digit umbers used to differetiate areas of fuctioality withi BAAN IV. A compay with the umber 000 must exist. I additio, several other compay umbers ca exist. For example, the data dictioary table ttadv999 with compay umber 000 is created i Oracle as tttadv

21 BAAN IV database orgaizatio Colum amig covetio Each colum i the BAAN IV data dictioary correspods to oe or more colums i a Oracle table. The rules for colum ames are as follows: Geeral Whe a BAAN IV colum ame is created i Oracle, it is preceded by the strig t$. For example, the BAAN IV colum with the ame cpac is created i Oracle with the ame t$cpac. By precedig colum ames by t$, reserved words are avoided. If a colum ame cotais a period [. ], the period is replaced by the dollar character [ $ ]. Log strig colums BAAN IV colums of type strig ca exceed the maximum legth of character colums i Oracle. The Oracle data type CHAR has a limit of 255 characters. Whe a BAAN IV strig colum exceeds this limit, the colum is split ito segmets with up to 255 characters each. The first 255 characters are placed i a colum where the ame of the colum is followed with #1. The ext 255 characters are placed i a colum with a ame followed by #2, ad so o util all the characters of the strig are placed i a colum. For example, if a BAAN IV strig colum called desc cotais 300 characters, the followig two Oracle colums are created: t$desc#1: size 255 t$desc#2: size 45 Array colums I the BAAN IV data dictioary, array colums ca be defied. A array colum is a colum with multiple elemets. The umber of elemets is called the depth. For example, a colum that cotais a date ca be defied as a array of three elemets: a day, a moth, ad a year. I Oracle, the three elemets of the array colum are placed i separate colums. The ames of these colums iclude a suffix with the elemet umber. For example, a array colum called date will become: t$date$1: elemet 1 t$date$2: elemet 2 t$date$3: elemet 3 Note that if the elemet is of type strig ad oe elemet type exceeds the maximum Oracle character size of 255, the elemet is split. For example: t$str$1#1: elemet 1, part 1 t$str$1#2: elemet 1, part 2 2-3

22 BAAN IV database orgaizatio Array compressio The maximum umber of Oracle colums is 254. If the umber of BAAN IV colums exceeds the maximum umber of Oracle colums, the database driver tries to compress (joi) array colums to reduce the umber of colums. All array elemets of oe array colum are stored as oe colum i the Oracle database with the elemets cocateated i a biary format (Oracle data type RAW). The driver starts by compressig the array colum that yields the highest umber of colums ad cotiues compressig array colums util the umber of colums is less tha 254. The ame of the compressed colum i Oracle follows the same covetio used for the other colums. For example: t$array cotais all elemets of the compressed colum. Note that whe a compressed array colum is loger tha 255 characters, it is to be split i segmets of 255 characters or less. Idex amig covetio BAAN IV idexes are idetified by a sequece umber for each table, with the sequece umbers startig at 1. Each table has at least oe idex: the primary idex. Oracle requires that for each user, all idex ames must be uique. For this reaso, the table ame, idex umber, ad the idex type are icluded i the idex ame. For a descedig idex, the character d is appeded to the ed of the idex ame. Idex ames have the followig format: t<dd Table ame><compay umber>$idx<idex umber>[d] For example, the idex ame for a BAAN IV table with ame ttadv999, idex umber 1, compay umber 000, ad idex type ascedig order is: tttadv999000$idx1 If a BAAN IV idex is defied as a uique idex, the the Oracle idex is created with the UNIQUE clause. Without the UNIQUE clause, duplicate idexes are created. Idex ame covetios are used by the Oracle driver whe you create ad delete idexes. Idex ames are used for geeratig idex hits to help the Oracle cost based optimizer (CBO) choose the right executio pla. 2-4

23 BAAN IV database orgaizatio Data type mappig The followig table shows the mappig betwee BAAN IV data types ad their Oracle couterparts. Mappig betwee BAAN IV ad Oracle data types BAAN IV data type Oracle data type Byte NUMBER Eumerated NUMBER Iteger NUMBER Log NUMBER Text NUMBER (Bit)Set NUMBER Float NUMBER Double NUMBER Strig CHAR()/VARCHAR2() Multibyte strig CHAR()/VARCHAR2() Date DATE Note that the BAAN IV Oracle driver i Level 2 mode uses the Oracle CHAR data type because ANSI-compliat behavior is expected for character data, such as with the BAAN IV strig type. Sice BAAN IV SQL expects ANSI-compliat strig compariso sematics, the Oracle CHAR data type is used istead of VARCHAR2. This Oracle data type is used because a BAAN IV strig data type has characteristics that coform to the ANSI specificatio for character data. Whe the CHAR data type is used, operatios such as compariso ad cocateatio ca be performed i a predefied maer with predictable results. Whe the BAAN IV Oracle driver operates i Level 1 mode, the Oracle VARCHAR2 data type ca be used. All ANSI-compliat comparisos will be performed by the driver; oly sigle table sigle row queries are set to the Oracle server. 2-5

24 BAAN IV database orgaizatio Additioal costraits I additio to the above amig covetios ad data types, the followig rules apply whe mappig BAAN IV data to Oracle data: All ames geerated by the database driver are i lowercase characters ad are ot eclosed withi double quotatio marks. This structure meas that Oracle coverts these ames to upper case whe storig them i the Oracle dictioary. Whe ames are retrieved from the Oracle dictioary, they appear i upper case. All colums created by the BAAN IV Oracle driver have the NOT NULL costrait. BAAN IV applicatios do ot support NULLS. The date rage for the BAAN IV applicatio virtual machie is ot the same as the rage for Oracle (Oracle is more restrictive), so some BAAN IV dates are ot valid whe stored with the BAAN IV Oracle driver. The resource variable ora_date determies the date rage used by BAAN IV. For detailed iformatio o the date rage, see Appedix A. 2-6

25 3 Database driver iteral processig The BAAN IV Oracle database driver coverts RDBMS-idepedet database requests ito requests desiged specifically for Oracle. This chapter describes some of the iteral processig that occurs withi the BAAN IV Oracle database driver. First, some of the features that esure data itegrity are discussed. Next, the iteral processig of a SQL statemet withi the driver is explaied. The fial sectio of this chapter describes the mechaisms that allow the default behavior of the database driver to be modified. I this chapter, the followig BAAN IV Oracle database driver iteral issues are discussed. Data itegrity Database driver SQL processig Settig driver behavior Data itegrity Several features of the BAAN IV database driver help to isure data itegrity. These features iclude lockig mechaisms, methods used for isurig referetial itegrity, ad methods used for distributed databases. I additio, data itegrity is maitaied while miimizig etwork traffic by usig data bufferig techiques. This sectio gives a overview of the features used by the BAAN IV Oracle database driver to esure referetial itegrity, to work with distributed databases, ad to apply data bufferig techiques. Lockig strategies are discussed i detail i Chapter 6. Referetial itegrity Referetial itegrity preserves the defied relatioships betwee tables whe records are maitaied. The BAAN IV database driver has a built-i mechaism for preservig referetial itegrity, so it does ot deped o the uderlyig RDBMS. 3-1

26 Database driver iteral processig Distributed databases A BAAN IV SQL query ca require iformatio from multiple tables. Whe tables are distributed, they ca be physically located i differet databases. To access data from distributed tables, the query is split ito multiple queries, with oe query for each database. To service each of these queries, the applicatio virtual machie activates multiple database drivers. Oe active database driver is called upo to retrieve the data required from a sigle database. Whe all of the data required by the origial query is gathered from the databases, the database driver jois the data ad returs it to the applicatio virtual machie. Data bufferig Updates ca be buffered by the applicatio virtual machie ad flushed at the time of trasactio commit or earlier, if ecessary. This procedure reduces the umber of etwork roud trips ad data volumes. Whe multiple rows are retured from a query, the rows are buffered ad the set back to the applicatio virtual machie as oe block. Data reductio ad compressio is applied to miimize the amout of data trasferred betwee the applicatio virtual machie ad the database driver. Database driver SQL processig As discussed i Chapter 1, the applicatio virtual machie seds RDBMSidepedet database queries ad update requests to the database driver. The database driver decides whether or ot to covert these RDBMS idepedet database requests ito SQL statemets that are appropriate to the specific RDBMS beig used. This sectio details the SQL processig performed by the BAAN IV Oracle database driver. Because the BAAN IV database driver uses Oracle Call Iterface (OCI) to commuicate with Oracle, OCI will be described first. The Oracle call iterface (OCI) OCI is a applicatio programmig iterface (API) used to commuicate with the database server. This iterface cosists of a fuctio library that ca be called from a applicatio program to carry out SQL statemets ad commuicate with the data source. 3-2

27 Database driver iteral processig The OCI fuctios called by the BAAN IV Oracle database driver perform the followig actios: Coect to Oracle (ope sessio) Allocate cursors Parse a SQL statemet Bid iput variables Defie output variables Ru a SQL statemet Fetch the resultig rows Commit or abort a trasactio Close, ubid, ad drop a cursor Discoect from Oracle (close sessio) The BAAN IV Oracle driver also uses the followig features of OCI: Array fetches (whe eabled) Array iserts (whe eabled ad possible) SQL processig SQL statemets are dyamically geerated by the database depedet layer of the BAAN IV Oracle database driver. Because BAAN IV applicatios are dyamic, you will ot kow which tables will be used at ru time; therefore, queries caot be prepared before ru time. Withi the BAAN IV Oracle database driver, SQL statemets are processed i several steps: 1 If the BAAN IV Oracle driver receives a query from the applicatio virtual machie, the query is traslated ito a format suitable for Oracle. 2 The query is trasferred to Oracle usig OCI fuctio calls. 3 Withi the BAAN IV Oracle database driver, a Oracle cursor is allocated, ad the query is assiged to the cursor. 4 The SQL statemet is parsed, iput ad output variables are boud ad the query is executed usig the cursor. 5 After the query is executed, a fetch operatio is performed ad the resultig colum values are placed i the boud, output variables. 6 The rows retured by Oracle are passed to the database idepedet layer of the BAAN IV Oracle database driver, which seds the results back to the applicatio virtual machie. 3-3

28 Database driver iteral processig NOTE Whe a statemet eeds to be re-executed, the cursor from the previous ru is closed ad the resultig rows are discarded (whether the re-executio is with the same iput parameters or ot). If ew iput values are required, the ew values are assiged to the iput parameter colums, ad the query is re-executed. However, for re-executio, o reparsig of the statemet or re-bid of iput ad output parameters is required, which improves the overall performace. Whe array fetchig is eabled, multiple rows are fetched i oe call to the driver. Space is allocated withi the driver to buffer multiple rows fetched i oe operatio. Multiple rows ca be fetched to the buffer; ad they are retured to the applicatio virtual machie whe requested. Whe o rows are left i the buffer ad more rows are requested, aother array fetch operatio is carried out. Iserts ca also be buffered. Whe array isertig is eabled, the driver places the rows to be iserted i a buffer. Whe the buffer is full, or whe some other evet ecessitates it, the rows are flushed to Oracle. The rows i the buffer are iserted with a multi row isert. Data ca be maually placed ito the database usig the BAAN IV utility bdbpost6.1. This utility is used to place data ito a ew database table or to apped data to a existig database table. Certai optios ca be set whe usig bdbpost6.1 (see the BAAN IV Tools Techical Maual). Whe bdbpost6.1 is used with the -f optio, the rows are buffered by default ad are flushed whe the array buffer is full. The array size eeds to be specified; otherwise, bufferig is ot performed. The array buffer size ca be specified i the tabledef file o a per-table basis or o a global scale, by usig a eviromet variable. The eviromet variables, resource variables, ad storage file are explaied below. The tabledef file is briefly described i the sectio o eviromet variables. To set driver behavior Several facilities are available to cofigure the BAAN IV Oracle database driver. The most commo facility is through driver resources. Two other facilities for cofigurig the BAAN IV Oracle database driver are eviromet variables ad the storage file. The driver resources ad eviromet variables are described i more detail i Appedix A ad the storage file i Appedix B. 3-4

29 Database driver iteral processig Driver resources The driver resources are parameters that ca be set to modify the behavior of the BAAN IV Oracle database driver. These parameters are set i a file called the resource file (db_resource). Oe resource file exists for all database drivers that ru i a BAAN IV eviromet, ad resources for all the database driver types ca be foud there. A database driver reads the parameters set i the resource file whe it is first ivoked. The resource file may cotai may etries, with oe etry per lie. Each etry is used to set a sigle resource parameter, with the resource ame followed by a colo ad the the value to which the resource is to be set. The followig is a example of the cotets of a resource file that cotais two etries: dbsiit:01 ora_timeout:{0,5,10,15,0} Whe modifyig the behavior of the database driver, you might eed to modify the behavior of the BAAN IV applicatio virtual machie to take advatage of the characteristics of the database driver. Therefore, there are two types of database driver resources exist: those that are used to modify the behavior of the database driver ad those that are used to modify the behavior of the applicatio virtual machie. Driver resources that are used to modify database driver behavior are resources for the server. Driver resources that are used to modify behavior i the applicatio virtual machie are resources for the cliet. I a Widows NT eviromet, the resource file db_resource is located i the directory %BSE%\lib\defaults, where %BSE% refers to the directory i which the BAAN IV software eviromet is istalled. I a UNIX eviromet, the resource file is located i the directory $BSE/lib/defaults where $BSE refers to the directory i which the BAAN IV software eviromet is istalled. If both the database driver ad the applicatio virtual machie ru o the same machie, oly oe db_resource file exists which cotais all the ecessary resource parameters. If the database driver ad the applicatio virtual machie ru o differet machies, oe db_resource file must be located o the machie that rus database driver that cotais the server resources, ad oe db_resource file must be located o the machie that rus the applicatio virtual machie that cotais the cliet resources. I additio to the default resource file db_resource, you ca set up a alterative resource file to override resource values for specific users or groups of users. The alterative resource file is specified with the eviromet variables USR_DBS_RES ad USR_DBC_RES. 3-5

30 Database driver iteral processig Use USR_DBS_RES to specify the path to a file that cotais a alterative resource file for the server. This variable must be set o the machie that rus the database driver. Use USR_DBC_RES to specify the path to a file cotaiig a alterative resource file for the cliet. This variable must be set o the machie that rus the applicatio virtual machie. Ay driver resource set i the alterative resource file will override the settig of the same driver resource i db_resource. The ext sectio describes how to set the database driver eviromet variables. Eviromet variables Eviromet variables ca be used to override driver resources. Usually, a default set of resource parameters is cofigured i the resource file. The admiistrator ca override these default settigs with eviromet variables. For the most part, a eviromet variable correspods to each resource parameter. The eviromet variable ame is usually the uppercase equivalet of the resource parameter ame. As with the database driver resources, some eviromet variables are used to modify the behavior of the database driver (server) ad some are used to modify the behavior of the applicatio virtual machie (cliet). If a database driver eviromet variable for the server should be used, it must be set o the machie that rus the database driver to override the correspodig driver resource. If a database driver eviromet variable for the cliet should be used, it must be set o the machie that rus the applicatio virtual machie to override the correspodig driver resource. Server eviromet variables Eviromet variables that affect the database driver ca be used to override the driver resources for all tables i a database or for specific tables ad compay umbers withi the database. Three ways exist to set the database driver server eviromet variables: Use the BAAN IV sessios Database Defiitios (ttaad4510m000) ad Tables by Database (ttaad4111m000). Maually modify the BAAN IV tabledef6.1 file. Use the stadard operatig system mechaism for settig eviromet variables. 3-6

31 Database driver iteral processig The BAAN IV Database Defiitios (ttaad4510m000) sessio is the recommeded method to modify database driver behavior. If specific tables ad compaies should be cofigured for access with a specific database driver, the Tables by Database (ttaad411m000) sessio should be used. These sessios causes eviromet variables for a particular database driver to override the defaults set i the resource file ad allow the eviromet variables to be maitaied cetrally. The Database Defiitios (ttaad4510m000) sessio maitais database driver cofiguratio iformatio i a file called tabledef6.1. This file is stored i the directory %BSE%\lib, which resides o the machie where the database driver rus. While you should use the Database Defiitios sessio to maitai this file, advaced users ca modify this file maually. The format of the tabledef6.1 file is as follows: <table ame>:<compay umber>:<driver type>(<eviromet variable>=<value>) If multiple eviromet variables are to be specified for a sigle table ad compay umber, they are listed withi the paretheses ad separated by commas. If all tables or all compaies should be specified, the asterisk (*) is used i place of table ame or compay umber. For example, the followig etry ca be made i the tabledef6.1 file: tccom010:812:ora(oraprof=0.4) I this example, all the queries o table tccom that require at least 0.4 secods are logged i the ORAPROF file. Note that this table is cosidered to have a differet database defiitio from other tables. If a Oracle driver is already ruig but is accessig a differet table, a separate driver will be started for this table. Eviromet variables that appear i the driver specificatios of the tabledef6.1 file are put ito the driver s eviromet before it is ivoked, so they are available to the driver at startup. If the default database driver resources must be modified for specific users, the stadard operatig system method ca be used to set database driver eviromet variables for specific users. These eviromet variables will override the settigs created i the Database Defiitios (ttaad4510m000) sessio for these users. 3-7

32 Database driver iteral processig Cliet eviromet variables You ca use database driver eviromet variables that affect the cliet to override the cliet resources that affect the applicatio virtual machie. These eviromet variables must be set o the machie that rus the applicatio virtual machie ad should be set usig the stadard operatig system methods used for settig eviromet variables. Ay cliet eviromet variables that are used override the equivalet resource variables set for the cliet i the db_resource file. Storage file The storage file provides a way to specify the distributio of table data ad idex data i differet tablespaces. Storage parameters are used by the database driver wheever a DDL statemet such as a create table or create idex statemet is executed. The followig is a example of a etry i the storage file: TABLESPACE baa I this example, the database driver adds the <tablespace> clause to the create statemet durig idex or table creatio. A storage file is defied for each database driver. The storage file for the BAAN IV Oracle database driver is called ora_storage ad is located i the Widows NT directory %BSE%\lib\ora or the UNIX directory $BSE/lib/ora. The format of the storage file is described i detail i Appedix B. 3-8

33 4 Database security The BAAN IV Oracle database driver maitais security by cotrollig user access to the database ad user access to database objects. I a Widows NT eviromet, the BAAN IV database admiistrator (DBA) module allows the DBA to cotrol access to the database usig BAAN IV sessios. Usig the DBA module makes DBA tasks easier ad less proe to errors tha usig database driver tools directly. I a UNIX eviromet, the utility programs ora7_admi6.1 ad ora7_mait6.1 are used i place of the DBA module for Oracle7. For Oracle8, the utilities are ora8_admi6.1 ad ora8_mait6.1. From this poit forward, the utilities are refered to as orax_admi6.1 ad orax_mait6.1. This chapter first discusses how the BAAN IV Oracle database driver hadles issues related to database security. It the briefly describes the DBA module, ad the describes the orax_admi6.1 ad orax_mait6.1 utilities. The followig topics are covered i this chapter: Database security The DBA module The utility programs orax_admi6.1 ad orax_mait6.1 Database security Two aspects of database security exists: object security ad autheticatio. Object security refers to the process of determiig whether or ot a user who has access to the database is authorized to access particular database objects. Autheticatio refers to the process of determiig whether or ot a user is authorized to access the database. Both object security ad autheticatio use the cocept of groups to esure security. This sectio first describes the group cocept, the describes how the BAAN IV Oracle driver provides object security ad autheticatio. 4-1

34 Database security Groups I ay RDBMS, a group is defied as a collectio of database users. All users assiged to a group are grated the same database privileges. Oce a group is defied with a certai set of privileges, users ca be assiged to that group. Usig groups simplifies maagemet of a large umber of groups with commo requiremets. A BAAN IV group cosists of a database ame ad methods for providig object security ad autheticatio withi the database. The BAAN IV group ame is the same as the ame of the database that holds the BAAN IV data withi the RDBMS. The BAAN IV group uses the mechaisms of the RDBMS to provide object security ad autheticatio. A BAAN IV group is a superset of the usual RDBMS group i that it icludes ot oly the RDBMS group, but also the database ame ad a RDBMS logi. I Oracle, a BAAN IV group is made up of three compoets: A database schema. This schema has the same ame as the BAAN IV group. A logi (for autheticatio). This fuctio is the same ame as the BAAN IV group ad is assiged database ower (DBO) privileges i the database. A Oracle role (for object security). This role is created ad becomes the target for privileges grated o objects i the database. Users are associated with the Oracle role ad, as a result, iherit the privileges grated to the Oracle role. The advatage of havig a table assiged to a role is that the members of the group ca share ad operate o the same data i a sigle table. For example, users maria ad joh ca both be assiged to BAAN IV group baadb. Group baadb ows the tables ad grats select, isert, delete, ad update privileges to the Oracle role. As a result, users maria ad joh iherit the select, isert, delete, ad update privileges grated to the Oracle role, which allows them to access ad maipulate BAAN IV group table data. The BAAN IV user is shielded from the RDBMS groups. The database driver does all the processig that is eeded to make use of the RDBMS groups. Oly the database admiistrator eeds to be cocered about the RDBMS groups, ad the BAAN IV DBA module allows the admiistrator to easily maitai the RDBMS groups. 4-2

35 Database security Object security I Oracle, if you create a object such as a table, you become the ower of the object, ad oly you ca access the object. Other users ca oly access the object if they have bee grated privileges to do so. I a BAAN IV eviromet where may users access the same tables i the Oracle database, a mechaism has bee developed to allow users to share these tables. To allow differet BAAN IV users to share the same Oracle table, a group cocept is used. A BAAN IV group maps users to a database i Oracle ad esures that members of the group have sufficiet privileges to access data i the group s tables. The BAAN IV Oracle driver uses a Oracle role to implemet the BAAN IV group cocept. Wheever a ew table is created by the group, the user, select, isert, delete, ad update privileges are grated to the Oracle role. Ay user associated with the role automatically iherits these privileges ad ca idividually perform these operatios o the group table. Whe ew users are added, they oly eed to be associated with a Oracle role because they automatically iherit all privileges curretly grated to the role, which alleviates the eed to grat privileges to the user for every group object i the database. Whe the user is dropped from the role, these privileges are revoked, ad the user o loger has access to tables withi that role. If the privileges to operate o the tables are explicitly grated to the user, the these privileges must also be explicitly revoked whe the user is dropped from the role. The overhead of addig users is greatly reduced by gratig privileges to the role, which also provides flexibility ad ease of maiteace. A user ca defie whether a table should be created as a group table or as a private table. Whe a table is idetified as a private table, the user becomes the ower ad o privileges are give to other users. Whe a table is idetified as a group table, the table is created by the group logi, ad the privileges are grated to the group, which allows all users i the group to access the table. A table ca be cofigured as private or group via the Widows NT file %BSE%\lib\ora\ora_storage or the UNIX file $BSE/lib/ora/ora_storage. I the DDL statemets geerated by the driver, object ames are ot qualified by the ower ame. Owership is determied by the sessio (group or user) i which the create table is ru. Whe creatig objects idetified as belogig to the group, the user who create the object logs o to Oracle as the group user. I this case the table will be owed by the group ad permissios will be grated o it to allow access to all group users. Whe creatig objects idetified as private, users are coected to Oracle uder their ow logi. Whe private objects are created, the user ows them; o other permissios are grated. 4-3

36 Database security A table s cofiguratio is defied i the Widows NT file %BSE%\lib\ora\ora_storage or the UNIX file $BSE/lib/ora/ora_storage. The format is explaied below. The keywords group or private ca be specified i the appropriate field. For example: tdsls:*:t:group:011:: tdsfc:*:t:private:011:: This structure idicates that tables i module tdsls are created as group tables, ad all users have their ow private tables i module tdsfc. Autheticatio The database driver maps BAAN IV users to Oracle user accouts to allow them to establish a coectio to Oracle ad access data. To prevet uauthorized users from accessig the database, omapped users caot establish a coectio to the database. Whe a database is created, a admiistrator creates a logi for the user ad associates the user with a group i the database that has object privileges. The group user correspods to the target database. The members belogig to this group iherit the group privileges ad are able to establish a coectio to the database through either a uified logi or by usig a valid password stored i ecrypted form i the driver admiistratio files. A user ca be added to or dropped from the Oracle role by usig the BAAN IV database admiistratio (DBA) module. Users who are authorized to access the database are registered i the BAAN IV driver admiistratio files. The user ame ad password BAAN IV uses to log o to Oracle o behalf of the user are maitaied i the Widows NT file %BSE%\lib\ora\ora_users or the UNIX file $BSE/lib/ora/ora_users. All the BAAN IV users ad their correspodig Oracle logo ames ad passwords ad the ame of the group to which they are assiged are defied i the Widows NT file %BSE%\lib\ora\ora_users or the UNIX file $BSE/lib/ora/ora_users. The format of each etry i this file is as follows: <BAAN IV user>:<oracle user>:<ecrypted Oracle User password>: <BAAN IV group ame> The BAAN IV Oracle driver is started by the BAAN IV applicatio virtual machie o behalf of the user. From the Widows NT file %BSE%\lib\ora\ora_users or the UNIX file $BSE/lib/ora/ora_users, the driver idetifies the Oracle user ad the user s password ad establishes the coectio to Oracle. 4-4

37 Database security The group logo procedure also icludes a password, which is defied i the Widows NT file %BSE%\lib\ora\ora_groups or the UNIX file $BSE/lib/ora/ora_groups. The format is as follows: <Group ame>:<ecrypted Group password> Oracle ca also use the operatig system autheticatio to permit users to coect to the Oracle database. This actio ca be eabled by creatig automatic logos (ops$ accouts). The, oce the user is logged o to the operatig system, the user ca coect to Oracle without supplyig the user ame ad password. This facility is also available for the Oracle driver. The ops$ prefix ca be cofigured with the OS_AUTHENT_PREFIX resource. This resource should be equal to the value of the OS_AUTHENT_PREFIX i the iit<sid>.ora parameter file, which defaults to ops$. The OS_AUTHENT_PREFIX resource is described i Appedix A, Database driver resources ad eviromet variables. DBA module I a Widows NT eviromet, the DBA module maitais the database admiistratio files used by the Oracle database driver. This module allows a admiistrator to register authorized users ad to give users access to data. A tool is provided with the BAAN IV Oracle database driver to maitai the admiistratio files the database driver eeds at ru time. The admiistratio files are stored i the Widows NT directory %BSE%\LIB\ORA or the UNIX directory $BSE/lib/ora. The DBA module implemets the user ad group admiistratio fuctios for all BAAN IV database drivers that use Widows NT. The orax_mait6.1 utility is a executable program called by the DBA module that implemets the fuctios ecessary to make chages i Oracle. While you ca call the orax_mait6.1 utility from outside the DBA module, you should avoid this actio because the users ad groups files are ot modified by orax_mait6.1. Utility programs orax_admi6.1 ad orax_mait6.1 I a UNIX eviromet, tools are provided with the Oracle database driver to admiister the database. For Oracle7 the tools are called ora7_admi6.1 ad ora7_mait6.1. For Oracle8, the tools are called ora8_ist6.1 ad ora8_mait6.1. These tools are referred to here as orax_admi6.1 ad orax_mait6.1. No differeces exists i the iterface. 4-5

38 Database security The tool orax_admi6.1 is a shell script that eables admiistratio of users ad groups ad provides some useful optios to retrieve iformatio from Oracle. The toolorax_mait6.1 is a executable program that performs the actual maiteace o the iformatio ad security files. The orax_admi6.1 shell script provides a user iterface that calls orax_mait6.1 to do the work. Use the orax_admi6.1 user iterface to admiister the database files. The followig sectio describes the orax_admi6.1 iterface. orax_admi6.1 After you start orax_admi6.1, the Mai Meu is displayed: M A I N M E N U Maiteace ORACLE Add Baa user to group 10. Get table iformatio 2. Remove user from group 11. Get idex iformatio 3. Add group 12. Get memory iformatio 4. Remove group 13. Get space iformatio 5. Chage passwords 14. Get user iformatio 6. Maitai storage iformatio 15. Get ower iformatio 7. Display users 16. Eter SQL*Plus 8. Display groups 17. Eter Shell 9. Display storage E Exit Choice :.. NOTE The orax_admi6.1 tool provides user admiistratio ad iformatio facilities. These facilities are described i the sectios below. If you select the Eter Shell optio, a UNIX shell is started for you. You ca retur to the Mai Meu by killig the shell (by eterig exit or <ctrl><d>. The Add Baa user to group optio By usig this optio, you ca add a user to a particular group. I this case, the user is added to the file $BSE/lib/oracle/ora_users. To add a particular user to a group, the followig iformatio must be specified: The group to which the user should belog The group password (ot echoed) BAAN IV user ame Oracle user ame Oracle user s password (ot echoed) 4-6

39 Database security NOTE NOTE The ew user must ot be a existig user or group ame. Multiple BAAN IV users caot share the same Oracle user ame. The ew user must first be added at the UNIX level. If a user is added to the group by the Oracle DBA or a super user, the user will iherit all object privileges grated to the group user. The Remove user from group optio By usig this optio a user, that belogs to a particular group is removed from the group. This user is deleted from the file $BSE/lib/oracle/ora_users. To remove a particular user from a group, the followig iformatio must be specified: The group to which the user belogs The group password (ot echoed) The BAAN IV user ame Whe a user is removed from the group by the super user or BAAN admiistrator (bsp), the user will o loger be able to access the database through BAAN. The user will still be able to access the database outside of BAAN. To prevet this iaccessibility, the user must be removed from the group file at the UNIX level. The Add group optio By usig this optio a ew group that is a user already kow to the Oracle RDBMS, ca be added to the admiistratio file. I this case, the gratig coect ad createtab privileges are give to the group user ad the group is added to the $BSE/lib/oracle/ora_groups file. To add a group, the followig iformatio must be specified: Group ame Group password (ot echoed) A ew group caot be a existig user or group ame. The group ame must both be a UNIX group ad a UNIX user. 4-7

40 Database security The Remove group optio By usig this optio a existig group will be removed. I this case, the revokig coect ad createtab privileges from the group user are removed as well as the group etry i the file $BSE/lib/oracle/ora_groups. To remove a group, the followig iformatio must be specified: Group ame Group password (ot echoed) The group logo is ot removed from the UNIX accout, ad a group ca oly be removed if o users exist i the group. The Chage passwords optio For idexes, the followig iformatio will be displayed: C H A N G E P A S S W O R D S 1. Chage password of user 2. Chage password of group E Retur Choice :. By usig this optio, a user or group password ca be chaged. Usig the Chage password of user optio allows a user password to be chaged. This actio will update the $BSE/lib/oracle/ora_users file with the ew specified password. Note that this password is the UNIX password. So, wheever the Oracle user password must be chaged, the UNIX password must first be updated. To chage the password of a particular user, the followig iformatio must be specified: BAAN IV user ame Oracle user ame New user password (ot echoed) Usig the Chage password of the group optio allows a group password to be chaged. This actio will update the $BSE/lib/oracle/ora_groups file with the ew specified password. Note that the password of the group user eeds to be chaged if the group user password is chaged at UNIX level. To chage the password of a group, the followig iformatio must be specified: Group ame New group password (ot echoed) 4-8

41 Database security NOTE The Maitai storage iformatio optio This optio will start the UNIX vi editor for the $BSE/lib/oracle/ora_storage file, which eables you to chage the parameters i this file. After you exit the editor, the User Iformatio meu will appear agai. Chagig the ora_storage file ca have egative cosequeces. Be sure to keep a copy of the file. If the storage file is lost, tued parameter settigs will be lost as well ad, as a result, object security could be icosistet. The Display users optio This optio displays all the users i the $BSE/lib/oracle/ora_users file, alog with the Oracle user ame ad group ame to which they belog. The Display groups optio This optio displays all groups, alog with all users icluded i each group. The Display storage optio This optio retrieves the parameters for a table or idex from the $BSE/lib/oracle/ora_storage file. The followig iformatio must be specified: BAAN IV user ame DD Table ame (for example, ttadv000) Compay umber (for example, 000) The Object type (table or idex, for example, T, I, or I1) The followig iformatio will be displayed for tables: Ower (private/group) Default idex optimizatio Refresh time (has become obsolete) Oracle storage parameters The idex optimizatio field will be displayed for idexes. orax_mait6.1 orax_mait6.1 performs several admiistratio fuctios. Each fuctio requires certai optios to be specified. I the fuctio descriptios below, all optios must be specified uless they are listed withi brackets. For optios listed withi brackets, exactly oe of the two sets of optios withi brackets must be specified. Note that chages made through orax_mait6.1 will ot effect the files msql_users ad msql_groups. Ay ukow user specified as iput to orax_mait6.1 will be created. 4-9

42 Database security The orax_mait6.1 fuctios ad their required optios are explaied below: To add a user to a group: orax_mait6.1 a<baan IV user> m<oracle user> p<oracle password> G<group ame> P<group password> To chage a user password: orax_mait6.1 r<baan IV user> m<oracle user> p<ew password> To remove a user from a group: orax_mait6.1 -d<baan IV user> -p<oracle password> G<Group ame> P<group password> To add a group: orax_mait6.1 A<group ame> P<group password> To chage a group password: orax_mait6.1 -R<Group ame> P<ew password> To remove a group: orax_mait6.1 D<group ame> P<group password> To prit usage iformatio: orax_mait6.1 { U? } To prit versio iformatio: orax_mait6.1 { v V } To display users: orax_mait6.1 l To display groups: orax_mait6.1 L To display storage: orax_mait6.1 S<table ame> -C<compay umber> -u<baan IV user> -L<object> The table ame should be i the format ppmmmxxx ad the object should be T or I. To revoke all the users from a group: orax_mait6.1 E<group ame> -P<group password> With this optio, all users i a group are revoked from the objects owed by the group. However, the objects are ot removed from the ora_users file. The group is ot removed from the ora_groups file. 4-10

43 Database security To add all users to the group: orax_mait6.1 F<group ame> -P<group password> With this optio, all the users i the ora_users file are explicitly added to the group. However, the ora_users file is ot updated. 4-11

44 Database security 4-12

45 5 Database driver profilig ad statistics The BAAN IV Oracle database driver provides a facility for moitorig system performace. This driver icludes a profilig facility that allows the user to gather timig iformatio for SQL statemets ad a statistics facility to gather driver-wide statistics. I additio, the driver provides a facility for troubleshootig problems. I this chapter, the profilig, statistics, ad debuggig features of the BAAN IV Oracle database driver are discussed. The followig topics are covered i this chapter: Profilig Gatherig statistics Troubleshootig Profilig The database driver allows users to log timig aspects ad statistics. This fuctio is useful for tuig because the iformatio ca help idetify performace bottleecks ad provide iput ito the tuig process. The database driver s profilig optio provides the user with a way to gather the timig of SQL statemets that are beig ru. Loggig all statemets with their timigs, however, will result i a log file that is so large it caot be properly aalyzed. You ca defie a loggig threshold i which oly statemets that take more tha a predefied umber of secods are logged. With profilig, the followig iformatio is logged: the RDBMS request, the elapsed time, the user ame, the date, ad the time. The maximum precisio that ca be specified is 0.01 secods. To determie which table actios are most time cosumig, you ca set the ORAPROF eviromet variable to a umber of secods. For example, ORAPROF ca be set as follows: SET ORAPROF=5.0 This variable sets ORAPROF to five secods, which causes statemets that take more tha 5.0 secods of elapsed time to be logged to the ORAPROF file i the curret workig directory of the driver. 5-1

46 Database driver profilig ad statistics Statemet ru time ca be viewed for idividual tables by settig the ORAPROF eviromet variable i the Widows NT file %BSE%\LIB\TABLEDEF6.1 or the UNIX file $BSE/lib/tabledef6.1. For example, the followig etry ca be made i the file: tccom010:812:ora(oraprof=0.4) I this example, all the queries o table tccom that require more tha 0.4 secods are logged i the ORAPROF file. Note that a separate driver is started for this table because the table is cosidered to have a differet database defiitio. Level 1 profilig example With a Level 1 driver, ote that the followig two statemet types are timed ad ca appear i the log file: The execute evet This type represets the amout of time the RDBMS takes to execute a SQL statemet. The fetch evet This type represets the amout of time it takes to retrieve data from the buffer or the RDBMS. A sample ORAPROF file for Level 1 is show below. Profilig value = 0.00 sec Pid Table Ower I Mode Cache Exe Fetch Exe Fetch Tot <11350> tiitm jim 1 FIRST : < 8024> tiitm jim 1 FIRST : <11350> tiitm jim 1 FIRST : <11350> tiitm jim 1 FIRST : <11350> tiitm jim 1 FIRST*: < 8024> tiitm jim 1 FIRST*: <11350> tiitm jim 1 NEXT : <11350> tiitm jim 1 NEXT : <11350> tiitm jim 1 NEXT : <11350> tiitm jim 1 NEXT : <11350> tiitm jim 1 NEXT : <11350> tiitm jim 1 NEXT* : <11350> tiitm jim 1 NEXT* : <11350> tiitm jim 1 PREV : <11350> tiitm jim 1 PREV : <11350> tiitm jim 1 PREV : The data i the above sample file ca be iterpreted as follows: I this example, the umber of secods (profilig value) is 0.00, which meas that all actios are writte to the file. The asterisk [*] after some of the records idicates that the records were first read ad the locked. 5-2

47 Database driver profilig ad statistics The I colum lists the umber of the idex used. The Cache colum lists a value whe a result is retrieved from cache memory. For each actio, two executes ad two fetches are recorded. This fuctio is useful whe a record must be read i locked mode or whe oly key fields are selected first ad the the other fields are retrieved. Level 2 profilig example I Level 2 mode, each phase i the SQL query processig that exceeds the profilig value is prited. A sample ORAPROF Level 2 file is show below [15:00:39]: Profilig value = 0.02 sec Profilig value exceeded <jim>: [15:01:16.054]: Time (multi_fetch) : secods SQL statemet: SELECT /*+ FIRST_ROWS USE_NL(a,b,c) INDEX(a tttadv112000$idx1) */ a.t$pacc,a.t$cpac,a.t$sequ,b.t$desc,c.t$expi FROM baa5.tttadv a,baa5.tttadv b,baa5.tttadv c WHERE c.t$cpac = :1 AND c.t$cmod = :2 AND c.t$cses = :3 AND c.t$vers = a.t$vers AND c.t$rele = a.t$rele AND c.t$cust = a.t$cust AND b.t$cpac = :4 AND b.t$vers = a.t$vers AND b.t$rele = a.t$rele AND b.t$cust = a.t$cust AND b.t$kdes = :5 AND b.t$rkey = :6 AND b.t$cla = :7 AND a.t$pacc = :8 AND a.t$cpac = :9 ORDER BY 1,2, Profilig value exceeded <jim>: [15:01:16.101]: Time (parse) : secods SQL statemet: SELECT /*+ FIRST_ROWS INDEX(a tdctcs440000$idx9) */ a.t$adat,a.t$bfix,a.t$ccod,a.t$cdat,a.t$cgrp,a.t$cof,a.t$cprj,a.t$csta,a.t$ctyp,a. t$delc,a.t$dsca,a.t$dtim,a.t$ercs,a.t$erss,a.t$etim,a.t$fdat,a.t$fre1,a.t$fre2,a.t$ fre3,a.t$fre4,a.t$fre5,a.t$fre6,a.t$fre7,a.t$ider,a.t$idl,a.t$loca,a.t$modc,a.t$a me,a.t$pact,a.t$phse,a.t$pref,a.t$prgr,a.t$prib,a.t$prio,a.t$prjm,a.t$rdat,a.t$rtim,a.t$rtst,a.t$rtyp,a.t$rusr,a.t$sact,a.t$scmp,a.t$sdat,a.t$solv,a.t$stat,a.t$ttim,a.t$txta,a.t$txtp,a.t$txts,a.t$uit,a.t$uref,a.t$utyp,a.t$vref FROM baa5.tdctcs a WHERE a.t$delc = :1 AND (a.t$loca >= :2) AND (a.t$loca <= :3) AND (a.t$rtyp = :4 AND a.t$uit = :5 AND a.t$uref = :6 AND a.t$utyp = :7 AND a.t$scmp = :8 AND a.t$vref = :9 AND a.t$csta = :10 AND a.t$loca > :11) ORDER BY 39,50,51,52,42,53,8,26, The example above shows two queries. The first query had a ru time that exceeded the limit, while the secod oe had a parse time that exceeded the limit. 5-3

48 Database driver profilig ad statistics Gatherig statistics The database driver provides a optio to gather driver-wide statistics o actios performed, such as: Number of cursors (opeed, closed, ad curret ope) Number of parses, bids, executes, ad fetches Number of logos (sessios) Number of iserts, updates, ad deletes Number of commits ad rollbacks For each actio, the cumulative elapsed time spet ad the average time is logged. The statistics ca be eabled with the eviromet variable ORASTAT. Whe the variable is set to zero, a statistics report is geerated whe the driver termiates (exit from BAAN IV Tools or sessio). Whe a value greater tha zero is specified, the driver logs a icremetal report every secods (the driver must be active). The statistics report is writte to the file ORASTAT i the curret directory. The followig are examples of how ORASTAT ca be set: SET ORASTAT=0 SET ORASTAT=30 I the first example, ORASTAT is set to zero. With this value, oly a fial report is geerated. I the secod example, ORASTAT is set to 30. This settig logs a report every 30 secods while the driver is active. 5-4

49 Database driver profilig ad statistics Below is a sample output of ORASTAT. Because the report is geeric for all databases, some iformatio, such as the specific row actios, could be iappropriate for a particular database driver. Most row actios will oly be used i Level 1 mode. <26752> [13:39:14]: Statistics [iterval = 10] C U R S O R S Opeed Closed Parse Bid Defie Execute Fetch Cout Time(s) Avg D A T A B A S E First Last Next Prev Curr Great Gteq Equal Less Eqle Equal* Cout Read Cached Read Fetched Read Executed Read Time(s) Read Avg Read Cout Lock Time(s) Lock Avg Lock Isert Delete Update Cout Exe Time(s) Exe Avg Exe CrIdx DrIdx ChOrd CrTbl ClTbl DrTbl LkTbl NrRow Cout Exe Time(s) Exe Avg Exe Commt Rolbk RdOl PrCmt NotAc Cout Exe Time(s) Exe Avg Exe S U M M A R Y Cout Time(s) Avg Total asc read (s) Total desc read (s) Total exact read (s) Total all read (s) Total updates (s) Cout Perc Total cache hit (%) Total fetch opt (%) Cout Forced close 0 Curret ope cursors 6 Sessios (logo/logoff) 2 / 0 5-5

50 Database driver profilig ad statistics Troubleshootig The BAAN IV Oracle database driver provides a facility for troubleshootig problems. The actios performed by the driver ca be traced ad stored i a log file. I additio, ay errors that occur are logged. The followig sectios explai how to log trace iformatio ad how to fid ad iterpret the error log. To log database driver trace iformatio The database driver provides a optio to trace olie iformatio about the actios that are beig performed by the driver. The resultig log file cotais debuggig iformatio that ca help solve problems. Whe tracig is eabled, the iformatio stored i the log files icludes: Table ad idex iformatio (data dictioary) The SQL statemets beig executed Values of the iput ad output bid variables Other fuctio-level debug statemets Tracig ca be eabled usig the eviromet variable DBSLOG. Debuggig iformatio is appeded to the file dbs.log i the Widows NT directory %BSE%\tmp or the UNIX directory $BSE/tmp. O a Widows NT system, if loggig is ivoked remotely with rexec, the log is stored i the Widows NT file %BSE%\tmp. Tracig ca be eabled by eterig the followig commad: SET DBSLOG=1570 Several tracig categories are defied so that tracig ca be eabled for oly categories of iterest. See Appedix A for more details. To log errors I a Widows NT eviromet, the database driver logs its error messages i the Widows NT applicatio Evet Log or i the log files i the %BSE%\LOG directory. I a UNIX eviromet, the driver logs its error messages i the log flies i the $BSE/log directory. The followig iformatio ca be retrieved from the log files. The user ame, date, time, source file, ad lie umber The called fuctio The error code retured by the database The database error descriptio The BDB error code retured to the applicatio I some cases, the failig SQL statemet 5-6

51 Database driver profilig ad statistics If a database error occurs, these errors should be mapped to some kow or aticipated error coditio. Geerally, these mapped BDB errors have correspodig error umbers betwee 1 to If a database-specific error occurs, it is mapped to the BDB error code over 1000 with the followig formula: abs(error_code) So, if a error ORA-1652 occurs, BDB error 2652 is retured to the applicatio. I most cases, the log etries from the display driver, applicatio virtual machie, ad database driver cotai eough iformatio to determie the ature of ad solutio to the problem. Wheever a error is ecoutered with a error code greater tha 1000, you should check the log etries from the database driver. 5-7

52 Database driver profilig ad statistics 5-8

53 6 Database driver cofiguratio ad tuig The BAAN IV Oracle database driver is desiged to allow tuig for optimal performace. Several parameters used by the database driver are preset with default values that should provide acceptable system performace, but because every eviromet is differet, the default values of these parameters may ot always provide optimal performace. This chapter discusses the BAAN IV Oracle database driver parameters that you ca set, ad the chages i driver behavior that you ca expect whe you adjust these parameters. The followig topics are covered i this chapter: Cursor maagemet Array iterface Idex optimizatio Fetch optimizatio Row cachig Query tuig Optimistic ad pessimistic referece checks Lockig behavior Cursor maagemet Cursor maagemet is differet for the BAAN IV Oracle database driver i Level 1 mode ad the database driver i Level 2 mode. Cursor maagemet is described below for both the Level 1 mode ad the Level 2 mode. Level 1 mode The BAAN IV Oracle database driver has a built-i cursor maagemet mechaism that use a least recetly-used (LRU) algorithm. Each cursor represets oe type of SQL statemet. The resource variable max_ope_cursors ca be used to ifluece cursor maagemet. This parameter limits the umber of ope statemet hadles (Oracle cursors) the driver maitais o a percoectio basis. The default is 245 ope statemet hadles per coectio. Icreasig the value of max_ope_cursors results i more cocurret ope cursors (thus more memory) but i fewer cursors beig opeed ad closed ad i fewer SQL statemets that must be reparsed. 6-1

54 Database driver cofiguratio ad tuig Level 2 mode The BAAN IV Oracle database driver has two resource variables that ifluece the cursor hadlig: max_free_cursors ad retaied_cursors. Both of these resource variables is described below. max_free_cursors The resource max_free_cursors iflueces the umber of statemet hadles (Oracle cursors) that are kept for reuse by the driver. The default value is 32. Wheever the applicatio closes a query, most resources i the driver are freed. However, if the Oracle cursor beig allocated will soo be re-used, closig ad opeig the cursor ca be avoided. To avoid closig ad reopeig cursors, the cursor is put i a free list cotaiig all cursors, which are disassociated from a query. Whe a request for a ew cursor comes, first a free cursor is take from the free list. If o free cursors are available, a ew cursor is opeed. So, the umber of times a cursor is closed ad opeed is reduced. If the umber of free cursors exceeds the value of max_free_cursors, the Oracle cursor will be closed. Icreasig the value of max_free_cursors will result i more cocurret ope cursors (thus more memory) but i fewer cursors beig opeed ad closed. retaied_cursors With this resource the umber of iactive cursors ad thus the umber of ope cursors ca be reduced. For Oracle7, if a special ora_iit flag is set, the followig coditio occurs. Whe a query has fetched all the rows, a cacel is issued o the query, which meas that Oracle is otified that o additioal fetches will be performed. This fuctioality gives Oracle the chace to free certai query resources, such as sort area space. After the cacel, the query ca be re-executed without reopeig (parsig, bidig) the cursor. The driver does ot kow if a cursor i cacel state will be reused later. I the worst case, the cursor is ot reused, ad the cursor will cotiue to be reserved for the query. 6-2

55 Database driver cofiguratio ad tuig After all rows have bee fetched, the driver has a facility to put iactive cursors (i cacel state) i a cacel list so that they become cadidates for beig assiged to a differet query. However, a umber of iactive cursors i this list are ot available for this migratio because they are defied by the resource retaied_cursors, which defaults to 20. If more tha 20 cursors are i the cacel list, ad a request for a ew cursor is issued, the least recetlyiactivated cursor is used for this ew cursor. This cursor is disassociated from the origial query ad assiged to a ew query, which does parsig ad bidig o this cursor. Whe the origial query is doig a re-execute, the driver detects that the cursor has bee associated with aother query ad will get a ew cursor ad reparse ad rebid the query. Icreasig the value of retaied_cursors leads to less reparsig ad rebidig of queries, which reduces CPU resources. The umber of ope cursors however (ad thus memory) is icreased. Array iterface The BAAN IV Oracle database driver ca use multirow features of the OCI iterface for array fetches ad array iserts. With the array iterface, commuicatio betwee the Oracle driver ad the Oracle server is more efficiet: multiple rows are fetched or iserted with a sigle OCI call. However, because multiple rows eed to be stored i a buffer i the BAAN IV Oracle database driver, more memory is cosumed. Array iterfacig is especially useful whe you access a remote database, because the umber of etwork roud-trips ca be reduced. You ca eable the array iterface ca be eabled by settig the correspodig flag i the ora_iit resource. The default umber of rows that will be fetched with a sigle OCI call is five. This amout ca be chaged by specifyig the eviromet variable ORA_MAX_ARRAY_FETCH. The default umber of records buffered durig isert ad passed to Oracle with a sigle OCI call is five. This value ca be chaged by specifyig the eviromet variable ORA_MAX_ARRAY_INSERT. 6-3

56 Database driver cofiguratio ad tuig Idex optimizatio Idex optimizatio is a techique used i Level 1 drivers to obtai better performace for SELECT statemets i relatioal databases. Because BAAN IV Level 1 drivers geerate queries that are ot very complex, the driver ca take advatage of several attributes of BAAN IV applicatio tables to improve access time. The idex optimizatio techique causes a ew colum (referred to as a hash colum) to be created i the table for each idex defied i the BAAN IV data dictioary. This hash colum cotais a cocateatio of values from each colum participatig i the key for that idex. Also, the first (or primary) idex is always uique, so you ca use it (agai cocateated) i other ouique idexes to make them uique. Fially, you ca choose a raw data type as the storage type for the hash colum. The combiatio of key reductio (cocateatio ito a sigle colum) ad idex uiqueess has bee foud to give performace gais i Level 1 drivers. I additio, sophisticated optimizers i RDBMSs ted to overaalyze these Level 1 queries i a attempt to optimize the queries executio, so the driver exploits ay meas available i the host RDBMS to reduce the effort eeded for the optimizer to arrive at a acceptable executio pla. I the BAAN IV Oracle database driver, this pla icludes usig idex hits, so the optimizer does ot eed to determie if a usable idex exists for a query. I BAAN IV applicatios, a idex ca cosist of multiple colums (cocateated keys). If you retrieve data i the order of the idex, the first colum i the idex is cosidered most sigificat; the last part is cosidered least sigificat. Each colum has its ow sigificace withi the order. This cocept is commo to all Level 1 database drivers. BAAN IV also requires sigificace to be oted about the colums i the WHERE clause, which meas that you should treat each colum differetly. 6-4

57 Database driver cofiguratio ad tuig As a example, cosider Table A with colums t$col1, t$col2, ad t$col3, all of type iteger, ad a idex o t$col1, t$col2, ad t$col3. The table cotais five rows. Example table A cotaiig the followig five rows col1 col2 col Suppose you eed the rows that are greater tha the first row: {0, 0, 0}. The correct query to solve this would be: SELECT col1, col2, col3 FROM A WHERE (col1 > 0 OR col1 = 0 AND (col2 > 0 OR col2 = 0 AND (col3 > 0))) ORDER BY col1, col2, col3 This query cotais a ested list of AND/OR coditios, which i geeral caot be efficietly optimized by the RDBMS. As a result, whe multiple colums exist i a idex ad may rows are i the table, the RDBMS servers sped a log time searchig all the rows that meet the coditio. This search causes cosiderably slower performace. The way to solve this problem is called idex optimizatio, which meas that i the example above, the three colums col1, col2, ad col3 are cocateated ad added to the table as a separate colum. This additioal colum is called the hash colum, ad it cotais a sortable value of the three cocateated colum values. A idex is created o the hash colum. 6-5

58 Database driver cofiguratio ad tuig For our example table, this actio results i the followig table. Note that the hash value is simplified for the example. Example table A with additioal hash colum col1 col2 col3 Hash If you are searchig for rows greater tha {0, 0, 0}, you ca ow specify the followig query, icludig the hash colum: SELECT col1, col2, col3 FROM A WHERE hash1 > 000 ORDER BY hash1 This query is much simpler ad ca be quickly evaluated by the optimizer. Note that just oe coditio exists i the WHERE clause. Duplicate idexes For duplicate idexes, the primary key parts are appeded to the hash colum to make it uique. So, a distictio is made betwee a ascedig ad descedig sortig order through the duplicate rows. The order as such, however, is ot defied: the oly distictio made is betwee ascedig ad descedig. Hash colum amig covetio The ame of the hash colum i a BAAN IV applicatio table is formed usig the hash keyword ad the idex umber for which it is beig created. Ay descedig hash colum is created with a d appeded. For example: hash1 : ascedig hash colum for idex 1 Size of hash colums The size of the hash colum is determied by the data types ad sizes of all the colums i the idex. 6-6

59 Database driver cofiguratio ad tuig Idex optimizatio Idex optimizatio ca be specified per table ad per idex i the Widows NT file %BSE%\lib\ora\ora_storage or the UNIX file $BSE/lib/ora/ora_storage. The table/idex optimizatio parameter i the storage file is used to specify the idex optimizatio. The values you ca use are provided i Appedix B. Fetch optimizatio This fuctioality is oly available i Level 1 mode. I BAAN IV, a set of rows is ofte retrieved from a table i the database. Usually, a applicatio is performig the followig sequece: DB.FIRST DB.NEXT DB.NEXT DB.NEXT ad so o If a query is processed after fetchig the first row, the subsequet rows are fetched from the retrieved set of rows ad are retured to the user. This techique, combied with the isolatio level or lockig strategy employed, determies how curret the data is durig a read operatio. O-demad reads combied with dirty read lockig gives the most curret view of the data. However, i may situatios this behavior is ot required. Read performace ca be improved at the expese of a less-curret view of the data. Fetch optimizatio is described as follows: after fetchig the first row of a query with a multirow result set, subsequet rows satisfyig the query are also fetched ad retured to the cliet. Rows updated or deleted i other cocurret coectios betwee fetches may ot be reflected i this set of rows. The chages made i other cocurret coectios will oly be reflected whe the query is re-executed. You may ot eed to see all row chages at the exact momet they occur; rather, you could simply fetch the ext row from the existig (buffered) row set istead of re-executig the statemet to get the most curret view. Critical to the use of fetch optimizatio is the defiitio of a refresh time that allows the user to specify a time iterval, i secods, for which a fetch-optimized set of rows is valid. As log as the set is deemed valid, data ca be fetched from the buffered row set. Chages that occurred as a result of activity i other coectios sice the query was executed are ot reflected i the data. If the row set expires (that is, refresh time is exceeded), the statemet will automatically be re-executed i the driver before the ext row is retured. 6-7

60 Database driver cofiguratio ad tuig For example, assume that a set of rows is retrieved whe DB.FIRST is issued. For a refresh time of five secods, the DB.NEXT call will fetch the ext row from the fetch-optimized set of rows. All cosecutive DB.NEXT calls withi five secods will ot fetch from the database but will be fed from the buffered row set util the buffer is exhausted. After five secods the set will be cosidered ivalid ad a subsequet DB.NEXT will cause a re-execute of the query ad fetch from the database. This process results i a performace improvemet by reducig the umber of query executios. This actio traslates ito reduced RDBMS server load ad reduced etwork traffic. You ca set the refresh time for tables (T etries) i the storage file. For idex (I) etries, the refresh field is igored. The default is 0 if ot specified. For example, the ORA_STORAGE file ca cotai the followig etries: *:*:T:group:011:5: *:*:I:group:011:: I the above example, all tables ad compaies will use sigle hash colums for idex optimizatio ad a refresh time period of five secods for fetch optimizatio. The followig example shows two etries that might be set i the ORA_STORAGE file: *:*:T:group:011:: *:*:I:group:011:: I this example, all the tables have a default refresh time of 0 secods, which meas that fetch optimizatio is disabled. Fetch optimizatio is useful whe there are several records i the result set ad a fetch-ext actio takes place withi the refresh iterval or if the etire table is locked by the query. Row cachig This fuctioality is oly available i Level 1 mode. Row cachig is based o the fact that the last retrieved result (usig fetch) is stored i a sigle-row cache. Whe two cosecutive database requests are exactly idetical, the result ca be copied from a sigle-row cache. A restrictio is that the secod actio takes place withi the refresh time, ad this situatio occurs frequetly whe jois are processed. Every time the outer row cotais the same key value, a DB.EQ o the outer table ca be cached, so the request will ot be passed to the RDBMS. 6-8

61 Database driver cofiguratio ad tuig Note that cachig ad fetch optimizatio are cosistet for oe BAAN IV user. Database chages made i ay of the sessios ruig withi a sigle-applicatio virtual machie will always disable curret sets related to the update. Cosequetly, additioal fetches will always fetch the ew result. The chages made by other users will ot be reflected withi the refresh time. Query tuig This sectio describes how to exterally ifluece the query geeratio performed by the Oracle driver. This fuctioality is oly available whe the Oracle driver is ruig i the Level 2 mode. Cocateated expressios The BAAN applicatio ca use cocateated expressios, which operate o a combied colum. Cocateated expressios that exist o combied colums are: select >= select > select <= select < select betwee ad For example, a BAAN SQL statemet ca iclude a where clause such as: WHERE comb >= {"tt", "adv", "000"} Here comb is a combied colum of say colums c1, c2, ad c3. This expressio selects the followig rages of rows: c1 = "tt" ad c2 = "adv" ad c3 >= "000" c1 = "tt" ad c2 > "adv" c1 > "tt" The Oracle driver ca let Oracle solve the WHERE clause usig three differet techiques: ested, iterative, ad filter. These techiques are itroduced because the Oracle cost-based optimizer is ot able to hadle these queries efficietly i all situatios (full table scas ad sort operatios ca be itroduced for these queries). 6-9

62 Database driver cofiguratio ad tuig Specifyig a differet techique will cause the Oracle optimizer to make differet decisios o how to execute a query (the optimizer provides some workarouds for typical optimizer behavior). However, the optimizer behavior ca chage i these differet Oracle versios, so each versio might require differet tuig. These subtle variatios make the ability to provide cosistet guidelies very difficult. You ca use the ORAPROF variable to detect log ruig or bad performig queries. The, you ca experimet with these differet techiques. ORAPROF is described i Appedix A. The followig describes the ested, iterative, ad filter techiques: The ested techique The three coditios are ORed to the followig expressio: c1 = "tt" ad c2 = "adv" ad c3 >= "000" OR c1 = "tt" ad c2 > "adv" OR c1 > "tt" This expressio ca be rewritte as follows: c1 > "tt" OR c1 = "tt" AND (c2 > "adv" OR c2 = "adv" AND (c3 >= "000")) The last expressio has a ested AND/OR coditio ad will therefore be referred to as the ested techique. The iterative techique Multiple SQL statemets are issued to resolve oe query. These statemets do ot cotai OR coditios, so they ca be hadled efficietly by the Oracle. The iterative techique ca oly be used for ubouded queries. The iterative techique uses the followig three coditios: c1 = "tt" ad c2 = "adv" ad c3 >= "000" c1 = "tt" ad c2 > "adv" c1 > "tt" First, a query with Step 1 is issued. If the query does ot retur a row, it cotiues with Step 2. If Step 2 does ot retur a row, the query cotiues with Step 3. I additio, if oe step has retured all rows, but more rows are required, the driver cotiues with the ext step. 6-10

63 Database driver cofiguratio ad tuig The filter techique This techique is related to the ested techique but has a differet approach. This techique iitially selects too may rows but the filters out those rows that do ot match the total WHERE-clause. Selectios are based o the first colum i a cocateated idex, ad rows with the NOT() operator are filtered out. The query is solved as follows: c1 >= "tt" AND NOT( c1 = "tt" AND (c2 < "adv" OR c2 = "adv" AND (c3 < "000") ) This solutios shows the NOT() expressio is like a iverted ested query: these rows are filtered out of the iitial set determied by the first coditio c1 >= "tt". Descedig jois The Oracle optimizer retais some of the wrog decisios i older Oracle versios about how to solve a joi with a descedig ORDER BY. The optimizer chooses to do a ascedig idex sca, while a descedig ca be doe, resultig i a SORT operatio. This problem ca be worked aroud by disablig the idex for solvig the WHERE-clause, so that it ca later be used for the ORDER BY. Refer to Appedix B for the actual values that ca be specified. Specifyig query tuig The query tuig ca be specified per table ad per idex i the Widows NT file %BSE%\LIB\ORA\ORA_STORAGE or the UNIX file $BSE/lib/ora/ora_storage. Refer to Appedix B for the actual values that ca be specified. Optimistic ad pessimistic referece checks To optimize cocurrecy, the BAAN IV Oracle database driver supports optimistic ad pessimistic referece checks. Whe iserts are performed i a child table, i lookup referece mode, the driver checks whether the referece exists i the paret table ad locks the refereced record to verify that aother user caot delete it withi the curret trasactio. This approach is called the pessimistic approach. 6-11

64 Database driver cofiguratio ad tuig This approach blocks a isert of aother user who is referecig the same paret row, thereby affectig the cocurrecy. To avoid this problem, you ca use there is also a approach where a row i the paret table that is ot locked is used depedig upo the choice of the user. This approach is called the optimistic approach. Because the record is ot locked, aother user ca still perform a isert operatio, which improves the cocurrecy. Eablig of this optio is cofigurable with the resource variable dbsiit. Lockig behavior Whe updatig a database table, a RDBMS must use a lockig mechaism to esure data itegrity. Oracle uses row-level lockig to lock the physical data, which meas that the smallest uit of data that ca be locked is the row. To esure data itegrity, the BAAN IV Oracle database driver uses Oracle s lockig mechaism. The database driver uses several lockig strategies. These lockig strategies iclude: Implicit ad explicit lockig Delayed lockig Statemet ad lock timeouts High level lock retries Implicit ad explicit lockig Whe the BAAN IV Oracle database driver performs a update, the update ca be performed with either implicit lockig or explicit lockig. Implicit lockig No SELECT FOR UPDATE is performed before the UPDATE or DELETE is executed. The rows are locked whe Oracle rus the update. The UPDATE ad DELETE statemets do ot have a NOWAIT optio, so if the resource is locked, the statemet ad the sessio it belogs to will wait util the lock is released or util a timeout occurs. If a timeout occurs, the cliet either retries the same operatio or rolls back the trasactio. If a INSERT statemet is executed with implicit lockig ad if the table to which the row is to be iserted is beig held with a exclusive lock, the INSERT will wait util the lock is released or util a timeout occurs. If a timeout occurs, the cliet either retries the same operatio or rolls back the trasactio. 6-12

65 Database driver cofiguratio ad tuig Explicit lockig A SELECT FOR UPDATE statemet is issued prior to the UPDATE or DELETE, which explicitly locks the ecessary rows. The SELECT FOR UPDATE ca be ru with the NOWAIT optio. With the NOWAIT optio, if the rows are locked by aother process, Oracle does ot wait for the lock to be released, but returs immediately with a error coditio. To use explicit lockig for a INSERT statemet, a LOCK TABLE IN ROW SHARE MODE ca be geerated to make sure that the isert will ot be blocked. The LOCK TABLE allows the NOWAIT optio. Wheever possible, the database driver requests that Oracle use implicit lockig. If implicit lockig is ot possible, the driver requests explicit lockig. The driver default behavior ca be chaged to use explicit lockig by settig a flag i the ora_iit resource. This resource is discussed i detail i Appedix A. Delayed lockig The database driver uses delayed lockig, which meas that before a update is executed, the driver checks each colum to determie whether the related colums have bee chaged. If the colums have ot chaged, the update is ot executed. This relatioship reduces both the workload o the RDBMS ad the etwork traffic betwee the database driver ad the RDBMS. Statemet ad lock timeouts This fuctioality is oly available i Level 2 mode. A SELECT FOR UPDATE statemet waits for a predetermied time period (timeout duratio) if a resource is locked by aother sessio. If a statemet times out, you ca ot determie whether it timed out because of a resource lock or for some other urelated reaso such as slow etwork throughput or poor respose from the database server. The timeout duratio is cofigurable. If the database server resides o a separate machie from the driver, or if server performace is ot optimal, you might eed to icrease the timeout duratio so that the database driver does ot give up before the server or etwork has had a opportuity to deliver the results from a request. Note that statemets that do ot take locks, or statemets that read through locks, ca also time out. The lock wait period for SELECT FOR UPDATE, INSERT, DELETE, UPDATE, ad LOCK TABLE statemets ca be specified usig the ORA_TIMEOUT eviromet variable or the ora_timeout resource variable. 6-13

66 Database driver cofiguratio ad tuig The followig table specifies the default ad miimum timeouts. Note that care should be take whe experimetig with these optios. Actio Default timeout Miimum timeout Select for update 0 (NOWAIT) 0 Isert Noe 1 Update Noe 1 Delete Noe 1 Lock table 0 (NOWAIT) 0 The timeouts ca be specified i the resource ora_timeout as follows: Ora_timeout:{[value], [value], [value], [value], [value]} Actio: select isert update delete lock table I this resource, all parameters are optioal, ad itegers ca be specified to idicate the timeout for the particular actio. If a parameter is ot specified, the default behavior for the actios is performed. The followig is a example of how to set the timeout parameters. ora_timeout:{0, 5, 10, 15, 0} High-level lock retries Whe a row lock caot be acquired because the row is already locked by aother trasactio, high-level lock retries are iitiated. I other words, the same actio is repeated after some delay period. The retry behavior ca be cofigured via the lock_retry resource variable. This variable cotais a comma-separated list of umbers of retries ad sleep periods i millisecods (ms). The followig is a example of a etry that ca be placed i the resource file. lock_retry:5*100,5*500 This example shows the default retry behavior: the actio is retried five times with a sleep period of 100 ms ad the five times with a sleep period of 500 ms. The lock retries ca also be disabled by icludig the followig etry i the resource file. lock_retry:0 6-14

67 7 Appedix A: Database driver resources ad eviromet variables This appedix lists all the database driver resources ad eviromet variables that ca be used as cofiguratio parameters to modify the behavior of the Oracle database driver. Some of these resources are used with the cliet ad others with the server. I this cotext, the cliet is the BAAN IV applicatio virtual machie ad the server is the BAAN IV Oracle database driver. If the BAAN IV applicatio virtual machie ad the database driver are ruig o differet machies, cliet resources must be set o the machie that rus the BAAN IV applicatio virtual machie ad server resources must be set o the machie that rus the database driver. Resources for both the cliet ad the server must be set o both machies. A descriptio of how to set the database driver resources ad eviromet variables ca be foud o page 3-4 This appedix provides the followig iformatio: Summary of Oracle resources ad eviromet variables Detailed descriptio of Oracle resources ad eviromet variables Usig SQL*Net or Net8 Summary of Oracle resources ad eviromet variables There are four types of resources ad eviromet variables that ca be used with the BAAN IV Oracle database driver: Cliet ad server resources used by all BAAN IV database drivers Cliet resources used by all BAAN IV database drivers Server resources used by all BAAN IV database drivers Resources used oly by the BAAN IV Oracle database driver Resources passed to the Oracle database server The followig five tables provide a summary of each of these types of resources ad eviromet variables. Detailed descriptios of each etry i the tables ca be foud o page

68 Appedix A: Database driver resources ad eviromet variables Cliet ad server resources used by all BAAN IV database drivers Resource ame Eviromet variable Descriptio rds_full RDS_FULL Sets maximum umber of rows trasferred i oe block tt_sql_trace TT_SQL_TRACE Allows viewig of SQL query iformatio Cliet resources used by all BAAN IV database drivers Resource ame Eviromet variable Descriptio bdb_debug BDB_DEBUG Sets debuggig lik betwee cliet ad server bdb_driver BDB_DRIVER Sets database specificatios bdb_max_servers_ schedule BDB_MAX_SERVERS_ SCHEDULE Defies the mechaism for closig idle server sessios ssts_set_rows SSTS_SET_ROWS Sets umber of rows read ahead (sigle table sigle row) USR_DBC_RES Specifies alterative resource file for cliet Server resources used by all BAAN IV database drivers Resource ame Eviromet variable Descriptio bdb_max_sessios BDB_MAX_ SESSIONS Defies umber of sessios per driver bdb_max_sessio_ schedule BDB_MAX_SESSION_ SCHEDULE Defies mechaism for closig idle driver sessios dbslog DBSLOG Allows driver profilig dbsiit Specifies optimistic or pessimistic referece checkig ad some MultiByte settigs. lock_retry LOCK_RETRY Defies the umber of lock retries ad the sleep period betwee retries USR_DBS_RES Specifies alterative resource file for server 7-2

69 Appedix A: Database driver resources ad eviromet variables Resources used oly by the BAAN IV Oracle database driver Resource ame Eviromet variable Descriptio max_free_cursors MAX_FREE_ CURSORS Limits umber of ope cursors per database coectio (Level 2) max_ope_cursors MAX_OPEN_ CURSORS Limits umber of ope cursors per database coectio (Level 1) max_sql_buffer MAX_SQL_BUFFER Allows adjustmet to size of iteral SQL buffers optimizer_goal OPTIMIZER_GOAL Allows Oracle optimizer approach to be altered ora_date ORA_DATE Modifies default date rage ora_iit ORA_INIT Defies several driver behaviors ora_level1 ORA_LEVEL1 Sets driver to ru i Level 1 mode ora_max_array fetch ORA_MAX_ARRAY_ FETCH Defies maximum umber of rows fetched (Level 2) ora_max_array isert ORA_MAX_ARRAY_ INSERT Defies maximum umber of rows iserted (Level 2) ORAPROF Allows profilig ORASTAT Allows statistics to be gathered ora_timeout ORA_TIMEOUT Sets timeout value os_authet_prefix OS_AUTHENT_ PREFIX Defies prefix for Oracle s operatig system autheticatio retaied_cursors RETAINED_CURSORS Defies umber of retaied cursors (Level 2) sql_trace SQL_TRACE Eables Oracle s trace facility 7-3

70 Appedix A: Database driver resources ad eviromet variables Resources passed to the Oracle database server Resource ame Eviromet variable Descriptio epc_disabled EPC_DISABLED Sets Oracle s EPC_DISABLED ls_lag NLS_LANG Sets Oracles NLS parameters ls_sort NLS_SORT The type of sort to use oracle_home ORACLE_HOME Sets Oracle s ORACLE_HOME oracle_sid ORACLE_SID Sets Oracle s ORACLE_SID two_task TWO_TASK Sets Oracle s TWO_TASK LOCAL Sets Oracle s LOCAL Detailed descriptio of Oracle resources ad eviromet variables This sectio provides detailed iformatio about the BAAN IV Oracle driver resources ad eviromet variables. The driver resources are divided ito two sectios: those that are geeric to all BAAN IV database drivers ad those that are specific to the BAAN IV Oracle driver. Each group of resources is listed i alphabetical order. 7-4

71 Appedix A: Database driver resources ad eviromet variables Geeric driver resources bdb_debug / BDB_DEBUG Driver resource Bdb_debug Eviromet variable BDB_DEBUG Cliet/Server resource Set for cliet oly Type Iteger (octal) Default 0 Descriptio This variable is used to geerate debuggig iformatio about the commuicatio betwee the cliet ad the database driver. Whe set, the cliet prits debuggig iformatio to stadard error (stderr). The followig categories of debuggig iformatio ca be specified: server types database actios delayed lock actios referece iformatio TSS ifo from $BSE/lib/tss_mbstore permissio iformatio Multiple categories ca be defied by addig the octal values. The value is compared bitwise to determie if a give category should be logged. bdb_driver / BDB_DRIVER Driver resource Bdb_driver Eviromet variable BDB_DRIVER Cliet/Server resource Set for cliet oly Type Strig Default Noe Descriptio This variable is used to set a database specificatio, usually foud i the file tabledef6.1. Whe this variable is set, all tables will be accessed usig the database driver specified ad tabledef6.1 will ot be read. The driver specified must be defied i the file $BSE/lib/ipc_ifo. 7-5

72 Appedix A: Database driver resources ad eviromet variables bdb_max_server_schedule / BDB_MAX_SERVER_SCHEDULE Driver resource bdb_max_server_schedule Eviromet variable BDB_MAX_SERVER_SCHEDULE Cliet/Server resource Set for cliet oly Type Iteger Default 3 Descriptio This variable defies the mechaism used to termiate idle database drivers with the applicatio virtual machie. Wheever the database drier has o more ope sessios, it ca be termiated by usig the applicatio virtual machie. Closig a idle database driver is doe after a umber of schedule ticks. A schedule tick is geerated wheever a sessio is eded. At this poit, all idle database drivers will have a schedule couter icremeted. Whe the value of the schedule couter reaches the value of bdb_max_server_shedule, the database driver is termiated. bdb_max_sessios / BDB_MAX_SESSIONS Driver resource bdb_max_sessios Eviromet variable BDB_MAX_SESSIONS Cliet/Server resource Set for server oly Type Iteger Default 0 (ulimited) Descriptio This variable defies the umber of sessios per driver. If ay driver has reached this threshold, a ew driver will be started to hadle ay ew sessios. 7-6

73 Appedix A: Database driver resources ad eviromet variables bdb_max_sessio_schedule / BDB_MAX_SESSION_SCHEDULE Driver resource bdb_max_sessio_schedule Eviromet variable BDB_MAX_SESSION_SCHEDULE Cliet/Server resource Set for server oly Type Iteger Default 3 Descriptio This variable defies the mechaism for closig idle sessios i the driver. Wheever the cliet process has o more refereces (cursors or queries) to the sessio, it ca be closed by the cliet. Closig a idle sessio is doe after a umber of schedule ticks. A schedule tick is geerated wheever a BAAN IV sessio is eded. At this poit, all idle sessios will have a schedule couter icremeted. Whe the value of the schedule couter reaches the value of bdb_max_sessio_schedule, the sessio is closed The default for bdb_max_sessio_schedule is three. Settig bdb_max_sessio_schedule to oe would result i fewer coectios from the driver to the RDBMS. This is because wheever a BAAN IV sessio is fiished, the correspodig RDBMS sessio (logo) is closed (logoff). 7-7

74 Appedix A: Database driver resources ad eviromet variables dbsiit Driver resource dbsiit Eviromet variable Cliet/Server resource Type Set for server oly Iteger (octal) Default 0 Descriptio This variable allows flags to be set to specify the optimizatios to be used. I BAAN IV the (octal) flags ad 020 are recogized. Other values are reserved ad should ot be used. I both Level 1 mode ad Level 2 mode, a flag of specifies that a optimistic approach should be used whe checkig for refereces i paret tables. The refereced row i the paret table is ot locked, which improves the overall cocurrecy. If this flag is ot set, optimistic referece checkig is ot used. Optimistic ad pessimistic referece checks are described o page The flags (level-1 mode oly) ad are used i MultiByte istallatios. These flags might be set durig istallatio. Do ot chage the value of these flags after istallatio, uless you completely recofigure the database after the chage. I Level 2 mode, a flag of allows the driver to be less strict whe selectig the iterative techique for query tuig. The driver applies the iterative method if the followig coditios are met: The query has a ORDER BY clause There is a idex o oe of the query tables so that the idex colums match the colums of the order by clause. The colums i the combied colum match with the colums of this idex. If the operator is > or >= the the idex order must be ascedig. If the operator is < or <= the the idex order must be descedig. The where clause may cotai a OR coditio. This OR coditio may ot be i the first estig level of the where clause. There is exactly oe expressio that exists per combied colum. Not all of these coditios are ecessary for the use of iteratio. Nevertheless, they must be met if the driver is to use iteratio. With the driver resource dbsiit, you ca weake or drop these uecessary coditios. 7-8

75 Appedix A: Database driver resources ad eviromet variables Other values are reserved for future use ad should ot be used. Multiple categories ca be defied by addig the octal values. The value is compared bitwise to determie if a give category should be logged. dbslog / DBSLOG Driver resource Dbslog Eviromet variable DBSLOG Cliet/Server resource Set for server oly Type Iteger (octal) Default 0 Descriptio This variable provides detailed debuggig iformatio about the olie processig of the driver. The iformatio is logged i the file dbs.log i the driver s curret directory. The followig debuggig categories ca be specified: Data Dictioary iformatio of tables withi the driver Query ifo (SQL Level 1) Query pla ifo (SQL Level 2) Row actio iformatio Table actio iformatio Trasactio actio iformatio DBMS iput/output data (SQL Level 2) Admiistratio file ifo (SQL drivers) DBMS SQL statemets Geeral debug statemets Query processig ifo (for tt_sql_trace ifo) Data bufferig ifo (commuicatio) Lock retries logged (icludes sessio ame) Logs successful locks ad logest lock duratio i a trasactio Multiple categories ca be defied by addig the octal values. The value is compared bitwise to determie if a give category should be logged. 7-9

76 Appedix A: Database driver resources ad eviromet variables lock_retry / LOCK_RETRY Driver resource lock_retry Eviromet variable LOCK_RETRY Cliet/Server resource Set for server oly Type Strig Default 5*100,5*500 Descriptio This variable defies the high-level lockig behavior that is used whe a actio is locked. It defies the umber of retries ad the legth of the sleep periods betwee retries i millisecods (MS). For example, for the default settig, the actio is retried five times with a sleep period after each try of 100 MS. The actio is the retried five more times with a sleep period of 500 MS after each retry. rds_full / RDS_FULL Driver resource rds_full Eviromet variable RDS_FULL Cliet/Server resource Set for both cliet ad server Type Iteger Default 5 Descriptio This variable defies the maximum umber of rows trasferred betwee the BAAN IV applicatio virtual machie ad the driver as oe block. Multiple blocks (ad thus etwork roud trips) are trasferred if more rows are requested. This variable should be set to the same value for both cliet ad server. 7-10

77 Appedix A: Database driver resources ad eviromet variables ssts_set_rows / SSTS_SET_ROWS Driver resource ssts_set_rows Eviromet variable SSTS_SET_ROWS Cliet/Server resource Set for cliet oly Type Iteger Default 3 Descriptio This variable defies the umber of rows to be read ahead for a fetch request from the cliet. The default is three rows, which meas that for oe fetch request, three rows will be read. For the followig two fetch requests, rows will be take from the cliet row buffer or fetched from the database without ruig the query agai. tt_sql_trace / TT_SQL_TRACE Driver resource tt_sql_trace Eviromet variable TT_SQL_TRACE Cliet/Server resource Set for both cliet ad server Type Iteger (octal) Default 0 Descriptio This variable is itroduced to view the BAAN IV SQL query iformatio beig hadled i cliet ad server. Whe this variable is set, the cliet prits debug iformatio to the display; the server prits iformatio oly if the dbslog variable allows it. The iformatio cotais differet categories which ca be eabled separately, such as evaluatio trees, SQL statemets, bid variables, timigs, ad commuicatio debuggig. The possible values of the TT_SQL_TRACE variable ad their descriptios are show below: (c) Show queries with their QID (c) Show query executio times (c) Show calls of iteral SQL fuctios (c+s) Show query executio tree (s) Show query evaluatio pla (s) Show FullTableSca (c+s) Show qp tokes 7-11

78 Appedix A: Database driver resources ad eviromet variables USR_DBC_RES Driver resource Eviromet variable Cliet/Server resource Type Default Descriptio USR_DBC_RES Set for cliet oly Strig Noe This variable cotais the file specificatio of a alterative resource file for the cliet. The file specificatio is based o the BSE directory ad is withi double quotes. Whe set, ay resources i the alterative resource file override the same cliet resources set i db_resource. USR_DBS_RES Driver resource Eviromet variable Cliet/Server resource Type Default Descriptio USR_DBS_RES Set for server oly Strig Noe This variable cotais the file specificatio of a alterative resource file for the cliet. The file specificatio is based o the BSE directory ad is withi double quotes. Whe set, ay resources i the alterative resource file override the same server resources set i db_resource. 7-12

79 Appedix A: Database driver resources ad eviromet variables Oracle driver specific resources max_free_cursors / MAX_FREE_CURSORS Driver resource max_free_cursors Eviromet variable MAX_FREE_CURSORS Cliet/Server resource Set for server oly Type Iteger Default 32 Descriptio (Level 2 oly). This resource sets the umber of Oracle cursors that are kept by the driver for reuse. See page 6-1 for more iformatio o Cursor maagemet. max_ope_cursors / MAX_OPEN_CURSORS Driver resource max_ope_cursors Eviromet variable MAX_OPEN_CURSORS Cliet/Server resource Set for server oly Type Iteger Default 245 Descriptio (Level 1 oly). By settig this resource, the maximum umber of used Oracle cursors ca be limited. If more BAAN IV cursors are eeded, the least recetly used Oracle cursors will be reused. This resource ca be used to limit the memory usage o cost of performace. max_sql_buffer / MAX_SQL_BUFFER Driver resource max_sql_buffer Eviromet variable MAX_SQL_BUFFER Cliet/Server resource Set for server oly Type Iteger Default Level 1 8 Level 2 16 Descriptio This resource sets the maximum size (i KB) of the iteral SQL buffers. If the value set is less tha the default value, the default value will be used. 7-13

80 Appedix A: Database driver resources ad eviromet variables optimizer_goal / OPTIMIZER_GOAL Driver resource optimizer_goal Eviromet variable OPTIMIZER_GOAL Cliet/Server resource Set for server oly Type Strig Default Not set Descriptio This resource allows the approach of the Oracle optimizer to be altered. For a descriptio of the supported values, see the alter sessio commad i the Oracle Server SQL referece documet. Note that most BAAN IV queries use hits that override the default approach set by this resource. The default approach is to use the cost based optimizer. ora_date / ORA_DATE Driver resource ora_date Eviromet variable ORA_DATE Cliet/Server resource Set for server oly Type Iteger Default 0 Descriptio This resource idicates the valid date rage used by the Oracle driver. If set to 1, the rage is from 01 Ja to 31 Dec BC. The empty date is represeted by 01 Ja BC. If set to 0 (default), the rage will be 01 Ja to 31 Dec The empty date will be represeted by 01 Ja

81 Appedix A: Database driver resources ad eviromet variables ora_iit / ORA_INIT Driver resource Eviromet variable Cliet/Server resource Type Default Descriptio ora_iit ORA_INIT Set for server oly Iteger (octal) Level (specifies Level 1 driver) Level (specifies fixed character type ad explicit iserts) This resource defies several driver behaviors. Multiple behaviors ca be selected by addig the octal values Use V6-style object security (ot usig roles). This optio is oly available for backward compatibility ad should ot be used Use fixed character type (compulsory for Level 2) Explicitly cacel uecessary SQL statemets. This releases resources i Oracle server but degrades etwork performace. For this reaso, it is preferable ot to set this flag. This flag is oly used by the Oracle7 driver. The Oracle8 driver igores it Explicitly lock for iserts (actio: LOCK TABLE) Explicitly lock for updates (actio: SELECT FOR UPDATE ) Explicitly lock for deletes (actio: SELECT FOR UPDATE) Eable array iterface Level 1 mode 7-15

82 Appedix A: Database driver resources ad eviromet variables ora_level1 / ORA_LEVEL1 Driver resource ora_level1 Eviromet variable ORA_LEVEL1 Cliet/Server resource Set for server oly Type Boolea Default Not set Descriptio Whe this resource is set to 1 the Oracle driver will ru i Level 1 mode. This resource will globally affect the mode of all drivers that rus i the BSE eviromet. Note that if the resource ora_iit has bee set, the value of ora_level1 will be igored. ORA_MAX_ARRAY_FETCH Driver resource ora_max_array_fetch Eviromet variable ORA_MAX_ARRAY_FETCH Cliet/Server resource Set for server oly Type Iteger Default 5 Descriptio (Level 2 oly). If the array iterface is eabled (see ora_iit), this resource defies the maximum umber of rows fetched at oce from the Oracle RDBMS. 7-16

83 Appedix A: Database driver resources ad eviromet variables ORA_MAX_ARRAY_INSERT Driver resource ora_max_array_isert Eviromet variable ORA_MAX_ARRAY_INSERT Cliet/Server resource Set for server oly Type Iteger Default 5 Descriptio (Level 2 oly). If the array iterface is eabled (see ora_iit), this eviromet variable defies the maximum umber of rows iserted at oce i Oracle. Note that this optio caot always be eabled. For example, if refereces eed to be checked or updated or the applicatio requires immediate respose from the driver as to whether the isert is successful, o array isert ca be doe. ORAPROF Driver resource Eviromet variable Cliet/Server resource Type Default Descriptio ORAPROF Set for server oly Floatig poit Not set I Level 1 mode, whe a value is specified i this variable, ay statemet that takes more tha the umber of secods specified will be logged. The maximum precisio that ca be specified is 0.01 secods. This variable is used to determie which table actios are the most time cosumig. I Level 2 mode, whe a value is specified i this variable, each phase i the SQL query processig that exceeds the umber of secods specified will be logged. The maximum precisio that ca be specified is 0.01 secods. 7-17

84 Appedix A: Database driver resources ad eviromet variables ORASTAT Driver resource Eviromet variable Cliet/Server resource Type Default Descriptio ORASTAT Set for server oly Iteger Not set This variable allows database driver statistics to be reported. If it is set to a value greater tha 0, statistics are logged every secods while the driver is active. If it is set to 0, a statistics report is geerated whe the driver termiates. ora_timeout / ORA_TIMEOUT Driver resource ora_timeout Eviromet variable ORA_TIMEOUT Cliet/Server resource Set for server oly Type Strig Default Noe Descriptio This resource specifies the lock wait period for specific actios. See page 6-12 for more iformatio o lockig behavior ad settig timeouts. os_authet_prefix / OS_AUTHENT_PREFIX Driver resource os_authet_prefix Eviromet variable OS_AUTHENT_PREFIX Cliet/Server resource Set for server oly Type Strig Default ops$ Descriptio With this variable the prefix for Oracle's Operatig System Autheticatio ca be defied; it is also defied i the Oracle iit<sid>.ora parameter file. 7-18

85 Appedix A: Database driver resources ad eviromet variables retaied_crusors / RETAINED_CURSORS Driver resource retaied_crusors Eviromet variable RETAINED_CURSORS Cliet/Server resource Set for server oly Type Iteger Default 20 Descriptio (Level 2 oly) This resource sets the umber of iactive cursors that should be retaied i the list for reuse. See Page 6-1 for more iformatio o cursor maagemet. sql_trace / SQL_TRACE Driver resource Eviromet variable Cliet/Server resource Type Default Descriptio sql_trace SQL_TRACE Set for server oly Strig Not set This resource allows the Oracle trace facility to be eabled. To eable the facility, set the value to true. Resources passed to the Oracle database server epc_disabled / EPC_DISABLED Driver resource Eviromet variable Cliet/Server resource Type Default Descriptio epc_disabled EPC_DISABLED Set for server oly Strig TRUE Sets Oracle s EPC_DISABLED eviromet variable. Whe this resource is set to TRUE, the collectio of trace data used by Oracle Trace will be disabled. Users that are usig Oracle Trace should set this resource to FALSE to eable the data collectio. 7-19

86 Appedix A: Database driver resources ad eviromet variables ls_lag / NLS_LANG Driver resource Eviromet variable Cliet/Server resource Type Default Descriptio ls_lag NLS_LANG Set for server oly Strig Not set (set i db_resource durig istallatio) The value of this resource must be set to the same value as the Oracle istace the driver is coectig to. Check the Oracle table v$ls_parameters for the appropriate values for your database istace. The followig is a example of how to use this parameter: ls_lag:germa_germay.we8iso8859p1 ls_sort / NLS_SORT Driver resource Eviromet variable Cliet/Server resource Type Default Descriptio ls_sort NLS_SORT Set for server oly Strig Not set (set i db_resource durig istallatio) If the database istace is created with ls settigs that imply a sortig other tha biary, you must specify this resource. The Oracle RDBMS does ot hadle ls durig the evaluatio of the WHERE clause of queries, so uexpected results will occur if ls_sort is ot set to biary. oracle_home / ORACLE_HOME Driver resource oracle_home Eviromet variable ORACLE_HOME Cliet/Server resource Set for server oly Type Strig Default Not set (ormally set i the tabledef6.1 file) Descriptio Sets Oracle s ORACLE_HOME eviromet variable. For more iformatio see sectio Usig SQL*Net or Net

87 Appedix A: Database driver resources ad eviromet variables oracle_sid / ORACLE_SID Driver resource oracle_home Eviromet variable ORACLE_HOME Cliet/Server resource Set for server oly Type Strig Default Not set (ormally set i the tabledef6.1 file) Descriptio Sets Oracle s ORACLE_SID eviromet variable. The value of this resource is igored whe TWO_TASK or LOCAL eviromet variable is specified. For more iformatio see sectio Usig SQL*Net or Net8. two_task / TWO_TASK Driver resource two_task Eviromet variable TWO_TASK Cliet/Server resource Set for server oly Type Strig Default Not set Descriptio (UNIX oly) Sets Oracle's TWO_TASK eviromet variable. Whe this resource is used, the ORACLE_SID eviromet variable is igored. For more iformatio see the sectio Usig SQL*Net or Net8. LOCAL Driver resource Eviromet variable LOCAL Cliet/Server resource Set for server oly Type Strig Default Not set Descriptio (Widows NT oly). Sets Oracle s LOCAL eviromet variable. Whe this resource is used, the ORACLE_SID eviromet variable is igored. For more iformatio see the sectio Usig SQL*Net or Net

88 Appedix A: Database driver resources ad eviromet variables Usig SQL*Net or Net8 Oracle has a etworkig feature desiged to support database access. This feature is called SQL*Net for Oracle7 ad Net8 for Oracle8. This feature ca be eabled through Oracle s TWO_TASK eviromet variable o UNIX or through the LOCAL eviromet variable o Widows NT. With either of these eviromet variables, you ca specify a coect strig that Oracle will use to coect to a remote database o a differet host. For example, i a UNIX eviromet, if TWO_TASK is set as follows: TWO_TASK= baadb Oracle will try to resolve the coect strig from the file tsames.ora. This file cotais a coect descriptio of baadb. It is recommeded that you cofigure SQL*Net or Net8 with the Oracle Eterprise Maager tool. Before settig either of the eviromet variables TWO_TASK or LOCAL, be sure that the remote coectio is set up properly. To test the Oracle etworkig coectio, you ca use the Oracle product sqlplus. Please refer to the Oracle documetatio o SQL*Net ad Net8 for a detailed descriptio of the formats, coect strigs, ad protocols 7-22

89 8 Appedix B: Storage file format ad cofiguratio optios The storage file provides a way to specify the distributio of table ad idex data i differet tablespaces. The database driver uses storage parameters wheever a DDL statemet such as a create table or create idex statemet is executed. The followig is a example of a etry i the storage file: TABLESPACE baa PCTFREE 5 I this example, the database driver adds the <tablespace> clause to the create statemet durig idex or table creatio. If the segmet for a table or idex is ot specified, the table ad idex data is created i the default tablespace. If idex data must be separated, it is ecessary to specify a tablespace. A storage file is defied for each database driver. The storage file for the BAAN IV Oracle database driver is called ora_storage ad is located i the Widows NT directory %BSE%\lib\ora or the UNIX directory $BSE/lib/ora. The etries i the ora_storage file cotais fields that are the same for the storage files for all database drivers ad storage parameters that are specific to the Oracle database driver. This appedix describes the fields that make up the etries i the ora_storage file. Storage file format The storage file cosists of oe or more etries, each cosistig of several fields separated by colos. The format of a etry i the storage file is as follows: <table/module specificatio>:<compay umber>:<object type>: <private group>:<table/idex optimizatio>:<refresh time>:<storage parameters> The followig describes each of the fields i a etry i the storage file. 8-1

90 Appedix B: Storage file format ad cofiguratio optios Storage file field descriptios table/module specificatio Descriptio This field cosists of a list of comma-separated table ames or a module ame to which the etry applies. A asterisk (*) idicates all tables. Example ttadv000,ttadv999 two specific tables ttadv all tables i module ad adv package tt tt all tables i package tt * all tables compay umber Descriptio This field cosists of a list of compay umbers to which the etry applies. A asterisk (*) idicates all compay umbers. Example 000,999 compaies 000 ad 999 * all compaies object type Descriptio This field cosists of a list of object (table or idex) idetificatios to which the etry applies. The followig optios ca be specified: T table oly I all idexes I <idex umber> oly specified idex * both tables ad idexes Example I1,I2 oly idex 1 ad 2 T oly for table private group Descriptio This field idetifies the ower of the table. Either private or group must be specified. 8-2

91 Appedix B: Storage file format ad cofiguratio optios table/idex optimizatio Descriptio Specific flags related to idexes ad tables ca be specified. Whe specified o a T object etry, it defies the default for all idexes. Octal values ca be used to set the flags for a specific idex or table. The values used deped o whether Level 1 or Level 2 mode is used. For Level 1 mode: 00 o optimizatio 01 optimizatio usig oe colum (sigle hash) 02 optimizatio usig two colums (eeded for some obsolete Oracle versios) illegal, treated as 01 For Level 2 mode: 00 use default iitial techique (filter) 01 igored, treated as Igored, treated as Iitial techique is ested 04 Iitial techique is iterative 05 Iitial techique is filter 06 Igored, treated as Igored, treated as 00 The followig flags ca be ORed to this value: Level Geerate statistics whe creatig the table Level Geerate statistics whe creatig the table 0020 Disable idex i WHERE clause for descedig jois so it ca be used for ORDER BY 0040 (ot used) 0100 Disable INDEX hit for ascedig jois 0200 Geerate INDEX_DESC hit for descedig jois 0400 (reserved) The followig values for the idex optimizatio field are recommeded: Level for all curretly supported Oracle versios Level for Oracle server versios less tha for Oracle server versios ad later. Example 0214 recommeded value for Level 2 mode 8-3

92 Appedix B: Storage file format ad cofiguratio optios refresh time Descriptio Example 5 (Level 1 mode oly) This specifies the amout of time (i secods) that a retrieved dataset is cosidered valid. No fetch from the database will be made if the same request is made withi this time. storage parameters Descriptio These are defied by the specific database driver implemetatio ad ofte map to table ad idex creatio optios available i the host RDBMS. There are several driver cofiguratio optios specific to the Oracle driver which allow the user to customize table ad idex attributes at create time. These storage optios are used to effect specified tables. Refer to the Oracle SQL Laguage Referece Maual for a complete descriptio of the parameters that ca be added to the CREATE TABLE ad CREATE INDEX commads Example TABLESPACE BAAN PCTFREE 5 INITRANS 3 NOTE If a create table or create idex is performed, the storage file is scaed from the begiig. The first etry that matches the table or idex is take, so the order i which the etries are specified is importat. For example: ttadv999,ttadv000:000:t:private:011:5:tablespace myspace ttadv999,ttadv000:000:i::011:5:tablespace myspace tdsfc:505::group:011:5: *:*:T:group:011:5:TABLESPACE B4c_DAT *:*:I:group:011::TABLESPACE B4c_IDX I the previous example, the tables ttadv999 ad ttadv000 of compay 000 are created as private tables i tablespace myspace. The associated idexes will also be created i tablespace myspace. All users creatig tables i module tdsfc will create tables ad idexes i the default tablespace. Users create tables ad idexes i the tablespaces B4c_DAT ad B4c_IDX respectively. NOTE If the tablespace for a table or idex is ot specified, the table ad idex data is created i the default tablespace. If you wat to separate the idex data, you must specify a tablespace. 8-4

BaanERP. BaanERP Windows Client Installation Guide

BaanERP. BaanERP Windows Client Installation Guide BaaERP A publicatio of: Baa Developmet B.V. P.O.Box 143 3770 AC Bareveld The Netherlads Prited i the Netherlads Baa Developmet B.V. 1999. All rights reserved. The iformatio i this documet is subject to

More information

Baan Service Master Data Management

Baan Service Master Data Management Baa Service Master Data Maagemet Module Procedure UP069A US Documetiformatio Documet Documet code : UP069A US Documet group : User Documetatio Documet title : Master Data Maagemet Applicatio/Package :

More information

Configuring Additional Active Directory Server Roles

Configuring Additional Active Directory Server Roles Maual Upgradig your MCSE o Server 2003 to Server 2008 (70-649) 1-800-418-6789 Cofigurig Additioal Active Directory Server Roles Active Directory Lightweight Directory Services Backgroud ad Cofiguratio

More information

ODBC. Getting Started With Sage Timberline Office ODBC

ODBC. Getting Started With Sage Timberline Office ODBC ODBC Gettig Started With Sage Timberlie Office ODBC NOTICE This documet ad the Sage Timberlie Office software may be used oly i accordace with the accompayig Sage Timberlie Office Ed User Licese Agreemet.

More information

Engineering Data Management

Engineering Data Management BaaERP 5.0c Maufacturig Egieerig Data Maagemet Module Procedure UP128A US Documetiformatio Documet Documet code : UP128A US Documet group : User Documetatio Documet title : Egieerig Data Maagemet Applicatio/Package

More information

Authentication - Access Control Default Security Active Directory Trusted Authentication Guest User or Anonymous (un-authenticated) Logging Out

Authentication - Access Control Default Security Active Directory Trusted Authentication Guest User or Anonymous (un-authenticated) Logging Out FME Server Security Table of Cotets FME Server Autheticatio - Access Cotrol Default Security Active Directory Trusted Autheticatio Guest User or Aoymous (u-autheticated) Loggig Out Authorizatio - Roles

More information

(VCP-310) 1-800-418-6789

(VCP-310) 1-800-418-6789 Maual VMware Lesso 1: Uderstadig the VMware Product Lie I this lesso, you will first lear what virtualizatio is. Next, you ll explore the products offered by VMware that provide virtualizatio services.

More information

Domain 1: Configuring Domain Name System (DNS) for Active Directory

Domain 1: Configuring Domain Name System (DNS) for Active Directory Maual Widows Domai 1: Cofigurig Domai Name System (DNS) for Active Directory Cofigure zoes I Domai Name System (DNS), a DNS amespace ca be divided ito zoes. The zoes store ame iformatio about oe or more

More information

BaanERP 5.0c. EDI User Guide

BaanERP 5.0c. EDI User Guide BaaERP 5.0c A publicatio of: Baa Developmet B.V. P.O.Box 143 3770 AC Bareveld The Netherlads Prited i the Netherlads Baa Developmet B.V. 1999. All rights reserved. The iformatio i this documet is subject

More information

Domain 1: Identifying Cause of and Resolving Desktop Application Issues Identifying and Resolving New Software Installation Issues

Domain 1: Identifying Cause of and Resolving Desktop Application Issues Identifying and Resolving New Software Installation Issues Maual Widows 7 Eterprise Desktop Support Techicia (70-685) 1-800-418-6789 Domai 1: Idetifyig Cause of ad Resolvig Desktop Applicatio Issues Idetifyig ad Resolvig New Software Istallatio Issues This sectio

More information

Domain 1: Designing a SQL Server Instance and a Database Solution

Domain 1: Designing a SQL Server Instance and a Database Solution Maual SQL Server 2008 Desig, Optimize ad Maitai (70-450) 1-800-418-6789 Domai 1: Desigig a SQL Server Istace ad a Database Solutio Desigig for CPU, Memory ad Storage Capacity Requiremets Whe desigig a

More information

*The most important feature of MRP as compared with ordinary inventory control analysis is its time phasing feature.

*The most important feature of MRP as compared with ordinary inventory control analysis is its time phasing feature. Itegrated Productio ad Ivetory Cotrol System MRP ad MRP II Framework of Maufacturig System Ivetory cotrol, productio schedulig, capacity plaig ad fiacial ad busiess decisios i a productio system are iterrelated.

More information

In nite Sequences. Dr. Philippe B. Laval Kennesaw State University. October 9, 2008

In nite Sequences. Dr. Philippe B. Laval Kennesaw State University. October 9, 2008 I ite Sequeces Dr. Philippe B. Laval Keesaw State Uiversity October 9, 2008 Abstract This had out is a itroductio to i ite sequeces. mai de itios ad presets some elemetary results. It gives the I ite Sequeces

More information

E-Plex Enterprise Access Control System

E-Plex Enterprise Access Control System Eterprise Access Cotrol System Egieered for Flexibility Modular Solutio The Eterprise Access Cotrol System is a modular solutio for maagig access poits. Employig a variety of hardware optios, system maagemet

More information

BEA elink Adapter for Kenan Arbor/BP. User Guide

BEA elink Adapter for Kenan Arbor/BP. User Guide BEA elik Adapter for Kea Arbor/BP User Guide BEA elik Adapter for Kea Arbor/BP Versio 1.1 Documet Editio 1.1 April 2000 Copyright Copyright 2000 BEA Systems, Ic. All Rights Reserved. Restricted Rights

More information

Domain 1 - Describe Cisco VoIP Implementations

Domain 1 - Describe Cisco VoIP Implementations Maual ONT (642-8) 1-800-418-6789 Domai 1 - Describe Cisco VoIP Implemetatios Advatages of VoIP Over Traditioal Switches Voice over IP etworks have may advatages over traditioal circuit switched voice etworks.

More information

Ethernet Option Board

Ethernet Option Board Etheret Optio Board Assembly ad Iitializatio Guide for Addig Etheret Commuicatios to a ADP etime Timeclock Documet Part Number: 470552-00 Documet Revisio: B The iformatio i this documet is subject to chage

More information

SQL Server 2008 Implementation and Maintenance (70-432) LearnSmart Exam Manual

SQL Server 2008 Implementation and Maintenance (70-432) LearnSmart Exam Manual Maual SQL Server 2008 Implemetatio ad Maiteace (70-432) 1-800-418-6789 SQL Server 2008 Implemetatio ad Maiteace (70-432) LearSmart Maual Copyright 2011 by PrepLogic, LLC. Product ID: 012335 Productio Date:

More information

CS100: Introduction to Computer Science

CS100: Introduction to Computer Science Review: History of Computers CS100: Itroductio to Computer Sciece Maiframes Miicomputers Lecture 2: Data Storage -- Bits, their storage ad mai memory Persoal Computers & Workstatios Review: The Role of

More information

L5352 Ethernet Communications Interface

L5352 Ethernet Communications Interface L5352 Etheret Commuicatios Iterface Techical Maual HA470898 Issue 2 Copyright SSD Drives Ic 2005 All rights strictly reserved. No part of this documet may be stored i a retrieval system, or trasmitted

More information

Baan Finance Accounts Payable

Baan Finance Accounts Payable Baa Fiace Accouts Payable Module Procedure UP035A US Documetiformatio Documet Documet code : UP035A US Documet group : User Documetatio Documet title : Accouts Payable Applicatio/Package : Baa Fiace Editio

More information

QUADRO tech. FSA Migrator 2.6. File Server Migrations - Made Easy

QUADRO tech. FSA Migrator 2.6. File Server Migrations - Made Easy QUADRO tech FSA Migrator 2.6 File Server Migratios - Made Easy FSA Migrator Cosolidate your archived ad o-archived File Server data - with ease! May orgaisatios struggle with the cotiuous growth of their

More information

Serial ATA PCI Host Adapter AEC-6290/6295

Serial ATA PCI Host Adapter AEC-6290/6295 Serial ATA PCI Host Adapter AEC-6290/6295 User s Maual Versio:1.0 Copyright 2003 ACARD Techology Corp. Release: April 2003 Copyright ad Trademarks The iformatio of the product i this maual is subject to

More information

Open M/SQL Developer Guide

Open M/SQL Developer Guide Ope M/SQL Developer Guide Versio: Ope M/SQL F.6, F.7 Revisio Date: April 25, 1996 Prit History Creatio Date: July, 1992 Revisio Dates: March, 1993 September, 1995 Ope M/SQL Developer Guide Copyright IterSystems

More information

iprox sensors iprox inductive sensors iprox programming tools ProxView programming software iprox the world s most versatile proximity sensor

iprox sensors iprox inductive sensors iprox programming tools ProxView programming software iprox the world s most versatile proximity sensor iprox sesors iprox iductive sesors iprox programmig tools ProxView programmig software iprox the world s most versatile proximity sesor The world s most versatile proximity sesor Eato s iproxe is syoymous

More information

Security Functions and Purposes of Network Devices and Technologies (SY0-301) 1-800-418-6789. Firewalls. Audiobooks

Security Functions and Purposes of Network Devices and Technologies (SY0-301) 1-800-418-6789. Firewalls. Audiobooks Maual Security+ Domai 1 Network Security Every etwork is uique, ad architecturally defied physically by its equipmet ad coectios, ad logically through the applicatios, services, ad idustries it serves.

More information

CCH Accountants Starter Pack

CCH Accountants Starter Pack CCH Accoutats Starter Pack We may be a bit smaller, but fudametally we re o differet to ay other accoutig practice. Util ow, smaller firms have faced a stark choice: Buy cheaply, kowig that the practice

More information

Desktop Management. Desktop Management Tools

Desktop Management. Desktop Management Tools Desktop Maagemet 9 Desktop Maagemet Tools Mac OS X icludes three desktop maagemet tools that you might fid helpful to work more efficietly ad productively: u Stacks puts expadable folders i the Dock. Clickig

More information

Modified Line Search Method for Global Optimization

Modified Line Search Method for Global Optimization Modified Lie Search Method for Global Optimizatio Cria Grosa ad Ajith Abraham Ceter of Excellece for Quatifiable Quality of Service Norwegia Uiversity of Sciece ad Techology Trodheim, Norway {cria, ajith}@q2s.tu.o

More information

Infor Enterprise Server. Technical Reference Guide for SQL Server Database Driver

Infor Enterprise Server. Technical Reference Guide for SQL Server Database Driver Infor Enterprise Server Technical Reference Guide for SQL Server Database Driver Copyright 2008 Infor All rights reserved. The word and design marks set forth herein are trademarks and/or registered trademarks

More information

PENSION ANNUITY. Policy Conditions Document reference: PPAS1(7) This is an important document. Please keep it in a safe place.

PENSION ANNUITY. Policy Conditions Document reference: PPAS1(7) This is an important document. Please keep it in a safe place. PENSION ANNUITY Policy Coditios Documet referece: PPAS1(7) This is a importat documet. Please keep it i a safe place. Pesio Auity Policy Coditios Welcome to LV=, ad thak you for choosig our Pesio Auity.

More information

Equalizer Installation and Administration Guide

Equalizer Installation and Administration Guide Equalizer Istallatio ad Admiistratio Guide Versio 7.2.3 Jauary 2007 Coyote Poit Systems, Ic. 675 North First Street Suite 975 Sa Jose, Califoria 95112 Copyright 1997-2007 Coyote Poit Systems, Ic. All Rights

More information

Message Exchange in the Utility Market Using SAP for Utilities. Point of View by Marc Metz and Maarten Vriesema

Message Exchange in the Utility Market Using SAP for Utilities. Point of View by Marc Metz and Maarten Vriesema Eergy, Utilities ad Chemicals the way we see it Message Exchage i the Utility Market Usig SAP for Utilities Poit of View by Marc Metz ad Maarte Vriesema Itroductio Liberalisatio of utility markets has

More information

Hypergeometric Distributions

Hypergeometric Distributions 7.4 Hypergeometric Distributios Whe choosig the startig lie-up for a game, a coach obviously has to choose a differet player for each positio. Similarly, whe a uio elects delegates for a covetio or you

More information

.04. This means $1000 is multiplied by 1.02 five times, once for each of the remaining sixmonth

.04. This means $1000 is multiplied by 1.02 five times, once for each of the remaining sixmonth Questio 1: What is a ordiary auity? Let s look at a ordiary auity that is certai ad simple. By this, we mea a auity over a fixed term whose paymet period matches the iterest coversio period. Additioally,

More information

June 3, 1999. Voice over IP

June 3, 1999. Voice over IP Jue 3, 1999 Voice over IP This applicatio ote discusses the Hypercom solutio for providig ed-to-ed Iteret protocol (IP) coectivity i a ew or existig Hypercom Hybrid Trasport Mechaism (HTM) etwork, reducig

More information

InventoryControl. The Complete Inventory Tracking Solution for Small Businesses

InventoryControl. The Complete Inventory Tracking Solution for Small Businesses IvetoryCotrol The Complete Ivetory Trackig Solutio for Small Busiesses Regular Logo 4C Productivity Solutios for Small Busiesses Logo Outlie Get i cotrol of your ivetory with Wasp Ivetory Cotrol the complete

More information

5 Boolean Decision Trees (February 11)

5 Boolean Decision Trees (February 11) 5 Boolea Decisio Trees (February 11) 5.1 Graph Coectivity Suppose we are give a udirected graph G, represeted as a boolea adjacecy matrix = (a ij ), where a ij = 1 if ad oly if vertices i ad j are coected

More information

PUBLIC RELATIONS PROJECT 2016

PUBLIC RELATIONS PROJECT 2016 PUBLIC RELATIONS PROJECT 2016 The purpose of the Public Relatios Project is to provide a opportuity for the chapter members to demostrate the kowledge ad skills eeded i plaig, orgaizig, implemetig ad evaluatig

More information

HP Asset Manager. Software version: 5.20. Service Asset and Configuration Management

HP Asset Manager. Software version: 5.20. Service Asset and Configuration Management HP Asset Maager Software versio: 5.20 Service Asset ad Cofiguratio Maagemet Documet Release Date: 01 October 2009 Software Release Date: October 2009 Legal Notices Copyright Notices Copyright 1994-2009

More information

Vladimir N. Burkov, Dmitri A. Novikov MODELS AND METHODS OF MULTIPROJECTS MANAGEMENT

Vladimir N. Burkov, Dmitri A. Novikov MODELS AND METHODS OF MULTIPROJECTS MANAGEMENT Keywords: project maagemet, resource allocatio, etwork plaig Vladimir N Burkov, Dmitri A Novikov MODELS AND METHODS OF MULTIPROJECTS MANAGEMENT The paper deals with the problems of resource allocatio betwee

More information

INDEPENDENT BUSINESS PLAN EVENT 2016

INDEPENDENT BUSINESS PLAN EVENT 2016 INDEPENDENT BUSINESS PLAN EVENT 2016 The Idepedet Busiess Pla Evet ivolves the developmet of a comprehesive proposal to start a ew busiess. Ay type of busiess may be used. The Idepedet Busiess Pla Evet

More information

Confidence Intervals for One Mean

Confidence Intervals for One Mean Chapter 420 Cofidece Itervals for Oe Mea Itroductio This routie calculates the sample size ecessary to achieve a specified distace from the mea to the cofidece limit(s) at a stated cofidece level for a

More information

client communication

client communication CCH Portal cliet commuicatio facig today s challeges Like most accoutacy practices, we ow use email for most cliet commuicatio. It s quick ad easy, but we do worry about the security of sesitive data.

More information

Composable Tools For Network Discovery and Security Analysis

Composable Tools For Network Discovery and Security Analysis Composable Tools For Network Discovery ad Security Aalysis Giovai Viga Fredrik Valeur Jigyu Zhou Richard A. Kemmerer Reliable Software Group Departmet of Computer Sciece Uiversity of Califoria Sata Barbara

More information

QUADRO tech. PST Flightdeck. Put your PST Migration on autopilot

QUADRO tech. PST Flightdeck. Put your PST Migration on autopilot QUADRO tech PST Flightdeck Put your PST Migratio o autopilot Put your PST Migratio o Autopilot A moder aircraft hardly remids its pilots of the early days of air traffic. It is desiged to eable flyig as

More information

INVESTMENT PERFORMANCE COUNCIL (IPC) Guidance Statement on Calculation Methodology

INVESTMENT PERFORMANCE COUNCIL (IPC) Guidance Statement on Calculation Methodology Adoptio Date: 4 March 2004 Effective Date: 1 Jue 2004 Retroactive Applicatio: No Public Commet Period: Aug Nov 2002 INVESTMENT PERFORMANCE COUNCIL (IPC) Preface Guidace Statemet o Calculatio Methodology

More information

Conversion Instructions:

Conversion Instructions: Coversio Istructios: QMS magicolor 2 DeskLaser to QMS magicolor 2 CX 1800502-001A Trademarks QMS, the QMS logo, ad magicolor are registered trademarks of QMS, Ic., registered i the Uited States Patet ad

More information

SECTION 1.5 : SUMMATION NOTATION + WORK WITH SEQUENCES

SECTION 1.5 : SUMMATION NOTATION + WORK WITH SEQUENCES SECTION 1.5 : SUMMATION NOTATION + WORK WITH SEQUENCES Read Sectio 1.5 (pages 5 9) Overview I Sectio 1.5 we lear to work with summatio otatio ad formulas. We will also itroduce a brief overview of sequeces,

More information

Caché SQL Version F.12 Release Information

Caché SQL Version F.12 Release Information Caché SQL Versio F.12 Release Iformatio Versio: Caché SQL F.12 Date: October 22, 1997 Part Number IS-SQL-0-F.12A-CP-R Caché SQL F.12 Release Iformatio Copyright IterSystems Corporatio 1997 All rights reserved

More information

Radio Dispatch Systems

Radio Dispatch Systems Radio Dispatch Systems ZETRON DISPATCH SOLUTIONS: AT THE CENTER OF YOUR CRITICAL OPERATIONS Your dispatch system is the ceterpoit through which your key operatios are coordiated ad cotrolled. That s why

More information

RUT - Development manual

RUT - Development manual 2005-01-18 LiTH RUT - Developmet maual 7.20 UML Case Study - Use case ad class diagrams v 1.1 Reée Lidkvist Johasso, 2005 Abstract This documet presets a case study of fudametals of UML otatio, i particular,

More information

Chapter 10 Computer Design Basics

Chapter 10 Computer Design Basics Logic ad Computer Desig Fudametals Chapter 10 Computer Desig Basics Part 1 Datapaths Charles Kime & Thomas Kamiski 2004 Pearso Educatio, Ic. Terms of Use (Hyperliks are active i View Show mode) Overview

More information

Running Time ( 3.1) Analysis of Algorithms. Experimental Studies ( 3.1.1) Limitations of Experiments. Pseudocode ( 3.1.2) Theoretical Analysis

Running Time ( 3.1) Analysis of Algorithms. Experimental Studies ( 3.1.1) Limitations of Experiments. Pseudocode ( 3.1.2) Theoretical Analysis Ruig Time ( 3.) Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Most algorithms trasform iput objects ito output objects.

More information

TruStore: The storage. system that grows with you. Machine Tools / Power Tools Laser Technology / Electronics Medical Technology

TruStore: The storage. system that grows with you. Machine Tools / Power Tools Laser Technology / Electronics Medical Technology TruStore: The storage system that grows with you Machie Tools / Power Tools Laser Techology / Electroics Medical Techology Everythig from a sigle source. Cotets Everythig from a sigle source. 2 TruStore

More information

CREATIVE MARKETING PROJECT 2016

CREATIVE MARKETING PROJECT 2016 CREATIVE MARKETING PROJECT 2016 The Creative Marketig Project is a chapter project that develops i chapter members a aalytical ad creative approach to the marketig process, actively egages chapter members

More information

How to read A Mutual Fund shareholder report

How to read A Mutual Fund shareholder report Ivestor BulletI How to read A Mutual Fud shareholder report The SEC s Office of Ivestor Educatio ad Advocacy is issuig this Ivestor Bulleti to educate idividual ivestors about mutual fud shareholder reports.

More information

! encor e networks TM

! encor e networks TM ! ecor e etworks TM Copyright 2003 Ecore Networks, Ic. All rights reserved. SigalPath 201 (SP201 ) Istallatio Guide Versio C, July 2004 Part Number 15469.1000 SigalPath Software Versio 1100 This Istallatio

More information

Determining the sample size

Determining the sample size Determiig the sample size Oe of the most commo questios ay statisticia gets asked is How large a sample size do I eed? Researchers are ofte surprised to fid out that the aswer depeds o a umber of factors

More information

Your organization has a Class B IP address of 166.144.0.0 Before you implement subnetting, the Network ID and Host ID are divided as follows:

Your organization has a Class B IP address of 166.144.0.0 Before you implement subnetting, the Network ID and Host ID are divided as follows: Subettig Subettig is used to subdivide a sigle class of etwork i to multiple smaller etworks. Example: Your orgaizatio has a Class B IP address of 166.144.0.0 Before you implemet subettig, the Network

More information

CHAPTER 3 DIGITAL CODING OF SIGNALS

CHAPTER 3 DIGITAL CODING OF SIGNALS CHAPTER 3 DIGITAL CODING OF SIGNALS Computers are ofte used to automate the recordig of measuremets. The trasducers ad sigal coditioig circuits produce a voltage sigal that is proportioal to a quatity

More information

Week 3 Conditional probabilities, Bayes formula, WEEK 3 page 1 Expected value of a random variable

Week 3 Conditional probabilities, Bayes formula, WEEK 3 page 1 Expected value of a random variable Week 3 Coditioal probabilities, Bayes formula, WEEK 3 page 1 Expected value of a radom variable We recall our discussio of 5 card poker hads. Example 13 : a) What is the probability of evet A that a 5

More information

Enhancing Oracle Business Intelligence with cubus EV How users of Oracle BI on Essbase cubes can benefit from cubus outperform EV Analytics (cubus EV)

Enhancing Oracle Business Intelligence with cubus EV How users of Oracle BI on Essbase cubes can benefit from cubus outperform EV Analytics (cubus EV) Ehacig Oracle Busiess Itelligece with cubus EV How users of Oracle BI o Essbase cubes ca beefit from cubus outperform EV Aalytics (cubus EV) CONTENT 01 cubus EV as a ehacemet to Oracle BI o Essbase 02

More information

Symantec AntiVirus for Network Attached Storage Integration Guide

Symantec AntiVirus for Network Attached Storage Integration Guide Symatec AtiVirus for Network Attached Storage Itegratio Guide 2 Symatec AtiVirus for Network Attached Storage Itegratio Guide The software described i this book is furished uder a licese agreemet ad may

More information

Sequences and Series

Sequences and Series CHAPTER 9 Sequeces ad Series 9.. Covergece: Defiitio ad Examples Sequeces The purpose of this chapter is to itroduce a particular way of geeratig algorithms for fidig the values of fuctios defied by their

More information

WebLogic Workshop Application Development Basics

WebLogic Workshop Application Development Basics WebLogic Workshop Applicatio Developmet Basics IN THIS CHAPTER by Albert J. Sagaich, Jr. 3 IN THIS CHAPTER. WebLogic Workshop Programmig Basics. Creatig Applicatios ad Projects. Deployig ad Cofigurig Applicatios

More information

DAME - Microsoft Excel add-in for solving multicriteria decision problems with scenarios Radomir Perzina 1, Jaroslav Ramik 2

DAME - Microsoft Excel add-in for solving multicriteria decision problems with scenarios Radomir Perzina 1, Jaroslav Ramik 2 Itroductio DAME - Microsoft Excel add-i for solvig multicriteria decisio problems with scearios Radomir Perzia, Jaroslav Ramik 2 Abstract. The mai goal of every ecoomic aget is to make a good decisio,

More information

ContactPro Desktop for Multi-Media Contact Center

ContactPro Desktop for Multi-Media Contact Center CotactPro Desktop for Multi-Media Cotact Ceter CCT CotactPro (CP) is the perfect solutio for the aget desktop i a Avaya multimedia call ceter eviromet. CotactPro empowers agets to efficietly serve customers

More information

Domain 1 Components of the Cisco Unified Communications Architecture

Domain 1 Components of the Cisco Unified Communications Architecture Maual CCNA Domai 1 Compoets of the Cisco Uified Commuicatios Architecture Uified Commuicatios (UC) Eviromet Cisco has itroduced what they call the Uified Commuicatios Eviromet which is used to separate

More information

Merging graph-like object structures

Merging graph-like object structures Mergig graph-like object structures Albert Züdorf Techical Uiversity of Brauschweig Istitute for Software Gaussstr. 11 38023 Brauschweig Germay [email protected] Keywords Versio Maagemet, Object

More information

Soving Recurrence Relations

Soving Recurrence Relations Sovig Recurrece Relatios Part 1. Homogeeous liear 2d degree relatios with costat coefficiets. Cosider the recurrece relatio ( ) T () + at ( 1) + bt ( 2) = 0 This is called a homogeeous liear 2d degree

More information

Chair for Network Architectures and Services Institute of Informatics TU München Prof. Carle. Network Security. Chapter 2 Basics

Chair for Network Architectures and Services Institute of Informatics TU München Prof. Carle. Network Security. Chapter 2 Basics Chair for Network Architectures ad Services Istitute of Iformatics TU Müche Prof. Carle Network Security Chapter 2 Basics 2.4 Radom Number Geeratio for Cryptographic Protocols Motivatio It is crucial to

More information

A Combined Continuous/Binary Genetic Algorithm for Microstrip Antenna Design

A Combined Continuous/Binary Genetic Algorithm for Microstrip Antenna Design A Combied Cotiuous/Biary Geetic Algorithm for Microstrip Atea Desig Rady L. Haupt The Pesylvaia State Uiversity Applied Research Laboratory P. O. Box 30 State College, PA 16804-0030 [email protected] Abstract:

More information

Section 11.3: The Integral Test

Section 11.3: The Integral Test Sectio.3: The Itegral Test Most of the series we have looked at have either diverged or have coverged ad we have bee able to fid what they coverge to. I geeral however, the problem is much more difficult

More information

A Meta-Plugin for Bespoke Data Management in WordPress

A Meta-Plugin for Bespoke Data Management in WordPress A Meta-Plugi for Bespoke Data Maagemet i WordPress Stefaia Leoe, Alexadre de Spidler, ad Moira C. Norrie Istitute for Iformatio Systems, ETH Zurich CH-8092 Zurich, Switzerlad {leoe despidler orrie}@if.ethz.ch

More information

How To Solve The Homewor Problem Beautifully

How To Solve The Homewor Problem Beautifully Egieerig 33 eautiful Homewor et 3 of 7 Kuszmar roblem.5.5 large departmet store sells sport shirts i three sizes small, medium, ad large, three patters plaid, prit, ad stripe, ad two sleeve legths log

More information

Neolane Reporting. Neolane v6.1

Neolane Reporting. Neolane v6.1 Neolae Reportig Neolae v6.1 This documet, ad the software it describes, are provided subject to a Licese Agreemet ad may ot be used or copied outside of the provisios of the Licese Agreemet. No part of

More information

Neolane Leads. Neolane v6.1

Neolane Leads. Neolane v6.1 Neolae Leads Neolae v6.1 This documet, ad the software it describes, are provided subject to a Licese Agreemet ad may ot be used or copied outside of the provisios of the Licese Agreemet. No part of this

More information

hp calculators HP 12C Statistics - average and standard deviation Average and standard deviation concepts HP12C average and standard deviation

hp calculators HP 12C Statistics - average and standard deviation Average and standard deviation concepts HP12C average and standard deviation HP 1C Statistics - average ad stadard deviatio Average ad stadard deviatio cocepts HP1C average ad stadard deviatio Practice calculatig averages ad stadard deviatios with oe or two variables HP 1C Statistics

More information

Incremental calculation of weighted mean and variance

Incremental calculation of weighted mean and variance Icremetal calculatio of weighted mea ad variace Toy Fich [email protected] [email protected] Uiversity of Cambridge Computig Service February 009 Abstract I these otes I eplai how to derive formulae for umerically

More information

Document Control Solutions

Document Control Solutions Documet Cotrol Solutios State of the art software The beefits of Assai Assai Software Services provides leadig edge Documet Cotrol ad Maagemet System software for oil ad gas, egieerig ad costructio. AssaiDCMS

More information

Business Rules-Driven SOA. A Framework for Multi-Tenant Cloud Computing

Business Rules-Driven SOA. A Framework for Multi-Tenant Cloud Computing Lect. Phd. Liviu Gabriel CRETU / SPRERS evet Traiig o software services, Timisoara, Romaia, 6-10 dec 2010 www.feaa.uaic.ro Busiess Rules-Drive SOA. A Framework for Multi-Teat Cloud Computig Lect. Ph.D.

More information

BaanERP (Grieg) The BEMIS V Cookbook (Structure, master data, and configuration of BEMIS V)

BaanERP (Grieg) The BEMIS V Cookbook (Structure, master data, and configuration of BEMIS V) BaaERP (Grieg) The BEMIS V Cookbook (Structure, master data, ad cofiguratio of BEMIS V) A publicatio of: Baa Developmet B.V. P.O.Box 143 3770 AC Bareveld The Netherlads Prited i the Netherlads Baa Developmet

More information

Department of Computer Science, University of Otago

Department of Computer Science, University of Otago Departmet of Computer Sciece, Uiversity of Otago Techical Report OUCS-2006-09 Permutatios Cotaiig May Patters Authors: M.H. Albert Departmet of Computer Sciece, Uiversity of Otago Micah Colema, Rya Fly

More information

HP Asset Manager SAM Best Practice package

HP Asset Manager SAM Best Practice package HP Asset Maager SAM Best Practice package Software versio: 9.3.5.0 Software compliace solutio for Microsoft, Adobe, Oracle, IBM, ad VMware Documet Release Date: 5 August 2011 Software Release Date: August

More information

INVESTMENT PERFORMANCE COUNCIL (IPC)

INVESTMENT PERFORMANCE COUNCIL (IPC) INVESTMENT PEFOMANCE COUNCIL (IPC) INVITATION TO COMMENT: Global Ivestmet Performace Stadards (GIPS ) Guidace Statemet o Calculatio Methodology The Associatio for Ivestmet Maagemet ad esearch (AIM) seeks

More information

Taking DCOP to the Real World: Efficient Complete Solutions for Distributed Multi-Event Scheduling

Taking DCOP to the Real World: Efficient Complete Solutions for Distributed Multi-Event Scheduling Taig DCOP to the Real World: Efficiet Complete Solutios for Distributed Multi-Evet Schedulig Rajiv T. Maheswara, Milid Tambe, Emma Bowrig, Joatha P. Pearce, ad Pradeep araatham Uiversity of Souther Califoria

More information

IT Support. 020 8269 6878 n www.premierchoiceinternet.com n [email protected]. 30 Day FREE Trial. IT Support from 8p/user

IT Support. 020 8269 6878 n www.premierchoiceinternet.com n support@premierchoiceinternet.com. 30 Day FREE Trial. IT Support from 8p/user IT Support IT Support Premier Choice Iteret has bee providig reliable, proactive & affordable IT Support solutios to compaies based i Lodo ad the South East of Eglad sice 2002. Our goal is to provide our

More information

Creating And Designing A Successful Portfolio Item Model By Owner

Creating And Designing A Successful Portfolio Item Model By Owner HP Asset Maager Software versio: 5.20 Portfolio Documet Release Date: 01 October 2009 Software Release Date: October 2009 Legal Notices Copyright Notices Copyright 1994-2009 Hewlett-Packard Developmet

More information

ADAPTIVE NETWORKS SAFETY CONTROL ON FUZZY LOGIC

ADAPTIVE NETWORKS SAFETY CONTROL ON FUZZY LOGIC 8 th Iteratioal Coferece o DEVELOPMENT AND APPLICATION SYSTEMS S u c e a v a, R o m a i a, M a y 25 27, 2 6 ADAPTIVE NETWORKS SAFETY CONTROL ON FUZZY LOGIC Vadim MUKHIN 1, Elea PAVLENKO 2 Natioal Techical

More information