Administrator's Guide to Sybase ASE 15 is a practical systems administration guide for the newest release of the ASE product. Designed to provide all. The talented Sybase database administrators, developers, managers, and users are out there. This book is for you. We will attempt to guide you, the reader. administrators guide to sybase ase 15 View and Download Sybase Adaptive Server Enterprise x quick installation manual online. Mac OS X. Adaptive.

Administrators Guide To Sybase Ase 15 Pdf

Language:English, Indonesian, Arabic
Country:South Sudan
Genre:Health & Fitness
Published (Last):26.12.2015
ePub File Size:15.85 MB
PDF File Size:18.35 MB
Distribution:Free* [*Register to download]
Uploaded by: DAHLIA

This manual, the System Administration Guide: Volume 1, describes how Use the installjsdb script (located in $SYBASE/ASE_0/scripts) to install the. administrator s guide to pdf administrator s guide to sybase ase 15 These guides contain overviews of features and instructions for performing administrative. Administrator's Guide To Sybase ASE 15 (Wordware Applications Library) PDF, please follow the hyperlink below and download the ebook or have accessibility .

Code and output are presented separately from the regular paragraph. Disclaimer Some of this material is based upon a prereleased version of ASE Some of the details, syntax, and output of some of the commands and procedures may differ slightly from the General Availability GA release of ASE While the authors have attempted to ensure the screen shots, syntax, and output reflect the GA release of ASE 15, it is possible the book may contain some information from the prereleased version of ASE 15, which may or may not be materially different from the GA release of ASE Chapter 1: This observation applies to relational database management systems as well.

Historically, databases have revolved around structured data and how it is managed. The database administrator must now look beyond managing structured data and must now consider managing information. What is the difference between data and information? Data is simply the atomic component of information, whereas information is taking the data and making it mean something.

As we begin to open our silos and release the data within, that data can then become useful information to everyone in our individual galaxies. What does this mean to the database administrator? It means supporting more complex queries for greater flexibility and operational scalability.

It also means looking beyond our previous ideals of data storage and broadening our concepts to the possibilities of larger amounts of data and faster access. Additionally, our journey will cover a few of the recent pre-ASE 15 enhancements and explore how they enhance and expand the ASE product. Database administrators are given the responsibility of balancing the responsiveness of systems and the availability of data. ASE 15 concurrently assists the database administrator with both of these often conflicting objectives.

Features such as automatically logged execution metrics assist the database administrator in lowering the cost of development while increasing the ability to address more complex data. This chapter gives a brief overview of all of the new features of ASE System Maintenance Improvements To achieve the goals of simplifying the maintenance of ASE as well as enhancing the performance of query processing, several system maintenance enhancements are introduced in the ASE 15 release.

Included in these changes is the ability to automatically update statistics using the datachange function in conjunction with Job Scheduler, the expansion of row-level locking to system tables, and the introduction of partition-based utilities and maintenance tools. The system administration enhancements in ASE 15 are designed to lower the maintenance requirements of ASE, enabling the database administrator to target maintenance efforts on areas of ASE that truly need attention.

Several of the changes allow the database administrator to reduce or altogether close the regularly scheduled maintenance windows where full system maintenance is performed. In Chapter 2, we discuss the following pre-ASE 15 topics: Today, systems demand access to more data, and with increasing velocity. These goals are often contradictory. The introduction of Sybase ASE 15 semantic partitions simultaneously assists with each of these goals through the physical separation of data into partitions.

The storage of current and historic data in the same database adds to the data management complexities already inherent in most environments. Semantic partitions can decrease the difficulty of managing these complexities. Semantic partitions provide a mechanism for allowing access to this data through the same interface, with no extraneous processing modifications to retrieve archived or historical data. Semantic partitions also introduce partition elimination.

With semantic partitions, the optimizer is able to choose which partitions are necessary to resolve the query and therefore eliminate unnecessary data access. The concept of data partitions is not new to Sybase ASE; however, the concept of semantic partitions is new. Semantic partitions allow the database administrator to maintain control over the placement of partitioned data and indexes within the database. This ability was not present in prior releases of Sybase ASE.

Chapter 3 elaborates on the advantages provided by semantic partitions. The chapter specifies the differences between partition types as well as the new terminology introduced in support of this new functionality. Scrollable cursors can also ease or speed the development process by replacing supplemental middleware or client tools used to manipulate a cached result set.

Chapter 4 describes how to create a scrollable cursor, explains how to manipulate a scrollable cursor, and discusses the global variables associated with a scrollable cursor. Cursor sensitivity also allows for a cursor performance benefit, which is explained within this chapter.

These changes are intended to accomplish the following objectives: By simply running existing queries through the new Query Optimizer, the performance can be improved. Additionally, new optimization goals are explored in conjunction with the optimization time limitations. These time limitations will provide the database administrator the ability to specify the percentage of time the Query Optimizer is allowed to spend on query optimization. Detection and Resolution of Performance Issues in Queries An ASE 15 goal is to ease the monitoring and diagnostic efforts required by the database administrator to scrutinize query performance.

To accomplish these goals in ASE 15, the Query Optimizer and optimizer toolset have undergone numerous changes to accommodate the demand for simplified detection and resolution of problems. A Chapter 1: Exploring the Sybase Galaxy 7 new set of optimizer diagnostic tools for the database administrator is included in this release of ASE. Chapter 6 discusses how to enable these new diagnostics. This chapter also defines the diagnostics and offers insight into how the database administrator can use the new diagnostics to detect query-level problems.

