Oracle® R Enterprise

Release Notes

Release 1.5

E49659-04

December 2016

These release notes contain important information about Release 1.5 of Oracle R Enterprise.

New Features in Oracle R Enterprise 1.5

Oracle R Enterprise 1.5 has new R functions and SQL procedures, new transparency layer methods, and enhancements to some functions.

Oracle R Enterprise 1.5 has new R functions and SQL procedures for managing Oracle R Enterprise datastores and the Oracle R Enterprise R script repository. Users can now share with other users access to datastores and registered R scripts. This release also has a new modeling function, ore.randomForest, new svd and prcomp statistical function methods that take ore.frame objects and can use parallel processing, and other enhancements.

The following topics briefly describe the new features.

R for Datastore and Script Repository Management

Oracle R Enterprise 1.5 provides new R functions for managing Oracle R Enterprise datastores and the R script repository.

The owner of a datastore or registered R script can now share with other users read privilege access to the datastore or script. This release also has new arguments to functions that create datastores and scripts and that give information about them. This datastore and script management functionality has both R and SQL interfaces.

The R functions for managing datastores are the following:

  • ore.delete, which deletes a datastore, is unchanged.

  • ore.grant is a new function that grants read privilege access to a datastore or script.

  • ore.load, which loads objects from a datastore into an R environment, has the new argument owner that specifies the datastore owner.

  • ore.revoke is a new function that revokes read privilege access to a datastore or script.

  • ore.save, which creates a datastore, has the new argument grantable that specifies whether read access can be granted to the datastore.

  • ore.datastore, which lists information about a datastore, has the new argument type that specifies the type of datastore. The values of type are the character strings user (the default), grant, granted, and all.

  • ore.datastoreSummary, which provides detailed information about datastores, has the new argument owner that specifies a datastore owner.

The R functions for managing scripts are the following:

  • ore.grant is a new function that grants read privilege access to a datastore or script.

  • ore.revoke is a new function that revokes read privilege access to a datastore or script.

  • ore.scriptCreate, which adds an R function to the script repository, has the new arguments global and overwrite. The argument global specifies whether the script is global or private. A global script is a public script that is available to all users. If global = FALSE, then access to the script must be granted by the owner to other users. The argument overwrite specifies whether the content of a script can be replaced.

  • ore.scriptDrop, which deletes a script, has the new arguments global, which specifies whether the script to drop is global or not, and silent, which specifies whether to report an error if the script cannot be dropped.

  • ore.scriptList, which lists information about scripts, has the new argument type that specifies the type of script. The values of type are the character strings user (the default), global, grant, granted, and all.

  • ore.scriptLoad is a new function that loads a script into the R environment.

PL/SQL and Data Dictionary Views for Datastore and Script Repository Management

Oracle R Enterprise 1.5 provides new PL/SQL procedures for managing Oracle R Enterprise datastores and the R script repository.

The owner of a datastore or registered R script can now share with other users read privilege access to the datastore or script. This release also has new arguments to procedures that create datastores and scripts and that give information about them. This functionality has both R and SQL interfaces. Oracle Database data dictionary views provide information about datastores and scripts.

The SQL procedures for controlling access to Oracle R Enterprise datastores and registered R scripts are described in the following sections:

PL/SQL Procedures for Managing Datastores

The PL/SQL procedures for managing datastores are the following:

  • rqDropDataStore, which deletes a datastore, is unchanged.

  • rqGrant is a new procedure that grants read privilege access to a datastore or script.

  • rqRevoke is a new procedure that revokes read privilege access to a datastore or script.

PL/SQL Procedures for Managing Scripts

The PL/SQL procedures for managing scripts are the following:

  • rqGrant is a new procedure that grants read privilege access to a datastore or script.

  • rqRevoke is a new procedure that revokes read privilege access to a datastore or script.

  • rqScriptCreate has the new arguments global and overwrite. The argument global specifies whether the script is global or private. A global script is a public script that is available to all users. If global = FALSE, then access to the script must be granted by the owner to other users. The argument overwrite specifies whether the content of a script can be replaced.

  • rqScriptDrop has the new arguments global, which specifies whether the script to drop is global or not, and silent, which specifies whether to report an error if a script cannot be dropped.

