Oracle® Database Readme
10g Release 2 (10.2)
B14233-10

Oracle® Database

Readme

10g Release 2 (10.2)

B14233-10

August 2010

Purpose of this Readme

This Readme file is relevant only to the delivered Oracle Database 10g Release 2 (10.2) product and its integral parts, such as SQL, PL/SQL, the Oracle Call Interface (OCI), SQL*Loader, Import/Export utilities, and so on.

This Readme documents differences between the server and its integral parts and its documented functionality, as well as known problems and workarounds.

Operating system releases, such as UNIX and Windows, often provide readme documents specific to that operating system. Additional Readme files may also exist. This Readme file is provided in lieu of system bulletins or similar publications.

Welcome Letter and Licensing

Please read the welcome letter included with your Oracle Database 10g Release 2 (10.2) package.

Documentation

For further documentation, see the full list of books provided with this release, or refer to:

http://oracle.com/technology/documentation

Contents

Section 1, "Compatibility, Upgrading, and Downgrading"

Section 2, "Default Behavior Changes"

Section 3, "Automatic Storage Management"

Section 4, "Block Change Tracking"

Section 5, "Configuration Assistants"

Section 6, "Database Control"

Section 7, "Database Security"

Section 8, "Encryption and Integrity"

Section 9, "Java and Web Services"

Section 10, "Media Management Software"

Section 11, "Oracle Change Management"

Section 12, "Oracle Data Guard"

Section 13, "Oracle Data Mining"

Section 14, "Oracle HTML DB"

Section 15, "Oracle interMedia"

Section 16, "Oracle Internet Directory"

Section 17, "Oracle-Managed Files"

Section 18, "Oracle Net Services"

Section 19, "Oracle Real Application Clusters"

Section 20, "Oracle Real Application Testing"

Section 21, "Oracle Sample Schemas"

Section 22, "Oracle ODBC Driver"

Section 23, "Oracle Gateways Installation"

Section 24, "Oracle Spatial"

Section 25, "Oracle Text"

Section 26, "Oracle XML Developer's Kit"

Section 27, "Oracle XML DB"

Section 28, "PL/SQL"

Section 29, "Pro*C"

Section 30, "Pro*COBOL"

Section 31, "Pro*FORTRAN"

Section 32, "Replication"

Section 33, "SQLJ"

Section 34, "SQL*Module for ADA"

Section 35, "SQL*Plus"

Section 36, "Summary Management"

Section 37, "Streams"

Section 38, "Time Zones"

Section 39, "Types"

Section 40, "Utilities"

Section 41, "Documentation Addendum"

Section 42, "Open Bugs"

Section 43, "Documentation Accessibility"

1 Compatibility, Upgrading, and Downgrading

The following sections describe items for compatibility, upgrading and downgrading.

For late-breaking updates and best practices about preupgrade, post-upgrade, compatibility, and interoperability discussions, see Note 466181.1 on My Oracle Support (formerly OracleMetalink) at https://metalink.oracle.com/ that links to the "Upgrade Companion" web site for Oracle Database 10g Release 2 (10.2).

1.1 Standard Edition Starter Database Upgrade

When the Standard Edition starter database is upgraded, the following components cannot be upgraded by the SE server because they require options that are not installed in the Standard Edition:

- Oracle Data Mining

- Spatial

- OLAP Catalog

- OLAP Analytic Workspace

- Oracle OLAP API

After the upgrade, these components will have a STATUS value of 'OPTION OFF' in the DBA_REGISTRY view, and there will be some invalid objects in the associated component schemas. The Database Upgrade Assistant will show unsuccessful upgrades for these components.

1.2 Tablespace Sizing

The Oracle Database 10g Pre-Upgrade Information Utility (utlu102i.sql) estimates the additional space required in the SYSTEM tablespace and in any tablespaces associated with the components that are in the database (for example, SYSAUX, DRSYS). For a manual upgrade, be sure to run this utility on your existing database prior to upgrading.

To avoid potential space problems during the upgrade, you can set one data file for each tablespace to AUTOEXTEND ON MAXSIZE UNLIMITED for the duration of the upgrade. The Pre-Upgrade Information Utility does not currently estimate UNDO tablespace utilization during the upgrade. The total amount of UNDO tablespace required to run the upgrade scripts depends upon the UNDO_RETENTION initialization parameter and other UNDO options in effect.

If you are using Automatic Storage Management (ASM), be sure there is adequate space in the ASM disk groups for the total tablespace sizes estimated by the utlu102i.sql utility.

1.3 JServer JAVA Virtual Machine Upgrade

The JServer NCOMP files, JAccelerator, are now on the companion products installation media. If JServer is in the database that is being upgraded, the following error will occur during a manual upgrade, provided JServer is not installed:

ORA-29558: JAccelerator (NCOMP) not installed. Refer to install guide for instructions.

JAccelerator can be installed either before or after the upgrade; installing it prior to the upgrade avoids the error.

This error will not be displayed if you are upgrading using the Database Upgrade Assistant (DBUA). Instead, DBUA shows a warning message at the end of the upgrade in the Upgrade Results page, stating which components should be installed from the companion products installation media.

1.4 Upgrading Databases with interMedia, Spatial, or XDK for Java

Oracle interMedia, Oracle Spatial, and Oracle XDK for Java use the Oracle XML DB. If any of these components are installed with the database, Oracle XML DB will be automatically installed to support them.

1.5 Compatibility with Oracle8i Database

Connection of Oracle Database 10g release 2 client or server to Oracle8i Database release 8.1.7 servers is supported. Similarly, connecting Oracle8i Database servers to Oracle Database 10g release 2 servers is supported.

1.6 Upgrading XML Developer's Kit PL/SQL Code

When you use PL/SQL packages DBMS_XMLDOM, DBMS_XMLPARSER, and DBMS_XSLPROCESSOR with XML documents that reference Document Type Definition (DTD) documents or XML Schema documents, the referenced documents must reside as resources in Oracle XML DB Repository.

Note:

In releases prior to Oracle Database 10g Release 2 (10.2), this restriction did not apply. To upgrade relevant Oracle XML Developer's Kit PL/SQL code from previous releases:

1. Add all referenced DTD and XML-Schema documents to the repository.

2. For each XML document that references one of the type-definition resources mentioned in (1): If the reference is a relative path, then change it to an absolute path.

1.7 Enabling Automated Backups

While installing Oracle Database, the Specify Backup and Recovery Options screen may appear truncated if your system does not have the required fonts installed. If your system has only fixed-width fonts, you may not be able to fully specify the required information in the Backup Job Credentials area of the screen. To work around this issue, do not select Enable Automated Backups on this screen. After the installation is complete, use Oracle Enterprise Manager 10g Database Control to enable automated backups.

1.8 Downgrading the Database

The following sections describe scenarios involving downgrade.

1.8.1 Downgrade From 10.2.0.5 to 10.2.0.4 Duplicate Operator Name Error

When the database is downgraded from 10.2.0.5 to 10.2.0.4, you will see an error similar to the following in catrelod.out:

ORA-29844: duplicate operator name specified

This a warning that can be safely ignored since Oracle Spatial is valid at the end of the downgrade (reference Bug 9023792). This only happens when the database is downgraded from 10.2.0.5 to 10.2.0.4 and does not happen on the upgrade to 10.2.0.5.

1.8.2 APS Component Displays Wrong Release Number After Downgrade

After downgrading from 10.2.0.5 to 10.2.0.1, the registery displays the version of the APS component as 10.2.0.5 when it is actually 10.2.0.1 (reference Bug 9286253). This has been fixed in release 10.2.0.2, 10.2.0.3, and 10.2.0.4.

2 Default Behavior Changes

This section describes some of the differences in behavior between Oracle Database 10g and previous releases. The majority of the information about upgrading and downgrading is already included in the Oracle Database Upgrade Guide.

Log Transport Services Password

Log transport services now require that all databases in an Oracle Data Guard configuration use a password file. The password for the SYS user must be identical in the password file of every system that is in the same Oracle Data Guard configuration. For more details, refer to Oracle Data Guard Concepts and Administration.

Change in Read Permissions on Log and Trace Files

Public read permissions on log and trace files are turned off in this release for security reasons. If you have tools or scripts that depend on public read permissions on these files, you need to change the owners of the tools or scripts to that of ORACLE_USER or add to the group to which ORACLE_USER belongs (reference Bug 6472087).

Offset for CLOB and NCLOB APIs

Starting with Oracle Database 10g Release 1 (10.1), APIs that write to a CLOB or NCLOB will cause error ORA-22831 when the offset specified for the beginning of the write is not on a character boundary in the existing LOB data.

LOB APIs use UCS2 codepoint semantics for the amount and offset parameters on CLOBs or NCLOBs when the database default or national character set is multibyte or varying width. For example, if the starting offset is in the middle of a surrogate pair, error ORA-22831 occurs and the data is not written. This avoids corrupting the character in the target LOB.

To configure the database so that it does not throw ORA-22831, you can set event 10973 to any level. When this event is set, data is written to the target LOB regardless of whether the offset is on a character boundary. Note that when supplemental logging is enabled, setting event 10973 does not disable error ORA-22831.

LOG_ARCHIVE_DEST_n Parameter

The LOG_ARCHIVE_DEST_n parameter can now be used to specify a local archiving destination on a database instance running Oracle Standard Edition. Previously, this parameter could only be specified on a database instance running Oracle Enterprise Edition.

PARALLEL_ADAPTIVE_MULTI_USER Parameter

The default value of the initialization parameter PARALLEL_ADAPTIVE_MULTI_USER has changed. See Oracle Database Reference for details.

QUERY_REWRITE_ENABLED Parameter

The default value of the initialization parameter QUERY_REWRITE_ENABLED has changed. See Oracle Database Reference for details.

SHARED_POOL_SIZE Parameter

The amount of shared pool memory allocated by previous Oracle Database releases was equal to the sum of the value of the SHARED_POOL_SIZE initialization parameter and the internal SGA overhead computed during instance startup. This overhead was based on the values of several other initialization parameters. As an example, if the SHARED_POOL_SIZE parameter is 64m and the internal SGA overhead is 12m, the real size of shared pool in the SGA would be 76m, although the value of the SHARED_POOL_SIZE parameter would still be displayed as 64m.

Starting with Oracle Database 10g release 1, the size of internal SGA overhead is included in the value of SHARED_POOL_SIZE parameter; the shared pool memory allocated at startup is exactly the value of SHARED_POOL_SIZE. Therefore, this parameter must be set such that it includes both the internal SGA overhead and the desired effective value of the shared pool size. Assuming that the internal SGA overhead remains unchanged, the effective available value of shared pool after startup would be 12m less than the value of the SHARED_POOL_SIZE parameter, or 52m. To maintain 64m for the effective value of shared pool memory, set the parameter to 76m.Migration utilities for this release recommend new values for SHARED_POOL_SIZE based on the value of internal SGA overheads in the pre-upgrade environment, which you can determine by running the following query before upgrading to Oracle Database 10g:

SQL> SELECT SUM(BYTES) FROM v$sgastat WHERE pool = 'shared pool';

In Oracle Database 10g, the exact value of internal SGA overhead, or Startup overhead in Shared Pool, is listed in the new v$sgainfo view.

In the manual SGA mode, values of SHARED_POOL_SIZE that are too small to accommodate the internal SGA overhead result in an ORA-00371 error during startup. This generated error message includes a suggested value for the SHARED_POOL_SIZE parameter.If you are using automatic shared memory management, the size of the shared pool is tuned automatically, and the ORA-00371 error is never generated.

SHARED_SERVERS Parameter

When the initialization parameter SHARED_SERVERS is dynamically changed to 0, no new clients can connect in shared mode, but existing shared server connections can continue to operate. Prior to Oracle Database 10g, existing shared server connections would hang in this situation.

3 Automatic Storage Management

Please note the following when working with Automatic Storage Manager.

3.1 ASM Non-Interactive Mode

When using the non-interactive mode of the ASMCMD utility on UNIX platforms, use the percent sign (%) as the wildcard character instead of the asterisk (*). In interactive mode, both wildcard characters are supported.

3.2 File Redundancy

The redundancy-lowered column in particular of V$ASM_FILE view can have one of the 3 values U, Y, or N for Unknown, Yes, or No, respectively. In the following cases ASM instance would unable to mark if the redundancy of a file is compromised or not.

1. Files were created using Oracle Database 10g release 1 Automatic Storage Manager software.

2. Newly-created files start out in an unknown state. This bug will be fixed in the first patch set.

The V$ASM_FILE views' redundancy_lowered column transitions from being unknown (U) to either Y or N when the storage configuration of the diskgroup is changed. For example, when adding, dropping or resizing, the disks in the diskgroup will update all the files that are affected. The user can trigger these updates by executing ALTER DISKGROUP CHECK or ALTER DISKGROUP REBALANCE.

See Also:

Oracle Database Administrator's Guide for information about reduced-redundancy files.

4 Block Change Tracking

Please note the following change in block change tracking:

4.1 Block Change Tracking and Physical Standby Database

Block Change Tracking can be enabled at a physical standby database. However, you should note that changed blocks are not recorded, and incremental backups will not be faster during the physical standby as they are receiving and applying redo transactions from the primary database.

When the physical standby becomes a primary database, changes are once again recorded. Following the subsequent Level 0 backup, incremental backups take advantage of change tracking.

5 Configuration Assistants

Please note the following when working with configuration assistants.

5.1 NET Configuration Assistant (NETCA)

During creation of a 10.2.0.1 Oracle RAC database or upgrade of a 10.1.0.x Oracle RAC database, DBCA or DBUA internally migrates listeners from the 10.1.0.x Oracle home to 10.2.0.1 Oracle home. If for some reason, migration fails on remote nodes, database creation or upgrade will succeed. However, listeners may not have been configured on the remote nodes where failure occurred. Perform one of the following workarounds to resolve this:

- Resolve the problem condition and run NETCA migrate on any failed node as shown in the following example:

netca /migrate /listener <listener_name> /nodeinfo <comma-separated-list-of-remaining-nodes>