A specific problem resolution slant involving diagnostic examples with use of the new ASE 15 features, most specifically semantic partitions, is represented through example. Computed Columns In accordance with the Sybase road map to provide operational excellence within the database, ASE 15 introduces computed columns.

The implementation of computed columns affords the database administrator the opportunity to ease development costs and provide a foundation to offer increased data velocity. The utilization of computed columns can reduce TCO by simplifying the application development effort. The simplification is accomplished by the placement of the computational burden on the server as opposed to within the client layer. This enhancement is especially applicable to the handling of unstructured data, such as XML documents.

Chapter 7 provides the technical details on the implementation of computed columns. The chapter outlines the syntax to implement computed columns and includes several examples. Materialization and the deterministic properties of computed columns are also explained. Functional Indexes Sybase offers computed column indexes and function-based indexes to maximize the scalability and performance capabilities of Sybase ASE. These new index types allow Sybase ASE to maintain indexes based on derived data.

This enhancement further emphasizes the data velocity initiatives incorporated into the release of ASE Exploring the Sybase Galaxy Function-based indexes provide the database administrator an additional tool to improve the performance of application logic while reducing TCO. As a DBA, when faced with optimization scenarios for queries issued from the application, previous solutions were to modify the application code or upgrade the underlying hardware.

ASE 15 provides the ability to optimize application code with the addition of function-based indexes to the database. These performance-enhancing indexes can be applied without the impact of application maintenance or hardware upgrades. This provides greater flexibility to the database administrator for managing data explosion.

Chapter 8 provides details on how to implement functional indexes. The chapter provides guidelines on when to implement these new features as well as provides an analysis of the impact and limitations.

Capturing Query Processing Metrics As database administrators, we are often asked to scrutinize the performance of queries. The Query Processing Metrics capture process provides a mechanism to maintain a query baseline with minimal setup or maintenance effort. In Chapter 9 we demonstrate the setup and value of the Query Processing Metrics capture process as well as specifically identify what and where information is maintained by the metrics capture process.

This new feature provides database administrators and developers a tool to help visualize query plans for the purpose of quick and easy identification of performance issues. Chapter 10 provides instructions on how to set up and launch the Plan Viewer. SySAM 2. The components of the Sybase Software Asset Management are explained, as well as the various setup options, evaluation licenses, and grace periods.

This chapter provides an overview of the server installation process, using three distinctly different installation methods. With each method, server installation is covered in an easy-to-follow step-by-step manner. As database administrators, the authors found very little information about these features outside of the Sybase-provided manuals and web-based seminars.

The pre features that have been included in this book are flexible, fascinating, and handy tools. Not only are these features useful, but they set the groundwork for future expansion toward self-management and scalability in managing data explosion and very large database VLDB growth.

Multiple tempdb Databases The use of multiple tempdb databases was first made available in the Until now, little has been published on the use of multiple temporary databases.

Chapter 13 offers insight to organizations debating the use of multiple tempdb databases and explains the steps that are needed for implementation. Additionally, the chapter discusses the impact of multiple tempdb databases on several of the ASE 15 new features. While there are a few known publications on this feature, we decided to incorporate the MDA tables into this 15 book to provide another resource on MDA table application.

In Chapter 14, the new MDA table and column additions are identified. The MDA tables Chapter 1: Exploring the Sybase Galaxy 11 can supplement or replace tools designed to monitor ASE at the server, database, and session levels.

Additionally, an explanation of how to install and enable Java in the database is presented. The intent of this appendix is to enhance the learning experience of the Sybase ASE 15 material presented in this book. The general Sybase ASE material is based on actual test questions from previous tests. Exploring the Sybase Galaxy 3, 2, 1, Contact!

It is a new and exciting time in the universe of database technology. The use of the database will broaden to handle the new challenges of not only data management, but information management.

The future of information management is here today. Chapter 2: System Maintenance Improvements 13 Chapter 2 System Maintenance Improvements For a database administrator, system maintenance can be one way to separate the wheat from the chaff.

Administrator's Guide to Sybase ASE 15

As a rule of thumb, a good database administrator should spend less time fixing server issues and more time preventing them. With the release of ASE 15, Sybase has added new features to give the database administrator a helping hand.

The new features can be implemented to not only help the database administrator, but to perform certain tasks for the database administrator. The new features will assist database administrators in preparing their systems for next-generation platforms. These features will also enable ASE to handle very large, data-intensive environments. This chapter focuses on the system maintenance improvements designed to help all database administrators, especially those pertaining to VLDB installations.

Recent Pre-ASE 15 Improvements As mentioned in Chapter 1, Sybase has taken steps toward automating and streamlining system administration and server maintenance tasks. Listing these pre-ASE 15 enhancements, we have: System Maintenance Improvements tempdb, native data encryption, automatic database expansion, and the Job Scheduler feature. Multiple tempdb The multiple tempdb capability was introduced in ASE The enhancement helps to eliminate a long-standing point of contention within the ASE architecture.

A prudent database administrator can create a privileged login bound to a user-defined tempdb. From this user-defined tempdb, the privileged user can perform maintenance on the system tempdb in the event the system tempdb experiences a log full problem.

For now, native data encryption exists for ASE The following items are a few of the highlights of the native data encryption feature: The encryption can be verified with the dbcc page command: System Maintenance Improvements 15 dbcc page dbid, pageno,[printopt [,cache [,logical [,cachename]]]] dbcc traceon go dbcc page 5,,1 -- specify 1 as the third option to dump the contents of the page.