Data Dictionary Views for Datastores

The Oracle Database dictionary views related to datastores are the following:

  • ALL_RQ_DATASTORES

  • RQUSER_DATASTORECONTENTS

  • USER_RQ_DATASTORES

  • USER_RQ_DATASTORE_PRIVS

Data Dictionary Views for Scripts

The Oracle Database dictionary views related to scripts are the following:

  • ALL_RQ_SCRIPTS

  • USER_RQ_SCRIPTS

  • USER_RQ_SCRIPT_PRIVS

ore.groupApply Function Changes

Function ore.groupApply now supports partitioning on multiple columns.

The INDEX argument can now take an ore.vector or ore.frame object that contains ore.factor objects or columns, each of which is the same length as argument X. Function ore.groupApply uses the INDEX object to partition the data in X before sending it to function FUN.

For an example of the use of the INDEX object to partition the data, see “Partitioning on Multiple Columns” in Oracle R Enterprise User’s Guide.

ore.randomForest Modeling Function

The ore.randomforest function builds a random forest model on data in an ore.frame object.

It uses embedded R execution to grow random forest trees in parallel in R sessions on the database server. It returns an ore.randomforest object. In Oracle R Enterprise 1.5, function ore.randomForest supports classification but not regression.

The ore.randomforest function uses the same algorithm as that adopted by the CRAN R randomForest package but it has better runtime memory usage as well as ensemble tree size.

The scoring method predict on an ore.randomforest model also runs in parallel. Oracle recommends that you set the cache.model argument to TRUE when sufficient memory is available. Otherwise, you should set cache.model to FALSE to prevent memory overuse.

To use ore.randomforest, you must install either Oracle R Distribution (ORD) 3.2 or the CRAN R randomForest package. Oracle recommends that you use the function ore.randomforest in ORD 3.2, which offers better performance and scalability than the CRAN R randomForest. If you only install the R randomForest package, ore.randomForest issues a warning message at run time. The CRAN R randomForest package is one of the supporting packages in Oracle R Enterprise 1.5.

The global option ore.parallel determines the degree of parallelism to use in the Oracle R Enterprise server. The argument groups controls the granularity of the ore.randomForest model.

For an example of using ore.randomForest, see "Building a Random Forest Model" in Oracle R Enterprise User’s Guide.

ore.summary Function Changes

Function ore.summary has improved performance. It also has a different signature and the data types for some arguments have changed.

The function’s syntax is now the following:

ore.summary(data, var, stats = c("n", "mean", "min", "max"),
            class = NULL, types = NULL, ways = NULL, weight = NULL,
            order = NULL, maxid = NULL, minid = NULL, mu = 0,
            no.type = FALSE, no.freq = FALSE) 

The differences between the ore.summary in Oracle R Enterprise Release 1.5 and previous releases are the following:

  • The performance of ore.summary has improved; it now returns over an order of magnitude faster.

  • The arguments var, stats, and class now take a vector of character strings; previously, they took a concatenated string using a comma as the separator.

  • Argument types is now a list of character string vectors that specifies combinations of columns in the class argument.

  • Arguments maxid and minid are named vectors of character strings.

  • Arguments group.by and no.level are not supported.

  • Argument mu in previous releases was named mu0.

For details of the arguments to ore.summary, invoke help(“ore.summary”).

For examples of using ore.summary, see "Summarizing Data with ore.summary" in Oracle R Enterprise User’s Guide.

Statistical Function Method Changes

Oracle R Enterprise 1.5 provides transparency layer methods for the stats package functions prcomp and svd.

The prcomp function performs principal components analysis and the svd function performs singular-value decomposition. Those functions now accept ore.frame objects and can use parallel execution in the database, which can improve scalability and performance.

