Coral, a Software System for Vendor-Neutral Access to Relational Databases

Total Page:16

File Type:pdf, Size:1020Kb

Coral, a Software System for Vendor-Neutral Access to Relational Databases CORAL, A SOFTWARE SYSTEM FOR VENDOR-NEUTRAL ACCESS TO RELATIONAL DATABASES I. Papadopoulos, R. Chytracek, D. Dullmann,¨ G. Govi, IT Department, CERN, Geneva, Switzerland Y. Shapiro, ATLAS Database Group, PH Department, CERN, Geneva, Switzerland Z. Xie, Princeton University, Princeton, New Jersey 08544 USA Abstract user from the technology-specific APIs. The need for the maximal SQL insulation from the client software can be The COmmon Relational Abstraction Layer demonstrated simply showing the SQL statements for two (CORAL)[1] is a C++ software system,developed within technologies (Oracle[5] and MySQL[6]), which are used the context of the LCG persistency framework, which mostly in HEP, in rather simple tasks: provides vendor-neutral software access to relational databases with defined semantics. The SQL-free public in- 1. Creation of a table: terfaces ensure the encapsulation of all the differences that one may find among the various RDBMS flavours in terms MySQL syntax: ¡£¢¥¤§¦©¨ ¤ ¨©¦ ¤¨ of SQL syntax and data types. CORAL has been developed ¨§! #"! ¤$ following a component architecture where the various RDBMS-specific implementations of the interfaces are Oracle syntax: % loaded as plugin libraries at run-time whenever required. ¡£¢¥¤§¦©¨ ¤ ¨©¦ ¤%&¨ ' ,+.- 1 $/.0 ¦2¢43 ! 5" ¤$ The system addresses the needs related to the distributed "() £¤*¢ deployment of relational data by providing hooks for client-side monitoring, database service indirection and 2. Query fetching only the first rows of the result set: application-level connection pooling. MySQL syntax: 6 ¤©¤7¡8¨9:4¢8 #(;¨ ( ¨>= INTRODUCTION #¢¥ ¤*¢< ©3 CORAL is the set of software deliverables of the Oracle syntax: 6 ”Database Access and Distribution” work package of the ¤©¤7¡8¨@?A:4¢8 #( 6 % #¢¥ ¤*¢< ©3 $ POOL project[2]. The development of libraries for the ¤©¤7¡'¨9B:C¢* D(;%&¨ ¤*¢¥¤G¢8 "H(JILK E vendor-independent database access, collectively referred E>F to as the Relational Abstraction Layer (RAL), started within POOL in spring 2004. At that time the main require- The CORAL approach is to present an identical API for ment that needed to be met was the creation of an insulation such cases, which allows the development of software com- layer that would allow the development of software com- ponents that can be used without any code modification or ponents responsible for accessing data in RDBMS with- conditional constructs against multiple relational technolo- out the knowledge of the subtle differences among the gies. various technology-specific solutions. Since then RAL CORAL is expected to be used by applications run- was adopted by the relational components of POOL (File ning on a grid-enabled and distributed environment. It Catalog, Collections), the COOL (Conditions Database) is therefore defining the necessary interfaces for database project[3], and several components of the software frame- service indirection, multiple authentication mechanisms works of the LHC experiments. (certificate- and user/password pair-based), client-side con- In spring 2005 a formal review took place of the existing nection pooling and client-side monitoring. RAL API with feedback from the direct clients of RAL, CORAL is not a general purpose C++ connectivity li- within and outside POOL. During the review new emerg- brary, such as ODBC, JDBC, the python or perl DBI. It is ing use cases have been considered that are related to the neither a system to accomodate all access patterns to rela- database deployment and distrubution issues. The outcome tional data. Its scope is restricted to serve primarily the use was the design of an improved version of RAL, which is cases relevant to the data handling and analysis of the LHC now being developed and packaged independently of the experiments. rest of the POOL components under the new name CORAL (COmmon Relational Abstraction Layer). ARCHITECTURAL CHOICES PROJECT SCOPE The architecture of CORAL is component-based. The overall system consists of a set of abstract interfaces and The primary goal of CORAL is to provide function- several implementation components which have no depen- ality for accessing data in relational databases using a dency on each other. Data and control flow only through C++ API, free of SQL commands and types, shielding the the abstract interfaces in a user application. EnvironmentAuthenticationService MonitoringService OracleAccess XMLAuthenticationService MySQLAccess ConnectionService SQLiteAccess XMLLookupService FrontierAccess LFCLookupService RelationalService Developer−Level Interfaces and Common Implementations (CoralCommon) User−Level Interfaces (RDBMS Access, Types, Row Buffers, etc.) Client Software (RelationalAccess, CoralBase) Figure 1: Component architecture of the CORAL framework. The technology insulation is achieved through the set of tual data, as this is defined by the contact string, is fully the abstract interfaces; a client component depends only on decoupled from the authentication parameters and mecha- them. The functionality expressed by each interface is min- nism that are required for accessing them. imal but complete. The component architecture and the fact A user may enable client-side monitoring for a stated that the functionality expressed by each interface is mini- verbosity level. In this case the RDBMS plugin searches mal but complete, enable the parallel and independent de- for a loaded implementation of the IMonitoringService in- velopment of the various CORAL components, as well as terface and registers information such as begin and end of additional and user-provided implementations of the same user sessions, signaling of transaction boundaries and the interfaces. They also facilitate efficient unit and integration response times of the various SQL statements that are is- testing. sued. The static view of the CORAL architecture is shown in Some RDBMS implementations that are used for read- Fig. 1. The realization of the component architecture has only purposes be based on a web-cache server for the been based on the plugin management and the component fast delivery of the query results. With the use of the framework of the SEAL[4] project. The latter allows the IWebCacheControl interface a user may fully control the construction of context hierarchies onto which the various caching policies in order to ensure consistency of the data implementation components are hooked. In this configura- that are retrieved. tion if a component requires the functionality of a particular Alternatively to the format specified above, a user may interface, it simply queries its context tree for an available choose a free format which indicates a logical name for a implementation. database service. In this case a query to an implementation of the ILookupService interface has to be issued in order FUNCTIONALITY OF THE PUBLIC API to obtain the corresponding connection string that corre- sponds to an actual service. The best way of doing so is to A user may connect to a database schema by prividing a use an implementation of the IConnectionService interface contact string with the following format: which coordinates the control flow among the above com- MONQPSRUT/V&W VYX[Z \S]^V[M_V`PaV&Wcb dYdUR/VYefMgT[h`iNYbc\SV`]M TUjUi kYNS]d[e_PSR[NSih T[hUiHN ponents and provides application-level connection pooling. The technology may take values such as oracle, mysql, After having retrieved a valid handle to a database sqlite, etc. The protocol is optional and used only on em- schema the CORAL API provides the user with a large sub- bedded technologies such as SQLite[7]. It may take values set of the functionality that is possible through generic SQL such as file, http, etc. and RDBMS-specific connectivity APIs: The loaded implementation of the IRelationalService in- terface parses the connection string and searches for avail- Schema definition and manipulation operations, such able plugins providing the RDBMS functionality for the as creating, droping and redefining tables and views, particular technology. No authentication credentials ap- as well as defining indices, keys and constraints. It is pear in the connection string. These are provided by the also possible to fully describe a given schema and its loaded implementation of the IAuthenticationService inter- elements. face to the RDBMS plugin whenever an authentication is Columns are defined by specifying the correspond- attempted. This feature ensures that the location of the ac- ing C++ types (eg. int, float, double, string) and some storage hints such as the allocated size for string Two implementations of the interface set related to the variables. The translation into the actual SQL types retrieval of authentication credentials: one based on that are eventually used is performed by the RDBMS- XML files and another on environment variables. specific plugin which is employed for the technology in use. An implementation of the interface set responsible for peforming the necessary technology dispatching given Manipulating data in tables such as inserting, modify- a connection string and the available RDBMS-specific ing and deleting rows. Operations with BLOB types implementations found at run time. are facilitated through a Blob C++ type provided by CORAL. An XML-based implementation of the interface set re- The API supports the execution of such operations sponsible for peforming logical to physical database in bunches, where only the input data change be- service lookup operations. tween subsequent iterations. This minimizes the total An implementation based
Recommended publications
  • Oracle Nosql Database
    An Oracle White Paper November 2012 Oracle NoSQL Database Oracle NoSQL Database Table of Contents Introduction ........................................................................................ 2 Technical Overview ............................................................................ 4 Data Model ..................................................................................... 4 API ................................................................................................. 5 Create, Remove, Update, and Delete..................................................... 5 Iteration ................................................................................................... 6 Bulk Operation API ................................................................................. 7 Administration .................................................................................... 7 Architecture ........................................................................................ 8 Implementation ................................................................................... 9 Storage Nodes ............................................................................... 9 Client Driver ................................................................................. 10 Performance ..................................................................................... 11 Conclusion ....................................................................................... 12 1 Oracle NoSQL Database Introduction NoSQL databases
    [Show full text]
  • Oracle Database Vault Overview
    Oracle Database Vault Oracle Database Vault provides controls to prevent unauthorized privileged users from accessing sensitive data, prevent unauthorized database changes, and helps customers meet industry, regulatory, or corporate security standards. March 23, 2020 Copyright © 2020, Oracle and/or its affiliates Public Purpose Statement This document provides an overview of features and enhancements included in the latest releases of Oracle Database Vault. It is intended solely to help you assess the business benefits of using Oracle Database Vault preventive controls and to plan your Data Security / I.T. projects. Disclaimer This document in any form, software or printed matter, contains proprietary information that is the exclusive property of Oracle. Your access to and use of this confidential material is subject to the terms and conditions of your Oracle software license and service agreement, which has been executed and with which you agree to comply. This document is not part of your license agreement nor can it be incorporated into any contractual agreement with Oracle or its subsidiaries or affiliates. This document is for informational purposes only and is intended solely to assist you in planning for the implementation and upgrade of the product features described. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described in this document remains at the sole discretion of
    [Show full text]
  • Oracle Big Data SQL Release 4.1
    ORACLE DATA SHEET Oracle Big Data SQL Release 4.1 The unprecedented explosion in data that can be made useful to enterprises – from the Internet of Things, to the social streams of global customer bases – has created a tremendous opportunity for businesses. However, with the enormous possibilities of Big Data, there can also be enormous complexity. Integrating Big Data systems to leverage these vast new data resources with existing information estates can be challenging. Valuable data may be stored in a system separate from where the majority of business-critical operations take place. Moreover, accessing this data may require significant investment in re-developing code for analysis and reporting - delaying access to data as well as reducing the ultimate value of the data to the business. Oracle Big Data SQL enables organizations to immediately analyze data across Apache Hadoop, Apache Kafka, NoSQL, object stores and Oracle Database leveraging their existing SQL skills, security policies and applications with extreme performance. From simplifying data science efforts to unlocking data lakes, Big Data SQL makes the benefits of Big Data available to the largest group of end users possible. KEY FEATURES Rich SQL Processing on All Data • Seamlessly query data across Oracle Oracle Big Data SQL is a data virtualization innovation from Oracle. It is a new Database, Hadoop, object stores, architecture and solution for SQL and other data APIs (such as REST and Node.js) on Kafka and NoSQL sources disparate data sets, seamlessly integrating data in Apache Hadoop, Apache Kafka, • Runs all Oracle SQL queries without modification – preserving application object stores and a number of NoSQL databases with data stored in Oracle Database.
    [Show full text]
  • Oracle Database Advanced Application Developer's Guide, 11G Release 2 (11.2) E17125-03
    Oracle® Database Advanced Application Developer's Guide 11g Release 2 (11.2) E17125-03 August 2010 Oracle Database Advanced Application Developer's Guide, 11g Release 2 (11.2) E17125-03 Copyright © 1996, 2010, Oracle and/or its affiliates. All rights reserved. Primary Author: Sheila Moore Contributing Authors: D. Adams, L. Ashdown, M. Cowan, J. Melnick, R. Moran, E. Paapanen, J. Russell, R. Strohm, R. Ward Contributors: D. Alpern, G. Arora, C. Barclay, D. Bronnikov, T. Chang, L. Chen, B. Cheng, M. Davidson, R. Day, R. Decker, G. Doherty, D. Elson, A. Ganesh, M. Hartstein, Y. Hu, J. Huang, C. Iyer, N. Jain, R. Jenkins Jr., S. Kotsovolos, V. Krishnaswamy, S. Kumar, C. Lei, B. Llewellyn, D. Lorentz, V. Moore, K. Muthukkaruppan, V. Moore, J. Muller, R. Murthy, R. Pang, B. Sinha, S. Vemuri, W. Wang, D. Wong, A. Yalamanchi, Q. Yu This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this software or related documentation is delivered to the U.S.
    [Show full text]
  • Oracle Database Sharding Infographic
    Oracle Database Sharding Oracle Sharding : Scale-out Rela7onal Database Sharding = Distributed Par77oning + Replica7on One giant database par66oned into many small databases (shards) Built on shared-nothing hardware architecture • Some web-scale OLTP applicaons use database sharding to avoid • Horizontal par66oning of data using a sharding key (e.g. scalability or availability edge cases of a single large database customer_id) across a farm of independent Oracle Databases • Oracle 12cR2 is the first full-featured RDBMS that provides nave • Shards can be hosted on commodity servers or engineered systems database sharding while suppor6ng enterprise capabili6es • Data automacally replicated with Data Guard or Oracle GoldenGate for high availability and disaster recovery Benefits Linear Scalability Fault Isola7on Geographic Distribuon Flexible Deployment 12,000,000 CPU CA On-Premises Hybrid Cloud 10,000,000 CA CA 8,000,000 … TPS 6,000,000 CA Vector Register 4,000,000 … 2,000,000 0 50 100 150 200 # of Shards Add shards online to Shared-nothing Data Sovereignty - for Flexible On-Premises, Cloud or Hybrid linearly scale - architecture. data privacy regulaons. Deployments. transac6ons, users and Fault of one shard Data Proximity - to bring Supports Cloud bursng database capacity has no impact on data closer to the users other shards Salient Features • Auto deployment of up to 1000 shards • Direct Rou6ng – Supports Data Guard and Oracle GoldenGate – Direct fast path SQL access via sharding key from smart topology- • Mul6ple sharding methods aware
    [Show full text]
  • Oracle Nosql Database EE Data Sheet
    Oracle NoSQL Database 21.1 Enterprise Edition (EE) Oracle NoSQL Database is a multi-model, multi-region, multi-cloud, active-active KEY BUSINESS BENEFITS database, designed to provide a highly-available, scalable, performant, flexible, High throughput and reliable data management solution to meet today’s most demanding Bounded latency workloads. It can be deployed in on-premise data centers and cloud. It is well- Linear scalability suited for high volume and velocity workloads, like Internet of Things, 360- High availability degree customer view, online contextual advertising, fraud detection, mobile Fast and easy deployment application, user personalization, and online gaming. Developers can use a single Smart topology management application interface to quickly build applications that run in on-premise and Online elastic configuration cloud environments. Multi-region data replication Enterprise grade software Applications send network requests against an Oracle NoSQL data store to and support perform database operations. With multi-region tables, data can be globally distributed and automatically replicated in real-time across different regions. Data can be modeled as fixed-schema tables, documents, key-value pairs, and large objects. Different data models interoperate with each other through a single programming interface. Oracle NoSQL Database is a sharded, shared-nothing system which distributes data uniformly across multiple shards in a NoSQL database cluster, based on the hashed value of the primary keys. An Oracle NoSQL Database data store is a collection of storage nodes, each of which hosts one or more replication nodes. Data is automatically populated across these replication nodes by internal replication mechanisms to ensure high availability and rapid failover in the event of a storage node failure.
    [Show full text]
  • IBM Tivoli Monitoring for Databases Manage the Performance and Availability of Your DB2, Informix and Oracle Database Servers
    IBM Tivoli Monitoring for Databases Manage the performance and availability of your DB2, Informix and Oracle database servers In today’s fast-moving world, the performance and availability of your Autonomic Computing e-business infrastructure can mean the difference between success and failure. Losing availability of a business-critical database server, or perform- I Built-in best practices ance degradation in your database environment, can result in significant encapsulate system financial loss, as well as longer-term damage to your brand. With the increase administration expertise in enterprise strategic applications and e-business systems, not only has the for managing your number of database resources increased but they are also spread across many critical database locations. Thus the task of managing multiple types of database servers has components become increasingly complex for the IT professional. I Automated cures IBM® Tivoli® Monitoring for Databases can help increase the availability of for many common your database resources and take actions to avert or alert you to potential database problems problems with the performance of those resources. Tivoli Monitoring for Databases can help you: • Monitor the status of IBM DB2®, IBM Informix® and Oracle database servers—Provides realtime status on the availability and performance of database servers through best-practices monitoring of key database components. • Notify administrators and take automated actions—Out-of-the-box identification of common database server problems notifies adminis- trators of potential issues and automates actions to help implement fixes before problems affect end users. • Go beyond monitoring—Collects monitoring data for use in historical reporting, performance analysis, trend prediction and enterprisewide business impact analysis.
    [Show full text]
  • Oracle Database Application Developer's Guide
    Oracle®[1] Database Object-Relational Developer's Guide 12c Release 1 (12.1) E53277-02 August 2014 Oracle Database Object-Relational Developer's Guide 12c Release 1 (12.1) E53277-02 Copyright © 1996, 2014, Oracle and/or its affiliates. All rights reserved. Primary Author: Janis Greenberg Contributors: Sundeep Abraham, Shashaanka Agrawal, Geeta Arora, Eric Belden, Chandrasekharan Iyer, Geoff Lee, Anand Manikutty, Valarie Moore, Magdi Morsi, Helen Yeh, Adiel Yoaz, Qin Yu This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.
    [Show full text]
  • Veritas Netbackup ™ 8.0 - 8.X.X Database and Application Agent Compatibility List Created on September 08, 2021
    Veritas NetBackup ™ 8.0 - 8.x.x Database and Application Agent Compatibility List Created on September 08, 2021 Click here for the HTML version of this document. <https://download.veritas.com/resources/content/live/OSVC/100046000/100046611/en_US/nbu_80_db_scl.html> Copyright © 2021 Veritas Technologies Corporation. All rights reserved. Veritas, the Veritas Logo, and NetBackup are trademarks or registered trademarks of Veritas Technologies Corporation in the U.S. and other countries. Other names may be trademarks of their respective owners. Veritas NetBackup ™ 8.0 - 8.x.x Database and Application Agent Compatibility List 2021-09-08 Introduction This Software Compatibility List (SCL) document describes the supported database and application agents for Veritas NetBackup 8.0 through 8.x For all other NetBackup compatibility lists, refer to <http://www.veritas.com/docs/000033647> IPV6 and Dual Stack environments are supported from NetBackup 8.1.1 onwards with few limitations, refer technote for additional information <http://www.veritas.com/docs/100041420> Database and application patch support: Major versions of database software have been qualified in Veritas Labs and are listed in the tables below. NetBackup supports minor versions, service packs, and patches of database software unless otherwise noted, with the exception of Microsoft Exchange, Microsoft SharePoint and Microsoft SQL Server. Linux support: For Linux distributions shown in the tables below, NetBackup is supported on all "editions" and on all vendor GA updates (n.1, n.2, etc.) or service packs (SP1, SP2, etc.) unless otherwise noted in this document or in the NetBackup OS Compatibility List, <http://www.veritas.com/docs/100032808> Database Appliances: 3rd party database hardware appliances are supported if the appliance OS/architecture and database software are listed in the Veritas NetBackup OS compatibility list <http://www.veritas.com/docs/100032808> and in the Database and Application Agent compatibility list (this document).
    [Show full text]
  • Oracle, IBM DB2, and SQL RDBMS’
    Enterprise Architecture Technical Brief Oracle, IBM DB2, and SQL RDBMS’ Robert Kowalke November 2017 Enterprise Architecture Oracle, IBM DB2, and SQL RDBMS Contents Database Recommendation ............................................................................................................. 3 Relational Database Management Systems (RDBMS) ................................................................... 5 Oracle v12c-r2 ............................................................................................................................ 5 IBM DB2 for Linux, Unix, Windows (LUW) ............................................................................ 6 Microsoft SQL Server (Database Engine) v2017 ...................................................................... 7 Additional Background Information ............................................................................................... 9 VITA Reference Information (To be removed) ......................... Error! Bookmark not defined. Page 2 of 15 [email protected] Enterprise Architecture Oracle, IBM DB2, and SQL RDBMS Database Recommendation Oracle, SQL Server, and DB2 are powerful RDBMS options. There are a number of differences in how they work “under the hood,” and in various situations, one may be more favorable than the other. 1 There is no easy answer, nor is there a silver-bullet for choosing one of these three (3) databases for your specific business requirements. Oracle is a very popular choice with the Fortune 100 list of companies and
    [Show full text]
  • A Survey: Security Perspectives of ORACLE and IBM-DB2 Databases
    International Journal of Scientific and Research Publications, Volume 3, Issue 1, January 2013 1 ISSN 2250-3153 A Survey: Security Perspectives of ORACLE and IBM- DB2 Databases Lavanya Pamulaparty*, T. Praveen Kumar**, P. Vijaya Babu Varma** * Associate Professor and Head of CSE, Methodist College of Engineering. & Technology. ** Assistant Professor, Dept. of CSE, Methodist College of Engineering. & Technology. *** Assistant Professor, Dept. of CSE, Methodist College of Engineering & Technology. Abstract- As storage of data plays an integral part of databases, independent assurance of the security built into DB2. Whereas security issues becomes major concerns. Relational databases Oracle has undergone multiple evaluations of its database, IBM hold a significant portion of data stored in software, therefore has failed to have independent experts formally evaluate DB2, today’s database purchase decisions revolve around how secure making it difficult to qualify their assertions about their security the product is. This paper provides a categorical feature implementations. Oracle’s business model is to secure products comparison between Oracle9i Database (Oracle) and IBM DB2 out-of-the-box, and IBM’s is to make customers pay to secure Universal Database (DB2), in addition to examining features the products they purchase. This divergence in approach provided in the SecureWay product line from Tivoli, an IBM demonstrates the value of security to these database competitors subsidiary [7]. It explores the impact of IBM’s and Oracle’s and the resulting security built-in to their customers’ security models on users seeking to protect their critical deployments [7]. information systems and contrasts IBM’s strategy of building security outside of the DB2 database against Oracle’s strategy of securing information in the database server[6].In addition to the II.
    [Show full text]
  • Oracle Database Concepts, 12C Release 1 (12.1) E17633-20
    Oracle® Database Concepts 12c Release 1 (12.1) E17633-20 June 2013 Oracle Database Concepts, 12c Release 1 (12.1) E17633-20 Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved. Primary Authors: Lance Ashdown, Tom Kyte Contributors: Drew Adams, Ashish Agrawal, Jagan Athraya, David Austin, Vladimir Barriere, Hermann Baer, Srinagesh Battula, Tammy Bednar, Virginia Beecher, Ashmita Bose, David Brower, Lakshminaray Chidambaran, Deba Chatterjee, Tim Chien, Maria Colgan, Carol Colrain, Jonathan Creighton, Judith D’Addieco, Mark Dilman, Bjørn Engsig, Marcus Fallon, Steve Fogel, Naveen Gopal, Bill Habeck , Min-Hank Ho, Lijie Heng, Min-Hank Ho, Bill Hodak, Yong Hu, Pat Huey, Prakash Jashnani, Kevin Jernigan, Caroline Johnston, Shantanu Joshi, Vikram Kapoor, Feroz Khan, Jonathan Klein, Andre Kruglikov, Sachin Kulkarni, Surinder Kumar, Paul Lane, Adam Lee, Allison Lee, Sue Lee, Yunrui Li , Ilya Listvinski, Bryn Llewellyn, Rich Long, Barb Lundhild, Neil Macnaughton, Vineet Marwah, Bob McGuirk, Joseph Meeks, Mughees Minhas, Sheila Moore, Valarie Moore, Gopal Mulagund, Chuck Murray, Paul Needham, Kevin Neel, Sue Pelski, Raymond Pfau, Gregory Pongracz, Vivekanandhan Raja, Ashish Ray, Bert Rich, Kathy Rich, Scott Rotondo, John Russell, Vivian Schupmann, Shrikanth Shankar, Cathy Shea, Susan Shepard, Sachin Sonawane, James Spiller, Suresh Sridharan, Jim Stenoish, Janet Stern, Rich Strohm, Kamal Tbeileh, Juan Tellez, Ravi Thammaiah, Lawrence To, Mark Townsend, Tomohiro Ueda, Randy Urbano, Badhri Varanasi, Simon Watt, Steve Wertheimer, Patrick Wheeler, Doug Williams, James Williams, Andrew Witkowski, Daniel Wong, Hailing Yu Contributor: The Oracle Database 12c documentation is dedicated to Mark Townsend, who was an inspiration to all who worked on this release. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws.
    [Show full text]