This can be verified with the dbcc log command: Grant these roles to two or more different privileged users. This feature is used to automatically increase database and device sizes. In order to accomplish the resize, the auto-expand feature uses administrator-defined thresholds to determine when the expansion will occur.

Additionally, 93 system procedures are added to the sybsystemprocs database by the installdbextend script. The procedure can be used to provide a listing of the syntax options, which are included here for reference: The setup of the action and definition of the threshold is demonstrated in the following example, where the logsegment of database Properties is set up to extend by 50 MB Chapter 2: System Maintenance Improvements 17 the action when the logsegment reaches 5 MB the threshold of remaining freespace.

Space left: The above example demonstrates where the database is mapped to a device on which the logsegment has space available to expand. The output from the errorlog indicates the device logspace1 had free space remaining on which to expand. Use the automatic database expansion feature of ASE with caution. Automatically expanding a database is not always the best solution for dealing with space utilization. As opposed to automatic expansion of a database, often data may need to be archived or deleted from a system, or perhaps a long-running transaction needs to be flushed from ASE.

The enablement of automatic expansion can allow for databases to become inconsistent in size between production, development, and test environments. Many database administrators support environments where production data is cascaded to development or test servers.

Automatic expansion of the production database, for example, would create a waterfall effect of database resizing for these servers where data is duplicated from production to development or test regions via a dump and load process. Additionally, with a larger database, more time is needed to perform restore operations since all pages allocated to a database are recovered, regardless of the presence of data within 18 Chapter 2: System Maintenance Improvements the disk allocations.

Finally, for users of the dbcc checkstorage consistency checker, alteration of the dbccdb configuration may be necessary for databases where automatic expansion has occurred. In introducing this feature, Sybase took the first steps toward offering automatic administration from within a Sybase product. Job Scheduler allows an administrator to create and schedule jobs, as well as share jobs and schedules. This means one database administrator can create a job and other database administrators can then schedule and run that job on another server.

Jobs can also be created from a predefined template. Job Scheduler can also be used as a tool for messaging. It captures the results and output of jobs and records that information in log tables. This data can then be queried and used for creating meaningful messages. In addition, Job Scheduler keeps a history of scheduled jobs. Job Scheduler is self-monitoring and removes outdated, unnecessary history records.

By doing this, a limit can be kept on the size of the history table. Basic Components Job Scheduler has two main functional components: The JS Agent then carries out job execution. System Maintenance Improvements 19 With the Job Scheduler, it is important to note the scheduler is backwardly compatible between versions of ASE, to a degree. For example, basic maintenance jobs such as dbcc checkstorage launched against a target database by the Job Scheduler can be expected to operate against a Some of the newer job templates will not work against a You read correctly.

Key tables in all databases will be row locked.

However, it is important to note this feature is only partially implemented in the ASE 15 GA release. For the ASE 15 GA release, modifications to any system catalog will continue to use exclusive table locks, similar to the behavior exhibited by pre-ASE 15 systems.

This was a deliberate multi-phased release.

Stay ahead with the world's most comprehensive technology and business learning platform.

Since the catalog and catalog index changes were required to support DOL locking, the DOL locking schema changes are implemented as part of the 15 upgrade process. IR or upgrade. Once this handy new feature is fully implemented, it will add grace and ease to server maintenance and administration tasks by allowing similar operations, such as DDL execution, to occur simultaneously.

By allowing increased concurrency to system catalogs, maintenance operations will no longer have contention on the system catalogs. Another advantage of row locked system catalogs is the reduction of lock contention for DDL operations, allowing higher throughput for applications, especially those applications where 20 Chapter 2: System Maintenance Improvements tempdb usage is high.

This advantage is accomplished by easing and even eliminating lock contention in the temporary database s. Blocking and deadlocks due to stored procedure renormalization are largely eliminated. Less contention means less waiting, which in turn means improved application performance.

Multiple tempdbs are still a good idea to relieve log and cache contention. First, the statistics can be updated at the partition level in ASE Additionally, Sybase introduces the datachange function, which allows the database administrator to measure the amount of change to the data underlying the collected statistics at the table, index, column, and partition level.

Based on the values returned by the datachange function, database administrators can make update statistics operations optional, as the datachange function provides a basis to measure the amount of changed data at a specified level.

Updates to Partition Statistics Prior to ASE 15, update statistics operations were only possible on the columns or indexes of a table in their entirety.

Often, the maintenance windows are too minimal to perform update statistics on tables. Some database administrators were forced to reduce the frequency of update statistics operations, or possibly compromise the accuracy of update statistics operations with statistics sampling.

With the introduction of semantic partitions in ASE 15, database administrators can now update statistics at the partition level, offering an opportunity to split the update statistics operations for large objects between multiple maintenance windows. System Maintenance Improvements 21 Syntax: The above syntax indicates updates to partition-level statistics is accomplished with the update statistics table command. Prior to ASE 15, the rationale behind update partition statistics was to get a better picture of partition skew for parallel query optimization.

In other words, the more pronounced the skew, the less likely the optimizer would choose a parallel query plan. With semantic partitioning, data skew is virtually guaranteed as the data is partitioned by value and the values are not likely to be evenly distributed. Round-robin partitions, however, likely are still treated the same. This example updates statistics on the data partition part1. For partition-level update statistics, Adaptive Server creates histograms for each major attribute of the local indexes for the specified partition and creates densities for the composite attributes.