Where listener_name is the listener prefix (without "_<Node_Name>", which needs to be migrated from 10.1.0.x Oracle home to 10.2.0.1 Oracle home.

- Run NETCA in standalone mode to delete any existing listeners on the failed nodes and recreate 10.2.0.1 listeners.

5.2 Creating Multiple Databases with Database Configuration Assistant (DBCA)

Starting in Oracle Database 10g Release 2 (10.2), DBCA allocates 40% of total RAM to each instance by default, which is internally divided into SGA_TARGET and PGA_AGGREGATE_TARGET. If you are creating a database with other database instances running on your machine, you may get error "ORA-27102: out of memory". If you plan to run multiple databases on the same machine, you may need to modify the default memory parameter settings. If you create a database as part of install, choose the Advanced option on the Select Database Configuration page of the Oracle Universal Installer, which launches DBCA interactively so you can customize memory parameters.

5.3 DBCA Fails to Start the Database Console

On Windows 7, patching from 10.2.0.x to 10.2.0.5 may fail or the installer may return the error Patch error in writing ...or DBCA may fail to start the Database Console (reference Bug 9206040).

As a workaround, before patching to 10.2.0.5, go to system, list all java processes and kill the running Java processes from the Oracle Home of 10.2.0.x Database Console.

6 Database Control

Please refer to the Oracle Enterprise Manager 10g Database Control Readme, at:

$ORACLE_HOME/relnotes/readmes/EM_db_control.htm

6.1 Network Utilization Metrics Not Displayed

Database Control should display the following network utilization metrics for each network interface:

- Network Interface Combined Utilization (%)

- Network Interface Read Utilization (%)

- Network Interface Write Utilization (%)

If these metrics are not displayed for a particular network interface, create the $ORACLE_HOME/sysman/config/network_speed file and enter the network interface name and speed in the file as follows. In this example, interface is the network interface name and speed is the speed of the interface in megabits per second (Mbps):

interface_name speed

For example, if the eth0 network interface does not display metrics, create the $ORACLE_HOME/sysman/config/network_speed file and enter the following, where 100 is the network speed in Mbps:

eth0 100

7 Database Security

Please note the following changes in Database Security.

7.1 FAILED_LOGIN_ATTEMPTS Default Changed

As of Oracle Database 10g release 2, the limit for FAILED_LOGIN_ATTEMPTS for the DEFAULT profile is 10. Prior to release 10.2, the default was UNLIMITED.

7.2 Desupport of Oracle DCE Integration

Beginning in Oracle Database 10g release 2, Oracle Advanced Security option will no longer support integration with the Distributed Computing Environment (DCE).

7.3 CONNECT Role Privileges Removed

In Oracle Database 10g Release 2 (10.2) the CONNECT role only contains the CREATE SESSION privilege. Making this change enables new and existing database customers to enforce good security practices more easily. Applications that rely on the CONNECT role to create tables, views, sequences, synonyms, clusters, or database links, or applications that use the ALTER SESSION command dynamically, may fail due to insufficient privileges.

See Also:

Appendix A of the Oracle Database Security Guide, for a discussion of possible customer impacts and approaches to dealing with the CONNECT role changes

7.4 Scheduler External Jobs Security

In Oracle Database 10g Release 2 (10.2), a new privilege, CREATE EXTERNAL JOB has been added which will now be required for database users to execute jobs that run on the operating system outside of the database. During upgrade from Oracle Database 10g release 1 this privilege is granted to all users who already have the CREATE JOB privilege.

For improved security, Oracle recommends that after an upgrade to Oracle Database 10g Release 2 (10.2), DBAs revoke the CREATE EXTERNAL JOB privilege from all users who do not explicitly require it.

7.5 Changes in Default Security Settings

Java class oracle.security rdbms.server.AppCtx will be deprecated in future Oracle Database releases.

7.6 Enterprise User Security

Databases with different methods of authenticating to Oracle Internet Directory cannot share the same ldap.ora file.

If these databases use the same $ORACLE_HOME, one of them should have a separate TNS_ADMIN directory with its own ldap.ora file (Bug 3327626).

8 Encryption and Integrity

Oracle recommends the use of SHA-1 for data integrity for protected communication between clients and servers. Using MD5 in cipher suites that affect short-timed transactions such as during SSL/TLS authentication or using keyed MD5 for one-way hash stores and using MD5 in SSL/TLS protocols have not been identified as being vulnerable at this time.

9 Java and Web Services

Please note the following items when working with Java.

9.1 JavaVM

The JavaVM readme file is located at:

$ORACLE_HOME/javavm/doc/readme.txt

9.2 JDBC

For Instant Client operation of the JDBC Driver, the following files must be copied from the $ORACLE_HOME/jdbc/lib directory:

- classes12.jar if JDK 1.2 or 1.3 will be used

- orai18n.jar for Globalization and NLS support

- ocrs12.jar for Oracle JDBC rowset implementation

The JDBC readme file is located at:

$ORACLE_HOME/jdbc/Readme.txt

9.3 JPublisher

The JPublisher software, including Database Web services, is provided on the installation media.

The JPublisher readme is at the following locations:

$ORACLE_HOME/sqlj/READMEJPub.txt
$ORACLE_HOME/sqlj/READMEJPub.html

9.4 Web Services

As an alternative to Oracle Net, Oracle Database Web services provides non-connected access to the database through standard Web services mechanisms. These include XML, SOAP, and WSDL, and can turn the database into a Web services provider. Similarly, the database itself can act as a Web service consumer and invoke external Web services. Important features of Web services include:

- A JAX-RPC based SOAP Client library supports invocation of external Web services from within the database, and applies the power of SQL to the results.

- Web Services Call-In: Deploying a JPublisher-generated Java class against Oracle Application Server 10g enables you to invoke database operations like Java and PL/SQL procedures and packages, SQL queries, and DML operations.

- Web Services Call-Out: Deploying a JPublisher-generated Web services client from a WSDL and its PL/SQL wrapper supports invocation of external Web services from within the database.

10 Media Management Software

Oracle Database 10g release 2 includes Oracle Backup software to provide tape backups of your Oracle Database and other critical Oracle infrastructure. Oracle Backup is fully integrated with Recovery Manager (RMAN) to provide data protection services for one or more databases in a networked environment. Oracle Backup differs from Oracle's previously bundled media management software, Legato Single Server Version (LSSV), in the following ways:

- Oracle Backup does not restrict the types of devices that may be used.

- Oracle Backup does not restrict the number of devices that may be used.

- Oracle Backup is supported for non-database file backups, for files such as your Oracle home. LSSV is supported only for RMAN-based database file backups.

- Oracle Backup can operate in a networked environment. LSSV is constrained to operate on a single host.

Oracle no longer bundles LSSV.

10.1 Limited Globalization Support for Oracle Backup

The following globalization restrictions apply to Oracle Backup:

- The Oracle Backup command line interface is English only and is not globalized. It does not support localizations or multi-byte character set data. All messages are in English.

- Those portions of the Oracle Backup graphical user interface (GUI) that are exposed through Oracle Database Control are globalized and are translated to local languages. However, any information passed between the command line and Database Control is in English only.

- Older graphical interfaces to Oracle Backup, other than the Database Control interface, are English only.

- Oracle Backup does not support backups of file system files whose names are encoded in character sets that do not support null-termination, such as Universal Character Set (UCS).

- Oracle Backup does not support RMAN database backups when the backup names are encoded in character sets that do not support null-termination, such as UCS.

11 Oracle Change Management

Quick Tour is not available in Oracle Change Management Pack. If you try to run it, then an error results.

12 Oracle Data Guard

Please refer to Note 278521.1 on Oracle MetaLink for information and instructions on upgrading a primary database and a physical standby database from Oracle Database release 9.2 to release 10.1. For information and instructions for upgrading a logical standby please refer to Note 278108.1.

12.1 Fast-Start Failover

A Fast-Start Failover will fail if the observer cannot restart the new primary database. This can happen, for instance, if the <db_unique_name>_DGMGRL service name has not been statically registered with the listener as documented in Chapter 2 of the Oracle Data Guard Broker manual. If the observer cannot restart the new primary database, the observer will shut down and it cannot be restarted until the following steps have been completed:

1. Start and mount an instance of the new primary database.

2. Wait for the Broker to open the new primary database instance.

3. Start and mount an instance of the old primary database.

4. Run DGMGRL and connect to the new primary database.

5. Issue the REINSTATE DATABASE <old primary db_unique_name> command to convert the old primary database to a standby database.

6. Issue the STOP OBSERVER command. You must do this step even if the observer is not running to be able successfully restart the observer.

7. Restart the observer.

In rare cases, the observer may fail to automatically reinstate the old primary database. If this happens, run DGMGRL, connect to the new primary database, and then issue the REINSTATE DATABASE <oldprimary db_unique_name> command.

12.2 DDL Statements that Use DBLINKS

On logical standby databases, avoid using SQL statements such as CREATE TABLE tablename AS SELECT * FROM bar@dblink as they may fail.

When a statement is executed on the logical standby database, it will access the database link at that time. It is not possible to know if the information on the logical standby database is the same as it was at the time the statement was executed on the primary database. For example, additional columns may have been added or dropped; this can make it impossible to apply the rows that follow. Assuming that the network was set up so that the initial creation succeeded, you may see the following error: ORA-26689: column datatype mismatch in LCR for a table containing nested table columns. Also, the ORA-02019: connection description for remote database not found error may be returned if the database link or the TNS service was undefined on the logical standby database.

When this happens, use the DBMS_LOGSTDBY.INSTANTIATE_TABLE procedure for the table being created, and then restart SQL APPLY operations.

12.3 Logical Standby Databases on the Same Node as the Primary Database

If a logical standby database is located on the same computer system as the primary database, it is likely that both Oracle Database instances have access to the same directory structure. There are Oracle Database commands that reuse datafiles. If Oracle Database commands that reuse datafiles are applied on the primary database, the commands may also be applied on the logical standby database. If that happens while the primary database is shut down, it is possible for the logical standby database to claim the file as part of its database and possibly cause damage to the primary database.

For this reason only, Oracle recommends using the following settings when running the primary and logical standby databases on the same computer system:

EXECUTE DBMS_LOGSTDBY.SKIP('ALTER TABLESPACE');

12.4 Logical Standby Stops with Error ORA-00955

When this error occurs, check the alert log for the following output:

LOGSTDBY stmt: Create table anyddl.anyobj...
LOGSTDBY status: ORA-16542: unrecognized operation
LOGSTDBY status: ORA-16222: automatic Logical Standby retry of last action
LOGSTDBY status: ORA-16111: log mining and apply setting up
LOGSTDBY stmt: Create table anyddl.anyobj...
LOGSTDBY status: ORA-00955: name is already used by an existing object

The initial attempt to apply the DDL actually completed, but failed to be recorded. The ORA-16542 error identifies this problem.

You can restart the logical standby database using the following command:

ALTER DATABASE START LOGICAL STANDBY APPLY SKIP FAILED TRANSACTION;

12.5 ALTER DATABASE GUARD Issues on Oracle Real Application Clusters

For logical standby databases running on an Oracle Real Application Clusters system, you must issue the ALTER DATABASE GUARD statement on each active instance for it to be effective on all instances in the cluster.

12.6 Defining Destinations for Standby Log Files When Using a Flash Recovery Area with Logical Standby Databases

If you have enabled a flash recovery area on a logical standby database, you must set the following initialization parameters:

- Define the STANDBY_ARCHIVE_DEST parameter to point to a location other than the flash recovery area. Doing so ensures that redo data received from the primary database is not archived in the flash recovery area.
For example, when creating a logical standby database as described in Section 4.2.3.2 of Oracle Data Guard Concepts and Administration, define the following parameter on the logical standby database: STANDBY_ARCHIVE_DEST='/arch2/boston/'

- Define a LOG_ARCHIVE_DEST_n parameter and include the LOCATION and the VALID_FOR=(STANDBY_LOGFILES, STANDBY_ROLE) attributes to direct archiving of standby redo log files to a destination that is not the flash recovery area. For example,

LOG_ARCHIVE_DEST_3=
'LOCATION=/arch2/boston/
VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE)
DB_UNIQUE_NAME=boston'

In addition, Oracle recommends that you set the same initialization parameters on the primary database to prepare it for a future switchover:

- Define the STANDBY_ARCHIVE_DEST to point to a location other than the flash recovery area.
For example, when creating a logical standby database as described in Section 4.2.2.2 of Oracle Data Guard Concepts and Administration, define the following parameter on the primary database: STANDBY_ARCHIVE_DEST='/arch2/chicago/'.

- Define a LOG_ARCHIVE_DEST_n parameter and include the LOCATION and the VALID_FOR=(STANDBY_LOGFILES, STANDBY_ROLE) attributes to direct archiving of standby redo log files to a directory that is not the flash recovery area. For example,

LOG_ARCHIVE_DEST_3=
'LOCATION=/arch2/chicago/
VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE)
DB_UNIQUE_NAME=chicago'

12.7 Database Guard Stays On In the New Primary Database If a Prepared Switchover Operation Detects a Network Outage

If a logical standby database performs a switchover to the primary database role running in maximum protection mode, and the LGWR process encounters an error with a destination, LGWR will re-evaluate all destinations to ensure at least one of them is working properly.

If the LGWR process does not find a destination to which it can successfully write the standby redo log file, and if it does not contain any missing log files, or gaps, then the primary instance shuts down. Although the switchover completes successfully, the database guard remains enabled to prevent data divergence.

The solution, which appears in the alert log for the database instance, is to:

- Start the database in a lower protection mode, such as maximum performance.

- Manually disable the database guard by issuing the ALTER DATABASE GUARD NONE command.

12.8 Max Protection Switchover With a Bystander Logical Standby

When performing a zero data loss switchover in a maximum protection configuration that involves more than one logical standby database, keep the following items in mind:

- Ensure that all transport settings (specified by the LOG_ARCHIVE_DEST_n parameters on the current primary database) for logical standby instances not participating in the switchover are set to ARCH, not LGWR, for the duration of the switchover.

- After the transport setting is modified, but before the switchover operation, perform an ALTER SYSTEM ARCHIVE LOG CURRENT to ensure that any active standby redo logfiles are archived.

- Once the switchover is complete, the destination setting for the bystanders should be changed back to the LGWR transport mode.

12.9 Enable Flashback Database on All Databases in a Data Guard Configuration

Oracle recommends that flashback database be enabled on all databases in a Data Guard configuration. This is particularly important on standby databases that do not use a log apply delay.

13 Oracle Data Mining

The file dmREADME.txt in $ORACLE_HOME/rdbms/demo/ is obsolete. For complete and up-to-date instructions for using the Oracle Data Mining sample programs, see the Oracle Data Mining Administrator's Guide.

14 Oracle HTML DB

Please note the following items when working with Oracle HTML DB.

14.1 Checking for the Most Current Release

Oracle HTML DB (recently renamed Oracle Application Express) is released more frequently than the Oracle Database. To view information about or download a more current release, refer to:

http://www.oracle.com/technology/products/database/application_express/index.html

14.2 Rendering Select Lists in a Report or Tabular Form

You can use the HTMLDB_ITEM package to render select lists in a report or tabular form by making direct calls to HTMLDB_ITEM.SELECT_LIST or by applying certain display types to report columns. Note that this type of select list cannot exceed 32K characters. Also note that selecting too many options may result in the select list not rendering correctly.

In Oracle HTML DB 1.5.1, select lists rendered using this approach did not include closing OPTION tags for each option. Closing OPTION tags for each option are now included in Oracle HTML DB 1.6, reducing the number of options allowed in a select list. The actual change in the number of options depends on the length of the option text strings. This also affects pagination if the row ranges in select list style is chosen. If the number of allowed options is reached, the pagination style changes to X-Y of Z without using a select list.

14.3 Escaping Special Characters Rendered from Session State

Page and application items can have their session state values established using a URL or in POSTDATA. In release 1.6, the HTML DB engine escapes these values for two item types when it saves them in session state.

14.3.1 Item Types Escaped on Input

To accomplish this, the HTML DB engine converts commonly used characters to entity references. For example, the HTML DB engine converts the less than sign (<) to &lt;. This rule applies to two types of items:

- Page items of type Display as text (does not save state)

- Application level items (that is, items that are not associated with a particular page)

