Last updated 12/11/2004
The following descriptions are incomplete, and not all projects are listed. See full resume for details.
Jeffrey Benner, DB2 DBA - Projects
DB2 UDB Database Administrator
AIX/EEE
Involved in regular day to day administrative tasks, supporting developers, Production support, complete Database Design and Modeling for a Specialty Pharmacy Internal and External Data Marts. (Specialty Pharmacy handles very high unit cost and low volume special-needs pharmacy sales.)
Installed DB2 UDB 7.1 Fixpack 5 on AIX. Created new instances and databases. Worked with Unix team to upgrade AIX release level.
Tuned database and Database manager configuration for optimum performance. Experimented with changing bufferpool and tablespace page size to improve time taken by ETL to build data marts. Experimented with indexes, and employed Index Advisor and Visual Explain, to both improve user report performance and speed ETL run times. Employed REORGCHK, REORG TABLE and RUNSTATS to further performance goals. Developed new tools for performance metrics data gathering. Analyzed effects of iterative changes on performance via these metrics.
Worked with developers to improve their report SQL (generated by Microstrategy 7i) through analysis of access paths. Supported developers in the development of very large SQL statements involving in some cases ten or more table joins with left outer joins, nested SQL, and other high performance features. Worked with them on indexes, database configuration, and SQL rewrites. Used db2audit to develop reports on kinds of SQL run on database.
Supported SQL included large joins, global temporary session tables, mass updates, left and full outer joins, nested queries, insert triggers, subqueries, common table expressions, materialized query tables (summary tables), mass updates, case expressions, high volume IMPORT INSERT and LOAD.
Worked heavily with data movement utilities IMPORT, LOAD, and EXPORT under high volume conditions.
Developed groups of VIEWs organized by multiple table schema which allow different sets of users to selectively access different subsets of data by different naming conventions, but allow all users access to the same underlying physical data. Supported this on the security level by developing GRANT scripts to allow only appropriate users access to certain VIEWs.
Developed new data model for Internal Data Mart. Developed specifications for ETL interface to new Internal Data Mart.
Developed and implemented BACKUP and RECOVERY strategy for Data Marts. Also designed and implemented database monitoring to alert DBAs via email to potential errors such as instance crash, log directory out of space, and tablespace containers out of space.
Supported and administered ETL interface between Specialty Pharmacy data marts and both Oracle Rdb database and main Prescription Benefit Management data warehouse.
Opened PMRs on multiple database problems including tablespace checksum errors, database crashes, and lost connection states. Supported 24/7 troubleshooting and problem resolution for the databases.
Responsible for mirroring Development database to Production to support development efforts. Supported Backup and recovery of development environments. Responsible for moving Development database objects to production.
Environment:
The Specialty data marts are comprised of four databases on four instances sharing a single machine. Production and development databases share 16 8 Gbyte disks with the four databases consuming a total of about 35 Gbytes of tablespace container space. Databases use SMS tablespaces defined with 16K, 8K and 4K pages.
IBM 7025 F80, 4-processor machine running with 8 Gbytes of physical memory. The F80 has 14 LVD SCSI physical disk drives, an assortment of both 9 Gbytes and 16 Gbytes, all mirrored.
DB2 UDB 7.1, AIX 4.3, Microstrategy 7i, Windows NT, Powerhouse.
ETL uses Korn/awk/sed script programming with DB2 command line processor (CLP) automation with FTP scripts for file transfer. cron for scheduling.
Solaris DB2 UDB Data Administrator
in Securities Lending Data Warehouse
DBA providing performance and tuning support and recommendations for a conversion of a formerly Sybase-hosted (Sybase version 11.9.2) Securities Lending datamart to DB2 UDB for Solaris.
The datamart, which had a variety of frontends including PowerBuilder, Weblogic, Passport and DB2 OS/390 interface, and supported ad hoc queries via Access, supports the analysis and management of lending of securities to trading areas for management of large security portfolios. Interfaces employed ODBC, Merant ODBC, DirectConnect and SQLink.
Temporary global (SESSION) tables were heavily used in SQL procedures ported from the Sybase environment. Summary (AST) tables were also used extensively. Jobs scheduled via Control-M were run which parsed mainframe ftp data input into temporary tables, which were then extracted to newly formatted intermediate data files. These files would then either be imported (preferred) or loaded into the data warehouse fact and dimension tables.
This team deployed in UDB DB2 version 7.2 fixpack 3 on hardware running Solaris 8. UAT was deployed on an Enterprise 10000, 4 processors, 400 MHz, and 6 GBytes of memory. The production instance was deployed on a Serengeti 12 processors, 750 MHz, 12 Gbytes of memory. I/O was managed via Storage Area Network (SAN). This site also uses Tivoli Storage Management archival software.
The database consists of 135 tables and data, index and temporary tablespaces which together consume about 500 Gbytes.
This site had acquired Quest Central, so a GUI monitor was available, but I also developed scripts to give the development team more robust text-based access to snapshots and event monitors, iostats, top and similar statistics. I also prepared space requirements reports, bufferpool analysis, full explains on SQL with index recommendations, database-level and instance-level configuration recommendations, training of application team in researching database problems, and recommendations on hardware (e.g. swap space, memory, and kernel configuration parameters).
I trained the team in analysis of Explains and guidelines for index creation and maintenance, as well as provide reorganization and clustering related index advice. I developed all indexes now used by the application for performance optimization. I provided space recommendations and database and instance configuration recommendations that are the basis of their current practice.
DB2 UDB Data Administrator in Heavy OLTP Environment
DBA for credit reporting company's billing system. This system, at 24,000 update transactions per minute, may be highest volume UDB OLTP in the world. System consists of two separate nodes and databases, one for batch processing and the other for online, linked by high-speed SP frame. The online environment uses Forte transaction processing front-end.
Using UDB EE version 5.2 and 6.1 and AIX 4.3.1 OS on servers. Company also makes heavy use of Data Propagator replication.
As the only UDB consultant DBA working with two employee DBA's, my responsibilities include database maintenance (loads, exports, backups, restores, index, table and RI creation, updates, and maintenance), database monitoring (using snapshots and monitors, also the Database Guys suite of perl-based monitoring and analysis tools), and 24x7 support. Troubleshooting of AIX/UNIX problems and web server problems. Help Billing analysts develop better performing dynamic SQL.
SQL under my review included heavily recursive queries and queries making heavy use of correlated subqueries. Dealt heavily with locking contention and ways to rewrite application code to make better concurrent use of resources and reduce size of units of work. Problems in the system also frequently resulted from either problems with statistics or inadequate indexes, which become clear from explains.
I also performed tablespace container and physical space allocation analysis for several databases under my supervision. I made database-level and instance-level configuration parameter recommendations as a result of analysis of performance issues.
My main responsibility between routine database maintenance periods was to standardize and improve dozens of korn shell scripts used throughout the system for scheduled maintenance, monitoring, and job execution. Shell scripts were heavily based upon JCL procs and used almost none of the unix tools effectively. I rewrote all TUBS scripts to use Unix utilities (particularly awk) effectively. I built a HTML web-based 24x7 reporting interface which puts Database Guys performance reports out continuously, giving us a running history of database performance, so that we can understand performance issues for which we had no advance notice.
I was also responsible for maintenance, troubleshooting and performance analysis of Fraud Detection, Web Database, Expert Advisor, Re-run environment, QUAL environment, and Inter-bureau applications. I had responsibility altogether for over a dozen separate host servers running fifteen separate UDB databases (which included redundant hot recovery servers).
Utilities used here particularly included NT Control Center (particularly graphical explain) and Granger SQL. I did most real work through a Unix command prompt and DB2 Command Line Processor (CLP) scripts.
DB2 UDB Data Warehouse
DB2 DBA for a Silicon Valley software company which sells Internet architected (dot com, ecommerce oriented) intelligent customer interaction applications with real-time OLAP, campaign management and real-time customer personalization capabilities. E.Piphany's main product is known as E.4.
By the third quarter of 2000 this company had promised their customers that their data mart would be supported on DB2 UDB. It is currently supported on MS SQL Server 7.0 and on Oracle. I was brought in to assist in the conversion of database components of the existing product to UDB. This involved conversion of SQL, writing of new stored procedures, new user defined functions (UDF's), and extensive work on performance fine-tuning.
Programming required C using the xlc compiler, and used embedded SQL, CLI, and the DB2 Administrative API. Used mostly CLP and unix commandline for all development and administrative work while on Unix, while I used on NT command center, control center, and the command line processor environments. On NT I also used Microsoft SQL Server 7, mainly Enterprise Manager, Query Analyzer and Import and Export Data.
We were working on DB2 UDB 6.1 running on AIX 4.3.2. We were working on DB2 UDB 6.1 running on AIX 4.3.2. We were using a 4-way IBM F50 RS/6000 for testing.
Stored procedures used both CLI and the DB2 Administrative API. I used the GENERAL parameter calling convention though I am also familiar with DB2DARI. I tested stored procedures using an embedded SQL C program.
Performance issues studied included methods of forcing star joins; improvement of load speeds; impact of runstats; made extensive use of explains, dynexpln, db2expln, db2exfmt. Much work was done on improving performance of mass inserts, concentrated on extraction issues.
Examined a variety of database and database manager configuration parameters and their effects on performance. Examined and made recommendations regarding partitioning of tablespaces for large tables, use of containers, and other space management issues. Did buffer pool space analysis, also extended storage cache. SMS vs. DMS tablespaces. Effects of different extent and page sizes. Multi-page file allocation. Analysis of effects of non-default query optimization levels. Hash joins. Played with db2advis and explored various index scenarios to improve performance. Instance management. Examined effects of rollforward and ACTIVATE NOT LOGGED INITIALLY on datamart performance. Looked at effects of using intra-parallelism.
Converted Microsoft SQL Server Database and SQL to DB2 UDB; used SQL Server text file export and DB2 UDB Load to migrate databases between platforms.
Used Exceed X Windows emulator to work on AIX box from an NT machine.
Unix to Unix time clock conversion
I was involved in hardware configuration and installation as well as software development. Conversion also involved configuration and debugging of NCR Co-log PC-based controllers. Trained system administrators in use of new system. Supported staff in transition to new system.
Mainframe to Unix Conversion/Interface
LiveWire Web Application
Distributed RACF Security Server
Medical database interface
I also provided strong technical support for this hospital's initial conversion from DOS-based workstations to OS/2 and NT.
Trading systems
Internet email report routing
IEF Composer
OS/2 - > NT conversion technical support
Native OS/2 programming
Native word processor
MVS COBOL batch
programming
Mainframe document generation
Technical problems with this page? Contact the webmaster at: webmaster@ebenner.com, call me at 312-520-0090, or page me at 312-457-4315.
Return to eBenner.com Consulting, Inc. Home
(last updated date: 12/11/2004) © 2004 by Jeffrey Benner