Adaptive Server also creates histograms for all non-indexed columns. As discussed in the earlier section covering the Job Scheduler, the control of update statistics jobs can be managed from within ASE. The goal of Automatic Update Statistics is to automatically determine when to run update statistics and minimize the impact on ASE performance.

Automatic Update Statistics allows users to determine the objects, schedules, and datachange thresholds to automate the process. In other words, it allows the database administrator to choose the optimum time to run update statistics, and only run update statistics as required.

With ASE 15, it is possible for the database administrator to run update stats on systems where this maintenance effort was otherwise infeasible due to time constraints, especially when combining the datachange feature with the ability to update stats at the partition level, and the statistics sampling concept introduced in ASE Datachange The datachange function is the key to identifying whether update statistics operations on a table, index, partition, or column is necessary.

The datachange function returns a percentage value to indicate how much the data has changed within a table, partition, index, or column. As the data changes, the value returned will increase.

System Maintenance Improvements 23 Examples: Measure the data changed at the table level: These values are possible due to the way the datachange function measures updates. Updates are measured as a delete and an insert against the measured object. Thus, a count of 2 is contributed to the datachange counter for updates.

For inserts and deletes, the count is incremented by 1 for each single row affected. First, consider how the datachange value is calculated for updates using the table data described below. Information about the identification table: System Maintenance Improvements Step 1: Update statistics on the identification column of the authors table: Verify the datachange function reports no data changed to the identification column of the authors table.

The datachange value should report 0. Run the datachange function against the identification column of the authors table: Since this operation was an update, the data changes are counted twice, therefore the datachange value is computed by ASE as follows: System Maintenance Improvements 25 Note: For this example with datachange, a bulk update is employed, which will effectively be processed as a deferred update by ASE.

Had the example employed a row by row update, perhaps through a cursor, the doubling of the counted changes shown in this example may not have occurred. Data reset to the original data, as displayed on page Step 1: Update the statistics on the identification column of the authors table: Delete 30, rows from the authors table, reducing the rowcount from , to 80, So why is datachange reporting System Maintenance Improvements Because ASE measures the change counts against the current rowcount in the table, and not the rowcount prior to the delete operation.

The same measurement principle applies for insert operations as demonstrated in the next example. Evaluate the datachange calculation: Insert 30, rows into the authors table, increasing the rowcount from , to , Step 4: System Maintenance Improvements 27 Evaluate the datachange calculation: Two conclusions can be drawn from this example.

First, the datachange function evaluates the percentage of data changed based upon the current rowcount of the table. Second, deletes have a greater impact than inserts on the datachange calculation as demonstrated in this example. The datachange function measures the amount of data that has changed at the column, table, or partition level where statistics are maintained. The value reported by datachange is useful for determining if additional runs of the update statistics command are necessary to synchronize data statistics with the actual data.

In other words, scrutiny of the datachange function can determine the need to run the update statistics process at the table, column, index, or partition level. Use the datachange function prior to the launch of any update statistics command to determine whether the update statistics command is necessary. Use of the datachange function provides an opportunity for the database administrator to minimize or eliminate one of the traditionally largest maintenance windows for Sybase ASE databases.

Evaluation of the datachange column prior to the issuance of any update statistics command is presented with the following: System Maintenance Improvements select "datachange: Datachange, Semantic Partitions, and Maintenance Schedules The datachange function in combination with semantic partitions will provide database administrators the ability to minimize the maintenance windows for large tables on VLDB systems.

In some cases, update statistics may become possible on VLDB systems where they otherwise were infeasible to perform based upon the size of the maintenance windows in comparison to the allotted time to perform update statistics operations on non-semantically partitioned tables. Given a very large table, semantic partitions provide a basis to divide the update statistics operations into multiple small batches that consume far less time than update statistics at the table level.

Consider the following scenario: For a GB database, update statistics at the table level consumes 12 hours on a pre-ASE 15 system.

Of this time, the majority is spent on update statistics operations of three very large tables, each with approximately 30 GB of data. Here is the ASE 15 solution: The largest tables are semantically partitioned by range, list, or hash each into five partitions, resulting in more manageable portions of these tables at approximately 6 GB in size. As opposed to a hour window on one day, perform update statistics operations on a subset of each table five days a week, but employ the datachange function to determine if update statistics are valid and require an update.

Additionally, perform dbccs and reorg operations at the partition level on the largest tables in order to spread the traditional large maintenance windows for these tables to several shorter maintenance windows. The following tables show a comparison of a traditional maintenance window with that of an ASE 15 maintenance window where semantic partitions and maintenance are used.

Stats Upd. Stats 6: System Maintenance Improvements Alternate Maintenance Schedule with Semantic Partitions The following schedule is to be repeated weekly, with the following rotations: Very often, only a portion of the data within various tables in an ASE database changes. Traditionally, update statistics could only target the table as a whole to match statistics to the actual table data. System Maintenance Improvements 31 Local Indexes With local indexes, database administrators can create indexes that are local to specific partitions of a table.

Local indexes can be clustered or nonclustered. Additionally, local indexes can be on the classic round-robin style partition as well as on semantic partitions. Further, it is possible to mix partitioned local and unpartitioned global indexes on partitioned tables.

As a rule, an unpartitioned table can have only unpartitioned indexes, so this topic is only relevant to partitioned tables in ASE 15 where the number of partitions is greater than one. This chapter focuses on the basics of local indexes. More detailed information on local indexes can be found in Chapter 3.

