James Peterson
American River Consulting, Inc.

Oracle 7.3, 8, 8i
SQL*Net, Net8


Triggers, Packages
Procedures, Function

Tomcat, Java, J2EE JDBC, servlets

Import, Export

ReflectionX, TCP-IP
Berkeley Sockets

Tru-64 Unix, HP-UX
WinNT, Win2000

LDAP, IBM SecureWay Directory

Pro*C, C

ksh, perl, vi, CVS
crontab, make, cc

TOAD, DBArtisan, ERWin ERStudio

Visual Basic, ADO

Professional Experience
Senior Technical Consultant, Digital - Compaq - Hewlett-Packard

Independent contractor affiliated with Digital Consulting Services, E-Government Practice. This practice was focused on the delivery of internet-based applications to the State of California. Maintained this affiliation throughout the Compaq-Digital and Hewlett-Packard-Compaq acquisitions. Served as Senior Technical Consultant. Senior designer, developer and DBA on various projects. Participated in marketing presentations. Performed RFP analysis. Performed application design and task duration estimation. Worked with subcontractors to ensure timely completion of a quality product.

Department of


9/2002 – 11/2002
4/2002 – 5/2002
8/2001 – 1/2002
1/2001 – 5/2001
4/1998 – 3/2000

The Revocation, Scheduling and Tracking System allows the Parole Division and the Board of Prison Terms to process parolees for revocation of parole. A complex workflow system was designed supporting multiple specialized user interactions for several unique job classifications. C-based middleware accesses Oracle on Tru64 Unix, supporting more than 175 separate database operations. Advanced Oracle PL/SQL packages and triggers implement complex business rules and case routing. The rsrv middleware program simultaneously accesses the RSTS database (revocation database) and the SPDB database (central parolee database) and can receive messages from CLETS (statewide law enforcement bulletin system), allowing RSTS case initiation. I served as workflow designer, data designer, database administrator and database programmer. I wrote the rsrv program. rsrv is a preforked, multiprocess server program that handles all online database access.
East Bay
Public Safety


3/2002 – 4/2002

The original CopNet project (c.2000) was a proof-of-concept interagency data warehouse for law enforcement in the East Bay area. CopNet provides a web browser interface to make cross-agency searches for persons, locations, vehicles and incidents.The project team again approached the EBPSCP in pursuit of a CopNet deployment engagement. We elected to reimplement some of the code to position the application for a multiplatform datacenter deployment.I reimplemented CopNet as a J2EE Oracle application running on Windows 2000. I installed and configured Apache Tomcat 4.0.3 as the Java servlet container, the Java 2 SDK 1.4 Standard Edition and the Java 2 SDK 1.3.1 Enterprise Edition. I generated HTML pages and executed dynamic Oracle queries using Java servlets and Sun’s JDBC Type 2 JDBC driver for Oracle.

PIN Server

3/2001 – 7/2001

The PIN Server provides user identification and auditing for EDD’s interactive voice response system. When callers access the IVR, their credentials are subjected to LDAP verification using the IBM SecureWay Directory. Customer IVR responses are passed to an MVS-CICS application which makes a TCP-IP call to a AIX-based middleware process. This middleware is written in C and uses the C LDAP API to interact with SWD/LDAP on AIX. More than a million LDAP entries are stored.

IVR callers may establish or reset PINs, and may look up their Weekly Benefit Amounts for the Unemployment or Disability Insurance programs. A customer access history is maintained in LDAP. Customer service representatives may block or unblock PINs.

The SWD/LDAP implementation is part of EDD’s deployment of IBM Policy Director, a multi-platform integrated user authentication system.

This project required the installation and configuration of SWD/LDAP on AIX. A custom LDAP schema was designed and implemented within SWD. LDAP replication is used to maintain a hot backup directory.

I designed and implemented the LDAP schema. I wrote the C-based LDAP access middleware. Wrote the PIN activity extract batch program. Implemented CVS source code repository. Wrote a test client for the PIN Server in order to submit PIN transactions from the command line.



10/2000 – 1/2001


The Household Employer’s Internet Reporting system allows more than 30,000 California employers of domestic help to submit tax returns over the Web. California tax forms including the DE6, DE7, DE88 and DE3HW were web-enabled with Java-generated web pages. Java servlets accessed an Oracle 8 database to retrieve employer records and store new tax filings. Nightly batch data loads were received from EDD’s TAS and BWS systems. This required update processes capable of doing both a complete refresh and update-in-place. Batch load and extract processes were developed using SQL*Loader, PL/SQL and the UTL_FILE interface. Compaq Tru64 Unix shell scripts and crontab were used to schedule these processes. The JRun servlet engine on Unix was used with the IIS data connector for Windows NT to serve tax forms. Oracle database connection-pooling was used to improve resource consumption.