Support for BLOB and CLOB Data Types

Some Oracle R Enterprise functions now support the Oracle Database data types BLOB and CLOB.

Functions ore.push and ore.pull now support the database data types BLOB and CLOB.

Embedded R execution R functions now support the database data types BLOB and CLOB for input and output objects.

For examples of using BLOB and CLOB data types, see the “Using the ora.type Attribute” example in "Using the ore.doEval Function" in Oracle R Enterprise User’s Guide.

Oracle R Enterprise 1.5 Platform and Configuration Requirements

This topic lists the platform and configuration requirements for Oracle R Enterprise Release 1.5.

Oracle R Enterprise runs on 64-bit platforms only. Both client and server components are supported on each of the platforms described in this topic.

Table 1-1 Oracle R Enterprise Platform Requirements

Operating System Hardware Platform Description
Linux x86-64 Intel and AMD
  • 64-bit Oracle Linux Releases 6 and 7

    Oracle Linux may be running on Oracle Exadata Database Machine

  • 64-bit Red Hat Enterprise Linux Releases 6 and 7

Oracle Solaris on x86-64 (64-Bit)

Oracle Solaris on SPARC-64 (64-Bit)

Intel and SPARC
  • 64-bit Oracle Solaris 10 update 10 through Oracle Solaris 11 for both SPARC and x86-64 (Intel) platforms

    Oracle Solaris may be running on Oracle Exadata Database Machine

  • Oracle SPARC SuperCluster

  • Oracle Solaris Studio (formerly Sun Studio) 12u3 or later

IBM AIX on POWER Systems (64-Bit) IBM 64-bit IBM AIX 5.3 or higher
Microsoft Windows x64 (64-Bit) Intel 64-bit Microsoft Windows

Table 1-2 Oracle R Enterprise Configuration Requirements and Server Support Matrix

Oracle R Enterprise Version Open Source R or Oracle R Distribution Oracle Database Release
1.5 3.2.x 11.2.0.4, 12.1.0.1, 12.1.0.2
1.4.1 3.0.1, 3.1.1 11.2.0.3, 11.2.0.4, 12.1.0.1, 12.1.0.2
1.4 2.15.2, 2.15.3, 3.0.1 11.2.0.3, 11.2.0.4, 12.1.0.1
1.3.1 2.15.1, 2.15.2, 2.15.3 11.2.0.3, 11.2.0.4, 12.1.0.1
1.3 2.15.1 11.2.0.3, 11.2.0.4, 12.1.0.1
1.2 2.15.1 11.2.0.3, 11.2.0.4, 12.1.0.1
1.1 2.13.2 11.2.0.3, 11.2.0.4, 12.1.0.1
1.0 2.13.2 11.2.0.3, 11.2.0.4, 12.1.0.1

Note:

In Oracle Database Release 12.1.0.2, for some embedded R operations to be successful, both Oracle R Enterprise releases 1.4.1 and 1.5 require the database patch -- 20173897 WRONG RESULT OF GROUP BY FROM A TABLE RETURNED BY EXTPROC (Patch).

Bugs Fixed in Oracle R Enterprise 1.5

Oracle R Enterprise 1.5 fixes the problems listed in this topic.

Table 1-3 Bugs Fixed in Oracle R Enterprise 1.5