Benefits The main benefit of local indexes is the ability to perform partitionspecific maintenance at the local index level. With local indexes, it is possible to localize reorg, dbcc, and update statistics operations to a specific partition.

This aspect of local indexes allows for maintenance to either be minimized or spread across multiple smaller maintenance windows as opposed to one large index maintenance window. The additional syntax for create index in ASE 15 adds the following clause to the end of the create index statement: Create local, nonclustered index on the authors table, on the named partitions of batch1, batch2, batch3, and batch4: System Maintenance Improvements Create local, nonclustered index on the authors table, provide the partition names for the third index partition, and accept the systemgenerated index partition for the first, second, and fourth index partition for a four-way partition table: It is not possible to have more than one clustered index on a table.

It is also not possible to have a clustered global index and a clustered local index on the same table. The output will also indicate the index partition names, which can be useful as some of the partition-specific dbcc operations, such as dbcc indexalloc and dbcc checkindex, require the index partition ID as an input parameter. Of these three indexes, two are local indexes. The local index partition IDs are displayed as the last portion of output from this system procedure. Maintenance can be directed toward a single partition or cycle through all partitions in a partitioned table.

Partition maintenance has also been integrated with the Job Scheduler. Semantic partitioning can improve performance and help manage data as discussed in this section. In particular, semantic partitions can help manage large tables and indexes by dividing them into smaller, more manageable pieces.

Additionally, semantic partitions are the building blocks for parallel processing, which can significantly improve performance. In this section, the partition-level utilities and configuration parameters are discussed in the following order: System Maintenance Improvements Partition Configuration Parameters In order to support the new partition-level utilities, two new configuration parameters have been added to the server configuration.

These parameters are: The default is Open partitions on ASE: The 'open partitions' configuration parameter is currently set to By default, all tables are partition type round-robin.

This configuration option is only relevant to ASE when the number of online engines is greater than one.

System Maintenance Improvements 35 Utility Benefits from Semantic Partitions Adaptive Server 15 supports horizontal partitioning, wherein a collection of table rows are distributed among multiple disk devices. In addition, ASE 15 supports semantic partitioning, wherein valuebased partitioning schemes, such as range and hash, partition data according to value.

Administrator's Guide to Sybase ASE 15

Significant benefits of semantic partitions include: The improvements are a result of partition-specific maintenance capabilities with the enhancements of several utilities to perform system administration and maintenance tasks at the partition level.

Partition-specific Database Consistency Checks dbccs For ASE 15, a portion of the database consistency checks are enhanced with the ability to check consistency at the partition level for semantically partitioned tables.

The partition-enabled dbcc commands are dbcc checktable, dbcc checkindex, dbcc indexalloc, and dbcc tablealloc. System Maintenance Improvements Example: Checking partition 'batch1' partition ID of table 'authors'. The logical page size of this table is bytes. The total number of data pages in partition 'batch1' partition ID is Partition 'batch1' partition ID has data rows.

DBCC execution completed. Table has data rows. Index has leaf rids. The total number of data pages in this table is System Maintenance Improvements 37 dbcc indexalloc Syntax The dbcc indexalloc command can perform analysis on a specific index partition. The reorg rebuild command can also be run against single index partitions. Benefits of Reorg Partitions Traditionally, reorg operations on the largest of tables is a very timeconsuming operation for ASE servers. Additionally, reorg operations have only been permitted to operate at the table or index level.

Reorg at the partition level is a new feature for ASE Using reorg at the partition level provides the database administrator a mechanism to divide the reorg tasks for very large tables to multiple maintenance windows. For ASE 15 GA, reorg rebuild works at the table level, even when passed a partition name as an input parameter.

The ability to perform reorg rebuild at the partition level may be available in a future IR release of ASE Remember for ASE 15 GA, reorg rebuild on a specific partition performs the reorg operation on the table as a whole.

Changes to the bcp Utility The bcp utility is enhanced for ASE 15 to support bcp operations at the semantic partition level. This is not the only improvement that has occurred for the bcp utility. The capability of using the bcp utility on computed columns has also been included.

These enhancements address pre ASE limitations of the bcp utility. Parallel bcp supports partitions in both slow and fast modes. Bulk copy data out from all partitions or a subset of partitions Bulk copy data out to a single file or partition-specific files Bulk copy data in from a single file, multiple files, or partition-specific files Bulk copy data in parallel to specific partitions The new syntax for bcp is in bold: This number ranges from 1 to the total number of partitions in the table.

This parameter can be used for both bcp out and bcp in. System Maintenance Improvements 41 t filename — Specifies a comma-delimited set of one or more datafiles. Can be specified for both bcp in and bcp out.

If this is not specified, bcp automatically determines the number of connections. Copies the Rental table to the rentals. Rental out rentals. Rental in rentals. Rental partition p2, p3, p4 out rentals. Rental in p2. Rental out Because a name is not specified in the command, the file is named the same as the partition with a. For example, if the table consists of the partitions p1, p2, p3, and p4, bcp creates four output datafiles: If the table is not partitioned, the datafile is named after the single default partition that comprises the table.

The Tenants table below is non-partitioned, and a bcp out with the following syntax will result in one bcp file, named in conjunction with the single partition name for this table: Tenants out 42 Chapter 2: System Maintenance Improvements The following command specifies a subset of the partitions for the Rental table. Since the command does not specify an output file but does specify a subset of the partitions for the Rental table, bcp creates two datafiles: Rental partition p3, p4 out Usage t For bcp out, if you specify both the partition pname clause and filename clause, either: If you specify partitions, you must include a one-to-one mapping between the partition names and the datafiles.