The objective of this change is to protect your application from cross site scripting (XSS) security attacks for item types that are not escaped during rendering. Developers may continue to store escapable characters into any type of item by setting those item values internally within the page (for example, using page processes, computations, or queries). However, attempts to externally set the values of application items or page items of type Display as text (does not save state) will result in their values being escaped when they are saved in session state. Be aware that setting these types of items to text containing HTML or Java Script from outside the application (for example, using the URL) is a dangerous practice.

Note that you may have problems with existing pages if they rely on the previous behavior (that is, no items values being escaped on input.) Possible examples include:

- When escapable input characters are passed into session state using a URL or POSTDATA for page items of type Display as text (does not save state) and are to be rendered as form items on the page without being escaped. In release 1.6 the values will be escaped on input and thus will not render correctly.

- When escapable input characters are passed into session state using a URL or POSTDATA for application items or for page items of type Display as text (does not save state) and are referenced in HTML regions using &ITEM_NAME. syntax and are expected to be rendered exactly as they were represented on input. For example, the string A<B passed into page item P1_ITEM in the URL would be stored as A&lt;B and would be rendered incorrectly as A&lt;B.

To fix these types of pages:

- Set the content of page items of type Display as text (does not save state) using item default source values, page processes, or computations instead of setting them using the URL method. In this way values will not be escaped when stored in session state and the values will not be escaped during rendering as form items.

- Set the content of application items or page items of type Display as text (does not save state) using page processes or computations instead of setting them using the URL method. In this way values will not be escaped when stored in session state. These values will, however, be escaped during rendering in the HTML region, just as they were in prior releases, so that the less than sign (<) will appear as the less than sign (<) and will not be interpreted as a special character by the browser.

14.3.2 Item Type Escaped on Output

Page items of type Display as Text (saves state) are escaped on output when rendered as form items on a page. The purpose of this change is to correct a bug that caused these items to not be escaped. The new behavior makes this form item display type consistent with other form item display types.

Note that you may also have problems with existing pages if they rely on the previous behavior (that is, where form items of type Display as Text (saves state) were not escaped during rendering.) For example, you may have problems with a page with items that containing escapable characters used for HTML markup.

To correct this type of situation:

1. Change the item type to Display as text (does not save state).

2. If there is a requirement to submit the value in POSTDATA, adjust the page design to achieve the desired results without introducing XSS exposures.

14.4 Restoring Indented Values in a Report Column

Earlier releases of Oracle HTML DB stripped all HTML tags from query column values when those columns where used in HTML expressions and links. In Oracle HTML DB 1.6, you can disable this behavior by turning off the Strip HTML attribute on the Report Attribute page. By default, this attribute is enabled so that applications developed in earlier releases will behave the same way after upgrading.

In release 1.6, stripping of HTML tags also includes NBSC escape characters. This type of character is used in some applications to indent link values in a report column. You can restore the indent after upgrading, by editing your report and setting the Strip HTML attribute on the Report Attribute page to No.

14.5 Implementing Themes in an Application Migrated from Earlier Releases

Oracle HTML DB release 1.6 introduces the concept of themes. A theme is a logical group and classification of templates within an Oracle HTML DB application. The HTML DB engine maps templates between different themes using classes. Because this functionality did not exist in previous releases, be aware of the following issues before trying to utilize themes in an application created in a previous release.

When you import an application into release 1.6 from an earlier release, Oracle HTML DB groups all the templates in the application into a theme named Application Theme.

Before switching the theme of an application developed in an earlier release you must:

- Edit each template in your application and assign it the appropriate class.Both the theme you are switching from and the theme you are switching to must contain the same classes. If you have a template that does not fall within a predefined class, you can use a custom class. Each template type has eight custom classes.

- Review the default templates (and template classes) in the theme you are switching from and the theme you are switching to. You can review the default templates defined in a theme on the Define Theme page.Note that failing to perform this step may result in unexpected results. For example, you might run into problems if one theme has a default page template that is one-level template while another has a default page template which is a two-level template.

If you switch an application theme and it does not render correctly:

1. Verify that the default templates for the active theme are set correctly.

2. Check that the templates within the active theme have the correct template classifications.

14.6 About Column Attribute Format in Japanese

When you open the number or date format select popup dialog on the Column Attribute of a Page Definition in Application Builder, it always displays 'backslash'+ 5,234.10 in the dialog. It is expected that the symbol of 'yen' displays accurately in a Japanese environment.

Note that backslash and yen are the same character code point, but display differently depending on the selected font. Backslash is also displayed when applying the data format on the page in the application.

14.7 Creating an Item with a Name that Includes Non-ASCII Characters

If you create a form on a table or view using a wizard based on an included column whose name contains non-ASCII characters, the name of the new item will also contain non-ASCII characters.

To correct this problem, when you create new items on the Page Definition use alphanumeric characters A_Z, 0-9 and '_' for the item names. You may also need to change the item names to alphanumeric before you apply changes to the item.

14.8 Runtime Errors in an Application Imported from a Previous Release

If you export an application from an earlier Oracle HTML DB release and then import and install it using the installation pages in Application Builder, in rare situations you may encounter runtime errors after the application installs.

These errors often manifest themselves as PL/SQL parser or execution errors pertaining to blocks of PL/SQL code embedded within application components. The installation process sometimes splits strings greater than 200 characters into multiple lines. For example, lines may split between PL/SQL keywords, or at other places that cause parsing errors.

If you encounter these types of errors and suspect the installation process has split large strings:

1. Isolate the failing component containing the suspect PL/SQL within the application by editing the failing page in Application Builder.

2. Locate the blocks of code that appear to split incorrectly.

3. Attempt to split the blocks of code in more appropriate places, or insert whitespace with the lines until no runtime errors are observed.

4. Export the application, import the export file, and then reinstall it.

5. Retain the new export file as a permanent backup copy.

14.9 Creating a Web Reference on a WSDL that has Input parameters Defined as Arrays

If you create a Web service reference in Oracle HTML DB on a WSDL document that has input parameters defined as arrays, you will not be able to use built-in wizards to create a form or a form and report on that Web reference. Oracle HTML DB does not provide a user interface for input parameters that are arrays. Output parameters that are defined as arrays are handled properly if you use the Form and Report on Web Service Wizard.

14.10 No Support for Corel SVG Viewer

Oracle HTML DB release 1.6 does not support the Corel SVG viewer.

15 Oracle interMedia

Performance related components of Oracle interMedia are now packaged with the Companion Products on the installation media. Although interMedia functions properly without the installation media, the following components must be installed to achieve acceptable performance of image processing:

- JAccelerator (NCOMP)

- Oracle interMedia Image Accelerator

The interMedia readme file is located at:

$ORACLE_HOME/ord/im/admin/README.txt

16 Oracle Internet Directory

The Oracle Internet Directory product ships only with Oracle Application Server, not the Oracle Database 10g product set. The following information is included because Oracle Network functionality may use Oracle Internet Directory. Many of the administrative activities for Oracle Internet Directory have been consolidated into a single tool, Oracle Internet Directory Configuration Assistant (OIDCA). OIDCA should be used with Enterprise User Security and Network Names features under these conditions:

1. Enterprise User Security

- Enterprise User Security only works with Identity Management Realms in this release. You must convert Oracle Contexts used in prior releases to Identity Management Realms using the OIDCA tool.

- Use OIDCA when creating or updating the ldap.ora configuration file for discovering the Oracle Internet Directory server in the environment.

2. Network Names

- Use OIDCA when creating, upgrading and deleting Oracle Contexts.

- Use OIDCA when converting an Oracle Context from an earlier release to an Identity Management Realm

- Use OIDCA when setting up the ldap.ora configuration file for discovering the Oracle Internet Directory server in the environment.

Please note the following items when working with Oracle Internet Directory.

16.1 Using the Oracle Internet Directory Configuration Assistant

The Oracle Internet Directory Configuration Assistant (OIDCA) enables you to create, upgrade, and delete an Oracle Context, configure the file ldap.ora, and convert an Oracle Context to an Identity Management Realm.

The OIDCA syntax is:

oidca oidhost=host
nonsslport=port |
sslport=SSL Port
dn=binddn
pwd=bindpwd
propfile=properties file

The following table lists parameters of the OIDCA. To see the usage of OIDCA, enter oidca -help at the command prompt.

16.2 Creating an Oracle Context

The following syntax is used to create an Oracle Context in OIDCA; the parameters are described in the subsequent table.

oidca oidhost=host
nonsslport=port
sslport=SSL Port
dn=binddn
pwd=bindpwd
mode=CREATECTX
contextdn=OracleContext DN

Parameters

Description

oidhost

OID server host; if not specified, default is localhost

nonsslport

OID server port; if not specified, default is 389

sslport

OID SSL port; if not specified, default is 636

dn

OID user, such as cn=orcladmin

pwd

OID user password

mode

Mode of the OIDCA; set to CREATECTX

contextdn

DN under which OracleContext must be created, such as dc=acme, dc=com

Note the following points:

- The contextdn must exist for this operation to be successful.

- This valid DN should not exist in OID: "cn=oraclecontext,dc=acme, dc=com".

- This valid DN must exist in OID: "dc=acme,dc=com".

- The parameters mode and contextdn can also be passed as a properties file.

- Specify the parameter nonsslport=port if you want to perform the operation using non-SSL mode.

- Specify the parameter sslport=sslport if you want to perform the operation using SSL mode.

- Either the nonsslport or the sslport parameter must be specified, but not both.

Functionality

1. The OIDCA verifies that contextdn has a valid DN syntax and that the entry exists in Oracle Internet Directory. Note that the OIDCA cannot create a root OracleContext explicitly. If there is no root Oracle Context, then OIDCA exits with an error.

2. If DN exists, then OIDCA verifies that the Oracle Context already exists.

- If the Oracle Context already exists and is up-to-date, then OIDCA exits with the message Oracle Context already exists and is up to date.

- If the Oracle Context already exists, but it is an older version, then OIDCA exits with the message Oracle Context already exists and is of an older version.

- If the Oracle Context does not exist, then OIDCA creates the Oracle Context under this DN.

16.3 Upgrading an Oracle Context

To upgrade an OracleContext instance, use the following syntax; the parameters are listed in the subsequent table.

oidca oidhost=host
nonsslport=port
sslport=SSL Port
dn=binddn
pwd=bindpwd
mode=UPGRADECTX
contextdn=OracleContext DN

Parameters

Description

oidhost

OID server host; if not specified, default is localhost

nonsslport

OID server port; if not specified, default is 389

sslport

OID SSL port; if not specified, default is 636

dn

OID user, such as cn=orcladmin

pwd

OID user password

mode

Mode of the OIDCA; always set to UPGRADECTX

contextdn

DN under which OracleContext must be created, such as dc=acme, dc=com

Note the following points:

- The contextdn must contain an OracleContext for this operation to be successful.

- The DNs "cn=oraclecontext,dc=acme,dc=com" and "dc=acme,dc=com" are both valid.

- The parameters mode and contextdn can also be passed as a properties file.

- Specify the parameter nonsslport=port if you want to perform the operation using a non-SSL mode.

- Specify the parameter sslport=sslport if you want to perform the operation using SSL mode.

- Either the nonsslport or the sslport parameter must be specified, but not both.

Functionality

1. OIDCA verifies that the contextdn has valid DN syntax and that OracleContext exists in Oracle Internet Directory. OIDCA cannot upgrade a root OracleContext explicitly. If there is no root OracleContext, then OIDCA sends an error message.

2. If OracleContext exists under contextdn,

- The OIDCA checks if the OracleContext belongs to a realm, in which case it exits with the appropriate message. Note that OracleContext instances that belong to a realm cannot be upgraded.

- The OIDCA verifies that the OracleContext is up-to-date, then exits with the message Oracle Context already exists and is up to date.

- If the OracleContext is not up-to-date, then the OIDCA upgrades the OracleContext under this DN.

16.4 Deleting an Oracle Context

To delete an OracleContext, use the following syntax; the parameters are listed in the subsequent table.

oidca oidhost=host
nonsslport=port
sslport=SSL Port
dn=binddn
pwd=bindpwd
mode=DELETECTX
contextdn=OracleContext DN

Parameters

Description

oidhost

OID server host; if not specified, default is localhost

nonsslport

OID server port; if not specified, default is 389

sslport

OID SSL port; if not specified, default is 636

dn

OID user, such as cn=orcladmin

pwd

OID user password

mode

Mode of the OIDCA; always set to DELETECTX

contextdn

DN under which OracleContext must be created, such as dc=acme, dc=com

Note the following points:

- The contextdn must contain an OracleContext for this operation to be successful.

- The DNs "cn=oraclecontext, dc=acme,dc=com" and "dc=acme,dc=com" are both valid.

- The parameters mode and contextdn can also be passed as a properties file.

- Specify the parameter nonsslport=port if you want to perform the operation using a non-SSL mode.

- Specify the parameter sslport=sslport if you want to perform the operation using SSL mode.

- Either the nonsslport or the sslport parameter must be specified, but not both.

Functionality

1. OIDCA verifies that the contextdn has valid DN syntax and that OracleContext exists in Oracle Internet Directory.

2. If OracleContext exists under contextdn,

- The OIDCA checks if the OracleContext belongs to a realm, in which case it exits with the appropriate message. Note that OracleContext instances that belong to a realm cannot be deleted.

- If OracleContext does not belong to a realm, OIDCA deletes it.

16.5 Configuring the file ldap.ora

To configure the file ldap.ora, use the following syntax; the parameters are listed in the subsequent table.

oidca oidhost=host
nonsslport=port
sslport=SSL Port
adminctx=Administrative context
mode=LDAPORA
dirtype=OID or AD
-update

Parameters

Description

oidhost

OID server host; if not specified, default is localhost.

nonsslport

OID server port; determined using discovery APIs.

sslport

OID SSL port; determined using discovery APIs.

mode

Mode of the OIDCA; always set to LDAPORA.

dirtype

Directory type; possible values are OID and AD; mandatory attribute.

adminctx

Default administrative context, such as dc=acme,dc=com. If not specified, determined using discovery.

-update

If this flag is specified, then overwrite existing ldap.ora; if not, then create ldap.ora only if it does not already exist.

Note the following points:

- At least either non-SSL or SSL port must be specified. The other port is discovered.

- The parameters mode, dirtype, and adminctx can also be passed in within a properties file.

Functionality

1. Using the Discovery API, the OIDCA determines all the parameters not specified on the command line.

2. The OIDCA checks for the ldap.ora location using Discovery APIs.

- If ldap.ora exists and the -update parameter is not specified, then exit with message ldap.ora exists.

- If ldap.ora exists and the -update parameter is not specified, then update the existing ldap.ora using Discovery API.

- If ldap.ora does not exist, create a new ldap.ora file in a location in the following order:

LDAP_ADMIN
$ORACLE_HOME/ldap/admin

16.6 Converting an Oracle Context to an Identity Management Realm

Oracle Database 10g entries must be stored in Oracle Internet Directory release 9.0.4 server. An Identity Management Realm release 9.0.4 is also required for Enterprise User Security, a feature of the Oracle Database 10g.

To convert an existing OracleContext to an Identity Management Realm, use the following syntax. The parameters are listed in the subsequent table. Note that the root of the OracleContext object is not converted.

