About these Release Notes

This document summarizes requirements, differences between SQL*Plus and its documented functionality, new features in this release and support information.

It contains the following topics:

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 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.

Certification

SQL*Plus is certified against the operating systems set out in the operating-system specific Oracle Database documentation.

SQL*Plus is certified against Oracle Database 18c and all supported versions of the Oracle Server.

New Features in SQL*Plus Release 21c

This section describes new features introduced in SQL*Plus in 21c:

  • The HISTORY command syntax has been enhanced. If N is omitted in the command, then RUN, EDIT or DELETE is executed on the most recent entry in the history list.

  • SET JSONPRINT is a new command that enables you to format JSON data.

New Features in Previous Releases

This section lists new features introduced in SQL*Plus in previous releases.

New Features in SQL*Plus Release 19c

This section describes new features introduced in SQL*Plus in 19c.

New Features

  • The Easy Connect syntax, used by applications to connect to Oracle Database, has been enhanced and is called Easy Connect Plus.

Desupported Features

  • Desupport of PRODUCT_USER_PROFILE Table

    Starting in Oracle Database 19c, the SQL*Plus table PRODUCT_USER_PROFILE (PUP table) is desupported.

    The SQL*Plus product-level security feature is unavailable in Oracle Database 19c. Oracle recommends that you protect data by using Oracle Database settings, so that you ensure consistent security across all client applications.

New Features in SQL*Plus Release 18c, Version 18.3

There are no new features for this release.

Deprecated Features

  • Deprecation of PRODUCT_USER_PROFILE Table

    Starting in Oracle Database 18c, the SQL*Plus table PRODUCT_USER_PROFILE (PUP) table is deprecated.

    The only use for the PRODUCT_USER_PROFILE (PUP) table is to provide a mechanism to control product-level security for SQL*Plus. Starting with Oracle Database 18c, this mechanism is no longer relevant. This SQL*Plus product-level security feature will be unavailable in Oracle Database 19c. Oracle recommends that you protect data by using Oracle Database settings, so that you ensure consistent security across all client applications.

New Features in SQL*Plus Release 18c, Version 18.1

This section describes new features introduced in SQL*Plus in 18c.

  • Display the sql_id for a query

    Support for SET FEEDBACK command to display the sql_id for a query. A new SQL_ID option for the SET FEEDBACK command displays the sql_id for the currently executed SQL or PL/SQL statements. The sql_id will be assigned to the predefined variable _SQL_ID.

  • Set the number of rows displayed for a query

    The SET ROWLIMIT command enables users to set a limit for the number of rows displayed for a query.

  • Dynamically change the output display to fit the screen size

    The SET LINESIZE command has a WINDOW option to automatically change the linesize and pagesize for the formatted output according to the width and height of the screen.

New Features in SQL*Plus 12.2.0.1.0 Production

SQL*Plus Release 12.2.0.1 is a superset of SQL*Plus Release 12.1.

This section describes new features introduced in this release of SQL*Plus. Some features may be affected by the SQLPLUSCOMPATIBILITY setting. See the SET SQLPLUSCOMPATIBILITY Matrix in chapter 12, "SQL*Plus Command Reference" in the SQL*Plus User's Guide and Reference.

  • Support for Command History

    The command history feature enables users to run, edit, or delete previously used SQL*Plus, SQL, or PL/SQL commands from the history list in the current session.

  • Support for long Identifiers

    SQL*Plus supports object lengths of 128 bytes. In previous releases, the object length limit was 30 bytes.

  • Commands to improve performance

    SET LOBPREF[ETCH], SET ROWPREF[ETCH], and SET STATEMENTC[ACHE] are new commands that enable users to control row and LOB prefetching, as well as statement caching.

  • New Administrative Privilege

    The SQLPLUS and CONNECT commands support the new user privilege SYSRAC as well as the existing SYSBACKUP |SYSDG |SYSKM |SYSASM |SYSDBA |SYSOPER privileges.

  • Support for Input Binding

    The VARIABLE command supports input binding which can be used in SQL and PL/SQL statements.

  • Support for Extracting Data in CSV Format

    The SET MARKUP command supports the display of data in CSV format.

  • Support for Suppressing Data Returned by a Query

    The ONLY option for the SET FEEDBACK command suppresses display of data returned by the query. The number of rows selected and returned by the query is displayed.

  • Support for Application Continuity

    The SQL*Plus command-line option –AC enables Application Continuity in a session. For more information about Application Continuity, see the Oracle Call Interface Programmer's Guide.

  • General Performance Improvement

    SQL*Plus command-line option –F[ast] improves general performance.