When you bcp data into a table, the input file can contain data for one or more partitions. Clients can send data across parallel connections, and each connection is a dedicated channel for a set of one or more partitions. If the bcp client has partition-level information to map files to partitions, bcp can initiate dedicated connections for each partition into which data is being copied. Client-side Parallelism The bcp client determines the number of connections to the server.

For maximum parallelism, this includes a separate connection for each partition to the file mapping provided as parameters to the bcp command. The maxconn value indicates the maximum number of connections the bcp client is allowed to set up.

Without this parameter, the Chapter 2: System Maintenance Improvements 43 bcp client automatically chooses the number of connections.

One connection per partition is ideal, but if that is not possible, bcp will multiplex batches for more than one partition across a connection. Truncate partitions can be performed on the default round-robin style partition in addition to tables semantically partitioned. As with truncations at the table level, pages are deallocated with truncate, but only at the partition level. Similar to truncate table, using the partition argument does not log the deletes one row at a time, and is much faster than a delete with a where clause to delete data from a single partition.

Truncate table at the partition level can only truncate one partition at a time. The syntax is: Prior to truncate: System Maintenance Improvements p2 p3 p4 1 Note that after a truncate partition of the hash partitioned table, the database administrator will need to consider partition rebalancing. Looking Forward — Drop Partition Note: Since drop partition is not available in the GA release of ASE 15, use truncate partition where drop partition would otherwise be used.

In the future, the drop partition command may be included in ASE. If so, some potentially interesting scenarios could occur. For example, if a database administrator drops a partition and then later needs to restore the data, re-adding the partition may get interesting, particularly for range partitions. Think of what happens if you have a semantic partitioned table by range Very Large Storage System ASE 15 is ready for very large data-intensive environments.

For ASE 15, it is possible to create up to 2,,, disk devices. Each of these devices can be up to 4 terabytes in size. Pre-ASE However, the disk init command will still accept the vdevno parameter provided the following conditions are met: So, if the active vdevno numbers utilized are as follows: Large Identifiers There are new limits for the length of object names and identifiers: The new large identifier applies to most user-defined identifiers including table name, column name, index name, and so on.

Due to the expanded limits, some system catalogs and built-in functions have been expanded. System Maintenance Improvements For the temporary table, the large identifier can have a maximum of bytes since the suffix for the temporary table is 17 bytes. Below are lists of identifiers, system catalogs, and built-in functions that are affected by the new limits.

The pre-ASE 15 restriction was 30 bytes. The three datatypes associated with Unicode support are: Additionlly, Unicode data allows for conversion between datatypes, which can be useful for foreign language-based installations. Datatype Range unsigned smallint 0 to 65, unsigned int 0 to 4,,, unsigned bigint 0 to 18,,,,,, For unsigned datatypes, it is valid to also use unsigned tinyint, as this is syntactically supported.

However, unsigned tinyint will function as a standard tinyint. The range for each of the unsigned datatypes doubles on the positive side of zero since it is not possible to declare a negative number with unsigned integer variables. The storage size for each of the unsigned datatypes remains the same as the signed version of the corresponding datatype.

System Maintenance Improvements t 49 hextobigint — Converts large hex values to large integer values Syntax: A return of zero 0 indicates a dump tran is allowed. A non-zero return indicates a dump tran is not allowed. When a function is deprecated, it is not fully removed from ASE.

A deprecated function no longer functions in the way it was designed; instead, the functions will return only a zero. This deprecation, as opposed to full removal from ASE, keeps third-party applications many database administrators use from crashing due to references to invalid functions. It is always a good practice to thoroughly test all functions and keywords before migrating a production system and the underlying support software to a new database server release.

This is especially true for systems that employ custom system procedures that are based on Sybase system procedure code excerpts, or with many of the third-party tools used to administer ASE. Parameter Name Description default xml sortorder Defines the sort order used by the XML engine enable metrics capture Instructs ASE to capture QP Metrics at the server level enable semantic partitioning Enables the separately licensed feature of semantic partitions in ASE max repartition degree Specifies the maximum amount of dynamic repartitioning that ASE can perform max resource granularity Specifies a maximum amount of system resources that a single query can use in ASE.

At this time, the effect of this parameter is only felt by the procedure cache. Additionally, the values specified serve as an optimization guide, and not a hard ceiling. The global variable setrowcount is introduced to provide more useful information to the user. From Chapter 2, one can gain at least a basic understanding of the progress made in system administration with the ASE 15 release. In addition, the examples illustrate the power of many of the new maintenance techniques made possible with the introduction of semantic partitions, which are covered in detail in Chapter 3.

Chapter 3: The last page contention included last page lock contention. This was referred to as table slicing or equi-partitioning, whereby the table was divided into equal-sized parts or slices. Sybase later introduced row-level locking in ASE Until ASE 15, index partitioning was not even addressed. As data volumes grow because of retention requirements, traditional online transaction processing OLTP databases are fast 54 Chapter 3: Large data tables usually need large amounts of data processing resources to resolve scan type queries.

The time required for maintenance activities on large tables increases with the volume of data in tables. Shrinking maintenance windows affect DBA activities and their ability to effectively manage the databases and the database environment. These concepts are detailed later in this chapter. The fewer the levels of index traversal, the faster the query response. Although global indexes may be defined on a table, parallel index scans will now be possible if a local index is defined on the corresponding data partition.

