High-Performance Oracle: Proven Methods for Achieving Optimum Performance and Availability

Size: px
Start display at page:

Download "High-Performance Oracle: Proven Methods for Achieving Optimum Performance and Availability"

Transcription

1 About the Author Geoff Ingram is a UK-based ex-oracle product developer who has worked as an independent Oracle consultant since leaving Oracle Corporation in the mid-nineties. He is the creator of a free Oracle performance tuning tool DbCool downloadable from and the author of a book published by John Wiley and Sons Inc in September 2002, covering Oracle performance and availability features in Oracle8i and Oracle9i (including Release 2): High-Performance Oracle: Proven Methods for Achieving Optimum Performance and Availability ISBN: Benchmarking a Microsoft Windows Oracle Client Application Geoff Ingram, Proton Technology Ltd No part of this document may be reproduced for any purpose without the express written permission of Proton Technology Limited. This paper contains an end-to-end performance analysis of a simple application that selects 3,000 rows from an Oracle database server and populates a grid in a Visual Basic application. It's aimed at programmers that use Visual Basic and ActiveX data components in their Visual Basic programs to access Oracle database servers on a local area network (LAN) or wide-area-network (WAN). From a programmer's viewpoint the difference between a LAN and WAN is that a WAN has longer roundtrip times than a LAN, and care needs to be taken to minimize the number of network round trips caused by Oracle data-fetching in order to ensure fastest end-user application response times. The database access component in this example uses Microsoft ActiveX Data Objects (ADO) linked to an OLE DB provider based on ODBC. The ODBC driver in the example is the Oracle in ORA9i driver shipped with Oracle9i for Windows. The database in the example is located on a UNIX server accessed via TCP/IP on a WAN. Over the years, many debates have taken place on the most optimal method for fetching Oracle database into a Microsoft Windows application. Theoretically, the fastest way to access an Oracle database from a Windows client application is to use a data access interface that make direct calls to Oracle Call Interface (OCI), Oracle's low level programming API. In a Visual Basic application, most Oracle data access interfaces on Windows eventually make calls to OCI. In order to abstract the complexity of OCI programming away from the programmer, object-type interfaces layered on top of OCI are usually used in development. For example you could use Oracle's own Oracle Objects for OLE (later renamed to Oracle Data Objects). Although ADO is a more heavyweight layer on top of OCI than OO4O, it still doesn't represent a significant overhead. For example, I've never been able to isolate the extra overhead from calling ADO objects compared to performing the same task using OO4O. In case you're concerned by this overhead,

2 you can measure it yourself using the simple benchmark presented in the rest of this paper. You should also keep in mind that OLE DB providers for Oracle are now available that call OCI directly without using ODBC at all. As a programmer, all this is hidden from you if you program using ADO. Using ADO provides significant advantages compared to OO4O because its methods and properties aren't Oracle-specific whereas those used by OO4O are. As a result, you'll find a much wider choice of database-aware graphical controls available based on ADO. OO4O scores in situations where you need to access Oracle-specific data types in your application, in which case OO4O provides extra methods to make access simpler. You need to decide which is more important. From my experience the main reasons for poor performance of Windows applications that access Oracle databases on a WAN don't involve the choice of the database access method itself. To see why, you need to understand the main areas of processing where time is spent when data is fetched into a Visual Basic application grid from an Oracle database on a LAN or WAN. These are: network round trips DBMS server execution time grid rendering For a SELECT statement returning a result set of a few hundred rows, it's essential that each network round trip to the Oracle server fills each network packet full of rows. If you accidentally set your Visual Basic Oracle fetch operation to transfer rows from the server one row at a time, then you are significantly wasting network bandwidth. The effects on performance depend on the speed of your network: the slower the network, the worse the effects of wasted bandwidth. On a WAN, the waste is likely to increase end-user response times. It's essential to ensure that arrays are used to fetch results from the server in bulk rather than a single row at a time. ADO provides great features to enable underlying array interfaces to be used with minimal programming effort, as shown later. The SQL used to populate the grid in the example by fetching 3000 object definitions from the Oracle database is as follows: select * from dba_objects where rownum <=3000; It's useful to get an estimate of the time Oracle spends executing this statement within the database server, without the overhead of the network transfer, or grid rendering time. This can be performed by executing the query on the server and stepping through the result set. The following PL/SQL block can be used to run such a test because it selects all the rows and iterates through the result set entirely within the server: begin for rec in (select * from dba_objects where rownum <=3000) loop null; end loop; end;

3 This query takes less than 1 second to execute within the server and indicates that poor performance of the application isn't likely to be due to an Oracle server bottleneck. The following Visual Basic subroutine contains code that uses ADO to fetch the same result set across the network from the Oracle server into a Microsoft grid control in a client application: Sub BenchMark() Dim strsql As String strsql = "select from dba_objects where rownum <=3000" Dim rsora As New ADODB.Recordset rsora. = 500 ' set the fetch array size ' send the SQL to the server for execution ' Note: the connection moraconn is set outside this routine rsora.open strsql, moraconn, _ adopenstatic, adlockreadonly, adcmdtext rsora.movelast ' fetch all rows from the server. Time this ' populate the grid. Time this Set Me.MSHFlexGrid1.DataSource = rsora End Sub As shown, ADO provides a property for a RecordSet object to control how many records the OLE DB provider buffers in memory on the client. If the is 500, then the provider retrieves 500 records at a time into memory, fetched in batches of 500 records from the database server. In contrast, the client application code itself requests records one at a time, independent of the underlying array size. After the client has fetched the first 500 records and requests record 501, the provider fetches the next set of 500 from the database server. This is similar to the PL/SQL BULK COLLECT feature, except that the buffering and fetching is performed by the provider in the ADO case without the need for programmer to set the reflect the array sizes in the variables used. Note that for ADO, the programmer needs to do nothing more than set rsora. to change the array size. This ADO design enables much easier programming because the fetch code remains the same for an ADO application, independent of how many records are fetched in batches from the server. Also, the buffering can be controlled through a single setting without changing any other program code. Oracle's PL/SQL, Pro*C, and OCI require the programmer to handle array buffering and provide array variable types to hold fetched columns. ADO and JDBC, on the other hand, enable the buffering to be set independently of the fetch code. Using ADO or JDBC, the user can code with simple scalar types, independent of the underlying array nature of the fetch. As an aside, JDBC provides a method on a statement object to set the cache size for fetch and bulk update operations in an almost identical way to ADO. The following statement demonstrates how to set the batch size for SELECT statements using JDBC: stmt.setfetchsize(500); // set array size for SELECT to 500 For batch update operations, Oracle recommends that you don't use the addbatch() and executebatch() methods of the JDBC 2.0 PreparedStatement interface. These methods are not consistent with the functionality offered by the OraclePreparedStatement class. The following code shows how to batch up inserts into an array with 50 elements before sending the inserts to the server:

4 ((OracleConnection)conn).setDefaultExecuteBatch(50); PreparedStatement ps = conn.preparestatement ("insert into emp(empno)values(?)"); for (int i=100; i<=200; i++) { ps.setint(1,i); // bind an EMPNO value for insert ps.executeupdate(); // do the insert } ((OraclePreparedStatement)ps).sendBatch(); ps.close(); In the example, 100 EMPNO values are inserted into the EMP table in batches of 50. The executeupdate() statement doesn't send the inserts to the server upon each execution. Instead, it batches them into groups of 50 before sending them, as determined by the call to setdefaultexecutebatch() on the connection. This batch size of 50 applies to all UPDATE statements in the session unless it is overridden by the same call on an individual statement object. In the example, sendbatch() is used to send any outstanding inserts to the server once the loop completes. JDBC automatically executes the statement's sendbatch() method whenever the connection receives a commit request, the statement receives a close request, or the connection receives a close request. NOTE By default, JDBC commits all INSERT, UPDATE, and DELETE statements immediately after execution. This can harm performance and isn't usually required. You can turn this off using Connection.setAutoCommit(false) in your code and then use the COMMIT statement to commit transactions as needed. For a SELECT statement, you can confirm that the number of records fetched from the server in each batch matches the array size specified on the client by switching on session SQL trace on the ADO connection object as follows before executing the query: moraconn.execute "ALTER SESSION SET SQL_TRACE TRUE" The r= value in the raw SQL trace file for the session on the server shows the number of rows fetched in each batch based on a cache size of 500, as determined by the statement rsora. = 500 in the client application: FETCH #3:c=130000,e= ,p=0,cr=306,cu=0,mis=0,r=500,dep=0,og=4 FETCH #3:c=110000,e= ,p=0,cr=168,cu=0,mis=0,r=500,dep=0,og=4 FETCH #3:c=100000,e= ,p=0,cr=171,cu=0,mis=0,r=500,dep=0,og=4 FETCH #3:c=130000,e= ,p=0,cr=577,cu=0,mis=0,r=500,dep=0,og=4 FETCH #3:c=120000,e= ,p=0,cr=581,cu=0,mis=0,r=500,dep=0,og=4 FETCH #3:c=120000,e= ,p=0,cr=378,cu=0,mis=0,r=499,dep=0,og=4 A large cache on the client resulting from the use of batching minimizes network roundtrips, which can make a big difference to application throughput, especially in a WAN environment. You should be aware that the Oracle9i ODBC driver uses a cache size of 1 by default, so the cache size should always be increased in the first instance if performance problems are evident. Note that Ethernet physical network packets are 1,500 bytes long by default, so increasing the cache size to a huge number will not reduce the number of physical network roundtrips significantly, although it will reduce the number of Oracle network requests. The UNIX netstat -i command can be used to show the actual number of network input and output packets. The Oracle statistic "SQL*Net roundtrips to/from client" from V$SESSTAT or V$SYSSTAT is useful for determining the number of Oracle network requests. Each Oracle network roundtrip

5 corresponds to at least one physical network roundtrip. Table 1 shows the effect on elapsed query time in our example caused by varying the array batch size used to fetch rows from an Oracle database on a WAN with a latency of 100 milliseconds. Table 1 Windows Application Benchmark Results Statistic 1, SQL*Net roundtrips to/from client Elapsed Seconds for Fetch Elapsed Seconds For Grid Display In this example, significant time is saved by increasing the ADO setting from 100 to 500. A further increase from 500 to 1,000 shows less improvement. The time to display the result set in the grid is much less than the time to fetch the result set over the network. The tests were repeated using the Microsoft ODBC for Oracle driver version 2.573, and results were within 5 percent of the Oracle driver results. In general, the choice between the ODBC driver and OLE DB provider doesn't make as much difference to performance as the correct use of arrays. Some drivers save network traffic by sending numbers on the wire using Oracle's internal numeric format. For example the number requires 11 bytes of storage when represented as a string. You can use the Oracle DUMP function in SQL to show that the length of the same string as that stored in the Oracle database using the Oracle internal number format is only 2 bytes long: select dump( ) from dual; DUMP( ) Typ=2 Len=2: 198,2 Therefore, if the OLE DB provider uses the internal format to encode and decode the number before and after network transmission, 9 bytes of bandwidth can be saved in this example. For applications that process large numbers (for example many banking applications) this saving in network traffic can improve performance significantly. It's worth keeping in mind that it's possible to prevent updates to a grid from continually being redrawn when modifications are taking place during a fetch operation, and defer the changes till the grid population is complete. This can significantly reduce grid display times for grids that need to display thousands of rows. Summary When programming Windows application that access UNIX-server-based Oracle databases, the overhead introduced by various programmatic interfaces, such as ODBC, is often overstated. More often, poor performance is due either to bad choice of array size for row fetches or failure to factor in the overhead of rendering time for graphical controls used in the application to present fetched data. Using a simple benchmark, it's possible to estimate the effects of the choice of array size on application response times to eliminate the guesswork from any performance analysis.

Benchmarks of SQL Query Performance for ODBC and Oracle Call Interface

Benchmarks of SQL Query Performance for ODBC and Oracle Call Interface Another Technology Report From Ken North Computing, LLC Benchmarks of SQL Query Performance for ODBC and Oracle Call Interface October 2002 Prepared by Ken North [email protected] Copyright 2002,

More information

Use the ADO Control in your Visual Basic 6 projects

Use the ADO Control in your Visual Basic 6 projects Use the ADO Control in your Visual Basic 6 projects Aside from my Database book, I haven't done much writing concerning connection to a Database---and virtually nothing on ADO. In this article, I'd like

More information

SQL*Net PERFORMANCE TUNING UTILIZING UNDERLYING NETWORK PROTOCOL

SQL*Net PERFORMANCE TUNING UTILIZING UNDERLYING NETWORK PROTOCOL SQL*Net PERFORMANCE TUNING UTILIZING UNDERLYING NETWORK PROTOCOL Gamini Bulumulle ORACLE CORPORATION 5955 T.G. Lee Blvd., Suite 100 Orlando, FL 32822 USA Summary Oracle client/server architecture is a

More information

EVERYTHING A DBA SHOULD KNOW

EVERYTHING A DBA SHOULD KNOW EVERYTHING A DBA SHOULD KNOW ABOUT TCPIP NETWORKS Chen (Gwen),HP Software-as-a-Service 1. TCP/IP Problems that DBAs Can Face In this paper I ll discuss some of the network problems that I ve encountered

More information

Increasing Driver Performance

Increasing Driver Performance Increasing Driver Performance DataDirect Connect Series ODBC Drivers Introduction One of the advantages of DataDirect Connect Series ODBC drivers (DataDirect Connect for ODBC and DataDirect Connect64 for

More information

Mike Canney. Application Performance Analysis

Mike Canney. Application Performance Analysis Mike Canney Application Performance Analysis 1 Welcome to Sharkfest 12 contact Mike Canney, Principal Network Analyst, Tektivity, Inc. [email protected] 319-365-3336 www.getpackets.com 2 Agenda agenda

More information

PUBLIC Performance Optimization Guide

PUBLIC Performance Optimization Guide SAP Data Services Document Version: 4.2 Support Package 6 (14.2.6.0) 2015-11-20 PUBLIC Content 1 Welcome to SAP Data Services....6 1.1 Welcome.... 6 1.2 Documentation set for SAP Data Services....6 1.3

More information

SOLUTION BRIEF. JUST THE FAQs: Moving Big Data with Bulk Load. www.datadirect.com

SOLUTION BRIEF. JUST THE FAQs: Moving Big Data with Bulk Load. www.datadirect.com SOLUTION BRIEF JUST THE FAQs: Moving Big Data with Bulk Load 2 INTRODUCTION As the data and information used by businesses grow exponentially, IT organizations face a daunting challenge moving what is

More information

Performance in the Infragistics WebDataGrid for Microsoft ASP.NET AJAX. Contents. Performance and User Experience... 2

Performance in the Infragistics WebDataGrid for Microsoft ASP.NET AJAX. Contents. Performance and User Experience... 2 Performance in the Infragistics WebDataGrid for Microsoft ASP.NET AJAX An Infragistics Whitepaper Contents Performance and User Experience... 2 Exceptional Performance Best Practices... 2 Testing the WebDataGrid...

More information

Chapter 9 Java and SQL. Wang Yang [email protected]

Chapter 9 Java and SQL. Wang Yang wyang@njnet.edu.cn Chapter 9 Java and SQL Wang Yang [email protected] Outline Concern Data - File & IO vs. Database &SQL Database & SQL How Connect Java to SQL - Java Model for Database Java Database Connectivity (JDBC)

More information

SOLUTION BRIEF. Advanced ODBC and JDBC Access to Salesforce Data. www.datadirect.com

SOLUTION BRIEF. Advanced ODBC and JDBC Access to Salesforce Data. www.datadirect.com SOLUTION BRIEF Advanced ODBC and JDBC Access to Salesforce Data 2 CLOUD DATA ACCESS In the terrestrial world of enterprise computing, organizations depend on advanced JDBC and ODBC technologies to provide

More information

In-memory Tables Technology overview and solutions

In-memory Tables Technology overview and solutions In-memory Tables Technology overview and solutions My mainframe is my business. My business relies on MIPS. Verna Bartlett Head of Marketing Gary Weinhold Systems Analyst Agenda Introduction to in-memory

More information

Performance Tuning for the JDBC TM API

Performance Tuning for the JDBC TM API Performance Tuning for the JDBC TM API What Works, What Doesn't, and Why. Mark Chamness Sr. Java Engineer Cacheware Beginning Overall Presentation Goal Illustrate techniques for optimizing JDBC API-based

More information

Introduction to SQL Tuning. 1. Introduction to SQL Tuning. 2001 SkillBuilders, Inc. SKILLBUILDERS

Introduction to SQL Tuning. 1. Introduction to SQL Tuning. 2001 SkillBuilders, Inc. SKILLBUILDERS Page 1 1. Introduction to SQL Tuning SKILLBUILDERS Page 2 1.2 Objectives Understand what can be tuned Understand what we need to know in order to tune SQL Page 3 1.3 What Can Be Tuned? Data Access SQL

More information

Mike Canney Principal Network Analyst getpackets.com

Mike Canney Principal Network Analyst getpackets.com Mike Canney Principal Network Analyst getpackets.com 1 My contact info contact Mike Canney, Principal Network Analyst, getpackets.com [email protected] 319.389.1137 2 Capture Strategies capture Capture

More information

Data Integrator Performance Optimization Guide

Data Integrator Performance Optimization Guide Data Integrator Performance Optimization Guide Data Integrator 11.7.2 for Windows and UNIX Patents Trademarks Copyright Third-party contributors Business Objects owns the following

More information

ASP.NET Programming with C# and SQL Server

ASP.NET Programming with C# and SQL Server ASP.NET Programming with C# and SQL Server First Edition Chapter 8 Manipulating SQL Server Databases with ASP.NET Objectives In this chapter, you will: Connect to SQL Server from ASP.NET Learn how to handle

More information

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

Copyright 2014, Oracle and/or its affiliates. All rights reserved. 1 Oracle and Visual Studio 2013: What's New and Best Practices Alex Keh Senior Principal Product Manager, Oracle Program Agenda Introduction to ODAC New Features Schema Compare ODP.NET, Managed Driver

More information

SQL Server An Overview

SQL Server An Overview SQL Server An Overview SQL Server Microsoft SQL Server is designed to work effectively in a number of environments: As a two-tier or multi-tier client/server database system As a desktop database system

More information

Experiment 5.1 How to measure performance of database applications?

Experiment 5.1 How to measure performance of database applications? .1 CSCI315 Database Design and Implementation Experiment 5.1 How to measure performance of database applications? Experimented and described by Dr. Janusz R. Getta School of Computer Science and Software

More information

1 File Processing Systems

1 File Processing Systems COMP 378 Database Systems Notes for Chapter 1 of Database System Concepts Introduction A database management system (DBMS) is a collection of data and an integrated set of programs that access that data.

More information

Connect to an Oracle Database from Visual Basic 6 (Part 2)

Connect to an Oracle Database from Visual Basic 6 (Part 2) Connect to an Oracle Database from Visual Basic 6 (Part 2) Preface This is Part 2 in a 2 part series on using Visual Basic 6 to connect to an Oracle database. In Part 1, I showed you how to use an ADO

More information

Testing Web Applications for SQL Injection Sam Shober [email protected]

Testing Web Applications for SQL Injection Sam Shober SamShober@Hotmail.com Testing Web Applications for SQL Injection Sam Shober [email protected] Abstract: This paper discusses the SQL injection vulnerability, its impact on web applications, methods for pre-deployment and

More information

SiteCelerate white paper

SiteCelerate white paper SiteCelerate white paper Arahe Solutions SITECELERATE OVERVIEW As enterprises increases their investment in Web applications, Portal and websites and as usage of these applications increase, performance

More information

"SQL Database Professional " module PRINTED MANUAL

SQL Database Professional  module PRINTED MANUAL "SQL Database Professional " module PRINTED MANUAL "SQL Database Professional " module All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, or

More information

Using Oracle Real Application Clusters (RAC)

Using Oracle Real Application Clusters (RAC) Using Oracle Real Application Clusters (RAC) DataDirect Connect for ODBC Introduction In today's e-business on-demand environment, more companies are turning to a Grid computing infrastructure for distributed

More information

Application-Centric Analysis Helps Maximize the Value of Wireshark

Application-Centric Analysis Helps Maximize the Value of Wireshark Application-Centric Analysis Helps Maximize the Value of Wireshark The cost of freeware Protocol analysis has long been viewed as the last line of defense when it comes to resolving nagging network and

More information

The Data Access Handbook

The Data Access Handbook The Data Access Handbook Achieving Optimal Database Application Performance and Scalability John Goodson and Robert A. Steward PRENTICE HALL Upper Saddle River, NJ Boston Indianapolis San Francisco New

More information

Crystal Reports. Overview. Contents. Connecting the Report Designer Component to a Data Source

Crystal Reports. Overview. Contents. Connecting the Report Designer Component to a Data Source Connecting the Report Designer Component to a Data Source Overview Contents The Crystal Reports Report Designer Component (RDC) has a number of properties and methods available at runtime to connect a

More information

Introduction. AppDynamics for Databases Version 2.9.4. Page 1

Introduction. AppDynamics for Databases Version 2.9.4. Page 1 Introduction AppDynamics for Databases Version 2.9.4 Page 1 Introduction to AppDynamics for Databases.................................... 3 Top Five Features of a Database Monitoring Tool.............................

More information

Connecting to an Excel Workbook with ADO

Connecting to an Excel Workbook with ADO Connecting to an Excel Workbook with ADO Using the Microsoft Jet provider ADO can connect to an Excel workbook. Data can be read from the workbook and written to it although, unlike writing data to multi-user

More information

An Oracle White Paper June 2012. High Performance Connectors for Load and Access of Data from Hadoop to Oracle Database

An Oracle White Paper June 2012. High Performance Connectors for Load and Access of Data from Hadoop to Oracle Database An Oracle White Paper June 2012 High Performance Connectors for Load and Access of Data from Hadoop to Oracle Database Executive Overview... 1 Introduction... 1 Oracle Loader for Hadoop... 2 Oracle Direct

More information

ABAP SQL Monitor Implementation Guide and Best Practices

ABAP SQL Monitor Implementation Guide and Best Practices ABAP SQL Monitor Implementation Guide and Best Practices TABLE OF CONTENTS ABAP SQL Monitor - What is it and why do I need it?... 3 When is it available and what are the technical requirements?... 5 In

More information

Why developers should use ODBC instead of native proprietary database interfaces

Why developers should use ODBC instead of native proprietary database interfaces P RODUCT O VERVIEW Why developers should use ODBC instead of native proprietary database interfaces The financial and technical basis for using ODBC with wire protocol drivers instead of native database

More information

Base One's Rich Client Architecture

Base One's Rich Client Architecture Base One's Rich Client Architecture Base One provides a unique approach for developing Internet-enabled applications, combining both efficiency and ease of programming through its "Rich Client" architecture.

More information

HP NonStop JDBC Type 4 Driver Performance Tuning Guide for Version 1.0

HP NonStop JDBC Type 4 Driver Performance Tuning Guide for Version 1.0 HP NonStop JDBC Type 4 Driver November 22, 2004 Author: Ken Sell 1 Introduction Java applications and application environments continue to play an important role in software system development. Database

More information

Performance Implications of Various Cursor Types in Microsoft SQL Server. By: Edward Whalen Performance Tuning Corporation

Performance Implications of Various Cursor Types in Microsoft SQL Server. By: Edward Whalen Performance Tuning Corporation Performance Implications of Various Cursor Types in Microsoft SQL Server By: Edward Whalen Performance Tuning Corporation INTRODUCTION There are a number of different types of cursors that can be created

More information

Application Performance Analysis and Troubleshooting

Application Performance Analysis and Troubleshooting Exam : 1T6-520 Title : Application Performance Analysis and Troubleshooting Version : DEMO 1 / 6 1. When optimizing application efficiency, an improvement in efficiency from the current 90% to an efficiency

More information

OBJECTSTUDIO. Database User's Guide P40-3203-03

OBJECTSTUDIO. Database User's Guide P40-3203-03 OBJECTSTUDIO Database User's Guide P40-3203-03 Release information for this manual ObjectStudio Database User's Guide, P40-3203-03, is dated vember 1, 2003. This document supports Release 6.9 of ObjectStudio.

More information

MySQL Storage Engines

MySQL Storage Engines MySQL Storage Engines Data in MySQL is stored in files (or memory) using a variety of different techniques. Each of these techniques employs different storage mechanisms, indexing facilities, locking levels

More information

Oracle to MySQL Migration

Oracle to MySQL Migration to Migration Stored Procedures, Packages, Triggers, Scripts and Applications White Paper March 2009, Ispirer Systems Ltd. Copyright 1999-2012. Ispirer Systems Ltd. All Rights Reserved. 1 Introduction The

More information

How To Understand The Error Codes On A Crystal Reports Print Engine

How To Understand The Error Codes On A Crystal Reports Print Engine Overview Error Codes This document lists all the error codes and the descriptions that the Crystal Reports Print Engine generates. PE_ERR_NOTENOUGHMEMORY (500) There is not enough memory available to complete

More information

Knocker main application User manual

Knocker main application User manual Knocker main application User manual Author: Jaroslav Tykal Application: Knocker.exe Document Main application Page 1/18 U Content: 1 START APPLICATION... 3 1.1 CONNECTION TO DATABASE... 3 1.2 MODULE DEFINITION...

More information

ICOM 6005 Database Management Systems Design. Dr. Manuel Rodríguez Martínez Electrical and Computer Engineering Department Lecture 2 August 23, 2001

ICOM 6005 Database Management Systems Design. Dr. Manuel Rodríguez Martínez Electrical and Computer Engineering Department Lecture 2 August 23, 2001 ICOM 6005 Database Management Systems Design Dr. Manuel Rodríguez Martínez Electrical and Computer Engineering Department Lecture 2 August 23, 2001 Readings Read Chapter 1 of text book ICOM 6005 Dr. Manuel

More information

An Oracle White Paper August, 2009. Oracle JDBC Memory Management

An Oracle White Paper August, 2009. Oracle JDBC Memory Management An Oracle White Paper August, 2009 Oracle JDBC Memory Management Introduction The Oracle JDBC drivers can use large amounts of memory. This is a conscious design choice, to trade off large memory use for

More information

For the purpose of setting up a home network, all you need to worry about are two major categories of components:

For the purpose of setting up a home network, all you need to worry about are two major categories of components: Access Points, Routers, and Hubs In the first lesson, you learned about the world of wireless standards -- what frequencies are used, distances involved, and other general topics. In this lesson, you learn

More information

LearnFromGuru Polish your knowledge

LearnFromGuru Polish your knowledge SQL SERVER 2008 R2 /2012 (TSQL/SSIS/ SSRS/ SSAS BI Developer TRAINING) Module: I T-SQL Programming and Database Design An Overview of SQL Server 2008 R2 / 2012 Available Features and Tools New Capabilities

More information

Siemens Applied Automation Page 1 11/26/03 9:57 PM. Maxum ODBC 3.11

Siemens Applied Automation Page 1 11/26/03 9:57 PM. Maxum ODBC 3.11 Siemens Applied Automation Page 1 Maxum ODBC 3.11 Table of Contents Installing the Polyhedra ODBC driver... 2 Using ODBC with the Maxum Database... 2 Microsoft Access 2000 Example... 2 Access Example (Prior

More information

SQL Server Database Coding Standards and Guidelines

SQL Server Database Coding Standards and Guidelines SQL Server Database Coding Standards and Guidelines http://www.sqlauthority.com Naming Tables: Stored Procs: Triggers: Indexes: Primary Keys: Foreign Keys: Defaults: Columns: General Rules: Rules: Pascal

More information

Job Reference Guide. SLAMD Distributed Load Generation Engine. Version 1.8.2

Job Reference Guide. SLAMD Distributed Load Generation Engine. Version 1.8.2 Job Reference Guide SLAMD Distributed Load Generation Engine Version 1.8.2 June 2004 Contents 1. Introduction...3 2. The Utility Jobs...4 3. The LDAP Search Jobs...11 4. The LDAP Authentication Jobs...22

More information

Connect to an Oracle Database from within Visual Basic 6 (Part 1)

Connect to an Oracle Database from within Visual Basic 6 (Part 1) Connect to an Oracle Database from within Visual Basic 6 (Part 1) Preface This is one in a series of useful articles I am writing about programming. The audience is beginner to intermediate level programmers.

More information

PaperClip32. Installation Guide. for Workgroup and Enterprise Editions. Document Revision 2.1 1

PaperClip32. Installation Guide. for Workgroup and Enterprise Editions. Document Revision 2.1 1 PaperClip32 Installation Guide for Workgroup and Enterprise Editions Document Revision 2.1 1 Copyright Information Copyright 2005, PaperClip Software, Inc. The PaperClip32 product name and PaperClip Logo

More information

Key Components of WAN Optimization Controller Functionality

Key Components of WAN Optimization Controller Functionality Key Components of WAN Optimization Controller Functionality Introduction and Goals One of the key challenges facing IT organizations relative to application and service delivery is ensuring that the applications

More information

Performance Considerations for Web Applications

Performance Considerations for Web Applications Performance Considerations for Web Applications By Dr. Paul Dorsey & Michael Rosenblum, Dulcian, Inc. Many of the performance tuning techniques applied to client/server applications that consisted of rewriting

More information

FOXBORO. I/A Series SOFTWARE Product Specifications. I/A Series Intelligent SCADA SCADA Platform PSS 21S-2M1 B3 OVERVIEW

FOXBORO. I/A Series SOFTWARE Product Specifications. I/A Series Intelligent SCADA SCADA Platform PSS 21S-2M1 B3 OVERVIEW I/A Series SOFTWARE Product Specifications Logo I/A Series Intelligent SCADA SCADA Platform PSS 21S-2M1 B3 The I/A Series Intelligent SCADA Platform takes the traditional SCADA Master Station to a new

More information

An Oracle White Paper May 2012. Oracle Database Cloud Service

An Oracle White Paper May 2012. Oracle Database Cloud Service An Oracle White Paper May 2012 Oracle Database Cloud Service Executive Overview The Oracle Database Cloud Service provides a unique combination of the simplicity and ease of use promised by Cloud computing

More information

Question: 3 When using Application Intelligence, Server Time may be defined as.

Question: 3 When using Application Intelligence, Server Time may be defined as. 1 Network General - 1T6-521 Application Performance Analysis and Troubleshooting Question: 1 One component in an application turn is. A. Server response time B. Network process time C. Application response

More information

Contents. 2. cttctx Performance Test Utility... 8. 3. Server Side Plug-In... 9. 4. Index... 11. www.faircom.com All Rights Reserved.

Contents. 2. cttctx Performance Test Utility... 8. 3. Server Side Plug-In... 9. 4. Index... 11. www.faircom.com All Rights Reserved. c-treeace Load Test c-treeace Load Test Contents 1. Performance Test Description... 1 1.1 Login Info... 2 1.2 Create Tables... 3 1.3 Run Test... 4 1.4 Last Run Threads... 5 1.5 Total Results History...

More information

Oracle TimesTen IMDB - An Introduction

Oracle TimesTen IMDB - An Introduction Oracle TimesTen IMDB - An Introduction Who am I 12+ years as an Oracle DBA Working as Vice President with an Investment Bank Member of AIOUG Since 2009 Cer$fied ITIL V3 Founda$on IT Service Management

More information

Sivakumar Software Engg, Zagro Singapore Pte Ltd e-mail. [email protected]

Sivakumar Software Engg, Zagro Singapore Pte Ltd e-mail. nspshiva@gmail.com SWOT Analysis of the Oracle standard and MS-SQL server Technologies Sivakumar Software Engg, Zagro Singapore Pte Ltd e-mail. [email protected] Abstract In the last few years the use of the Internet has

More information

An Oracle White Paper December 2013. Advanced Network Compression

An Oracle White Paper December 2013. Advanced Network Compression An Oracle White Paper December 2013 Advanced Network Compression Disclaimer The following is intended to outline our general product direction. It is intended for information purposes only, and may not

More information

PeopleSoft DDL & DDL Management

PeopleSoft DDL & DDL Management PeopleSoft DDL & DDL Management by David Kurtz, Go-Faster Consultancy Ltd. Since their takeover of PeopleSoft, Oracle has announced project Fusion, an initiative for a new generation of Oracle Applications

More information

An Oracle White Paper June 2013. Migrating Applications and Databases with Oracle Database 12c

An Oracle White Paper June 2013. Migrating Applications and Databases with Oracle Database 12c An Oracle White Paper June 2013 Migrating Applications and Databases with Oracle Database 12c Disclaimer The following is intended to outline our general product direction. It is intended for information

More information

SQL Direct User Guide

SQL Direct User Guide AVEVA Solutions Ltd Disclaimer Information of a technical nature, and particulars of the product and its use, is given by AVEVA Solutions Ltd and its subsidiaries without warranty. AVEVA Solutions Ltd

More information

HOUG Konferencia 2015. Oracle TimesTen In-Memory Database and TimesTen Application-Tier Database Cache. A few facts in 10 minutes

HOUG Konferencia 2015. Oracle TimesTen In-Memory Database and TimesTen Application-Tier Database Cache. A few facts in 10 minutes HOUG Konferencia 2015 Oracle TimesTen In-Memory Database and TimesTen Application-Tier Database Cache A few facts in 10 minutes [email protected] What is TimesTen An in-memory relational database

More information

StreamServe Persuasion SP5 Microsoft SQL Server

StreamServe Persuasion SP5 Microsoft SQL Server StreamServe Persuasion SP5 Microsoft SQL Server Database Guidelines Rev A StreamServe Persuasion SP5 Microsoft SQL Server Database Guidelines Rev A 2001-2011 STREAMSERVE, INC. ALL RIGHTS RESERVED United

More information

CA IDMS Server r17. Product Overview. Business Value. Delivery Approach

CA IDMS Server r17. Product Overview. Business Value. Delivery Approach PRODUCT sheet: CA IDMS SERVER r17 CA IDMS Server r17 CA IDMS Server helps enable secure, open access to CA IDMS mainframe data and applications from the Web, Web services, PCs and other distributed platforms.

More information

PERFORMANCE TUNING ORACLE RAC ON LINUX

PERFORMANCE TUNING ORACLE RAC ON LINUX PERFORMANCE TUNING ORACLE RAC ON LINUX By: Edward Whalen Performance Tuning Corporation INTRODUCTION Performance tuning is an integral part of the maintenance and administration of the Oracle database

More information

Redbooks Paper. Local versus Remote Database Access: A Performance Test. Victor Chao Leticia Cruz Nin Lei

Redbooks Paper. Local versus Remote Database Access: A Performance Test. Victor Chao Leticia Cruz Nin Lei Redbooks Paper Victor Chao Leticia Cruz Nin Lei Local versus Remote Database Access: A Performance Test When tuning a database for better performance, one area to examine is the proximity of the database

More information

Tune That SQL for Supercharged DB2 Performance! Craig S. Mullins, Corporate Technologist, NEON Enterprise Software, Inc.

Tune That SQL for Supercharged DB2 Performance! Craig S. Mullins, Corporate Technologist, NEON Enterprise Software, Inc. Tune That SQL for Supercharged DB2 Performance! Craig S. Mullins, Corporate Technologist, NEON Enterprise Software, Inc. Table of Contents Overview...................................................................................

More information

PERFORMANCE TIPS FOR BATCH JOBS

PERFORMANCE TIPS FOR BATCH JOBS PERFORMANCE TIPS FOR BATCH JOBS Here is a list of effective ways to improve performance of batch jobs. This is probably the most common performance lapse I see. The point is to avoid looping through millions

More information

1. INTRODUCTION TO RDBMS

1. INTRODUCTION TO RDBMS Oracle For Beginners Page: 1 1. INTRODUCTION TO RDBMS What is DBMS? Data Models Relational database management system (RDBMS) Relational Algebra Structured query language (SQL) What Is DBMS? Data is one

More information

Using the Query Analyzer

Using the Query Analyzer Using the Query Analyzer Using the Query Analyzer Objectives Explore the Query Analyzer user interface. Learn how to use the menu items and toolbars to work with SQL Server data and objects. Use object

More information

Java DB Performance. Olav Sandstå Sun Microsystems, Trondheim, Norway Submission ID: 860

Java DB Performance. Olav Sandstå Sun Microsystems, Trondheim, Norway Submission ID: 860 Java DB Performance Olav Sandstå Sun Microsystems, Trondheim, Norway Submission ID: 860 AGENDA > Java DB introduction > Configuring Java DB for performance > Programming tips > Understanding Java DB performance

More information

Data Access Guide. BusinessObjects 11. Windows and UNIX

Data Access Guide. BusinessObjects 11. Windows and UNIX Data Access Guide BusinessObjects 11 Windows and UNIX 1 Copyright Trademarks Use restrictions Patents Copyright 2004 Business Objects. All rights reserved. If you find any problems with this documentation,

More information

Using DataDirect Connect for JDBC with Oracle Real Application Clusters (RAC)

Using DataDirect Connect for JDBC with Oracle Real Application Clusters (RAC) Using DataDirect Connect for JDBC with Oracle Real Application Clusters (RAC) Introduction In today's e-business on-demand environment, more companies are turning to a Grid computing infrastructure for

More information

Crystal Reports Server 2008

Crystal Reports Server 2008 Revision Date: July 2009 Crystal Reports Server 2008 Sizing Guide Overview Crystal Reports Server system sizing involves the process of determining how many resources are required to support a given workload.

More information

SQL and Programming Languages. SQL in Programming Languages. Applications. Approaches

SQL and Programming Languages. SQL in Programming Languages. Applications. Approaches SQL and Programming Languages SQL in Programming Languages Read chapter 5 of Atzeni et al. BD: Modelli e Linguaggi di Interrogazione and section 8.4 of Garcia-Molina The user does not want to execute SQL

More information

DATABASE DESIGN AND IMPLEMENTATION II SAULT COLLEGE OF APPLIED ARTS AND TECHNOLOGY SAULT STE. MARIE, ONTARIO. Sault College

DATABASE DESIGN AND IMPLEMENTATION II SAULT COLLEGE OF APPLIED ARTS AND TECHNOLOGY SAULT STE. MARIE, ONTARIO. Sault College -1- SAULT COLLEGE OF APPLIED ARTS AND TECHNOLOGY SAULT STE. MARIE, ONTARIO Sault College COURSE OUTLINE COURSE TITLE: CODE NO. : SEMESTER: 4 PROGRAM: PROGRAMMER (2090)/PROGRAMMER ANALYST (2091) AUTHOR:

More information

Defense In-Depth to Achieve Unbreakable Database Security

Defense In-Depth to Achieve Unbreakable Database Security Defense In-Depth to Achieve Unbreakable Database Security Qiang Lin, Ph.D Abstract Enterprises realize that sole reliance on generic security mechanisms does not provide the protection they need for their

More information

Microsoft Access is an outstanding environment for both database users and professional. Introduction to Microsoft Access and Programming SESSION

Microsoft Access is an outstanding environment for both database users and professional. Introduction to Microsoft Access and Programming SESSION 539752 ch01.qxd 9/9/03 11:38 PM Page 5 SESSION 1 Introduction to Microsoft Access and Programming Session Checklist Understanding what programming is Using the Visual Basic language Programming for the

More information

High Performance Websites: ADO versus MSXML

High Performance Websites: ADO versus MSXML High Performance Websites: ADO versus MSXML Timothy M. Chester, PhD, MCSD Senior Systems Analyst & Project Manager Computing & Information Services, Texas A&M University Summary: Tools Required: Further

More information

Why Big Data in the Cloud?

Why Big Data in the Cloud? Have 40 Why Big Data in the Cloud? Colin White, BI Research January 2014 Sponsored by Treasure Data TABLE OF CONTENTS Introduction The Importance of Big Data The Role of Cloud Computing Using Big Data

More information

Exploring Microsoft Office Access 2007. Chapter 2: Relational Databases and Multi-Table Queries

Exploring Microsoft Office Access 2007. Chapter 2: Relational Databases and Multi-Table Queries Exploring Microsoft Office Access 2007 Chapter 2: Relational Databases and Multi-Table Queries 1 Objectives Design data Create tables Understand table relationships Share data with Excel Establish table

More information

Services. Relational. Databases & JDBC. Today. Relational. Databases SQL JDBC. Next Time. Services. Relational. Databases & JDBC. Today.

Services. Relational. Databases & JDBC. Today. Relational. Databases SQL JDBC. Next Time. Services. Relational. Databases & JDBC. Today. & & 1 & 2 Lecture #7 2008 3 Terminology Structure & & Database server software referred to as Database Management Systems (DBMS) Database schemas describe database structure Data ordered in tables, rows

More information

An Introduction to SQL Injection Attacks for Oracle Developers. January 2004 INTEGRIGY. Mission Critical Applications Mission Critical Security

An Introduction to SQL Injection Attacks for Oracle Developers. January 2004 INTEGRIGY. Mission Critical Applications Mission Critical Security An Introduction to SQL Injection Attacks for Oracle Developers January 2004 INTEGRIGY Mission Critical Applications Mission Critical Security An Introduction to SQL Injection Attacks for Oracle Developers

More information

Using AS/400 Database Monitor To Identify and Tune SQL Queries

Using AS/400 Database Monitor To Identify and Tune SQL Queries by Rick Peterson Dale Weber Richard Odell Greg Leibfried AS/400 System Performance IBM Rochester Lab May 2000 Page 1 Table of Contents Introduction... Page 4 What is the Database Monitor for AS/400 tool?...

More information

An Oracle White Paper May 2010. Guide for Developing High-Performance Database Applications

An Oracle White Paper May 2010. Guide for Developing High-Performance Database Applications An Oracle White Paper May 2010 Guide for Developing High-Performance Database Applications Introduction The Oracle database has been engineered to provide very high performance and scale to thousands

More information

Oracle Database: SQL and PL/SQL Fundamentals NEW

Oracle Database: SQL and PL/SQL Fundamentals NEW Oracle University Contact Us: + 38516306373 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training delivers the

More information

Oracle Database 11 g Performance Tuning. Recipes. Sam R. Alapati Darl Kuhn Bill Padfield. Apress*

Oracle Database 11 g Performance Tuning. Recipes. Sam R. Alapati Darl Kuhn Bill Padfield. Apress* Oracle Database 11 g Performance Tuning Recipes Sam R. Alapati Darl Kuhn Bill Padfield Apress* Contents About the Authors About the Technical Reviewer Acknowledgments xvi xvii xviii Chapter 1: Optimizing

More information

Beginning C# 5.0. Databases. Vidya Vrat Agarwal. Second Edition

Beginning C# 5.0. Databases. Vidya Vrat Agarwal. Second Edition Beginning C# 5.0 Databases Second Edition Vidya Vrat Agarwal Contents J About the Author About the Technical Reviewer Acknowledgments Introduction xviii xix xx xxi Part I: Understanding Tools and Fundamentals

More information

A Performance Comparison of Web Development Technologies to Distribute Multimedia across an Intranet

A Performance Comparison of Web Development Technologies to Distribute Multimedia across an Intranet A Performance Comparison of Web Development Technologies to Distribute Multimedia across an Intranet D. Swales, D. Sewry, A. Terzoli Computer Science Department Rhodes University Grahamstown, 6140 Email:

More information

ORACLE DATABASE 10G ENTERPRISE EDITION

ORACLE DATABASE 10G ENTERPRISE EDITION ORACLE DATABASE 10G ENTERPRISE EDITION OVERVIEW Oracle Database 10g Enterprise Edition is ideal for enterprises that ENTERPRISE EDITION For enterprises of any size For databases up to 8 Exabytes in size.

More information

BarTender Integration Methods. Integrating BarTender s Printing and Design Functionality with Your Custom Application WHITE PAPER

BarTender Integration Methods. Integrating BarTender s Printing and Design Functionality with Your Custom Application WHITE PAPER BarTender Integration Methods Integrating BarTender s Printing and Design Functionality with Your Custom Application WHITE PAPER Contents Introduction 3 Integrating with External Data 4 Importing Data

More information

Who s Doing What? Analyzing Ethernet LAN Traffic

Who s Doing What? Analyzing Ethernet LAN Traffic by Paul Barry, [email protected] Abstract A small collection of Perl modules provides the basic building blocks for the creation of a Perl-based Ethernet network analyzer. I present a network analyzer

More information

A block based storage model for remote online backups in a trust no one environment

A block based storage model for remote online backups in a trust no one environment A block based storage model for remote online backups in a trust no one environment http://www.duplicati.com/ Kenneth Skovhede (author, [email protected]) René Stach (editor, [email protected]) Abstract

More information