My role was database designer and administrator. I wrote all triggers and other PL/SQL objects. I wrote all load and extract processes using ksh shell scripts, SQL*Plus and PL/SQL. Configured the WebMin web-based system administration tool for application monitoring and production support.



6/2000 – 6/2000

Conducted a performance and quality assurance audit of the PrintTrak Oracle database on Windows NT, developed for Sacramento Police Department by a third party vendor. Developed the MugCheck application using Visual Basic and ADO, allowing SacPD to browse and extract images stored in the database to verify image quality and data accuracy. Made recommendations to the vendor to improve the data design and overall system performance. Prepared a report for the customer summarizing findings.
East Bay Public Safety Corridor Partnership


4/2000 – 9/2000

The EBPSCP, a consortium of East Bay police agencies, received a federal grant for the construction of a prototype cross-agency data warehouse. CopNet combines data from multiple police agencies into a single web-enabled database. Web pages are served from Microsoft IIS using Visual Basic. Database load processes are implemented using perl and SQL*Loader. A multithreaded C-based query engine runs on Windows NT and accesses the Oracle database on Tru64 Unix.

The EBPSCP includes law enforcement agencies in Contra Costa and Alameda counties, including the Oakland, Berkeley, Hercules and Richmond police departments and the Contra Costa County Sheriff’s Department.

I was data designer and database administrator. I did all database programming, including the load processes. I wrote the Pro*C middleware which constructs and executes database queries. Supports cross-agency searches for persons, locations, vehicles and incidents.


Data Warehouse

1/1998 – 4/1998

CalPERS needed an intranet application to permit customer service staff to query of the Comet retiree database. I devised a denormalization of the Comet database and a Comet extract, load and transformation specification to build an Oracle data warehouse running on HP-UX. Load processing used PL/SQL and triggers, supporting both updates and full refreshes of the data. I oversaw the adaptation of a core subset of the Parole LEADS C/Pro*C-based middleware to become the application server for the data warehouse.
Department of

Parole LEADS

9/1997 – 12/1998

Oracle DBA and developer for Parole LEADS, a secure three tier internet application, serving images and maps over the Web to more than 10,000 law enforcement officers across California. Parole LEADS permits law enforcement officers to search a database of more than 200,000 parolees, based on physical description, address history, jobs, vehicles, aliases, street names. Users may generate maps of parolee locations. Parole LEADS contains more than a million mugshots. Users may generate photo lineups of suspects who have similar physical characteristics. Local police jurisdictions may download database extracts of parolees assigned to their areas.

Pro*C middleware dynamically generates and executes SQL statements against Oracle on Tru64 Unix, based on user’s search criteria. An image storage service receives images over the network and inserts them into the database. A radius search server supports geospatial searches.

I converted the existing dynamic SQL middleware from UDP to TCP. I added support for image storage and retrieval and map generation. Added support for the lineup query. I wrote the batch geocoder which applies geospatial coordinates to new parolee addresses. I wrote the image storage server. I wrote a radius search module. I served as project data designer and database administrator. Loaded map layers into ESRI SDE/Oracle.

Independent Consultant

After moving to California in 1996, I became a contract consultant. I provided Oracle DBA support for client server applications.

Foster Farms

Oracle DBA

5/1997 – 7/1997

Created production support environment for new installation of Oracle on AIX, supporting the Lawson Financials application. Constructed PL/SQL-based monitoring application to capture performance statistics to the database. Implemented snapshot replication to load reporting database.

Oracle DBA

9/1996 – 4/1997

Provided database administration support for PREMAS, a distributed client-server application with a Novell Netware-based SQL*Windows frontend and 9 Oracle databases running on HP9000s and HP-UX, exchanging data with an MVS-based DB2 database via the Oracle Transparent Gateway. Resolved production problems. Installed code changes. Performed Oracle and HP-UX backups. Monitored application to resolve performance issues.
TDS Computing Services

Telephone and Data Systems (TDS) is a communications holding company with cellular, paging and landline interests. TDS was the twelfth largest telephone company in the United States during the period I worked there. As an Oracle developer, I supported the Cellular division. As an Oracle DBA, I supported all cellular, paging and internal Unix-based systems.

Oracle DBA
Production Support

1/1994 – 8/1996