In addition to core partitioning concepts, the strategies employed using partitions can help select, delete, update, and insert commands on the targeted data by selectively processing the data in smaller chunks. ASE 15 partitioning is a direct answer to these issues. Partitioning allows the DBA to perform maintenance tasks at the partition level instead of always at the full table level. ASE 15 partitioning also has the added benefit of reducing the total cost of ownership.

Partitioning is a data placement strategy whereby large sets of data are broken down into manageable chunks or partitions. Data can be processed in multiple partitions simultaneously, achieving higher levels of performance and scalability. Similarly, DBA activities can be concurrently processed across one or more partitions, thereby increasing data availability and decreasing system downtime.

The goals of partitioning are often seen as twofold. First, it is meant to provide a method of spreading data that increases performance as well as addresses scalability. This was originally accomplished using striping with previous versions of ASE. The second goal is to manage data in such a manner as to allow for data exclusion when querying large portions of data that have similar data with differing demographics.

Product details

For example, if you sell products to five different regions you might want to be able to query each region as if the data were located on separate disk devices. By partitioning data with similar meaning or semantics such as region, zip code, date of access , the access paths for the required search 56 Chapter 3: Benefits of Partitioning When Sybase first introduced partitioning, there were two immediate benefits.

If a table did not have a clustered index, all inserted rows were added to the end of the page chain. This hot spot was a major performance bottleneck for applications where large amounts of data were being added to a table.

The partitioning addressed the hot spot since ASE would randomly choose a partition for each transaction. If any rows were inserted by the transaction, ASE would place them on the assigned partition. This type of partitioning is called non-semantic partitioning.

Second, the partitioning provided the optimizer with the ability to determine how many parallel worker processes could be considered for use when performing a table scan on a partitioned table.

This type of partitioning is called horizontal partitioning. With ASE 15, partitioning has been extended to include definable partitioning strategies. This vertical partitioning is based on several industry-accepted partitioning methods.

This is a significant benefit for users who have very large tables where table scans are a major performance issue. When partitioning is combined with parallel worker processes and segment placement, high degrees of performance improvement are possible. Prior to Sybase ASE 15, data skew has been an issue. The provided partition strategies will also address the issue of data skew. The problem with data skew previously was that as the equi-partitions became unbalanced, the effectiveness of parallel queries became much less — and eventually not advisable.

In ASE 15 with semantic partitioning, the optimizer is able to use the semantics of the data values used in the partitioning keys to determine more appropriate parallel query algorithms, effectively eliminating data skew as a concern.

This is important as the very semantics of the data is likely to lead to skew. For example, if partitioning customers by state, the partitions are likely going to be very skewed as the population of more populous states such as California will be larger than small or sparsely populated states such as Idaho. Although partitions are not required to be specified at table creation, the table will be created with one partition if none are specified.

It only becomes required if you decide to use the new semantic partitioning. As data ages, fewer queries are directed at the aged data. As the data ages to the point where it is no longer useful, it has to be purged.

In most cases, purging of aged data can be a resource and performance problem. By partitioning data appropriately, new functionality within ASE 15 can ease the maintenance associated with aged data. Truncating partitions is one such option for removing aged data easily.

Vertical partitioning of data and indexes is a major step forward for Sybase. Vertical partitioning addresses many performance issues associated with very large tables. In data warehousing terminology, fact tables will benefit from partitioning. The dimensions on which fact tables are built lend themselves to data partitioning.

By combining partition segmentation with data and index segmentation, DSS applications should be able to achieve acceptable performance levels. Partition Terminology Sybase has introduced several new terms into our partitioning vocabulary. Many of the terms are known in the industry. However, in order to understand how partitioning is enhanced, an understanding of the underlying terminology is necessary.

Semantic partition — A method of dividing a domain according to the principles of what the data means. Semantic Partitions and Very Large Database VLDB Support Intra-operator parallelism — A technique used by database management systems to partition the data workload across multiple processing units to allow for parallelization of the query resolution. Data partition — The basic building block for an ASE 15 table.

All tables, whether defined with one or multiple partitions, are composed of at least one data partition. With ASE 15, if partitioning is not explicitly defined, the first allocation of table is defaulted to be partition 1. Index partition — A portion of an index that contains a subset of the index leaf pages. The root page for the index is located in the first extent allocated for the index.

Remember that you can define a particular segment where this will be allocated. This may be different for indexes on APL or DOL tables since there are some low-level differences in index structure and page allocation for these locking schemes.

In any case, the value of the root page is stored in the rootpage column of the syspartitions table. In pre-ASE 15, the page number for the root page was stored in the root column in the sysindexes tables. The index partition will have a unique partition ID in the syspartitions table.

A partitioned index cannot exist for a table that only has one partition. In the example below, note that the partition ID does not change given that the segment number is 1 for the table and its indexes.

Each table can have up to 31 columns that define the partition key. Sybase currently recommends that the number of columns be limited to four or less. Partition keys with more than four columns increase the complexity associated with defining and managing the supporting partitions. When evaluating partition keys to determine which partition to use, ASE uses a vector method to Chapter 3: Semantic Partitions and Very Large Database VLDB Support 59 find the corresponding partition columns with datatype bit, text, or image; Java classes and computed columns are not allowed to participate in defining a partition key.