Number Description
14401602 RQ*EVAL FUNCTIONS LACK SUPPORT FOR CLOB COLUMNS
14530778 R:ORE:ORE.CORR GIVING ERROR WHEN R=TRUE
16219642 ORE.SUMMARY VAR ARGUMENT DOES NOT SUPPORT CASE SENSITIVE NAMES IN DERIVED COLUMN
16710525 ADD ABILITY TO SEE PUBLISHED ORE SCRIPTS FROM ORE R CLIENT
17018411 ORE.SUMMARY WEIGHT ARG DOES NOT SUPPORT CASE SENSITIVE NAMES IN DERIVED COLUMN
17715960 EMBEDDED R DOES NOT KEEP THE ALL EXT REFS WHEN R CLOSURE RETURNS AN ORE OBJECT
17858846 ORE MERGE DOES NOT SUPPORT CROSS JOIN
18131028 ORE.GROUPAPPLY INDEX TO SUPPORT MULTIPLE COLUMNS
18132739 ADD A PRCOMP METHOD TO THE TRANSPARENCY LAYER
18253852 TRUNC(ORE.DATETIME) RETURNS WRONG RESULTS DUE TO THE TZ DIFF BETWEEN R AND DB
18371538 ORE.SUMMARY CAN PRODUCE NEGATIVE VALUES FOR SIGN_P (A P-VALUE) ON SPARC64
18539336 RORACLE: WRITE R'S DATETIME INTO DATABASE WITH INCORRECT VALUES
18601345 ORE.UNIVARIATE FUNCTION DOES NOT WORK WITH STATS ARGUMENT
18951854 ORE.SAVE WITH OVERWRITE=TRUE HAS RACE CONDITION
19364981 HARD ERROR OUT WHEN DELETING OREDM MODEL OBJECT FROM DATASTORE
19646251 ORE.CONNECT FAILS USING R-3.1.1 IF SYS.TIMEZONE() RETURNS NA
19663828 ORE.GLM AND ORE.LM SUPPORT FOR SUPPLEMENTAL COLUMNS IN PREDICT()
19792107 R:ORE: OREGRAPHICS PACKAGE CHECK GIVING GENERIC/METHOD CONSISTENCY WARNING
20052194 ORE.SAVE TAKES LONG TIME TO SAVE ORE.FRAME OF A DATA FLOW FROM ORE.GROUPAPPLY
20188845 R:ORE: ORE WINDOWS INSTALLER REQUIRES TO BE CONSISTENT WITH LINUX INSTALLER
20191627 ORE.CORR RETURNS ERROR WITH 12.1.0.2
20312266 ORE.CORR() RETURNS WRONG PEARSON'S P-VALUE
20346201 MISMATCHED SCHEMA BETWEEN ORE.SAVE AND RQEVAL TABLE FUNCTION THROUGH A VIEW
20601967 CLOB SUPPORT ON TRANSPARENCY LAYER ORE.PULL/PUSH
20679972 R: ORE: EXPLICITLY REFERENCE CAIRO FOR BASE CODE
20770076 DEMO RESULTS ORDER DIFFERS FOR DEMO: ODM_OC AND ODM_AR FOR DIFFERENT DB VERSION
21197772 ORE.DATASTORE IS SHOWING UP VALUES EVEN WHEN ORE.SAVE STATEMENT FAILED
21767217 CHECK FOR COMPLEX TYPE INDEX IS MISSING IN GROUPAPPLY
21809287 PROPER ERROR HANDLING MISSING FOR UNSUPPORTED TYPES IN GROUPAPPLY
22113046 ORE.SUMMARY FAILS ON ORE.FRAME WITH LONG COLUMN NAME
22113066 ORE.SUMMARY FAILS ON FREQ AND MODE STATS

About Upgrading to Oracle R Enterprise 1.5

This topic describes upgrading to Oracle R Enterprise 1.5 from an earlier version.

Prior to Oracle R Enterprise 1.5, datastores created by a user were private and accessible only by that user. Scripts in the R script repository were public and globally accessible. In Oracle R Enterprise 1.5, you can make a datastore or script private or you can share it with one or more other users.

When you create a datastore, you can specify that the datastore is private or that you can grant read access to the datastore to other users. When you create a script, you can specify that the script is a private or a global script. A global script is available to all users. You can grant read access to a private script to other users.

If you upgrade to Oracle R Enterprise 1.5 from a previous version of Oracle R Enterprise, any datastore in that previous version remains a private one Any script remains a global script.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.


Oracle® R Enterprise Release Notes, Release 1.5

E49659-04

Copyright © 2012, 2016, Oracle and/or its affiliates. All rights reserved.

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, then 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. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.