Provided database administration support for multiple applications on multiple hardware and OS platforms. Responsible for more than 40 OFA-compliant production databases running on IBM RS 6000 servers, 5 databases on Sun Sparc servers, and a 60G data warehousing system running on an HP9000. Conducted space management and performance monitoring. Automated object reorganization. Developed scripts to resolve lock contention. Performed database installations, reorganizations and upgrades. Applied patches to the kernel. Tuned applications and the database for performance. Developed scripts to identify out-of-tune processes.
Systems Analyst
Programmer Analyst
Cellular Division
8/1989 – 1/1994
Provided systems analysis and programming support to the Cellular Division and the Cellular Business Management System (CBMS), a cellular telephone customer billing system. Served in roles of increasing responsibility.
SQL*Forms 3.0
Project manager and technical lead on 3500 hour project to convert the CBMS application, comprised of more than 270 Oracle SQL*Forms, from SQL*Forms v2.3 to v3.0. Participated in evaluation and selection of ACE*Converter PL/SQL generator. Responsible for all phases of the project, including analysis, design, coding, unit test, system test, performance test and installation. Supervised team of six programmers, providing training, procedures, code samples and quality assurance. Constructed module tracking application to manage programming assignments and log changes. Developed conversion worksheet to standardize process. Synchronized converted code with concurrent development coded in SQL*Forms v2.3.
Market Clusters Served as technical lead on project to add multiple subsidiary company support to the CBMS application. Allows authorized user to change company data focus while maintaining and protecting security and isolation of company data. Allows company data to be aggregated into company clusters for reporting purposes. Constructed prototype application to demonstrate feasibility and user-friendliness of design. Responsible for analysis and design of project and numerous additional miscellaneous enhancements. Supervised all coding and testing activities of the project team, consisting of six programmers.


On the CBMS initial development team. Wrote the Payments and Adjustments data entry modules using SQL*Forms v2.3, ksh, SQL*RPT. Wrote the Post-Billing Update and Notice Processing batch modules using SQL*RPT, ksh, SQL*Loader, export/import, SQL*Plus. Wrote the Accruals batch module using C, ksh. Wrote the conversion process to migrate all data from the PC-based MDBS system to Oracle on AIX. Used RM COBOL, DOS batch files, uucp, SQL*Loader, ksh scripts, SQL*PLus and SQL*RPT. Conducted data reviews, conversion mappings. Performed trial conversions to identify invalid data.
Syscon, Inc.

Syscon was a contractor to the US Navy, building and supporting engineering and business systems. Logicon purchased Syscon in 1995. Today, Logicon is a Northrup Grumman company.

Programmer Analyst
4/1988 – 7/1989
Assigned to the Integrated Systems Project, providing business software to the Navy in support of the Aegis shipbuilding project.
FBI FIRMS Designed and developed Freedom of Information Act request tracking prototype for the FBI. The FOI Redaction Management System (FIRMS) allowed tracking of requests, documents and edits. Programmed in Microsoft C and embedded SQL using an API to the XDB RDBMS.
Financial Planning
Converted the Financial Planning System from the Wang VS to Netware. Redesigned programs to resolve performance issues. Used Realia COBOL with embedded SQL calls to the XDB RDBMS.
Office Automation


Converted Wang VS-based COBOL Calendar Management, Electronic Mail and TravelTrak systems to Netware. Used Realia COBOL and the Btrieve file management system. Developed prototypes of the Question and Answer Indexing system (QNA) using both the XDB RDBMS toolset and the Enable integrated software package in order to assess their feasibility for future development.
Securities and Exchange Commission
Production and Maintenance Team
1/1987 – 3/1988
Used strong JCL skills to troubleshoot problems. Maintained COBOL programs and wrote reports using QUIKJOB. Used the Natural query language to access the Adabas database. Automated production control using Clists. Responsible for execution of biweekly payroll.
Filer Support
EDGAR Project
9/1985 – 1/1987
Assigned to the Electronic Data Gathering, Analysis and Retrieval (EDGAR) pilot project. Provided technical support to electronic document filers. Instructed filers in use of modems and PC-based communications software. Analyzed problems using a dataline monitor. Identified solutions allowing participants to file successfully under deadline pressures.

The EDGAR system still exists today, although much transformed. See www.sec.gov/edgar.shtml. When I was there, forward-thinking business and financial publishers transmitted their filings from first generation PCs or from dedicated word processing machines like the IBM Displaywriter or from minicomputer systems like the Wang VS.

Education and Training

Oracle Master in Database Administration, June 1996

AA, CIS, Northern Virginia Community College, 1987

BA, Psychology, Colby College, 1982