In order for a partition key to be effective, the columns should be found as part of a where clause in queries that have a high frequency of use or a high priority of use.

Partition bound value — The beginning or ending value of a range in a range-partitioned table. The beginning bound value of each subsequent partition has to be greater than the ending bound value of the preceding partition.

The following example shows two possible range combinations: However, as already explained, range partitions are defined with only an ending bound value. Hence, it is possible to add a new range partition at the top of the range. Beginning Bound Ending Bound Partition 1 0 Partition 2 or Beginning Bound Ending Bound Partition 1 a f Partition 2 g m Partition 3 n s Partition 4 t z Lower bound — In a range-partitioned table, this is the lowest value of the partition key that can be assigned to the applicable partition.

In the example of the partition bound value, it is shown as the beginning bound. The lower bound does not need to be defined on the first partition. If it is not specified, the lower bound is the lowest possible value for the partition key datatype s. Upper bound — In a range-partitioned table, this is the highest value of the partition key that can be assigned to the applicable partition. In the example of the partition bound value, it is shown as the ending bound.

The final partition can contain the keyword MAX, which indicates that all rows with a partition key value higher than the upper bound of the next-to-last partition are placed in this partition.

Equi-partition — In reference to multi-processor machines, equipartition is an algorithm that partitions a processor evenly for job 60 Chapter 3: In reference to data or index partitioning, it is a set of rows that exhibit equal distribution across the number of defined partitions. This characteristic is exhibited in pre-ASE 15 partitioning. Global index — This is an index that references data across all partitions.

The index can be clustered or nonclustered. This type of index is not new to ASE The physical location of the index can be on any partition — independent of it being clustered or nonclustered. Global clustered partitioned and non-partitioned indexes can be created on round-robin partitioned tables. Local index — This index references data on a specific partition. This type of index is new to ASE The index is physically located on the partition for which it is defined. Clustered indexes are always created as local indexes on range, hash, and list partitioned tables.

Clustered indexes can be created as local on round-robin partitioned tables. Prefixed partitioned index — A prefixed partitioned index is one where the first column of the index definition is the same column as the first column of the partition key. The ID is stored in the syspartitions table as the partitionid column. In addition to reducing the page lock contention, the new partitioning schemes extend the data access paths by defining partitions based on application needs.

Also, ASE 15 partitions, for the most part, can be defined so that they are self contained with their local indexes. Therefore, a search operation can be performed on the indexed portion and thus a former need to split large tables into many small tables is no longer necessary. It is evident that splitting a database with large tables into many databases with small tables exacerbates database management problems.

If you split a GB database into 50 databases each of 10 GB, you would be wasting GB additional disk space to perform clustered index maintenance activities because of the aforementioned space requirement.

On the other hand, if 50 partitions of 10 GB each were to be used, you need 62 Chapter 3: ASE 15 semantic partitioning allows you to reap all of the benefits of multiple databases while reducing the requirement for large amounts of reserved free space.

Another issue is that query processing problems arise as table sizes increase. When a large table is split into many small tables and placed across several databases in the same or different dataservers, join query performance becomes a premium. With ASE 15 partitioning, if the same large table is split into many meaningful partitions, joins may only be local to the table partition. If parallel access to partitions can be achieved, the response times may even exceed client expectations.

Semantic partitioning is the answer to the issue of ever exploding data volume. Semantic partitions in ASE 15 will have some meaning attached to each slice. The industry standard partitioning in ASE 15 is not just intended to manage space, but caters to the customer needs for faster access to the data in an ever increasing data volume environment.

In a very large database with round-the-clock data processing scheduled against large tables, database management activities like dbccs, update statistics, table reorgs, bcps, or table truncation can be time consuming and often result in either application downtime or performance degradation.

Sybase has now extended the functionality of partitioning to include maintenance operations that in earlier releases were only possible at the table level. This increases the application availability, makes DBA tasks more efficient, and decreases total cost of ownership TCO. Semantic partitioning addresses these issues as each of these operations can now be executed at the partition level or at the table level.

See Business Case 1 in Appendix B for an example of when to use partitioning. Learn more. Product details Series: Wordware Applications Library Paperback: English ISBN Try the site edition and experience these great reading features: Share your thoughts with other customers.

Write a customer review. Top Reviews Most recent Top Reviews. There was a problem filtering reviews right now. Please try again later. Paperback Verified download. I find it very helpful to have this book always with me rather than having to go through the Sybae manuals. This is very helpful for me. One person found this helpful. Not a good book at all.

I expected a book like some of the other manuals out there for SQL and Oracle but this was not the case.

The official new features guide to Sybase ASE 15

Sybase needs to start offering the ability to get additional information to support their environment. I can get better manuals about MySQL, Postgres and many other database platforms but Sybase never puts out a book of their own. See both reviews. Pages with related products. See and discover other items: There's a problem loading this menu right now.

Learn more about site Prime. Get fast, free shipping with site Prime. Back to top.A local clustered index must be built on a table that is equi-partitioned. I appreciate how you are able to keep me motivated, and still find time for our boys and your contributions to this book.

With ASE 15, if partitioning is not explicitly defined, the first allocation of table is defaulted to be partition 1. The value reported by datachange is useful for determining if additional runs of the update statistics command are necessary to synchronize data statistics with the actual data.

However, as already explained, range partitions are defined with only an ending bound value. This configuration option is only relevant to ASE when the number of online engines is greater than one.

Special thanks go to Carol and Karen for sacrificing your family time so we could complete this book.