oidca oidhost=host
nonsslport=port
sslport=SSL Port
dn=binddn
pwd=bindpwd
mode=CTXTOIMR
contextdn=OracleContext DN

Parameters

Description

oidhost

OID server host; default is localhost

nonsslport

OID server port; default is 389

sslport

OID SSL port; default is 636

dn

OID user, such as cn=orcladmin

pwd

OID user password

mode

Mode of the OIDCA; always set to CTXTOIMR

contextdn

DN under which OracleContext must be created, such as dc=acme, dc=com

Note the following points:

- The OracleContext must exist under the specified contextdn.

- The DNs "cn=oraclecontext, dc=acme,dc=com" and "dc=acme, dc=com" are both valid.

- The parameters mode and contextdn can also be passed in a properties file.

- Specify the parameter nonsslport=port if you want to perform the operation using a non-SSL mode.

- Specify the parameter sslport=sslport if you want to perform the operation using SSL mode.

- Either the nonsslport or the sslport parameter must be specified, but not both.

Functionality

1. The OIDCA checks if contextdn has valid DN syntax, and if it contains a valid OracleContext.

2. If OracleContext exists under contextdn,

- The OIDCA checks if the OracleContext belongs to a realm. If it does, then it exits with an appropriate error message.

- If OracleContext does not belong to a realm, OIDCA upgrades it to the latest version, and converts it to a realm.

Note also:

- If the nickname attribute is not cn, configure it as a user configuration attribute using the Oracle Internet Directory Self-Service Console.

- If you want to use the Oracle Internet Directory Self-Service Console to manage the users and groups in the converted realm, you must set up the administrative privileges appropriately. For details, see the chapter on "Delegation of Privileges for an Oracle Technology Deployment" in Oracle Fusion Middleware Administrator's Guide for Oracle Internet Directory, 10g Application Server (9.0.4).

17 Oracle-Managed Files

When you rename an Oracle-managed file using the ALTER DATABASE RENAME FILE command, the file with the original filename is deleted. On UNIX platforms, if you rename the Oracle-managed file to a symbolic (soft) link to the original file, then no copy of the original file is left on disk.

To avoid this situation, create a hard link to the Oracle-managed file, and then create a soft link to the hard link. Then, rename the Oracle-managed file to the symbolic (soft) link.

18 Oracle Net Services

Please note the following items when working with Oracle Net Services.

18.1 Listener Compatibility Between Releases

A 10gR1 or later listener is required for a 10gR1 instance. A listener from an older release will not work.

A 10gR2 or later listener is required for a 10gR2 instance. A listener from an older release (including 10gR1) will not work.

19 Oracle Real Application Clusters

Please note the following items when working with Oracle Real Application Clusters (RAC).

Additional RAC-specific information may also be found in a special readme file located at:

$ORACLE_HOME/srvm/doc/README.doc

19.1 Run the rootpre.sh Script Before Adding a 64-Bit Server Node to Oracle Real Application Clusters

This note provides information that was omitted from the Oracle Database Oracle Clusterware and Oracle Real Application Clusters Administration Deployment Guide 10g Release 2 (10.2), part number B14197-04. This information is specific to Oracle Real Application Clusters (Oracle RAC) running release 10.2. Do not use these instructions if you are running a later release of the Oracle Database software.

Before adding a 64-bit server node to an existing Oracle RAC configuration that is running release 10.2, you must run the rootpre.sh script on the node.

Note:

Do not run the rootpre.sh script if the system is running Oracle Database software that is later than release 10.2.

The following steps describe how to run the rootpre.sh script. The command examples are specific to a Linux or UNIX system:

1. Switch user to root:

$ su - root

2. Complete one of the following steps, depending on the location of the installation:

- If the installation files are on a CD/DVD, then enter a command similar to the following, where directory_path is the mount point directory or the path of the database directory on the CD/DVD:

# /directory_path/rootpre.sh

- If the installation files are on the hard disk, then change directory to the Disk1 directory and enter the following command:

# ./rootpre.sh

3. Exit from the root account:

# exit

4. Repeat steps 1 through 3 on each node in the cluster.

19.2 Changing Hostnames and VIP Addresses

Avoid changing hostnames and VIP addresses after you complete the CRS installation. This is a complex process and it includes adding or deleting domain qualifications.

See Also:

MetaLink note 276434.1 describes how to change hostnames and VIP addresses

19.3 CVUQDisk RPM Name and Location

The Red Hat Linux RPM package, cvuqdisk, must be installed before you can use Cluster Verification Utility (CVU). The RPM package name is listed incorrectly in the Oracle Database, Oracle Clusterware, and Oracle Real Application Clusters Installation Guide for Linux. The correct name is cvuqdisk-1.0.1-1.rmp. The RPM package is available on the Oracle Clusterware DVD and in the installed CRS home directory, under the directory name rpm.

20 Oracle Real Application Testing

In this release, Oracle Real Application Testing only supports the following partial functionality:

- For Database Replay, only the capability to capture a database workload is supported

- For SQL Performance Analyzer, only the capability to capture a SQL workload into a SQL tuning set is supported

This functionality is provided so that you can use this option to test database upgrades to Oracle Database 11g and subsequent releases. For additional information, see Oracle Database Real Application Testing User's Guide.

21 Oracle Sample Schemas

The following sections describe Oracle Sample Schemas.

21.1 SH Schema

In previous releases of the Sample Schemas, the SH schema contained data for pharmaceutical and beauty care products. In this release, the SH schema contains consumer electronics and computer products.The Oracle Sample Schemas readme file is located at:

$ORACLE_HOME/rdbms/demo/schema/README.txt

The scripts for manually creating Sample Schemas or any of their components are on the installation media.

21.2 OE Schema

The OE schema contains XML purchase order documents. The XML documents are stored in the Oracle XML DB Repository after validation against the registered XML schema purchaseorder.xsd.

The purchase order XML documents are located at the Oracle XML DB Repository folder $ORACLE_HOME/rdbms/demo/order_entry/2002/<month>, where <month> is one of the three-letter month abbreviations (for example, Jan, Feb, Mar, and so on).

22 Oracle ODBC Driver

The Oracle ODBC Driver Readme file is located at:

$ORACLE_HOME/odbc/html/ODBCRelnotesUS.htm

23 Oracle Gateways Installation

You can install Oracle Gateways from the Oracle Gateways area of the installation media. Documentation is also included on the installation media.

24 Oracle Spatial

The Oracle Spatial readme file supplements the information in the following manuals: Oracle Spatial Developer's Guide, Oracle Spatial Topology and Network Data Models Developer's Guide, and Oracle Spatial GeoRaster Developer's Guide. The Oracle Spatial readme file is located at:

$ORACLE_HOME/md/doc/README.txt

25 Oracle Text

Please note the following items when working with Oracle Text. You should also check entries for Oracle Text Application Developer's Guide in the Documentation Addendum.

25.1 UCS-2 Codepoint Semantics

Oracle Text follows UCS-2 codepoint semantics when evaluating offsets and length values. This applies to its entire API including the CTX_DOC package. The Oracle Text documentation incorrectly refers to it as USC-2.

25.2 Filtering PDF Documents with Embedded Fonts

Embedded fonts in a PDF document are not filtered correctly. They show up as garbage characters in the output. The document itself does not fail to filter, and all non-embedded fonts are filtered correctly.

25.3 Oracle Text Supplied Knowledge Bases

An Oracle Text knowledge base is a hierarchical tree of concepts used for theme indexing, ABOUT queries, and deriving themes for document services. The following Oracle Text services require that a knowledge base be installed:

- Index creation using a BASIC_LEXER preference where INDEX_THEMES=YES

- SYNCing of an index where INDEX_THEMES=YES

- CTX_DOC.THEMEs

- CTX_DOC.POLICY_THEMEs

- CTX_DOC.GIST

- CTX_DOC.POLICY_GIST

- CTX_QUERY.HFEEDBACK

- CTX_QUERY.EXPLAIN, if using ABOUT or THEMES with TRANSFORM

- CTX_DOC.SNIPPET (if using the ABOUT operator)

- CTX_DOC.POLICY_SNIPPET (if using the ABOUT operator)

- CONTAINS queries that use ABOUT or THEMES with TRANSFORM

- The Knowledge Base Extension Compiler, ctxkbtc

- Clustering and classification services, if themes are specified

If you plan to use any of these Oracle Text features, you should install the supplied knowledge bases, English and French, from the Oracle Database 10g installation media.

Note that you can extend the supplied knowledge bases, or create your own knowledge bases, possibly in languages other than English and French. For more information about creating and extending knowledge bases, see the Oracle Text Reference.

For information on how to install products from the installation media, see the Oracle Database Installation Guide specific to your platform.

Supplied Knowledge Bases and Upgrades

Because the supplied knowledge bases are contained on the Oracle Database 10g installation media, they are not immediately available after an upgrade to Oracle Database 10g. Oracle Text features that depend on the supplied knowledge bases available before the upgrade will not function after the upgrade, so you have to install the supplied knowledge bases from the installation media.

After an upgrade, you must regenerate all user extensions to the supplied knowledge bases. These changes affect all databases installed in the given $ORACLE_HOME.

For more information on upgrading Oracle Text and supplied knowledge bases, see the Oracle Database Upgrade Guide, Chapter 4, "After Upgrading a Database", section "Upgrading Oracle Text". The Oracle Text Application Developer's Guide contains both general instructions for upgrading from previous releases of Oracle Text and information on supplied knowledge bases.

25.4 KOREAN_LEXER Desupport

KOREAN_LEXER was deprecated in Oracle9i Release 9.0.1. It is now desupported. Detailed information on how to migrate applications from KOREAN_LEXER are available as Note 300172.1 on Oracle MetaLink.

26 Oracle XML Developer's Kit

The Oracle XML Developer's Kit readme file is located at:

$ORACLE_HOME/xdk/readme.html

27 Oracle XML DB

Please note the following when working with Oracle XML DB.

27.1 XML Date Formatting

Dates and timestamps in generated XML are now in the formats specified by XML Schema. See Oracle XML DB Developer's Guide, Chapter "Generating XML Data from the Database", section "XMLELEMENT and XMLATTRIBUTES SQL Functions", subsection "Formatting of XML Dates and Timestamps".

27.2 Restrictions in XQuery

The following changes to the XQuery Language Specification and to the XQuery Functions & Operators Specification are not supported in Oracle Database 10g Release 2 (10.2).

Unsupported XQuery Language Specification Changes

Error Message Changes: The following changes were made to XQuery error messages:

- Changed the error codes in the language document to have eight characters. The first two characters are XQ for XQuery only, XP for either XPath or XQuery. The next two characters are "category codes" (ST, DY, or TY). The final four characters are digits.

- Added a new error code "XQST0076 Collation specified in order-by clause is not found in statically-known collations."

- Removed the rule against a module importing its own namespace. Deleted error XQST0056.

- Checked consistency of error descriptions with error references. Added three missing error references: XQST0012, XQST0013, and XQST0069. Deleted three obsolete errors: XQST0014, XQST0056, and XQDY0062.

Other Unsupported XQuery Language Specification Changes: These are other changes to XQuery not supported in this release:

- URI values are whitespace normalized according to the rules for the |xs:anyURI| type in the W3C XML schema recommendation.

- Allowing default function namespace to be null

- Support for xml:id. This is not supported. An error is raised.

- Construction mode for document constructors

- Standalone attribute "/./". This may lead to wrong results for some queries.

Unsupported XQuery Functions & Operators Specification Changes

- Constructor for a user defined type that is not in a namespace

- The XQuery standard distinguishes positive zero (+0) from negative zero (-0), but Oracle XML DB does not. Both are represented as |0|, and they are treated equally.

- The functions fn:codepoint-equal and fn:prefix-from-Qname.

28 PL/SQL

Please note the following when working with PL/SQL.

28.1 DBMS_STATS

The PL/SQL package, DBMS_STATS, has been expanded to include two new DIFF_TABLE_STATS_* statistics functions. These functions can be used to compare statistics for a table from two different sources.

For more information see Oracle Database PL/SQL Packages and Types Reference.

28.2 SQL Test Case Builder

For many SQL-related problems, obtaining a reproducible test case makes it easier to resolve the problem. The SQL Test Case Builder automates the somewhat difficult and time-consuming process of gathering and reproducing as much information as possible about a problem and packages it up ready to send to Oracle Support. SQL Test Case Builder is part of the PL/SQL package DBMS_SQLDIAG.

For more information see Oracle Database Performance Tuning Guide and Oracle Database PL/SQL Packages and Types Reference.

28.3 Procedure DBMS_DDL.ALTER_COMPILE is Deprecated

DBMS_DDL.ALTER_COMPILE is deprecated as of this release. While the procedure will still be available in the package, users are strongly advised to use the following DDL within a dynamic SQL statement:

ALTER PROCEDURE|FUNCTION|PACKAGE [<schema>.]<name> COMPILE [BODY]

28.4 DBMS_SCHEDULER PL/SQL Package

The Oracle Scheduler has support for event based jobs. These are jobs that are started when a message is enqueued into a database queue. When the database queue used for this purpose is a secure queue, the QUEUE_SPEC attribute of event-based jobs and schedules is a pair of the form <queue name>, <agent name>. The reason an agent has to be specified is to help the scheduler determine which messages the user is allowed to see. In the case of non-secure queues, if the user has dequeue privileges on a queue then he can dequeue as any agent that is subscribed to the queue. This means that he can see all the messages in the queue. In the case of secure queues, the user has to be granted privileges to not only the queue but to agents as well.

In addition to granting dequeue privileges, the queue owner has to make a call to dbms_aqadm.enable_db_access() to allow the user to dequeue as a specific agent. The agent could be subscribed to the queue using a rule which filters out messages that the user should not see.

The scheduler always subscribes to every queue (secure or otherwise) using its own agent SCHEDULER$_EVENT_AGENT. Since the scheduler runs as user SYS, it will be able to see all the messages in the queue. In the case of secure queues, however, this should not be done since the purpose of secure queues is to allow the queue owner to provide some kind of limited access to the queue to users. Therefore, the scheduler requires an agent name in the QUEUE_SPEC attribute. This agent name is used solely for the purpose of determining which messages the user is allowed to see. The scheduler does not dequeue messages as this agent. When the scheduler receives notification that a message has arrived in a secure queue then it performs the following checks for each event-based job that depends on the queue.

1. It checks to see if the job owner has dequeue privileges on the queue.

2. It checks to see if the agent name provided in the queue spec can be used by the job owner.

3. It checks to see if the agent is currently subscribed to the queue.

4. It checks if the incoming message is visible to the agent.

If all the above checks pass then the scheduler will launch the event-based job. Regardless of whether the checks pass or not, the message will be dequeued using the agent SCHEDULER$_EVENT_AGENT.

When providing an agent for the QUEUE_SPEC attribute, the user can provide an existing agent name or have a new one created for this purpose. In either case, it is the user's or queue owner's responsibility to ensure that the agent dequeues its messages.

29 Pro*C

The Pro*C readme file is located at:

$ORACLE_HOME/precomp/doc/proc/readme.doc

30 Pro*COBOL

The Pro*COBOL readme file is located at:

$ORACLE_HOME/precomp/doc/procob2/readme.doc