New Features in SQL*Plus 12.1 Production

  • Support for Implicit Results

  • Last Login Time

  • Displaying Invisible Columns

  • Pluggable Database Support

  • New Administrative Privileges

Known Problem

Bug 24602051 - STARTUP OPEN RESTRICTED should return a syntax error when connecting to the Application container root. Instead it results in the PDB opening in normal mode.

Work Around: Use STARTUP OPEN RESTRICT or ALTER PLUGGABLE DATABASE <pdb name> OPEN RESTRICTED.

Bugs Fixed

The following section lists bugs fixed in SQL*Plus. Numbers in parentheses following the problem description refer to bug numbers in the Oracle Bug Database.

Bugs Fixed in SQL*Plus Release 21c

  • Remove -AC option from command line and commit should call OCITransCommit() (29940373).

  • ORA-06502 error is reported when connecting with application continuity enabled service (31777489).

  • Datapatch failed with SP2-0341, SP2-0027 as input is too long (> 4999 characters) (31644542).

  • Query performance is influenced if NLS_LANG is set (30829844).

  • The MERGE command does not return a commit message after a successful transaction when it is set to Auto Commit. (30604989)

  • Numeric output is enclosed in quotation marks when using non-default NUMFORMAT with SET MARKUP CSV ON QUOTE OFF (30364608).

  • SQL*PLUS session crashes with "FREE(): INVALID NEXT SIZE (FAST)" when querying data of BINARY_DOUBLE data type with TM9 numformat and CSV markup (30346729).

  • SET AUTOTRACE TRACEONLY STATISTICS fails with SP2-0612 error (30054396).

  • Login.sql not read for 18.x SQL*Plus on Windows even with SQLPATH set (29869909).

Bugs Fixed in SQL*Plus Release 18c, Version 18.1

  • Using the invalid option RESTRICTED in the STARTUP command will now return an error when connecting to the Application container root (24602051).

  • SET FEEDBACK ONLY will now have the same setting as the -F[ast] command-line option (24642116).

  • SQL*Plus no longer crashes when describing DBMS packages (25097640).

  • Querying the long data column in a Multibyte character set now displays the correct error message when incomplete data is returned (25668186).

  • SQL*Plus now handles leading comments correctly (17419163).

  • SQL*Plus Instant Client no longer leaks memory (25127228).

  • Passing the directory path as an argument to a file works now(25699321).

  • SQL*Plus now observes SQLPATH in the registry or as an environment variable for login.sql on Windows (25804573).

  • The SQLPATH environment variable can now hold more than 256 characters (25997107).

  • DBMS_OUTPUT.PUT_LINE now returns the value correctly (26163790).

  • Internal fixes (25361890, 25390622, 25475326, 25475334)

Bugs Fixed in SQL*Plus 12.2.0.1.0 Production

  • SQL*Plus no longer throws ORA-1005 error when a user name that contains double quotes (") is specified while using the Password command (17613757)

  • SQL*Plus no longer crashes when compiling a package body with errors if the name of the "object" specified in the command line is greater than 46 characters (18389912)

  • Long column names are no longer displayed as junk characters in the table description (20453052)

  • Using the "force" option to create views after altering the session's NLS_SORT parameter no longer causes a crash (20592522)

  • Internal fixes (17830524, 17847776, 18925904, 19655924, 19674161, 19953173, 21609521)

Bugs Fixed in SQL*Plus Release 12.1

  • SQL*Plus now correctly executes a sql script that contains a WHENEVER SQLERROR EXIT clause (10375866)

  • SPERRORLOG now displays entire statement (9559937)

  • SQL*Plus commands now display correctly in PRODUCT_USER_PROFILE (9298298)

  • SHUTDOWN IMMEDIATE no longer hangs after session becomes defunct (8299200)

  • INSERT now correctly reports all rows inserted (7047565)

  • Internal fixes (9587813, 9575131, 8832471, 8670263, 8244438, 7629280, 6862613)

Support

For SQL*Plus support, contact your local Oracle Support Services Center.