31 Pro*FORTRAN

The Pro*FORTRAN readme file is located at:

$ORACLE_HOME/precomp/doc/prolx/readme.txt

32 Replication

Please note the following items when working with replication.

32.1 Globalization Support (NLS) and Replication

In a replication environment involving Oracle Database 10g and pre-Oracle9i Database releases at sites utilizing NCHAR and NVARCHAR2 data types, an Oracle Database patch must be installed at the earlier release (pre-Oracle9i Database) site. Contact Oracle Support Services to obtain the appropriate NLS patch as recommended in ALERT 140014.1 Oracle8, Oracle8i to Oracle9i using New AL16UTF16 available on OracleMetaLink, http://metalink.oracle.com.

32.2 RMAN

The unused block compression feature will be disabled in Oracle Database 10g Release 2 (10.2). The feature will be re-enabled with the first Oracle Database 10g Release 2 (10.2) patch set.

32.3 Virtual Private Database (VPD) and Replication

For multimaster replication, there must be no VPD restrictions on the replication propagator and receiver schemas. For materialized views, the defining query for the materialized view may not be modified by VPD. VPD must return a NULL policy for the schema that performs both the create and refresh of the materialized view. Creating a remote materialized view with a non-NULL VPD policy does not generate an error, but may yield incorrect results.

33 SQLJ

SQLJ was temporarily desupported in Oracle Database 10.1. We are once again supporting SQLJ from Oracle Database 10.1.0.4 and 10.2.

SQLJ Supports only Java 1.2 through Java 1.4

SQLJ, starting in release 10.1.0.4, will only support Java 1.2 through Java 1.4. Java 1.1 support has been discontinued. As Java 1.1 is desupported, the file runtime11.jar, used for Java 1.1 only, will not be shipped.

SQLJ Does not support Non-Oracle JDBC implementations

SQLJ will not support any non-Oracle JDBC implementations, and thus will not ship with the file runtime-nonoracle.jar, which is used with non-Oracle JDBC implementations.

34 SQL*Module for ADA

The SQL*Module for ADA readme file is located at:

$ORACLE_HOME/precomp/doc/mod/readme.txt

35 SQL*Plus

The SQL*Plus readme file is located at:

$ORACLE_HOME/sqlplus/doc/README.htm

35.1 DESCRIBE Behavior Change

DESCRIBE behavior of invalidated objects has been changed to be more user-friendly. In previous releases, a DESCRIBE on an invalidated object failed with an error ORA-24372: invalid object for describe; this error would continue to be generated even after the object was re-validated. In Oracle Database 10g, a DESCRIBE operation automatically revalidates the object, and lets it work if the revalidation is successful.

36 Summary Management

Please note the following items when working with Summary Management.

36.1 Fine Grained Auditing (FGA)

If Fine Grained Auditing (FGA) is enabled on a table in the query, then Query Rewrite will not occur for this query.

36.2 Feature Availability

The creation and refresh features of materialized views are supported in both the Standard and Enterprise Editions. However, query rewrite and materialized view advice from the SQL Access Advisor are available in the Enterprise Edition only.

36.3 NLS Parameters

When using or refreshing certain materialized views, you must ensure that your NLS parameters are the same as when you created them in the materialized view. Materialized views that fall under this restriction contain the following constructs:

1. Expressions that may return different values, depending on NLS parameter settings For example, (date >?01/02/03?) or (rate <= ?2.150?) are NLS parameter dependent expressions.

2. Equijoins where one side of the join is character data The result of this equijoin depends on collation and this can change on a session basis, giving an incorrect result in the case of query rewrite or an inconsistent materialized view after a refresh operation.

3. Expressions that generate internal conversion to character data in the select list of a materialized view, or inside an aggregate of a materialized aggregate view This restriction does not apply to expressions that involve only numeric data, for example, a+b where a and b are numeric values.

37 Streams

Please note the following when working with Streams.

37.1 Propagation from Oracle9i release 9.2 to Oracle Database 10g Release 2 (10.2) Returns Error ORA-25334

Propagation from Oracle9i release 9.2 to Oracle Database 10g Release 2 (10.2) will result in an error ORA-25334 unless the patch to Bug 4285404 has been applied to the Oracle9i release 9.2.

37.2 Streams Advanced Queuing

Subscription names for AQ notification will become canonical. Thus, registrations for scott.queue1:sub and SCOTT.QUEUE1:SUB are for the same entity and will be represented in canonical form as "SCOTT"."QUEUE1":"SUB".

38 Time Zones

The Daylight Saving Transition data for regions that change their Daylight Saving Transition rules frequently and during irregular periods, such as Israel and Brazil, are not up-to-date with this release. This may affect the accuracy of the time data for these regions stored in the TIMESTAMP WITH TIME ZONE data type.

Existing customers can run the utltzv2.sql script located under $ORACLE_HOME/rdbms/admin/ to determine whether or not their existing database data is affected.

New customers that plan to use the TIMESTAMP WITH TIME ZONE data type to manage time data from these regions should use the time zone offset (for example, - 5:00) instead of the time zone region name when specifying timestamp literals. By using this format, additional application code will need to be written to handle Daylight Savings adjustments for times in the affected region.

39 Types

Please note the following item when working with types.

39.1 Object Type Translator

The Object Type Translator (OTT) readme file is located at:

$ORACLE_HOME/precomp/doc/ott/readme.doc

40 Utilities

Please note the following items when working with utilities.

40.1 Data Pump Import Using Automatic Storage Management and SQLFILE

To perform a Data Pump Import to a SQL file using Automatic Storage Management (ASM), the SQLFILE parameter that you specify must include a directory object that does not use the ASM + notation. That is, the SQL file must be written to a disk file, not into the ASM storage.

40.2 Data Pump Export/Import Using Automatic Storage Management and LOGFILE

To perform a Data Pump Export or Import using Automatic Storage Management (ASM), you must specify a LOGFILE parameter that includes a DIRECTORY object that does not include the ASM + notation. That is, the logfile must be written to a diskfile, and not written into the ASM storage. Alternatively, you can specify NOLOGFILE=Y. However, this prevents the writing of the logfile.

40.3 Data Pump Export/Import and Database Link types

The following types of database links are supported for use with Data Pump Export/Import:

- Public database link (both public and shared)

- Fixed-user database link

- Connected user database link

The following type of database link is not supported for use with Data Pump Export/Import:

- Current user database link

Refer to the Oracle Database SQL Language Reference for further information about database links.

40.4 DBMS_METADATA MODIFY Transform Restriction

A maximum of ten instances of any remap parameter may be specified for a MODIFY transform. That is, you may specify up to ten REMAP_DATAFILE parameters, up to ten REMAP_SCHEMA parameters, and so on. Additional instances are ignored. As a workaround, perform another ADD_TRANSFORM for the MODIFY transform and specify the additional remap parameters:

th1 := dbms_metadata.add_transform(h,'MODIFY');
dbms_metadata.set_transform_param(th1,'REMAP_SCHEMA','USER1','USER101');
dbms_metadata.set_transform_param(th1,'REMAP_SCHEMA','USER2','USER102');
...
dbms_metadata.set_transform_param(th1,'REMAP_SCHEMA', 'USER10', 'USER110');
th2 := dbms_metadata.add_transform(h,'MODIFY');
dbms_metadata.set_transform_param(th2,'REMAP_SCHEMA','USER11', 'USER111');
...

40.5 Original Export/Import

After an IMPORT is finished for which ROWS=N, the statistics for all tables imported will be locked.

41 Documentation Addendum

This section contains corrections to Oracle Documentation for this release.

41.1 Oracle Call Interface Programmer's Guide

The following sections describe corrections to the Oracle Call Interface Programmer's Guide.

41.1.1 Changed Text for the Location of Regenerated Data Shared Library

In Chapter 1 of the Oracle Call Interface Programmer's Guide, the section titled "Regeneration of Data Shared Library and Zip Files," the following paragraph replaces the current paragraphs about the location of regenerated data shared library (reference Bug 6805904):

"The new regenerated libociei.so is placed in the ORACLE_HOME/instantclient directory, while the original existing libociei.so located in this same directory is renamed to libociei.so0."

41.1.2 Documentation Error in the Oracle Call Interface Programmer's Guide for Release 10.2, Part Number B14250-02

The following excerpts, organized by chapter and page number, describe documentation errors and errors of omission:

- Per Bug 8692208
Page 2-15, add the following paragraph as the last paragraph in the section "Single User, Single Connection:

For information regarding operating systems providing facilities for spawning processes that allow child processes to reuse state created by their parent process, see "Operating System Considerations" on page 2-23 as to why the child process must not use the same database connection as created by the parent.

- Per Bug 8692208
Page 2-22, add the following new section "Operating System Considerations" as the first section under the heading "Additional Coding Guidelines":

Operating System Considerations

Operating systems may provide facilities for spawning processes that allow child processes to reuse state created by their parent process. After spawning a child process, the child process must not use the same database connection as created by the parent. Any attempt on behalf of the child process to use the same database connection as the parent may cause undesired connection interference and result in intermittent ORA-03137 errors because SQL*Net expects only one user process to be using a connection to the database.

Where multiple, concurrent connections are required, consider using threads if your platform supports a threads package. Concurrent connections are supported in either single-threaded or multithreaded applications.

See Also:

"Overview of OCI Multithreaded Development" and "The OCIThread Package" for more information.

For better performance with many concurrently opened connections, consider pooling them.

See Also:

"Session Pooling in OCI" and "When to Use Connection Pooling, Session Pooling, or Neither" for more information.

- Per Bug 9455057
Page 3-7, the 2nd list item near the bottom of the page should be ignored:

Indexed Table, SQLT_TAB. SQLT_TAB is an unsupported type.

- Per Bug 9455057
Page 3-27, in Table 3-11, OCI_TYPECODE to SQLT mappings, the following table row entry for Table 3-11 should be ignored because the Type information (OCI_TYPECODE_ITABLE and SQLT_TAB) are unsupported types and cannot be used be users.

Oracle Type System Typename

Oracle Type System Type

Equivalent SQLT Type

TABLE (Indexed table)

OCI_TYPECODE_ITABLE

SQLT_TAB

- Per Bug 9364987
In Chapter 4 "Using SQL Statements in OCI", in the section "Fetching Results", in the subsection "Setting Prefetch Count", the note containing the following text is incorrect:

Prefetching is not in effect if LONG columns are part of the query. Queries containing LOB columns can be prefetched, because the LOB locator, not the data, is returned by the query.

And, replace it with the following content, so that it reads:

Prefetching is not in effect if LONG, LOB or Opaque Type columns (such as XMLType) are part of the query.

- Per Bug 9455057
Page 5-30, the last paragraph in the section titled "Runtime Data Allocation and Piecewise Operations in OCI" that reads as follows should be ignored:

Users who are binding to PL/SQL index-by tables can retrieve a pointer to the current index of the table during the OCIStmtGetPieceInfo() calls.

This preceding paragraph is to be replaced by the following new section to be added on Page 5-33 titled: "PL/SQL Indexed Table Binding Support" that is to follow the existing section titled "Piecewise Operations with PL/SQL" and contains the following information:

PL/SQL indexed tables can be passed as IN/OUT binds into PL/SQL anonymous blocks using OCI. The procedure for binding PL/SQL indexed tables is quite similar to performing an array bind for SQL statements. The OCI program must bind the location of an array with other metadata for the array as described as follows, using either OCIBindByName() or OCIBindByPos().

The process of binding a C array into a PL/SQL indexed table bind variable must provide the following information during the bind call:

- void *valuep (IN/OUT) - a pointer to a location that specifies the beginning of the array in client memory

- ub2 dty (IN) - the datatype of the elements of the array as represented on the client

- sb4 value_sz (IN) - the maximum size (in bytes) of each element of the array as represented on the client

- ub4 maxarr_len (IN) - the maximum number of elements of the datatype the array is expected to hold in its lifetime
If allocating the entire array upfront for doing static bindings, the array needs to be sized sufficiently to contain maxarr_len number of elements, each of size value_sz. Note that this information is also used to constrain the indexed table as seen by PL/SQL. PL/SQL cannot lookup the indexed table (either for read or write) beyond this specified limit.

- ub4 *curelep (IN/OUT) - a pointer to the number of elements in the array (from the beginning of the array) that are currently valid.
This should be less than or equal to the maximum array length. Note that this information is also used to constrain the indexed table as seen by PL/SQL. For IN binds, PL/SQL cannot read from the indexed table beyond this specified limit. For OUT binds, PL/SQL can write to the indexed table beyond this limit, but not beyond the maxarr_len limit.

For IN Indexed table binds, prior to performing OCIStmtExecute(), it is the user's responsibility to set up the current array length (*curelep) for that execution. In addition, the user also needs to set up the actual length and indicator as applicable for each element of the array.

For OUT Binds, it is the responsibility of OCI to return the current array length (*curelep) and the actual length, indicator and return code as applicable for each element of the array.

For best performance, it is desirable to keep the array allocated with maximum array length, and then vary the current array length between executes based on how many elements are actually being passed back and forth. Such an approach would not require repeatedly deallocating and re-allocating the array for every execute, thereby helping overall application performance.

To Be Supplied: A new example is to be added here. To see this new example, see the Release 11.1 and 11.2 Oracle Call Interface Programmer's Guides for this section in a future revision of this book for these releases.

It is also possible to bind using OCI piecewise calls for PL/SQL indexed tables. Such an approach does not require preallocating the entire array upfront. The OCISmtSetPieceInfo() and OCIStmtGetPieceInfo() calls could be used to pass in individual elements piecewise.

See Also:

For information on these calls see "OCIBindByName()" on page 16-67 and see "OCIBindByPos()" on page 16-71.

Restrictions

The PL/SQL indexed table OCI binding interface does not support binding:

- Arrays of ADTs or REFs

- Array of descriptor types such as LOB descriptors, ROWID descriptors, datetime or interval descriptors

- Array of PL/SQL record types

- Per Bug 9455057
Page 6-3, in the section titled "Notes on Types and Attributes" and within the section titled "Datatype Codes", the last sentence in the first paragraph that reads:

Internal PL/SQL types (boolean, indexed table) are not supported.

And, replace it with the following content, so that it reads:

Internal PL/SQL type (boolean) is not supported.

For background information, both the Oracle type system type, OCI_TYPECODE_ITABLE, and its Oracle type system typename equivalent SQLT type, are unsupported types.

- Per Bug 9475797
Page 9-22, replace the 2nd list item under the heading "Rules for Statement caching in OCI" that reads:

You are required to keep one service context for each session and use statement handles only for that service context. That is the required model and usage.

And, replace it with the following content, so that it reads:

You are required to keep one service context per session. Any statement handle obtained using OCIStmtPrepare2() with a certain service context should be subsequently used only in conjunction with the same service context, and never with a different service context.

- Per Bug 8616216
Page 15-62, replace 2nd sentence in alenp (OCIBindByName()) description to be consistent with the 2nd sentence in alenp (OCIBindByPos()) description by replacing:

Each element in alenp is the length of the data in the corresponding element in the bind value array before and after the execute.

And, replace it with the following content, so that it reads:

Each element in alenp is the length (in bytes, unless the data in valuep is in Unicode, when it is in codepoints) of the data in the corresponding element in the bind value array before and after the execution.

- Per Bug 9455057
Page 15-62 and 15-66, for OCIBindByName() and OCIBindByPos(), change the description for maxarr_len from:

The maximum possible number of elements of type dty in a PL/SQL binds. This parameter is not required for non-PL/SQL binds. If maxarr_len is nonzero, then either OCIBindDynamic() or OCIBindArrayOfStruct() can be invoked to set up additional bind attributes.

And, replace it with the following content, so that it reads:

A maximum array length parameter (the maximum possible number of elements the user's array can accommodate). Used only for PL/SQL indexed table bindings.

- Per Bug 9455057
Page 15-63 and 15-66, for OCIBindByName() and OCIBindByPos(), change the description for curelep from:

A pointer to the actual number of elements. This parameter is only required for PL/SQL binds.

And, replace it with the following content, so that it reads:

Current array length parameter (a pointer to the actual number of elements in the array before or after the execute). Used only for PL/SQL indexed table bindings.

- Per Bug 9455057
Page 15-64 and p15-68, add the following text to the end of the Comments section:

With IN binds, the values for each element of the array, the actual lengths of each element, and the actual array length need to be setup before the OCIStmtExecute().With OUT binds, the values for each element of the array, the actual lengths of each element, and the actual array length are returned from the server after the OCIStmtExecute().

- Per Bug 8616216
Page 15-65, disregard the 3rd paragraph for value_sz parameter description for the OCIBindByPos() call that reads:

For a PL/SQL block, a value_sz greater than the width of a CHAR column causes an error, because of how PL/SQL processes the CHAR data type.

- Per Bug 8616216
Page 15-66, replace 1st sentence and insert a new 2nd sentence in value_sz ((OCIBindByPos()) description to be consistent with the 1st sentence in value_sz (OCIBindByName()) description replacing:

The size of a data value.

And, replace it with the following content, so that it reads:

The size in bytes of the data value pointed to by void pointer valuep. Although the bind buffer valuep could be of string type, the length is measured in number of bytes because the pointer passed down is of (void *) type.

41.2 Oracle Data Guard Broker

In Oracle Data Guard Broker (part number B14230-01), Step 3 in Section B.3 should indicate that Oracle Enterprise Manager Grid Control release 10.1 and release 10.2 both support Oracle Database release 10.2 targets. The following excerpt shows the updated text for Step 3:

Step 3 Upgrade the Oracle Database software to release 10.2

For step-by-step upgrade instructions, see the Oracle Database installation documentation that is appropriate for your operating system.

To upgrade Oracle Enterprise Manager Grid Control or DGMGRL, consider the following recommendations:

- If you are running Oracle Enterprise Manager Grid Control release 10.1, you can use it to manage a broker configuration running Oracle Data Guard release 10.2. However, Oracle recommends that you upgrade to Oracle Enterprise Manager Grid Control release 10.2 to take advantage of the new features and enhancements (described in the What's New preface of this book).

- If you are using DGMGRL release 10.1, you must upgrade to Data Guard command-line interface release 10.2 to manage a broker configuration running Oracle Data Guard release 10.2.

Note:

Existing release 10.1 DGMGRL command-line scripts are supported by the DGMGRL command-line interface available in release 10.1. Release 10.2 DGMGRL command-line scripts are not guaranteed to be supported by Oracle Database release 10.1.

41.3 Oracle Data Guard Concepts and Administration

This section contains corrections to the Oracle Data Guard Concepts and Administration documentation.

41.3.1 THROUGH ALL SWITCHOVER

In Chapter 10, "Data Guard Scenarios", Section 10.3.1, "Converting a Failed Primary Database into a Physical Standby Database", Step 5, "Start Redo Apply", the command in the second bullet item should include the THROUGH ALL SWITCHOVER clause, as shown in the following example:

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE THROUGH ALL SWITCHOVER DISCONNECT;

Including the THROUGH ALL SWITCHOVER clause ensures that Redo Apply can continue through the end-of-redo marker in the last log file that was archived by the failed primary database. If you do not include this clause, recovery stops and you must issue the command again to restart Redo Apply and continue past the end-of-redo marker.

41.3.2 Oracle Label Security is Not Supported with a Logical Standby Database

In Chapter 4, "Creating a Logical Standby Database", section "Determine Support for Data Types and Storage Attributes for Tables" should state that Oracle Label Security is not supported by logical standby databases. If Oracle Label Security is installed on the primary database, SQL Apply fails on the logical standby database with an internal error during startup.

41.3.3 Starting Real-Time Apply

The following changes apply to Chapter 10, "Data Guard Scenarios":

- In section "Flashing Back a Physical Standby Database", Step "Restart log apply services", should demonstrate how to start real-time apply:
Issue the following command to start real-time apply on the physical standby database:

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE;

- In section "Flashing Back a Logical Standby Database", Step "Start SQL Apply", should demonstrate how to start real-time apply:
Issue the following command to start real-time apply on the logical standby database:

SQL> ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;

41.4 Oracle Database Administrator's Guide

This section contains corrections to the Oracle Database Administrator's Guide.

41.4.1 Size of SYSAUX Tablespace

In Chapter 8, "Managing Tablespaces", section "Controlling the Size of the SYSAUX Tablespace" states that a system with an average of 30 concurrent active sessions may require approximately 200 MB to 300 MB of space for its Automatic Workload Repository data. The 200 MB to 300 MB estimate is valid for a system with an average of 10 (rather than 30) concurrent active sessions.

The following table provides guidelines on sizing the SYSAUX tablespace, based on the system configuration and expected load.

Parameter/Recommendation

Small

Medium

Large

Number of CPUs

2

8

32

Number of concurrently active sessions

10

20

100

Number of user objects: tables and indexes

500

5,000

50,000

Estimated SYSAUX size at steady state with default configuration

500 MB

2 GB

5 GB

41.4.2 Running Database Configuration Assistant (DBCA) in Silent Mode

In Chapter 2, "Creating an Oracle Database", the following information should be included.

Silent mode does not have a user interface (other than what you initially input on the command line) or user interaction. It outputs all messages, including information, errors, and warnings, to a log file.

From the command line, enter the following to see all of the DBCA options that are available when using silent mode:

dbca -help

The following sections contain examples that illustrate the use of silent mode.

DBCA Silent Mode Example 1: Creating a New Database To create a database from Oracle seed template, enter the following on the command line:

% dbca -silent -createDatabase -templateName Transaction_Processing.dbc
-gdbname ora10i -sid ora10i -datafileJarLocation
/private/oracle10i/ora10i/assistants/dbca/templates -datafileDestination
/private/oracle10i/ora10i/oradata -responseFile NO_VALUE
-characterset WE8ISO8859P1

DBCA Silent Mode Example 2: Creating a Seed Template  To create a seed template, enter the following on the command line:

% dbca -silent -createCloneTemplate -sourceDB ora10i -sysDBAUserName
sys -sysDBAPassword change_on_install -templateName copy_of_ora10i.dbc
-datafileJarLocation /private/oracle/ora10i/assistants/dbca/templates

41.5 Oracle Database Backup and Recovery Reference

In the Example titled "Deleting Files That Have Already Been Backed Up" under the DELETE command in the Oracle Database Backup and Recovery Reference, it states that the example "deletes backups and copies (including archived redo logs) that have already been backed up at least twice to tape." This statement is incorrect. This example only deletes the archived redo logs, not the backups and copies (reference Bug 6641802).

41.6 Oracle Database Backup and Recovery Quick Start Guide

In the Oracle Database Backup and Recovery Quick Start Guide (B14193-03), in section "Configuring Disk Devices and Channels" the RMAN command syntax should be:

RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK CLEAR;

It was incorrectly stated as:

RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT CLEAR;

41.7 Oracle Database Backup and Recovery Advanced User's Guide

In the user documentation for Oracle Database Backup and Recovery Advanced User's Guide, under section heading "Performing Datafile Recovery in an Open Database", the paragraph should read as follows:

It is possible for a media failure to occur while the database remains open, leaving the undamaged datafiles online and available for use. Damaged datafiles—but not the tablespaces that contain them—are automatically taken offline if the database writer is unable to write to them. If the database writer cannot open a datafile, an error is still returned. Queries that cannot read damaged files return errors, but the datafiles are not taken offline because of the failed queries.

41.8 Recovery Manager (RMAN) Documentation

The RMAN BACKUP and BACKUPSET commands only check for backupsets. These commands do not check for proxy copy or image copy backups.

41.9 Oracle Database Heterogeneous Connectivity User's Guide

The following information should be removed from Chapter 4, "Using Heterogeneous Services Agents", section "Determining the Heterogeneous Services Parameters":

The Distributed Access Manager has a refresh capability available through the menu and toolbar that allows users to rerun queries if necessary and update the data. When the data is refreshed, the tool verifies that the set of registered agents remains the same. If it is not, the global view is updated. See Oracle Enterprise Manager Administrator's Guide and online help for more information about the Distributed Access Manager.

41.10 Oracle Database Net Services Administrator's Guide

On Page 11-3 of the Oracle Database Net Services Administrator's Guide for release 10.2, the note should read, "Oracle Connection Manager can connect to the database server using protocols such as TCP/IP and IPC. The protocol TCPS is not supported." (Reference Bug 4067033.)

41.11 Oracle Database New Features Guide

The following statement is incorrect in Section 1.2.3.12 titled "Enhanced Space Management Verification" in the Oracle Database New Features Guide 10g Release 2 (10.2) manual:

Extended syntax is added to the ALTER SYSTEM command to dump the space headers of locally managed tablespace files for added analysis.

This extended syntax was not added in this release to the ALTER SYSTEM command.

41.12 Oracle Database PL/SQL Packages and Types Reference

In Chapter 25, "DBMS_DATA_MINING", the usage notes for the GET_MODEL_DETAILS_SVM function should include the following information: "For the linear SVM model, to reduce storage requirements and speed up model loading, only non zero coefficients are stored. As a result, if an attribute is missing in the coefficient list returned by GET_MODEL_DETAILS_SVM, then the coefficient of this attribute should be interpreted as zero."

41.13 Oracle Database Reference

Please note the following changes to the Oracle Database 10g Reference:

41.13.1 LARGE_POOL_SIZE Default Value

If SGA_TARGET is set, but a value is not specified for LARGE_POOL_SIZE, then the default is 0 (internally determined by the Oracle Database). If LARGE_POOL_SIZE is specified, then the user-specified value indicates a minimum value for the memory pool.

If SGA_TARGET is not set, 0 if both of the following are true:

- The pool is not required by parallel execution

- DBWR_IO_SLAVES is not set

Otherwise, derived from the values of PARALLEL_MAX_SERVERS, PARALLEL_THREADS_PER_CPU, CLUSTER_DATABASE_INSTANCES, DISPATCHERS, and DBWR_IO_SLAVES. Note that a value derived in this way does not take into account the requirements used for Automatic Storage Management files. As a general guideline, you should add 600K to the size of the SGA on a database instance using ASM.

41.13.2 LARGE_POOL_SIZE Description

The sentence "Parallel execution allocates buffers out of the large pool only when PARALLEL_AUTOMATIC_TUNING is set to true" should be replaced with "Parallel execution allocates buffers out of the large pool only when SGA_TARGET is set."

41.13.3 OPTIMIZER_FEATURES_ENABLE Default Value

The default value of the OPTIMIZER_FEATURES_ENABLE initialization parameter is incorrect. It should be 10.2.0.1.

Additionally, the possible values listed in the syntax should include 10.1.0.3, 10.1.0.4 and 10.2.0.1.

41.13.4 Deprecated Views

The following views should have a note saying that they are deprecated:

- V$CACHE_LOCK

- V$FALSE_PING

- V$GC_ELEMENTS_WITH_COLLISIONS

The information of interest that these views provided is now available in the following views:

- V$INSTANCE_CACHE_TRANSFER

- V$SEGMENT_STATISTICS

41.13.5 Incorrect Documentation Reference

Descriptions of several initialization parameters and dynamic views contain reference to the Oracle Real Application Clusters Installation and Configuration Guide. However, that document has been replaced by separate installation guides for each operating system. Therefore, see the Oracle Database Oracle Clusterware and Oracle Real Application Clusters Installation Guide for your operating system. In particular, the descriptions of the following initialization parameters and views are affected:

- ACTIVE_INSTANCE_COUNT

- GC_FILES_TO_LOCKS

- V$VIEWS

- V$BH

- V$CACHE

- V$CACHE_LOCK

- V$CACHE_TRANSFER

- V$CR_BLOCK_SERVER

- V$FALSE_PING

- V$GC_ELEMENT

- V$GC_ELEMENTS_WITH_COLLISIONS

41.14 Oracle Database SQL Reference

This section contains corrections to the Oracle Database SQL Language Reference.

41.14.1 Nonschema Objects Include Restore Points

In Chapter 2, in the "Database Objects" section, the subsection "Nonschema Objects" should include "Restore points" in the listing of objects that are not contained in a schema. Restore points are nonschema objects.

41.14.2 New Redundancy Attribute in ALTER TABLE

The qualified_template_clause of the diskgroup_template_clauses in ALTER TABLE has been modified to include a redundancy attribute value of HIGH.

The semantics of the new HIGH keyword follow:

HIGH: Files to which this template are applied are protected by mirroring their data blocks. Each primary extent has two mirror extents (3-way mirroring) for both normal redundancy and high redundancy disk groups. You cannot specify HIGH for templates in external redundancy disk groups.

41.14.3 ARCHIVELOG and NOARCHIVELOG No Longers Requires Oracle RAC to be Disabled

The ARCHIVELOG and NOARCHIVELOG clauses of the ALTER DATABASE statement in the Oracle Database SQL Language Reference incorrectly documented that Oracle Real Application Clusters must be disabled (Bug 7416266). As of release 10g, this is no longer true.

41.15 Oracle Database Oracle Clusterware and Oracle Real Application Clusters Installation Guide

This section contains corrections to the Oracle Database Oracle Clusterware and Oracle Real Application Clusters Installation Guide.

41.15.1 Missing Step for Converting Single-Instance Oracle Databases to Oracle RAC

In Oracle Database Oracle Clusterware and Oracle Real Application Clusters Installation Guide 10g Release 2 section D.2.2.1.2 "Manual Conversion Procedure," after step 14, where you create the $ORACLE_HOME/dbs/initsid.ora, and before you start step 15, run the command catclust.sql (reference Bug 8510842). This command creates the dictionary views needed for Oracle RAC databases. For example:

SQL> start ?/rdbms/admin/catclust.sql

41.16 Oracle Real Application Clusters Administration and Deployment Guide

This section contains corrections to the Oracle Real Application Clusters Administration and Deployment Guide.

41.16.1 Adding and Deleting Nodes and Instances

Contrary to the introduction to Chapter 10, "Adding and Deleting Nodes and Instances on UNIX-Based Systems" in Oracle Real Application Clusters Administration and Deployment Guide, you cannot use the current Enterprise Manager Grid Control release to automate the cloning process. In the current release, you can only use Enterprise Manager Grid Control to add and delete instances.

41.16.2 Adding Nodes at the Oracle Clusterware Layer

In Chapter 10, "Adding and Deleting Nodes and Instances on UNIX-Based Systems" in Oracle Real Application Clusters Administration and Deployment Guide, Step 10 under "Adding Nodes at the Oracle Clusterware Layer," the following line of syntax is incorrect (reference Bug 6929180):

cluvfy comp stage -post crinst -n all [-verbose]

The correct syntax is:

cluvfy stage -post crsinst -n all [-verbose]

41.16.3 Adding Nodes at the Oracle RAC Database Layer

In Chapter 10, "Adding and Deleting Nodes and Instances on UNIX-Based Systems" in Oracle Real Application Clusters Administration and Deployment Guide, Step 7 under "Step 4: Adding Nodes at the Oracle RAC Database Layer," all information after the first sentence is unnecessary and can be ignored (reference Bug 6936475). Proceed to Step 8.

41.16.4 Deprecated Views

Several views were deprecated in Oracle Database 10g release 1 (10.1) but this was not noted in the Oracle documentation. The information in these deprecated views is either obsolete or the information was incorporated into the GV$INSTANCE_CACHE_TRANSFER, V$INSTANCE_CACHE_TRANSFER, GV$SEGMENT_STATISTICS and V$SEGMENT_STATISTICS views. The deprecated views are:

- GV$CLASS_CACHE_TRANSFER and V$CLASS_CACHE_TRANSFER

- GV$CACHE_LOCK and V$CACHE_LOCK

- GV$FALSE_PING and V$FALSE_PING

- GV$FILE_CACHE_TRANSFER and V$FILE_CACHE_TRANSFER

- GV$GC_ELEMENTS_WITH_COLLISIONS and V$GC_ELEMENTS_WITH_COLLISIONS

- GV$TEMP_CACHE_TRANSFER and V$TEMP_CACHE_TRANSFER

- GV$LOCK_ACTIVITY and V$LOCK_ACTIVITY

41.16.5 Troubleshooting Real Application Clusters

The remaining topics for Real Application Clusters are corrections to Appendix A, "Troubleshooting."

As noted in the Oracle Real Application Clusters Administration and Deployment Guide Appendix A, you can use crsctl commands to perform several operations on the Oracle Clusterware. You must be the root user to run the following crsctl commands:

- crsctl debug log...

- EVM crsctl debug log evm...

- crsctl debug log...

- crsctl start crs

- crsctl stop crs

- crs enable crs

- crs disable crs

You must also be the root user to run the diagcollection.pl script.

Note:

You do not have to be the root user to run the crsctl command with the lsmodules option or to use the crsctl check commands to check the health of the Oracle Clusterware and its components.

Troubleshooting the Oracle Cluster Registry

This section in Appendix A should have described the following to explain how to use the OCRDUMP utility to view Oracle Cluster Registry (OCR) content. To change the logging component, edit the entry containing the comploglvl= entry. For example, to change the logging of the ORCAPI component to 3 and to change the logging of the OCRRAW component to 5, make the following entry in the ocrlog.ini file:

comploglvl="OCRAPI:3;OCRRAW:5"

Note:

Make sure that you have file creation privileges in the CRS Home/log/hostname/client directory before using the OCRDUMP utility.

Generating Additional Trace Information for a Running Resource

In this section in Appendix A, the resource profile parameter name should be USR_ORA_DEBUG. In addition, crs_register is not the correct interface to use for setting the USR_ORA_DEBUG parameter. Instead, use crsctl to set this parameter.

Component-Level Debugging

In this section in the Oracle Real Application Clusters Administration and Deployment Guide Appendix A, some of the command examples were incomplete. For example, you can run the following command to enable debugging for all of the modules where level is the level of detail that you want the debugging feature to provide. Valid values for level are 1, which provides the least amount of debugging output, and 5 which provides the most debugging output:

set ORA_CRSDEBUG_ALL level

You can run the following command to enable tracing for a specific sub-module where modulename is the name of the sub-module for which you want to enable tracing:

set ORA_CRSDEBUG_modulename

Run the following command to obtain the module list where module is crs, evm, or css:

crsctl lsmodules module

Enabling Tracing for Java-Based Tools and Utilities in Real Application Clusters

This section in Appendix A should have explained that the Database Configuration Assistant (DBCA) and the Database Upgrade Assistant (DBUA) enable tracing by default. To enable tracing for other Java-based tools, set the SRVM_TRACE environment variable to TRUE.

Also in that section, the explanation about using the -D option in Server Control (SRVCTL) should not have been included; this option is not operative in production environments.

41.17 Oracle Ultra Search Online Help

The following section in the Oracle Ultra Search online Help is not implemented: "HTML Metatag Data Format". You cannot map an HTML metatag to a search attribute.

41.18 Oracle Universal Installer Concepts Guide

The incorrect version of the Oracle Universal Installer Concepts Guide is installed with Oracle Database 10g Release 2 (10.2) software (reference Bug 6699842). The correct guide is availablle on OTN.

42 Open Bugs

This section lists known bugs for this release. A supplemental list of bugs may be found as part of the release documentation specific for your platform.

42.1 Automatic Undo Management Known Bugs

Bug 1800314

The ORA-600 [ktsiseg_info4] error occurs during undo segment creation. This error means the undo segment information does not match the SEG$ row cache.

Workaround: Retry the transaction which automatically re-creates an undo segment.

42.2 Automatic Workload Repository Known Bugs

Bug 4157699

If the database time zone is modified, it is possible for the begin and end interval times in the snapshot table to be out of order when sorted by time. This is an unsupported case since the begin and end interval timestamps do not have timezone information.

Workaround:  For those times that are out of order, subtract the difference between the old and new timezone from the time. Or, use the workaround provided in the bug text to modify the times.

42.3 External Password Store Known Bugs

When attempting to run CONNECT /@db_connect_string, the connection sometimes fails with an ORA-1017 error. This can occur when the db_connect_string, which matches the credential value in the Password Store and the TNS alias in TNSNAMES.ORA is a multiple of 4 characters long.

Workaround: When adding credential entries to the Password Store, make sure the length of the db_connect_string is not a multiple of 4 characters long. Also check that this value matches the value of the TNS alias in TNSNAMES.ORA.

42.4 External Procedures Known Bugs

Bug 3969675

Oracle Database will crash in the following scenario:

An application developer creates a nested table of user-defined type and a C external function that takes an argument of the nested table of user-defined type. The external function is created with invoker's rights, so that it executes with the privileges of the user invoking the function. The application developer grants the user privileges to call the function, but does not grant privileges to access the nested table of the user-defined type. As a result, the C external function encounters error ORA-28578 when it attempts to access the argument that was passed to it.

Workaround: If the application developer grants privileges on the nested table of the user-defined type to the user, then the application continues to work correctly.

42.5 Enterprise Security Manager (ESM) Known Bugs

Bug 4072113

A user who is member of the OracleDBSecurityAdmins group is unable to see any accessible domains in ESM.

Workaround: Log in to ESM as a member of the OracleContextAdmins group. If there is no user who belongs to OracleContextAdmins group, log in as super user (cn=orcladmin) to add, delete, or view the accessible domains.

42.6 Enterprise User Security (EUS) Known Bugs

Bug 4393920

EUS proxy with the connect string "connect [targetuser]/@<tnsname>" throws "SP2-0306: Invalid option" error.

Workaround: Store the user name with proxy user and target user in the wallet. For example, store user name in wallet as proxyuser[targetuser] instead of just proxyuser. Then do "connect /@<tnsname>" to connect to the database.

42.7 OLAP Known Bugs

Bug 8788025

For the DBMS_AW_XML.EXECUTEFILE function, the encoding of the input XML file must match the database default character set.

Workaround: None.

Bug 4402965

A dimension with a TEXT or NTEXT data type migrated from a 10.1.0.4.0 analytic workspace may exhibit missing or duplicate values if the dimension was created by an EIF import of more than 2047 dimension values. This includes imports performed using the Oracle Import utility.

Workaround: Exporting and re-importing into a new analytic workspace may solve this issue. However, to properly diagnose and provide a resolution, please consult bug 4402965 or Oracle Support.

Bug 4425656

While importing a TIME dimension into a new schema using the Template feature in Analytic Workspace Manager, the default sort order for the members may be lost.

Workaround: Delete the TIME dimension attributes that end in _DSO_X (where X is a number) before loading the data with the Maintain Wizard.

Bug 4438324

The default OLAP Parallel Update feature in Oracle OLAP can possibly disrupt a node in a Real Application Clusters configuration.

Workaround: Disable OLAP Parallel Update on a Real Application Clusters system by inserting the following parameters into the init.ora file:

_olap_parallel_update_threshold=2147483647
_olap_parallel_update_small_threshold=2147483647

42.8 Oracle Call Interface Known Bugs

Bug 1704273

This bug manifests itself in MTS setups when shared db links are used between the middle-tier and the dedicated backend. The symptoms of this bug are client disconnects, accompanied by the following error messages: ORA-02068: following severe error from BACKEND, ORA-00022: invalid session ID; access denied.

Workaround: Set the values of system variables mts_servers and max_mts_servers to be equal.

Bug 4424140

If Transparent Application Failover (TAF) is configured and a failover occurs in a OCCI/OCI application due to database connection going down, then the client side object cache could be in a inconsistent state after failover. This can result in arbitrary crashes. This bug manifests only if there are multiple connections, for instance, with connection pool, where objects are being used and a failover takes place.

42.9 Oracle Clusterware Known Bugs

Bug 4433140

If you are installing Oracle Clusterware as a user that is a member of multiple operating system groups, the installer will install files on all nodes of the cluster with group ownership set to that of the user's current active or primary group. However, in some cases, group ownership of a small number of files will be set incorrectly to the first group that the user is a member of rather than the current active group. In the example output of /usr/bin/id below, the current active or primary group is dba while the first group that the user is a member of is ioracle. This is determined by the order in which groups are listed in the file /etc/group.

uid=500(oracle)
gid=8000(dba)
groups=7500(ioracle),8000(dba)

Workaround: Perform any one of the following actions:

- Ensure that the first group listed in the file /etc/ group is the current active group.

- Invoke the Oracle Clusterware installation using the following additional command line option, to force the installer to use the proper group when setting group ownership on all files:

runInstaller s_usergroup=<current active group>

Bug 4460807

When adding a node to Oracle Clusterware, OUI defaults to the private and virtual host names for use on the "Specify Cluster Nodes to Add to Installation" GUI page. If you click Next without making sure the default private node or virtual host names are configured for use or if you enter a private node name or virtual host name that are unreachable, you see the following error message, "OUI-35000: Fatal cluster error encountered (). Correct the problem and try to operation again."

Workaround Make sure the private node name or virtual host names are reachable by performing nslookup on them. If they are not reachable, make sure they exist either in DNS or in /etc/hosts file. Alternatively, you can replace the default private node and virtual host names to those that are configured for use on your system.

Bug 4480465

When the "Oracle Clusterware High Availability API" is installed, the header file containing the Oracle defined data types oratypes.h is missing from the $ORACLE_HOME/crs/demo directory.

Workaround: Choose the workaround here that best suits your situation.

For runtime install, admin install, and custom install when Oracle Call Interface component is installed:

cd $ORACLE_HOME/crs/demo
cp ../../rdbms/public/oratypes.h .

For Custom Install when Oracle Call Interface component is not installed, first install the Oracle Call Interface component, and then:

cd $ORACLE_HOME/crs/demo
cp ../../rdbms/public/oratypes.h .

42.10 Oracle Database Application Known Bugs

Bug 3969675

Oracle Database will crash in the following scenario: An application developer creates a nested table of user-defined type and a C external function that takes an argument of the nested table of user-defined type. The external function is created with invoker's rights, so that it executes with the privileges of the user invoking the function. The application developer grants the user privileges to call the function, but does not grant privileges to access the nested table of the user-defined type. As a result, the C external function encounters error ORA-28578 when it attempts to access the argument that was passed to it.

Workaround: If the application developer grants privileges on the nested table of the user-defined type to the user, then the application continues to work correctly.

42.11 Oracle Data Guard Known Bugs

Bug 2795200

Distributed transaction states are not preserved after failover involving a logical standby database. The state of an in-doubt transaction at the primary database is not preserved in the logical standby database on a failover or switchover.

Workaround None.

Bug 3184834

Logical standby database shows job processes are available, although jobs cannot be executed in the logical standby database.

Querying the V$PARAMETER view in the Logical Standby database may show JOB_QUEUE_PROCESSES being available, and the logical standby database allows for scheduling jobs. However, the scheduled jobs are not executed in the logical standby database.

Some applications may incorrectly assume that job scheduling is possible, when it is not.

Workaround Set JOB_QUEUE_PROCESSES to 0 before starting SQL Apply. After a failover or switchover to the database, set JOB_QUEUE_PROCESSES to the desired value.

Bug 3199961

The command ALTER DATABASE GUARD {ALL | STANDBY | NONE} does not propagate to all active instances in RAC. Executing the ALTER DATABASE GUARD command on one instance does not affect the other active instances in a RAC cluster. Instances that are shut down at the time of the command execution, automatically pick up the new guard setting when starting up.

Workaround: Execute the ALTER DATABASE GUARD command on all active instances.

Bug 3311688

The Oracle Label Security feature is incompatible with SQL Apply.

Workaround: If Oracle Label Security is in use, use Redo Apply instead of SQL Apply for reporting and disaster recovery.

42.12 Oracle Data Mining Known Bugs

If you downgrade from 10.2.0.5.0 patchset to 10.2.0.1.0 release, the release version for Data Mining will show 10.2.0.2.0 instead of 10.2.0.1.0 (reference Bug 9173366). Since RDBMS 10.2.0.1 has been released, a backport request would need to be logged if a fix is required at the 10.2.0.1 level.

42.13 Oracle Enterprise Manager DB Control Known Bugs

Bug 7146689

The Enterprise Manager Configuration Assistant (EMCA) -reconfig command to reconfigure the remote node of the cluster and add an instance fails on Windows 2008 operating system with the following error:

SEVER: Error starting Database Control

Workaround: Go to the Service Control panel on the nodes and start the OracleDBConsole<SID> service if it is not already started.

Bug 4453868

Japanese Oracle OLAP help is not displayed in DB Control. English help is displayed instead.

Workaround: None.

42.14 Oracle HTML DB Known Bugs

Bug 3384664

When you open the number or date format select popup dialog on 'Column Attribute' in 'Page Definition' of Application Builder, it always displays 'backslash'+ 5,234.10 in the dialog, it is expected that the symbol of 'yen' accurately in Japanese environment. (Note: backslash and yen are the same character code point, but displayed differently depending on font used). Backslash is also displayed when applying the data format on the page in the application.

Workaround: None.

Bug 3393090

If you create a form on a table or view based on an included column whose name is in Japanese, using the Application Builder wizard, the name of the new item will be included in Japanese.

Workaround: When you create new items on the Page Definition page in ApplicationBuilder, you need to use alphanumeric characters A_Z, 0-9 and '_' as item names. You also need to edit item names to alphanumeric before you apply changes to the item.

Bug 4459414

ORA-31011 and ORA-19202 errors are displayed when Find button is clicked in Japanese help.

Workaround: None.

42.15 Oracle Locale Builder Known Bugs

Bug 4226400

When trying to rename a new folder in the File Save dialog box, if another folder is clicked instantly after entering the new name, the clicked folder may get renamed instead.

Workaround: Avoid clicking other folders too quickly after entering the new folder name.

42.16 Oracle Net Services Known Bugs

Bug 4417761

When listener is configured with the Fast Application Notification (FAN) feature of Oracle Database 10g Real Application Clusters, and listener is started by Listener Control Utility directly (rather than by racgmain or racgwrap), listener may fail to subscribe to the ONS node down event, thus be unable to update the corresponding service upon event notification.

Workaround: Set the environment variable ORACLE_CONFIG_HOME to the ORA_CRS_HOME.

42.17 Oracle ODBC Driver Known Bugs

Bug 4428186

Oracle ODBC Driver is not installing with Instant Client installation.

Workaround: Copy Oracle ODBC driver library, libsqora.so.10.1,into Instant Client's target directory. The library can be copied from Client Admin Installation or Client Custom ODBC Installation or from ODBC Instant Client ZIP(odbc.zip) hosted on OTN.

42.18 Oracle Real Application Clusters Known Bugs

Bug 3377903

When shutting down an instance and immediately starting it again using SQL*Plus, sometimes the CRS resource for the instance does not get started, because it is still busy stopping. In this case, srvctl status instance -d name -i sid will incorrectly report the instance not to be running.

Workaround: Start the instance's CRS resource with srvctl status instance -d name -i sid.

Bug 4217623

If you install Oracle Database 10g Release 1 (10.1) RAC on a cluster running Oracle Clusterware 10g Release 2 (10.2), errors will be generated by the root.sh script saying that there is no such file or directory for the directories crs_stat and evm.auth.

Workaround: Before running the root.sh script, set the CRS_HOME environment variable to point to the 10.2 Oracle Clusterware home.

Bug 4409534

When adding a node and running root.sh on the new node, you will get the error message: "IP address '<VIP address>' has already been used. Enter an unused IP address.". Ignore this error message. The VIP for the new node has already been configured in the rootaddnode script

Workaround: None.

Bug 4411708

During online OCR device replacement, ocrconfig might report the error "PROT-22: Storage too small". The ocrconfig might report this error because OCR makes a conservative size estimate. In some cases, the OCR might detect that the new replacement location is not large enough to mirror the OCR.

Workaround: To successfully perform an online OCR replacement, the new replacement location must be slightly larger than the size of the original location when the OCR was first created. If the new OCR location is a file, then the OCR will ensure that there is enough free space on the file system.

For example, if the original device size is 120M, then the replacement device must be at least 128M in size, or the replacement file should have at least 128M of free space on the file system.If the original device size is 160M, then the new replacement device must be at least 256M in size, or the replacement file should have at least 256M of free space on the file system.

In all cases, the required size of the new replacement device is no more than 128M larger than the size of original device.

Bug 4428985

When performing a CRS install on a node with an existing inventory, the following problem will be seen if the user goes back from the Summary page and then proceeds with the install. After the install, a dialog box will appear, asking you to run orainstRoot.sh and root.sh. The root.sh script entry shows the list of all nodes on which the script has to be run. However, the list of nodes on which to run orainstRoot.sh is blank.

Workaround: On encountering this problem, ignore the orainstRoot.sh entry and only run root.sh on the listed nodes. It is not required to run orainstRoot.sh since the central inventory is created and appropriately registered in the oraInst.loc file. In cases where one or more nodes do not have the central inventory setup, OUI will list the correct nodes on which to run orainstRoot.sh. The users should follow instructions to execute the script on those nodes.

Bug 4430689

When upgrading your Oracle9i release 9.2 RAC environment to Oracle Database 10g Release 2 (10.2), you are prompted to specify one or more Voting Disks during the Oracle Clusterware installation. You must specify a new location for the voting disk in Oracle Database 10g Release 2 (10.2). You cannot reuse the old Oracle9i release 9.2 quorum disk for this purpose.

Workaround: Enter a new location for voting device.

Bug 4449401

When installing 10gR2 CRS software on a cluster with 920x cluster repository on a raw device, if you see the message "PROT-8: Failed to import data from specified file to the cluster registery" while running rootupgrade.sh and the message "utopen:12:Not enough space in the backing store" in the log file $ORA_CRS_HOME/log/<hostname>/client/ocrconfig_<pid>.log then use the following workaround.

Workaround: Identify a raw device that has 100MB or more space. Locate the existing raw device name from /var/opt/oracle/srvConfig.loc and copy the contents of this raw device to the new device using the dd command.

Bug 4454562

When CRS_HOME is shared among multiple nodes in the cluster, ONS daemons on some nodes may not start properly. This may cause CRS ONS resources to be OFFLINE.

Workaround: Perform the following steps.

1. Stop ONS daemons on all nodes by issuing CRS command for each node.

crs_stop -f ora.<nodename>.ons

To find the list of nodes run <CRS_HOME>/bin/olsnodes.

2. Make sure there is no ONS daemon left running on each node by the following script.

3. Add the following line to file <CRS_HOME>/opmn/conf/ons.config.

usesharedinstall=true

4. Start ONS daemons on each node by issuing CRS command.

crs_start ora.<nodename>.ons

Bug 4457480

When the user specifies cluster nodes and network configuration on the Cluster Specification page, returns to the Cluster Registry Setup page, and then returns to the Cluster Specification page and clicks Next, the network configuration page does not appear.

Workaround: The user should go back one more step to the product-specific prerequisites page and then go through the subsequent pages of the install. Alternatively, the user may quit and restart the installation.

42.19 Oracle Wallet Manager

Bugs 4384718, 3066733

Depending on the character set specified during installation, Oracle Wallet Manager may reject certificate requests with special characters in the common name, organizational unit, or organization fields. For example:

cn: John Brown, III
o: Brown, Inc.

This is another such example:

cn: John Brown III
o: Brown & Associates

The error message returned is "Could not create certificate request. Please check the user information."

Workaround: Avoid using special characters, or substitute an ampersand (&) with the long form.

42.20 Oracle XML DB Known Bugs

Bug 3141321

When running in Oracle Real Application Clusters mode, multiple instances of Oracle XML DB may hang during a DBMS_XMLSCHEMA.DELETESCHEMA call.

If a session from node A performs an operation on the same schema that node B is attempting to delete, the DELETESCHEMA operation will hang. This happens because the session pool will remain with node A during the DELETESCHEMA call; the pool is cleared only for the local instance.

Workaround: Shut down all nodes that have accessed the schema.

Bug 3330788

Direct path loading is not supported if the schema-based xml column is not a top-level column of a table, or if the types created for the schema-based xml involve inheritance.

Workaround: Use conventional loading to load the data through SQL*Loader.

42.21 Pro*C Known Bugs

Bug 1466269

Hints are not precompiled properly when used in an EXEC SQL EXPLAIN PLAN statement. The hints are not carried forward in the Pro*C generated code.

Workaround: None.

Bug 1323304

When PL/SQL code is used in a version of Pro*C that has embedded \n characters, if the statement is sufficiently long, it has to be split into a call to sqlbuft and also be placed in sqlstm.stmt. This results in inconsistent escaping for \n in sqlbuft, with a runtime error in prepare:

PLS-00103: Encountered the symbol "\" when expecting ...

Workaround: Edit the generated C file to remove the extra backslashes when the statement is split.

Bug 658837

While precompiling even with SQLCHECK=FULL, Pro*C doesn't detect invalid column names in UPDATE statement when WHERE CURRENT OF clause is used.

Workaround: None.

42.22 Pro*COBOL Known Bugs

Bug 1897639

Referring to an implicit VARCHAR within a group item returns a PCB-S-00208 error while precompiling with Pro*Cobol.

Workaround: Add an EXEC SQL VAR statement before referring it as host variable as follows:

EXEC SQL VAR <varchar group item name> IS VARCHAR(<size>) END-EXEC

Bug 1656765

Using the INCLUDE statement to copy files, which contain IDENTIFICATION, ENVIRONMENT, DATA, and PROCEDURE DIVISION, into a host program as sub programs, Pro*Cobol fails with PCB-S-00400 error. This problem happens if .pco files use EXEC SQL INCLUDE statements to include one nested program after another nested program.

Workaround Put two files into one include file. If PROCEDURE DIVISION has only one INCLUDE statement, Pro*Cobol precompiler succeeds in generating a .cob file. The included .pco file should not contain IDENTIFICATION DIVISION, any DIVISIONS for that matter but only code (routines).

Bug 1620777

If a host variable is defined by adding the keyword VARYING, and then the data type is overridden using data type equivalencies, the length value of the expanded string field is increased by 2.

Workaround None.

Bug 953338

When a Pro*Cobol program is precompiled with embedded PL/SQL using select /*+ index hint */ statement, PCB-S-00567, PLS-103 errors are returned.

Workaround None.

42.23 RMAN Known Bugs

Bug 8758806

In Oracle Database 10g Release 2 (10.2), if you run a BACKUP VALIDATE command in an RMAN session, and if RMAN encounters a block that was previously marked as corrupt, then the RMAN output does not report this corrupt block. The BACKUP command will not fail if known corrupt blocks are found in the datafile.

Workaround: To identify previoulsy marked corrupt blocks, you must query V$DATABASE_BLOCK_CORRUPTION or V$BACKUP_CORRUPTION or check the alert log.

Bug 6415310

In Oracle Database 10g, if you run a BACKUP VALIDATE command in an RMAN session, and if RMAN encounters a block that was previously marked as corrupt, then the RMAN output does not report this corrupt block. The backup will not fail if known corrupt blocks are found in the data file.

Workaround: To identify previously marked corrupt blocks you must query V$DATABASE_BLOCK_CORRUPTION or V$BACKUP_CORRUPTION or check the alert log.

Bug 3479963

Errors occur when backing up archived logs to a DVD writer on Windows.

Workaround: None.

Bug 2722635

The RMAN CROSSCHECK command can force the retrieval of files that have been migrated to HSM, because it opens the file to verify the contents of the first few blocks.

Workaround: Some HSM systems can be configured to leave a small portion of the file on disk. If that is possible, then this problem can be avoided by leaving the first 4M of every migrated file on disk. If that is not possible, then there is no workaround other than to not use the CROSSCHECK command.

Bug 2656503

RMAN cannot back up transported tablespaces unless they have been made read-write after they have been transported. It is not necessary to leave them in read-write status, but they cannot be backed up by RMAN unless they have been made read-write once, if only briefly, after they have been plugged in.

Workaround: None.

Bug 2692990

When restoring files at a standby database using recovery catalog, RMAN attempts to use the file names of the primary database for the restored files.

Workaround: Use SET NEWNAME to restore the files to the correct locations.

Bug 2670671

Lack of statistics in RMAN catalog schema can lead to poor performance.

Workaround: Occasionally use the ALTER USER ... COMPUTE STATISTICS command to re-compute the statics for the RMAN catalog schema.

Bug 2353334

RMAN backups will fail with internal errors when a non-standard db_block_size, such as 6k, is used, and the tablespace that is being backed up has a standard block size, such as 8k or 16k.

Workaround: Contact Oracle support for the workaround if you encounter this bug.

42.24 Single Instance to RAC Conversion Tool Known Bugs

Bug 4456047

SHUTDOWN IMMEDIATE may hang when converting a single instance database to a RAC database using the rconfig utility. This is caused by an idle RMAN session.

Workaround: After confirming that SHUTDOWN IMMEDIATE is hanging by inspecting the alert log, stop the RMAN process.

42.25 Transparent Data Encryption Known Bugs

Bug 4436949

The BINARY_FLOAT data type and the BINARY_DOUBLE data type are currently not supported for encryption.

Workaround: None.

42.26 Utilities Known Bugs

Bug 2770880

When a READ_ONLY tablespace is imported into the target database using Data Pump Import, it is created OFFLINE.

Workaround: The tablespace can be manually set back to READ_ONLY when the Data Pump Import completes.

Bug 3309770

If an object type in one schema references an object type in another schema, there will be compilation warnings when Data Pump Import creates the first object type.

Workaround: The object types can be manually revalidated once Data Pump Import completes.

Bug 3369197

Errors will result when attempting to perform a network mode Data Pump Import using the NETWORK_LINK parameter if the source database table contains a LONG data type.

Workaround: Use a standard dumpfile-based Data Pump Export and Import of the table that contains the LONG data type.

Bug 3392310

Data Pump Export and Original Export fail with ORA-29341: The transportable set is not self-contained error message when in transportable mode.

Workaround: Use EXCLUDE=CONSTRAINT with Data Pump Export and CONSTRAINTS=N with original export.

Workaround: Use original export instead of Data Pump Export if your tablespace contains a nested table.

Bug 4046665

Multibyte characters are unavailable in Automatic Storage Management command utility. There is no internationalization support for ASMCMD in Oracle Database 10g release 2 (10.2).

Workaround: None.

Bug 4444014

If a rebalance wait is in progress and another rebalance is initiated locally or on any node in the cluster, the first rebalance wait will indicate completion.

Workaround: Do not interrupt the ongoing rebalance or use the wait option on the new rebalance.

42.27 Workflow Known Bugs

Bug 4451346

Oracle Workflow Server Japanese help is not displayed. Only English online Help is active.

Workaround: None.

Bug 4453877

For translated languages, Workflow Configuration Assistant fails to Workflow server.

Workaround: Set system locale to English, then use English Workflow Configuration Assistant to install, or edit the wfinstall.bat / wfinstall.csh and add "/tablespace Default" at the end of WFCA command.

43 Documentation Accessibility

Our goal is to make Oracle products, services, and supporting documentation accessible to all users, including users that are disabled. To that end, our documentation includes features that make information available to users of assistive technology. This documentation is available in HTML format, and contains markup to facilitate access by the disabled community. Accessibility standards will continue to evolve over time, and Oracle is actively engaged with other market-leading technology vendors to address technical obstacles so that our documentation can be accessible to all of our customers. For more information, visit the Oracle Accessibility Program Web site at http://www.oracle.com/accessibility/.

Accessibility of Code Examples in Documentation

Screen readers may not always correctly read the code examples in this document. The conventions for writing code require that closing braces should appear on an otherwise empty line; however, some screen readers may not always read a line of text that consists solely of a bracket or brace.

Accessibility of Links to External Web Sites in Documentation

This documentation may contain links to Web sites of other companies or organizations that Oracle does not own or control. Oracle neither evaluates nor makes any representations regarding the accessibility of these Web sites.

Deaf/Hard of Hearing Access to Oracle Support Services

To reach Oracle Support Services, use a telecommunications relay service (TRS) to call Oracle Support at 1.800.223.1711. An Oracle Support Services engineer will handle technical issues and provide customer support according to the Oracle service request process. Information about TRS is available at http://www.fcc.gov/cgb/consumerfacts/trs.html, and a list of phone numbers is available at http://www.fcc.gov/cgb/dro/trsphonebk.html.

Oracle Database Readme, 10g Release 2 (10.2)

B14233-10

Copyright © 2010 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 software or related documentation 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 RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

This software 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 which may create a risk of personal injury. If you use this software in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure the safe use of this software. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software in dangerous applications.

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

This software and documentation may provide access to or information on 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. 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.

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