Oracle Server
for  Compaq Tru64 Unix 


Patch Set Notes

Oracle8i Patch Set Version 8.1.7.1.0

This note accompanies the 8.1.7.1.0 patch set for Oracle RDBMS, PL/SQL, Precompiler, and Networking products. This is not a complete software distribution and you must install it over an existing 8.1.7 Oracle Server installation.

This patch set has been fully regression tested by Oracle.  However, it is advisable to check the Oracle Metalink website for related information (such as problems discovered after delivery) prior to installing this patch set in a production environment.  Customers unable to utilize this Web site should contact Oracle Support.

This patch set note contains the following information:

System Requirements

This patch set has the following system requirements:
Item Requirement 
Hardware Platform Alpha processor EV 5.6 or later
Operating System V4.0 or later 
RDBMS Baseline Release 8.1.7.0.0 

Patch Set components

Fixes for the following components are included in the 8.1.7.1.0 Patch set:
 
Component Name Version
Oracle 8i (TM) 8.1.7.1.0
RMAN 8.1.7.1.0
IMP/EXP  8.1.7.1.0
SQL*Loader(R)  8.1.7.1.0
Net8(TM) Server; Net8(TM) Client 8.1.7.1.0
Net8(TM) Connection Manager  8.1.7.1.0
Oracle Names(R) 8.1.7.1.0
Oracle Advanced Security 8.1.7.1.0
Oracle(R) Parallel Server 8.1.7.1.0
Oracle Partitioning 8.1.7.1.0
Oracle Programmer 8.1.7.1.0

 

How to Install This Patch Set

The instructions for installing this patch set assume a minimal familiarity with the Oracle Universal Installer.

As with any maintenance operation, Oracle Corporation recommends that you back up your Oracle software before making any changes to it.

Important Notes

Installing
 
Notes
  • On UNIX systems, if you require /usr/ucb in your search path, make sure that it comes after /usr/bin and/or /usr/ccs/bin in the $PATH setting.
  • If an inadvertent attempt is made to apply this Patch Set to a non-8.1.7 release, then a warning dialog box entitled Dependencies is displayed which contains the following error message:

  • There are no patches that need to be applied from the patch set Oracle8i Patchset 8.1.7.1.0
    The installer will not allow the installation to proceed. Just acknowledge the error and click on the Exit button to end the installation session.

 
  1. Log in to the oracle account and make sure the environment is set to the correct ORACLE_HOME and ORACLE_SID.
  2. Uncompress and untar the downloaded patch set file into a new directory.
  3. Shut down the existing Oracle Server instance with normal or immediate priority.
  4. Start the installer:
  5. You may install the 8.1.7.1 Patch Set through either an interactive or a silent installation.
          1.  
            % ./runInstaller -silent -responseFile <full_path_to_your_response_file>
  6. Invoke SQL*Plus (sqlplus), connect as internal and run the following SQL scripts located in the $ORACLE_HOME/rdbms/admin directory:

  7.    catalog.sql
       catproc.sql
       catrep.sql (only applicable for sites running Oracle Replication)
       utlirp.sql (optional - will recompile all PL/SQL packages now rather than when accessed for the first time).
  8. The installation of this patchset fixes a potential security hole in the XSQL Servlet - see here for more detail. The patchset installation does not, however, modify any of the Oracle HTTP Server configuration files to reflect changes to the XSQL Servlet installation. If you have previously installed the Oracle HTTP Server, you will need to update one of the configuration files manually after the patchset installation is complete. If you do not do so, the XSQL Servlet may not work in the context of the Oracle HTTP Server after the patchset is installed. To update your Oracle HTTP Server configuration, perform the following steps:

  9. 1) Edit the file: $ORACLE_HOME/Apache/Jserv/etc/jserv.properties
    2) Search for the string: "XSQLConfig.xml File location"
    3) Modify the parameter wrapper.classpath on the line immediately following the above string to read: $ORACLE_HOME/oracore/admin
    4) Save the file.

Known Restrictions

Bugs Addressed in this Patch Set

Generic Bugs Fixed

* indicates that an alert exists for this bug.
+ indicates a particularly notable bug.
Category Fixed BugNo Description
Corruption  8171 1475310* ALTER INDEX .. REBUILD ONLINE can Corrupt The Index / 
IOT alter table ... move online can corrupt the IOT
if there is DML concurrency on these objects and 
DML sessions die.. See <NOTE:125149.1> on Metalink
8171 751910 Dbms_repair.check_object() does not report blocks already
marked as corrupted. 
8171 975467 SQLLOADER allows LOBS to be DIRECT PATH loaded when this should not be
possible in 8i. The loaded data is corrupt and cannot be used. 
8171 1053906 OCIBindByName array bind SQLT_CHR to VARCHAR2 columns uses 
size of first element for all elements. This can show up as
logical data corruption 
8171 1311756 A Foreign Key on Compressed IOT with DELETE cascade does not see child rows.
Applications relying on enforcement of the DELETE cascade may see logical
corruption as child rows are not deleted when they should be. 
8171 1321230 A PL/SQL application containing fixed-char array bind variables of mode
IN may have seen those variables get corrupted on the n'th reference to
them, where n > 1. This can typically result in an inappropriate ORA-6502.

Workaround: Refer to the bind values only once each (copy to temporary
local variables) 

8171 1328829 This problem was introduced in 8.1.6
OCI fetch array sizes > 65536 overwrite the initial array elements
corrupting the data. 
8171 1359666 Under a very specific set of circumstances, adding extents to
a table could lead to the generation of bad undo in SEG$.
This can show up as an ORA-600 corruption error reading from SEG$/UET$
or as a permanent corruption. 
8171 1364542 Very specific forms of query involving SORT operations can cause
buffer cache corruption. If this corruption hits a DIRTY block in
the cache it can lead to permanent corruption. 
8171 1386924 OCILobWrite piecewise write may lose / corrupt multibyte data 
8171 1400739 If ctrl-c is hit while a table with >=1 extent map blocks is being
truncated an ORA-600 [2023][5][1] could occur and subsequent selects
from the table may report ORA-8103 errors. 
8171 1528062 ALTER TABLE SPLIT PARTITION for composite range-hash partition can corrupt dictionary.
This occurs if (1) Partition is composite and (2) the higher resulting partition
has the same name as the partition being split.

Workaround: Use a different name for the new partitions. 

8171 1538307 Dump in <Function:kdiexi> or foreign keys not being found
when using KEY COMPRESSION with Constraints. Foreign Key not
being found can result in logical corruption of the data. 
Advanced Queuing  8171 1099084 SYS.AQ$_PENDING_MESSAGES may not be cleaned of un-needed messages
and hence may grow over time. 
8171 1304841 ORA-24021 possible importing AQ tables 
8171 1311645 ORA-600 [KWQITNMPTME:READ] from QMN when using both RETENTION and EXPIRATION

Workaround: Do not set a RETENTION period 

8171 1415231 ORA-1422 can occur using RULE based propogation 
8171 1421476 When AQ_TM_PROCESSES is set to a non-zero value then the database can
enter a hung state. This is most likely to affect an upgrade to 817
when running U0801060.SQL.

Workaround: 
Set AQ_TM_PROCESSES to 0 before running any upgrade scripts. 

8171 1431079 AQ may not propogate to remote site 
8171 1502972 ORA-439 - AQ not enabled in 8i Standard Edition 
Bitmap Indexes  8171 1349878 select count(*) on a table with bitmap index may
cause ORA-7445 in evacn1() 
Possible Stack: evacn1(), qerbtFetch()..qersoFetch() .. 
8171 1358065 LIKE predicate against bitmap column could cause a coredump
in <Function:kkogfbs> 
8171 1395260 ORA-1502 on DML even though SKIP_UNUSABLE_INDEXES=TRUE for 
unusable BITMAP indexes 
8171 1415297 If you concurrently execute the same query which accesses the
bitmap indexes an ORA-7445 might occur in rixsta().
Crash - Issues likely to cause an Instance to crash  8171 1303366 DBWR may terminate with ORA-600 [ksmovrflow], causing an instance crash. 
8171 1405652 Instance may crash if an i/o slave dies. 
This can affect RMAN using BACKUP_TAPE_IO_SLAVES = TRUE 
8171 1482170 SMON may dump on cleanup of PARTITIONED INDEX ONLINE BUILD 
8171 1486630 An alter tablespace read write command sometimes caused the checkpoint
process to crash with an ORA-00372, thereby bringing down the instance. 
DB-Link / Distributed  8171 792495 When making a remote procedure call with a PL/SQL table, where
the PL/SQL table is defined in a procedure other than the one where the
the remote procedure call occurs, an ORA-7445, ORA-600, or hang can
occur.
Support Note: This is fixed in 8.1.6 for 8.1 to 8.1 RPCs but not until
8.1.7.1 for 8.0 to 8.1 RPCs 
8171 1189700 Wrong results from update/query with remote SUBQUERY 
with ROWNUM predicate in the subquery.

Workaround: Use DISTINCT in the subquery rather than ROWNUM (if possible)
or Use a PLSQL loop to seperate out the remote query 

8171 1334986 This problem was introduced in 8.1.5
Insert from remote tables with more than 256 columns can 
cause an ininite loop in remote buffering routines exhausting PGA
memory. This can also show up as ORA-600 [17090] / ORA-600 [723]
/ ORA-4030

Workaround: Using the APPEND hint avoids this problem 

8171 1398783 Enterprise ROLES (for SSL users) do not work over DB LINK 
Export/Import  8171 1244182 ORA-604, ORA-1000 can occur when performing a full export of a 
database containing a large number of bitmapped (locally managed) 
tablespaces. 
8171 1304841 ORA-24021 possible importing AQ tables 
8171 1324748 A direct export of an IOT may yield ORA-600 [2845] if the primary key
ends with a ROWID column. 
8171 1334302 Export may generate the wrong column name for the primary key 
of an object table created using OBJECT ID IS PRIMARY KEY if other
constraints exist on the table. 
8171 1366842 Export does not generate constraints other than the primary key
for object tables created with OBJECT IDENTIFIER IS PRIMARY KEY. 
8171 1380431 This problem is introduced in 8.1.5
ORA-1403/ORA-6512 SYS.DBMS_IJOB can occur exporting job queues with 
CONSISTENT=Y especially where AQ is in use . 
8171 1396571 ORA-600[25012] can occur while importing the metadata for a
transportable tablespace or TSPITR. 
8171 1396836 If a tablespace to be TRANSPORTED contains a LOCALLY MANAGED 
datafile which has been shrunk in size using RESIZE, then 
the metadata IMPORT at the remote site may fail with 
ORA-29340 / ORA-600 [kfpplgdf4] . 
8171 1421243 EXP/IMP of table NOT NULL REF column looses the NOT NULL constraint 
Gateways / Heterogeneous Services  8171 1385354 A Pro*C application using indicator variables
for binds and operating on an HS DB link may throw an error
"SQLCODE -104 INCORRECT BIND INDICATOR PLACEHOLD." if the 
foreign Data Source doesn't support indicator variables
in SQL text. 
8171 1402130 Using bind variables in SQL / PLSQL via a database link to another DB
then across a further DB link to a Gateway may hang or crash. 
8171 1429299 ORA-6510 / ORA-6512 in UTL_FILE.OPEN when connected to DB2 
Hangs / Spins  8171N 1231765 Connections via CMAN may hang when marker packets need to be exchanged (such
as in error conditions). 
8171 792495 When making a remote procedure call with a PL/SQL table, where
the PL/SQL table is defined in a procedure other than the one where the
the remote procedure call occurs, an ORA-7445, ORA-600, or hang can
occur.
Support Note: This is fixed in 8.1.6 for 8.1 to 8.1 RPCs but not until
8.1.7.1 for 8.0 to 8.1 RPCs 
8171 1300367 ARCHIVE LOG START may start more than the expected number of 
ARCH processes. Additionally a subsequent SHUTDOWN NORMAL or
SHUTDOWN IMMEDIATE may hang waiting for the extra ARCHIVE 
process to stop. 
8171 1334986 This problem was introduced in 8.1.5
Insert from remote tables with more than 256 columns can 
cause an ininite loop in remote buffering routines exhausting PGA
memory. This can also show up as ORA-600 [17090] / ORA-600 [723]
/ ORA-4030

Workaround: Using the APPEND hint avoids this problem 

8171 1344111 Certain types of OR expansions can consume a huge amount of resource and
appear to hang/spin when CBO is attempting to determine the execution
plan. This occurs with statements of the form
WHERE (col > A1 and col < A2) OR
(col > A3 and col < A4) OR ... etc.. 

Workaround:
Hint the query with /*+ NO_EXPAND */
or set _no_or_expansion=true

Also see <Bug:1389308> 

8171 1389308 Certain types of OR expansions can consume a huge amount of resource and
appear to hang/spin when CBO is attempting to determine the execution
plan.
This can typically occur with statements of the form
WHERE (col between A1 and A2) OR
(col between A3 and A4) OR ... etc.. 

Workaround:
Hint the query with /*+ NO_EXPAND */
or set _no_or_expansion=true 

Support Note: 
The fix introduces <event:10136> to control a cut-off point
for OR expansion.

Also see <Bug:1344111> 

8171 1402130 Using bind variables in SQL / PLSQL via a database link to another DB
then across a further DB link to a Gateway may hang or crash. 
8171 1416344 Having identical aliases in a base table and a view can cause
hanging if the table and the view have table access hints. 
8171 1421476 When AQ_TM_PROCESSES is set to a non-zero value then the database can
enter a hung state. This is most likely to affect an upgrade to 817
when running U0801060.SQL.

Workaround: 
Set AQ_TM_PROCESSES to 0 before running any upgrade scripts. 

8171 1467575 ALTER SYSTEM FLUSH SHARED POOL can cause PDML to hang 
8171 1472000 PCM lock request might hang in high concurrent situation on
and index block. 
8171 1476388 PMON / Oracle shadows may spin 
8171 1484634 Applications that make heavy use of the rowcache (with lots of cache items)
and execute under an OPS configuration may periodically suffer performance 
problems if the shared pool is heavily loaded. This typically shows up as
a sudden 'hang' or 'go slow' when the row cache items get flushed from the
shared pool. 
8171 1528882 High parse times are possible for queries with long OR chains if
query_rewrite_enabled is set to true. 
Java / SQLJ / JSP / Corba etc..  8171N 1328188 LDAP/SSL connections using JNDI and JDK 1.2 may dump 
8171N 1490041 SSL intermittently causes INVALID MAGIC NUMBER in GIOP message 
8171 1419924 AQJMSDEMO03.JAVA does not exit on completion 
8171 1430475 Dump in JOXFTP during create / alter of Java object 
8171 1469157 A Database created with the java option may take longer than needed
to startup when java jobs have been submitted for job queue
processes to run. 
8171 1487043 Dump passing Collection RETURN/OUT from Java stored proc to PLSQL 
Large file issues (Eg: 2GB)  8171 1297970 Doing STARTUP with RMAN may fail with ORA-1455 if SGA >= 4GB 
MTS (Multi Threaded Server)  8171N 1306738 Dispatcher / PMON can crash on NT if a shared server dies 
8171 1240484 Shared server was leaking memory when multiple sessions do 
connect/disconnect continuously. 
Memory Corruption  8171 1227384 Under very heavy load DBMS_SQL can cause SGA heap corruption
if DBMS_SQL.bind_variable is being used. 
8171 1364542 Very specific forms of query involving SORT operations can cause
buffer cache corruption. If this corruption hits a DIRTY block in
the cache it can lead to permanent corruption. 
8171 1394565 Callheap corruption printing a RAW in PLSQL debugger 
Memory Leaks  8171 1240484 Shared server was leaking memory when multiple sessions do 
connect/disconnect continuously. 
8171 1319344 Slow client side memory leak using XA
8171 1334986 This problem was introduced in 8.1.5
Insert from remote tables with more than 256 columns can 
cause an ininite loop in remote buffering routines exhausting PGA
memory. This can also show up as ORA-600 [17090] / ORA-600 [723]
/ ORA-4030

Workaround: Using the APPEND hint avoids this problem 

8171 1367773 SNP processes can leak private memory.
Workaround:
Periodically "alter system set job_queue_processes = 0;"
and wait until all SNP processes are gone then restart
some new processes. 
8171 1375878 If write errors occurred during XA tracing, a memory leak occurs. 
Also, if the XA trace file is continually opened and closed (for example by 
xa_open/xa_close with tracing on), a memory leak occurs. 
8171 1410582 A client side Memory leak occurs allocating and freeing objects
in PRO* clients 
8171 1454173 A client side memory leak can occur when doing:
SESSION BEGIN, STMT HANDLE ALLOC, STMT EXECUTE,
STMT HANDLE FREE and SESSION END in a loop. 
  8171 1640583 And-Equal scan used to exhaust free sga memory resulting ora-4031 errors 
Migrate  8171 1413093 A Pre 817 "AFTER LOGON" trigger causes ORA-604/ORA-6550/PLS-103 in 817 
8171 1421476 When AQ_TM_PROCESSES is set to a non-zero value then the database can
enter a hung state. This is most likely to affect an upgrade to 817
when running U0801060.SQL.

Workaround: 
Set AQ_TM_PROCESSES to 0 before running any upgrade scripts. 

8171 1422109 This problem was introduced in Oracle 8.1.7

Listener registration does not occur for migrated 
Oracle7 / Oracle8 database is upgraded to Oracle 8.1.7

Workaround:
Set the <Parameter:INSTANCE_NAME> in the init.ora file 

8171 1502537 ORA-600 [KCBGCUR_2] can occur on DML after upgrading from Oracle7
The stack includes <Function:ktsf_rsp1> 
NLS (National Language Support)  8171 1130746 An ORA-3120 can occur when selecting a CLOB column from an
UTF8 database. 
8171 1163205 In PRO*C and nchar pointer inserts NULL into nchar column 
instead of the actual data. 
8171 1372058 ORA-6502 possible for DBCS multibyte data
(eg: DBMS_OUTPUT.PUT_LINE may error on multibyte data) 
8171 1377361 When a Unicode buffer is bound as a PLSQL OUTPUT bind of type SQLT_STR
the last character of the output string may be truncated.
Eg: "begin select ename into :1 from scott.emp where empno=7369; end;".
Binding the output type as SQLT_CHR and setting OCI_ATTR_CHARSET_ID
to OCI_UCS2ID looses the last character. 
8171 1386924 OCILobWrite piecewise write may lose / corrupt multibyte data 
8171 1409046 Fetching character data in OCI/PRO from V7 EBCDIC server may give bad data. 
8171 1484598 ORA-979 may be returned when executing a
query containing an ORDER BY expression which includes
a call to the function NLSSORT which is also included 
in a GROUP BY clause. 
8171 1496002 NLS: ORA-6502 from LOADPSP loading a page > 255 characters 
8171 1555818 OCILobRead may return incorrect data from UTF-8 (multibyte) database.
This can affect interMedia Text text indexing of CLOB data in
a UTF-8 database. 
Network  8171N 1231765 Connections via CMAN may hang when marker packets need to be exchanged (such
as in error conditions). 
8171N 1377901 ORA-12519 possible using SID in connect data to connect to DB

Workaround: Use SERVICE_NAME in connect strings as SID is being
deprecated. 

8171N 1433938 DBCA updates the orclaci attribute for the OracleDefaultDomain entry in the 
directory improperly when registering the database. 
OCI  8171 1053906 OCIBindByName array bind SQLT_CHR to VARCHAR2 columns uses 
size of first element for all elements. This can show up as
logical data corruption 
8171 1259877 OCI_BATCH_ERROR mode does NOT handle errors which occur before row processing
begins (eg: Null data, ORA-1722 etc..). This results in incorrect batch error 
information returned to the OCI program, and can cause ORA-600 errors on the 
server (such as ORA-600 [kdtdelrow-2]). 
8171 1304674 This problem is introduced in 8.1.6
When running OCI binds with LONG RAW datatypes, if the LONG RAW column is
not the last one in the list, rebinding only the long column can cause 
an ORA-1461 error intermittantly on OCIStmtExecute(). 
8171 1315603 When using OCI_ATTR_PREFETCH_ROWS in an OCI client the client
may see wrong Indicator/return code values when fetching NULL data.
ie: indp / rcodep may be incorrect.

Workaround: Set OCI_ATTR_PREFETCH_ROWS to 0 

8171 1328829 This problem was introduced in 8.1.6
OCI fetch array sizes > 65536 overwrite the initial array elements
corrupting the data. 
8171 1356960 When OCITransMultiPrepare is called for a readonly transaction, it 
returns OCI_SUCCESS. It should return OCI_SUCCESS_WITH_INFO. The 
caller should use OCI_SUCCESS_WITH_INFO to know it should not call 
OCITransCommit. 
This affects the OracleMTSService on NT 
8171 1362476 V7 OCI Cobol / Fortran interface calls missing from 8/8i 
8171 1377361 When a Unicode buffer is bound as a PLSQL OUTPUT bind of type SQLT_STR
the last character of the output string may be truncated.
Eg: "begin select ename into :1 from scott.emp where empno=7369; end;".
Binding the output type as SQLT_CHR and setting OCI_ATTR_CHARSET_ID
to OCI_UCS2ID looses the last character. 
8171 1386924 OCILobWrite piecewise write may lose / corrupt multibyte data 
8171 1388326 Array insert using OCI_BATCH_ERRORS may not insert all the rows
if there are too many erroring rows. 
Eg: inserting 242 rows where 241 are duplicates does not insert the
one good row. 
8171 1390597 This problem was introduced in 8.1.5
PRO with XA and RELEASE_CURSOR=YES may not report variables in error messages
Eg: ORA-1 errors omit the constraint name 
8171 1391604 A second call to an OCIStmtFetch API may result in an Access Violation if
the database is shutdown in the middle of execution. 
8171 1405498 Multi-threaded OCI may dump if connection is broken 
8171 1406429 ORA-600 [insexe-2] during array insert using OCI_BATCH_ERRORS mode where
all rows inserted are rejected. 
8171 1409046 Fetching character data in OCI/PRO from V7 EBCDIC server may give bad data. 
8171 1418809 OCI insert of a LOB can crash the client 
8171 1454173 A client side memory leak can occur when doing:
SESSION BEGIN, STMT HANDLE ALLOC, STMT EXECUTE,
STMT HANDLE FREE and SESSION END in a loop. 
8171 1555818 OCILobRead may return incorrect data from UTF-8 (multibyte) database.
This can affect interMedia Text text indexing of CLOB data in
a UTF-8 database. 
  8171 1264071 CORRECT DATA IS BEING INSERTED AS NULL. 
Optimizer  8171 1029632 AND_EQUAL optimization can coredump if at least
one of indexes is a functional index.
8171 1344111 Certain types of OR expansions can consume a huge amount of resource and
appear to hang/spin when CBO is attempting to determine the execution
plan. This occurs with statements of the form
WHERE (col > A1 and col < A2) OR
(col > A3 and col < A4) OR ... etc.. 

Workaround:
Hint the query with /*+ NO_EXPAND */
or set _no_or_expansion=true

Also see <Bug:1389308> 

8171 1360183 An index on an outer joined table is not used when there is
a LIKE/IN predicate on indexed column. 
8171 1387019 PUSH_JOIN_PREDICATE may not occur on outer join to a duplicate 
column projection. 
Eg: SELECT E.EMPNO, E.ENAME, V.* FROM EMP E,
(select e1.empno empno, e1.ename, e1.empno empno2
from emp e1,dept d1
where e1.deptno = d1.deptno) V
WHERE e.empno = v.empno2 (+) and e.ename = :b1;

Workaround: Outer join to first named column projection (empno1 here) 

8171 1389308 Certain types of OR expansions can consume a huge amount of resource and
appear to hang/spin when CBO is attempting to determine the execution
plan.
This can typically occur with statements of the form
WHERE (col between A1 and A2) OR
(col between A3 and A4) OR ... etc.. 

Workaround:
Hint the query with /*+ NO_EXPAND */
or set _no_or_expansion=true 

Support Note: 
The fix introduces <event:10136> to control a cut-off point
for OR expansion.

Also see <Bug:1344111> 

8171 1401235 star_transformation_enabled=true can return ORA-900
in presense of OR-predicate related to dimension table.

Workaround: alter session set "_no_or_expansion"=true; 

8171 1416344 Having identical aliases in a base table and a view can cause
hanging if the table and the view have table access hints. 
8171 1482423 ORA-600 [4823] possible from STAR_TRANSFORMATION_ENABLED=TRUE.
Workaround: 
Set STAR_TRANSFORMATION_ENABLED=temp_disable 
8171 1490373 ORA-1008 can occur for queries using star transformation with
temp tables enabled. eg: STAR_TRANSFORMATION_ENABLED=true

Workaround: Set STAR_TRANSFORMATION_ENABLED=temp_disable 

8171 1494342 ANALYZE of COMPRESSED non-unique index gives wrong statistics for 
DBA_INDEXES.DISTINCT_KEYS 
8171 1503466 Unreferenced view columns using window functions may get evaluated when 
selecting from the view.
Eg: 
create view v as
select f(c1), f(c2), ...., f(cn)
from t;
.
if the user selects any subset of the view columns, e.g. 
.
select f(c2) from v;
.
all of the window functions f(c1),..., f(cn) are evaluated even though only a 
subset is being selected (e.g. only f(c2) in this case). 
8171 1503530 Predicate pushdown NOT done for VIEWS containing WINDOW functions 
Oracle8 Datatypes  8171 1570121+ Dumps can occur, especially in evaopn2, when using DESC functional
indexes.
This fix consolidates a number of other bugs with DESC indexes
into a single fix. 
8171 975467 SQLLOADER allows LOBS to be DIRECT PATH loaded when this should not be
possible in 8i. The loaded data is corrupt and cannot be used. 
8171 1130746 An ORA-3120 can occur when selecting a CLOB column from an
UTF8 database. 
8171 1185777 This problem is introduced in 8.1.5
ORA-24813 using LOBs from XA code 
8171 1190578 insert ..select using a functional index may crash in evaopn2()
while inserting a row. Other variations of this may occur.

Workaround:
For indexes with DESC clauses set
_ignore_desc_in_index=TRUE
in the init.ora file and rebuild the indexes. 

8171 1245424 ALTER TABLE iottable MOVE OVERFLOW TABLESPACE xxx does not work.
The MOVE command runs but puts the overflow segment in the 
same tablespace as the index segment. 
ie: It can appear to not move the OVERFLOW segment at all 
or may seem to move it to the wrong tablespace. 
8171 1311756 A Foreign Key on Compressed IOT with DELETE cascade does not see child rows.
Applications relying on enforcement of the DELETE cascade may see logical
corruption as child rows are not deleted when they should be. 
8171 1324918 When binding data as CHAR/RAW for a LOB column TEMP space may get
used up / wasted. 

Workaround: Disconnect / reconnect to free up the temporary space. 

8171 1380187 SQL statements referencing tables that contain objects can take a long
time to parse if there are many object types. 
8171 1386924 OCILobWrite piecewise write may lose / corrupt multibyte data 
8171 1414436 When running 'analyze ... list chained rows' of an
index organized table an ORA-7445 may be encountered in kdgicrl(). 
8171 1422776 INSERT AS SELECT int IOT may give ORA-600 [15201] 
8171 1468034 Queries using and-equal scans on compressed b-tree indexes
may fail with ora-600[12421].
This fix introduces as regression as described in Bug:1577067 
8171 1532194 ORA-600 [15201] during insert into IOT (especially with 32K blocksize).
Only workaround is to use a smaller block size (<8K) 
8171 1538307 Dump in <Function:kdiexi> or foreign keys not being found
when using KEY COMPRESSION with Constraints. Foreign Key not
being found can result in logical corruption of the data. 
8171 1553761 Partition Independence violated for partitioned IOTS 
8171 1555818 OCILobRead may return incorrect data from UTF-8 (multibyte) database.
This can affect interMedia Text text indexing of CLOB data in
a UTF-8 database. 
8171 1655813 ORA-03113 WHILE RUNNING UTLRP AFTER UPGRADE FROM 816
Parallel Query (PQO)  8171 1267033 ORA-600[QKAGBY0.4] is possible from PCTAS with GROUP BY and duplicate columns
in the select list.
eg: SELECT c1, sum(c2), sum(c3) FROM 
( SELECT col c1, 234 c2, 234 c3 /* c2 & c3 MUST be equal */ 
FROM t1 GROUP BY col ) 
GROUP BY c1; 
8171 1363176 PCTAS and PDML(Insert) may insert incorrect rows when a subquery contains 
an inline view (or contains a subquery) and the execution plan
includes a Nested Loop join in the first subquery. 
The generated slave SQL shows missing predicates. 
8171 1370036 ORA-600 [RSOROPGBNOSORT] possible from on CREATE TABLE UNRECOVERABLE with 
GROUP BY clause.

Workaround: Set <Event:10119> to disable NOSORT operations 

8171 1382576 Wrong results may be returned from parallel queries if they involved
a join of CHAR columns of different lengths. 
8171 1422015 Queries that used MAX() and/or MIN() operations on operands of length 254
or 255 together with a GROUP BY clause may return incorrect results when
executed in parallel. 

Workaround:
Use MAX(DISTINCT col) in place of MAX(col) 

8171 1467575 ALTER SYSTEM FLUSH SHARED POOL can cause PDML to hang 
8171 1477278 Parallel execution of PARTITION INLIST with concatenated
partition key causes internal error if one of the keys
is a runtime(join) predicate. 
8171 1482839 ORA-1742 may occur while parsing internally generated queries
for star transformation with temp tables.
This can occur when the fact table is partitioned and parallel. 
8171 1545186 The statistics "session pga memory max" and "session uga memory max" are
incorrectly calculated for the QC when commands where executed in parallel. 
Parallel Server  8171 1333317 An OPS session may dump (ORA-7445) in <Function:kslpsprns>
as the process starts under very specific conditions. 
8171 1356901 Committed changes are not propagated immediately to other nodes
when max_commit_propagation_delay=0. This does not affect all 
platforms.
Workaround:
Set _scn_scheme="Broadcast_SCN_on_commit" 
8171 1372664 ORA-601 / Dump in KJUCLL possible 
8171 1390900 ORA-600 [KCBGTCR_13] can occur.
This is the final version of the fix for <Bug:1259450> / <Bug:1073570>
8171 1472000 PCM lock request might hang in high concurrent situation on
and index block. 
8171 1484634 Applications that make heavy use of the rowcache (with lots of cache items)
and execute under an OPS configuration may periodically suffer performance 
problems if the shared pool is heavily loaded. This typically shows up as
a sudden 'hang' or 'go slow' when the row cache items get flushed from the
shared pool. 
Partitioned Tables  8171 1185893 ORA-600 [kkpamHFGet2] or ORA-600 [qerpxMObjVI5] possible on select from 
a partitioned table 
8171 1297277 This problem was introduced in 8.1.6
A query that semi-joins to a partitioned table may return the errors:
ORA-00604: error occurred at recursive SQL level 1
ORA-00942: table or view does not exist
when run from a different schema with star_transformation_enabled=TRUE

Workaround:
Set <Parameter:star_transformation_enabled> = FALSE 
or
Run the query in the schema owning the partitioned table 

8171 1430502 Update on partitioned table using and-equal scans of global indexes
may signal ora-600[12455][QKADELUPD] .

And-equal is highly likely to be used when you have single table 
predicates of the form 
"table.col1 = 'constant1' and 
table.col2 ='constant2' "
and both col1 and col2 have non-unique single key indexes on them. 

Workaround:
Use Hints to avoid AND_EQUAL access 

8171 1431143 Queries with IN-list predicates on partitioned objects may
result in ORA-600 [KKPAMFLIST]. 
8171 1462321 Wrong results possible using Fine Grained Access Control with PARTITION clauses 
8171 1469317 OERI:KKPODPAMGET possible on concurrent sessions inserting
into seperate partitions of the same table. 
8171 1477278 Parallel execution of PARTITION INLIST with concatenated
partition key causes internal error if one of the keys
is a runtime(join) predicate. 
8171 1482170 SMON may dump on cleanup of PARTITIONED INDEX ONLINE BUILD 
8171 1482839 ORA-1742 may occur while parsing internally generated queries
for star transformation with temp tables.
This can occur when the fact table is partitioned and parallel. 
8171 1502624 Wrong results can occur for queries using temporary table star
transformation that references partitioned tables. 
8171 1528062 ALTER TABLE SPLIT PARTITION for composite range-hash partition can corrupt dictionary.
This occurs if (1) Partition is composite and (2) the higher resulting partition
has the same name as the partition being split.

Workaround: Use a different name for the new partitions. 

8171 1553761 Partition Independence violated for partitioned IOTS 
Performance  8171 1286684+ The V$SYSSTAT statistic "CPU used by this session" can be incorrect if 
<Parameter:JOB_QUEUE_PROCESSES> is set to a non zero value and jobs are
run as the entire CPU consumption of the job queue process is added
to the system statistics at the end of each job. If the jobs use very little
CPU this may be insignificant. If the jobs use lots of CPU then this can
heavily distort the system statistics. 
8171 1287775 This performance regression was introduced with the fix in Bug:616870.
With this fix calling SYSDATE from PL/SQL is much slower as SYSDATE
is obtained by selecting from DUAL. 
This fix restores server side performance by allowing server side PLSQL
to use internal calls rather than selecting from DUAL. 
8171 1318267 This problem was introduced in Oracle 8.1.

INSERT AS SELECT statements may not be shared when they should
be if <Parameter:TIMED_STATISTICS> is set to TRUE. This is related
to progression monitoring.

Workaround:
Set _SQLEXEC_PROGRESSION_COST=0 in the init.ora file.
(See <Note:68955.1> for more information) 

8171 1366837 Cursors referencing a fully qualified FUNCTION are not shared when they should
be.
eg: Consider a SQL statement of the form
"select system.f() from dual;" 
or "select system.p.f2() from dual"
where f is a top level function and f2 is a packaged function, 
both owned by SYSTEM. If 2 or more users that have the relevant 
privileges on the objects involved issue the same SQL, then each one 
gets a child cursor rather than sharing the cursor.

Workaround:
Use a PUBLIC synonym and reference the function via the synonym. 

8171 1380187 SQL statements referencing tables that contain objects can take a long
time to parse if there are many object types. 
8171 1410679 This problem was introduced in 8.1.5
Pro* programs using ARRAY fetches without indicator variables
show degraded performance compared to Oracle8.0 due to more
round trips to the server as the arraysize is not utilized 
correctly. 
8171 1469157 A Database created with the java option may take longer than needed
to startup when java jobs have been submitted for job queue
processes to run. 
8171 1491213 db_block_gets, consistent_gets and db_block_change in 
V$buffer_pool_statistics show as 0 in 817 only
8171 1549235 Beginning a tablespace backup can result in the CKPT process using 
substantially more CPU time in 8.1 than 8.0 
8171 1576145 This problem is a regression in performance introduced in 8.1 .
In Pro*C a FETCH in a loop issues un-necessary DEFINE calls for each
host variable for every iteration. With this fix DEFINE is only
done on the first iteration. 
Pro*  8171 1163205 In PRO*C and nchar pointer inserts NULL into nchar column 
instead of the actual data. 
8171 1292638 When using the array fetch with various string types, and the string is 
null, the return buffer is not set properly as per Oracle8.0/Oracle7 releases. 
8171 1293080 This problem is introduced in 8.1.5
No error is returned in Pro* when executing SQL at a disconnected connection.
Eg: ROLLBACK WORK RELEASE; EXEC SQL INSERT ... does not raise an ORA-1012
error on the insert. 
8171 1314223 PROCOBOL: ORA-1483/ORA-1457 returning NULL to an OUT parameter of a stored procedure 
8171 1316152 ProFortran Makefile contains hard coded path to compiler 
8171 1320334 ProC type mismatch errors for sqlcxt during compile / link on some platforms 
8171 1337001 PROCOBOL: ORA-1457 returning NULL from a PLSQL procedure 
8171 1343460 PROCOB runtime generates ORA-1727 numeric precision out of range (0-38)
error, after applying patch for <bug:1117747> to 8.1.6.
8171 1385354 A Pro*C application using indicator variables
for binds and operating on an HS DB link may throw an error
"SQLCODE -104 INCORRECT BIND INDICATOR PLACEHOLD." if the 
foreign Data Source doesn't support indicator variables
in SQL text. 
8171 1386093 implicit varchars in dynamic statements are handled incorrectly. 
8171 1401563 PROFORTRAN makefiles have incorrect flags 
8171 1410582 A client side Memory leak occurs allocating and freeing objects
in PRO* clients 
8171 1410679 This problem was introduced in 8.1.5
Pro* programs using ARRAY fetches without indicator variables
show degraded performance compared to Oracle8.0 due to more
round trips to the server as the arraysize is not utilized 
correctly. 
8171 1413753 When precompiled with MODE=ANSI, closing a cursor that is opened using
a descriptor (method 4) and which returns no data found,
will result in an SQL-2144.
Under XA this causes XA_END to report an 100 error. 
8171 1423194 User exits precompiled with RELEASE_CURSOR=NO may error with ORA-1023
This only occurs on some platforms. 
8171 1486365 ARRAY FETCH not utilised correctly by 8i precompilers.
Pro is unable to reset prefetch row count before fetch. 
8171 1508116 PROCobol: SQLMOV is always called with quotes (") even if LITDELIM=APOST 
8171 1576145 This problem is a regression in performance introduced in 8.1 .
In Pro*C a FETCH in a loop issues un-necessary DEFINE calls for each
host variable for every iteration. With this fix DEFINE is only
done on the first iteration. 
Query Rewrite (including Materialized Views)  8171 1286623 After dropping a base table of a materialized view and 
then alter the materialized view to on-commit refresh, 
no error message is shown. 
Eg: The following scenerio should result in an error but does not:
1. create materialized view X as select ... from T ...;
2. drop table T;
3. alter materialized view X refresh on commit;
The alter statement in step 3 should result in an error. 
8171 1376209 A session may self deadlock when updating tables which are referenced
by a materialized view. The ORA-4020 error signalled will show the
current session holding the lock in S mode and in a recursive
call requesting a lock on the same table in X mode. 
8171 1412109 MV involving star_transformation can dump 
8171 1493410 RECOMMEND_MV_W may return "QSM-00504 internal error - num_total_levels don't match" 
RMAN (Recovery Manager)  8171 1297970 Doing STARTUP with RMAN may fail with ORA-1455 if SGA >= 4GB 
8171 1332121 RMAN allows NULLs in the catalog for file sizes when it should not.
This can cause ORA-1405 errors on some commands, or just list NULL
file size when it should determine the size if it is not known. 
8171 1340608 RMAN duplicate command fails when 'CREATE CONTROLFILE' statement 
exceeds 900 characters. 
8171 1386955 RMAN DELETE command ignores media errors deleting backups 
8171 1388961 "REPORT OBSOLETE" may report incorrect backups 
8171 1405652 Instance may crash if an i/o slave dies. 
This can affect RMAN using BACKUP_TAPE_IO_SLAVES = TRUE 
8171 1419888 An error during an RMAN backup does not clean up the backup pieces.
These remain forever. 
8171 1477008 RMAN may report controlfile backups as obsolete.
Report Obsolete shows controlfile only backups as OBSOLETE 
8171 1478503 RMAN "recover database delete archivelog" may not remove 
an applied archive log right after it has been applied. 
Replication  8171 1280292 ORA-23318 can occur while using ALTER TABLE MODIFY in
ALTER_MASTER_REPOBJECT 
8171 1449134 This problem is introduced in Oracle 8.1
ORA-2049 / ORA-60 possible on GENERATE_REPLICATION_SUPPORT 
8171 1504672 Incorrect DDL can be generated for tables with deferred constraints
when using deployment templates in Replication. 
SQL*Loader  8171 1351146 SQL*Loader fails to load mixed data which 
comprises of ShiftSensitive Multibyte characters and SingleByte 
characters. The conventional load fails with ORA-1458 and direct 
path load fails with ORA-1401. 
8171 1356902 SQL Loader direct path may exit with SUCCESS even if there were errors 
8171 1378532 This problem was introduced in 8.1.6
When SQL*Loader performs a load (either conventional or direct) with fixed
length records and a skip parameter, an ORA-01841 error can occur 
8171 1470497 SQL*Loader sometimes incorrectly discards valid rows in a collection with 
error ORA-2020 "Record <n>: Discarded - all columns null." 
8171 1472152 ORA-600[6941] can occur during the direct path load if an index 
being loaded has INITRANS larger than the max value for the 
the database block size. 

Workaround: 
Decrease the initrans value. 

8171 1499098 The maximum number of initial itl entries in index blocks
created by direct loader is different from the one in ordinary
index blocks. 
Security  8171N 1469858 DBMS_OBFUSCATION support for Standard Edition 
8171 1248112 Audit 'EXECUTE ANY PROCEDURE' gives incorrect audit field values 
8171 1326581 Intermittent ORA-904 possible for PLSQL objects using ROLE based security .
This can occur under heavy load when a previously parsed cursor is
aged out of the shared pool.

Workaround:
a. Grant EXECUTE privilege directly rather than via a ROLE
or b. Flush the shared pool when this occurs 

8171 1366074 Attribute identifiers in DN of GLOBAL USER are incorrectly CASE sensitive
eg: "create user adam identified globally as 'cn=adam,c=us';"
will not allow connections but
"create user adam identified globally as 'CN=adam,C=us';"
does. 
8171 1383106 DBMS_OBFUSCATION_TOOLKIT is not interoperable across platforms.
Eg: Data encrypted on Solaris cannot be decrypted on NT 
8171 1390553 Password Verification can allow username to match password
when set via SQLPLUS / OCIPasswordChange() 
8171 1398783 Enterprise ROLES (for SSL users) do not work over DB LINK 
8171 1411361 Public procedures are erroneously AUDITED
There should be no audit entries for execution of a PUBLIC procedure 
8171 1462321 Wrong results possible using Fine Grained Access Control with PARTITION clauses 
8171 1467270 Fine Grained Access policy function cannot see latest package variables 
8171 1485867 Certain constructs in TRIGGERS can corrupt AUDIT TRAIL information 
  1487291 With the MPM logon exit (RACFSAMP) active for OS authentication, CONNECT 
racfid/racfpw from a non-OS/390 SQLPLUS client gives the error -
"ORA-1017: invalid username/password; logon denied"
No messages are produced by RACF or RACFSAMP.

Workaround: Use SVRMGRL 

8171 1612147 Manipulating an object with complex dependencies could cause an Ora-4020 to be raised where the deadlock graph shows a self-deadlock. 
Space Management  8171 1245424 ALTER TABLE iottable MOVE OVERFLOW TABLESPACE xxx does not work.
The MOVE command runs but puts the overflow segment in the 
same tablespace as the index segment. 
ie: It can appear to not move the OVERFLOW segment at all 
or may seem to move it to the wrong tablespace. 
8171 1324918 When binding data as CHAR/RAW for a LOB column TEMP space may get
used up / wasted. 

Workaround: Disconnect / reconnect to free up the temporary space. 

8171 1499098 The maximum number of initial itl entries in index blocks
created by direct loader is different from the one in ordinary
index blocks. 
Wrong Results  8171 1286684+ The V$SYSSTAT statistic "CPU used by this session" can be incorrect if 
<Parameter:JOB_QUEUE_PROCESSES> is set to a non zero value and jobs are
run as the entire CPU consumption of the job queue process is added
to the system statistics at the end of each job. If the jobs use very little
CPU this may be insignificant. If the jobs use lots of CPU then this can
heavily distort the system statistics.
8171 1570121+ Dumps can occur, especially in evaopn2, when using DESC functional
indexes.
This fix consolidates a number of other bugs with DESC indexes
into a single fix. 
8171 774826 False ORA-2292 possible on SELF REFERENCING CONSTRAINT.
This is very rare and data order dependant. 
8171 1163205 In PRO*C and nchar pointer inserts NULL into nchar column 
instead of the actual data. 
8171 1189700 Wrong results from update/query with remote SUBQUERY 
with ROWNUM predicate in the subquery.

Workaround: Use DISTINCT in the subquery rather than ROWNUM (if possible)
or Use a PLSQL loop to seperate out the remote query 

8171 1259877 OCI_BATCH_ERROR mode does NOT handle errors which occur before row processing
begins (eg: Null data, ORA-1722 etc..). This results in incorrect batch error 
information returned to the OCI program, and can cause ORA-600 errors on the 
server (such as ORA-600 [kdtdelrow-2]). 
8171 1315603 When using OCI_ATTR_PREFETCH_ROWS in an OCI client the client
may see wrong Indicator/return code values when fetching NULL data.
ie: indp / rcodep may be incorrect.

Workaround: Set OCI_ATTR_PREFETCH_ROWS to 0 

8171 1362606 star_transformation_enabled =True (or temp_disable) in combination
with OUTER JOIN may return the wrong result 
8171 1363176 PCTAS and PDML(Insert) may insert incorrect rows when a subquery contains 
an inline view (or contains a subquery) and the execution plan
includes a Nested Loop join in the first subquery. 
The generated slave SQL shows missing predicates. 
8171 1377361 When a Unicode buffer is bound as a PLSQL OUTPUT bind of type SQLT_STR
the last character of the output string may be truncated.
Eg: "begin select ename into :1 from scott.emp where empno=7369; end;".
Binding the output type as SQLT_CHR and setting OCI_ATTR_CHARSET_ID
to OCI_UCS2ID looses the last character. 
8171 1382576 Wrong results may be returned from parallel queries if they involved
a join of CHAR columns of different lengths. 
8171 1388326 Array insert using OCI_BATCH_ERRORS may not insert all the rows
if there are too many erroring rows. 
Eg: inserting 242 rows where 241 are duplicates does not insert the
one good row. 
8171 1390403 This problem is introduced in 8.1.5
A query outer joined view with a literal column can 
yield the wrong results (NULLS may be returned for the 
literal column) 
8171 1391946 PUSH_JOIN_PREDICATE=true can cause wrong results (eg: with outer join)

Workaround:
alter session set "_push_join_predicate"=FALSE; 

8171 1409046 Fetching character data in OCI/PRO from V7 EBCDIC server may give bad data. 
8171 1422015 Queries that used MAX() and/or MIN() operations on operands of length 254
or 255 together with a GROUP BY clause may return incorrect results when
executed in parallel. 

Workaround:
Use MAX(DISTINCT col) in place of MAX(col) 

8171 1462321 Wrong results possible using Fine Grained Access Control with PARTITION clauses 
8171 1487212 A bind variable with NULL value can cause incorrect results
if included in an IN LIST and the INLIST ITERATOR is used in the
execution plan.

Workaround:
Set <Event:10157> to disable the inlist iterator 

8171 1502624 Wrong results can occur for queries using temporary table star
transformation that references partitioned tables. 
8171 1555818 OCILobRead may return incorrect data from UTF-8 (multibyte) database.
This can affect interMedia Text text indexing of CLOB data in
a UTF-8 database. 
XA  8171 1185777 This problem is introduced in 8.1.5
ORA-24813 using LOBs from XA code 
8171 1226580 When using serializable transactions with XA, occasionally error
ORA-00600 [k2gdel: bad ptrs] can occur. 
8171 1319344 Slow client side memory leak using XA
8171 1362359 Client core dump if a user tries to XA_RECOVER >100 rows 
8171 1375878 If write errors occurred during XA tracing, a memory leak occurs. 
Also, if the XA trace file is continually opened and closed (for example by 
xa_open/xa_close with tracing on), a memory leak occurs. 
8171 1413753 When precompiled with MODE=ANSI, closing a cursor that is opened using
a descriptor (method 4) and which returns no data found,
will result in an SQL-2144.
Under XA this causes XA_END to report an 100 error. 
Advanced / Secure Networking  8171N 1328188 LDAP/SSL connections using JNDI and JDK 1.2 may dump 
8171N 1479376 Errors SENDING/RECEIVING large amounts of data using SSL 
8171N 1490041 SSL intermittently causes INVALID MAGIC NUMBER in GIOP message 
8171N 1569475 Dump when using a certificate in which the "Certificate 
serial Number" in the extension Authority Key Identifier is negative. 
8171N 1579153 ORA-12641 Cybersafe Adapter ORANGSS8.DLL is invalid in 817 
Oracle Names  8171N 1301519 NAMESCTL command DUMP_TNSNAMES does not work unless TNS_ADMIN set 
8171N 1429373 CKPREG.ORA is not always updated 
PL/SQL  8171 792495 When making a remote procedure call with a PL/SQL table, where
the PL/SQL table is defined in a procedure other than the one where the
the remote procedure call occurs, an ORA-7445, ORA-600, or hang can
occur.
Support Note: This is fixed in 8.1.6 for 8.1 to 8.1 RPCs but not until
8.1.7.1 for 8.0 to 8.1 RPCs 
8171 824996 Cannot assign UROWID to a CHAR in PLSQL (OERI:kohrsc990) 
8171 1287775 This performance regression was introduced with the fix in Bug:616870.
With this fix calling SYSDATE from PL/SQL is much slower as SYSDATE
is obtained by selecting from DUAL. 
This fix restores server side performance by allowing server side PLSQL
to use internal calls rather than selecting from DUAL. 
8171 1321230 A PL/SQL application containing fixed-char array bind variables of mode
IN may have seen those variables get corrupted on the n'th reference to
them, where n > 1. This can typically result in an inappropriate ORA-6502.

Workaround: Refer to the bind values only once each (copy to temporary
local variables) 

8171 1326581 Intermittent ORA-904 possible for PLSQL objects using ROLE based security .
This can occur under heavy load when a previously parsed cursor is
aged out of the shared pool.

Workaround:
a. Grant EXECUTE privilege directly rather than via a ROLE
or b. Flush the shared pool when this occurs 

8171 1394565 Callheap corruption printing a RAW in PLSQL debugger 
8171 1484770 PLS-103 as PLSQL treats certain words as RESERVED words instead of keywords
eg: The words (year, month, day, hour, minute, second,
timezone_hour, timezone_minute,leading, trailing, or both)
may report PLS-103 incorrectly.
Workaround: Alias any columns with these names to non-reserved words. eg: DAY1 
8171 1512417 CONVERT function can raise a false VALUE_ERROR (ORA-6502) 
8171 1552982 Long sql statements in forms user exits may result in an ORA-900 error.
This is a client side fix. 
PL/SQL (DBMS Packages)  8171 1411802 UTL_TCP is not compatible with OS/390 platform. 
8171 1429299 ORA-6510 / ORA-6512 in UTL_FILE.OPEN when connected to DB2 
8171 1480531 Installing package utl_http by running utlhttp.sql results in an ORA-955
error. 
8171 1530833 DBMS_LDAP package may dump (ORA-3113) 
Dumps / Abends  8171 1160917 LTRIM/RTRIM/TRANSLATE() core dump if NO ARGUMENT is passed in.

Eg: select LTRIM() from dual;

Workaround: Pass an argument!! 

8171 1480555 Dump in EXPCMO when _PUSH_JOIN_PREDICATE=TRUE 
8171 1508185 Dump in PTG_TX possible 
Errors & Internal Errors  8171 873068 ORA-1634 is possible from TX using an OFFLINED Rollback segment
if recursive SQL issued within the transaction (eg; to extend a table). 
8171 962560 ORA-25128 can occur when issuing an
'INSERT ... SELECT' where the source table contains
a constraint that is in a state of 'DISABLE VALIDATE'. 
8171 1306896 ORA-600 [711] from DELETE with DML RETURNING clause 
8171 1307247 ORA-600 [1113] when an ANALYZE operation fails or is cancelled. 
8171 1383234 ORA-00600 [15203] possible during IFS install 
8171 1430642 SIGFPE / divide by zero possible on NUMA if there are less DBWR
process than Process Groups 
8171 1480715 ORA-604 / ORA-2248 connecting IDENTIFIED EXTENALLY from 8.1.X to 8.0.X
Eg: "connect /@v805_db_alias" errors in SQLPLUS 
8171 1500717 ORA-903 is possible from recursive SQL in a query with a partitioned
table if the table name contains special characters (for example '/')
and STAR_TRANSFORMATION_ENABLED is set. 
8171 1503669 ORA-600 [KCOADD_SIZE] possible during leaf key undo on COMPRESSED key index 
8171 1530519 An ORA-600[2865] error can occur during index scan on a temporary
table. 
8171 1533922 star_transformation or push_join_union_view enabled may 
cause an ORA-600 [KGLCHK2_1] to be signalled if a query references 
a sequence (SEQ.NEXTVAL). 
8171 1568046 ORA-600 [KCBNFY_BP_ERROR] possible on NUMA platforms with more than one
Processor Group 
  8171 1648092 SMON KEEPS REPORTING ORA-600 [6006] AND [6856] (POSSIBLE CORRUPT UNDO)
Miscellaneous  8171 1507890 ORA-64 for very large SESSIONS or TRANSACTIONS init.ora settings 

 

Patch for Potential Vulnerability in Oracle XSQL Servlet

Description:
A potential security vulnerability in Oracle XSQL Servlet has been discovered when using stylesheets as URL parameters which permits the execution of arbitrary Java code on the Oracle 8.1.7.0.0 database server with elevated privileges. This vulnerability was discovered in Oracle8i, Release 8.1.7.0.0, Enterprise Edition running Oracle Internet Application Server (iAS) and XSQL Servlet, Release 1.0.0.0, on MS Windows 2000. It also exists in XSQL releases 1.0.1.0 to 1.0.3.0 on all platforms.

Solution:
Oracle has corrected this vulnerability in the new release of XSQL Servlet as well as provided more secure behavior by default. The new release of XSQL Servlet, is Release 1.0.4.1, and is included in this Release 8.1.7.1 patch set and available for use with iAS Release 1.0.2.1.

 

Platform-Specific Bugs Fixed on  Compaq Tru64 Unix 

 Bug #            Description

1620419        PROVIDE RDG IPC OPTION ON TRU64 V5.0A AND ABOVE
                      (RFI# 6413)

1538811        NUMA ENABLED OSD NOT INCLUDED IN 8.1.7 FOR TRU64
                      UNIX (RFI #6202)

1538798         CANNOT START UP INSTANCE WITH NUMA ENABLED ON
                       TRU64 UNIX (RFI #6201)

1538767         V5 STATFS CALL ON V4.X SYSTEM (RFI #6200)

1538750         ORA-27092 IF FILESIZE LIMIT IS NOT UNLIMITED (RFI #6199)

1538734         UNABLE TO OPEN FILE ON FILESYS>1TB OR POSSIBLE
                       FILES EXCEEDS 2^31 (RFI #6198)

1538715        ASYNC IO TIMEOUT PENDING IOS LIST GETS LOST IN OUTPUT
                      ONLY(RFI# 6197)
1665058       NODE PANIC OR SHUTDOWN CAN CAUSE PARITIONED CLUSTER AND
                     DATABASE CORRUPTION
 

Message Files

In order to keep the size of patch sets small (aiding in internet transfer rates), non-English error message files are not included in patch sets.  When a new message is added, it is included in the English message file (oraus.msg) which is shipped with the patch set.  New messages will typically be translated and incorporated into the next maintenance release.

Patch Set Note File

This note is included in the distribution and installed in the /rdbms/doc/patch_note.htm file. If you wish to view the file and do not have a browser installed on the system, you can use the Online Text Viewer, which is available with the Oracle Installer. See the installation guide for your baseline release for instructions.

Oracle Corporation Patch Set Overview

Patch sets are Oracle Corporation's mechanism for delivering fully tested and integrated product fixes on a regular basis. Patch sets provide bug fixes only; they do not include new functionality, and do not require certification on the target system.

What Goes Into a Patch Set?

Patch sets include all the libraries that have been rebuilt to implement the bug fixes in the set. All the fixes in the patch set have been tested and are certified to work with each other. Because the patch set includes only low impact patches, it does not require you to certify applications or tools against the Server.

Patch sets are cumulative.  For example, 8.1.7.2 would include all the fixes in 8.1.7.1.0 as well as new fixes for 8.1.7.2.0.  This means that unless the patch set documentation indicates otherwise the patch set can be applied to any earlier 8.1.7 version.  There is no requirement to install all intermediate patch sets.

Patch sets contain the same set of generic fixes across all platforms. For example,  patch set 8.1.7.1.0 for Hewlett-Packard addresses the same set of bugs as 8.1.7.1.0 for Digital UNIX. Patch sets may also include additional patches specific to the platform on which they are released.

Patch sets do not include the Oracle Universal Installer (OUI). You should use the Installer from your 8.1.7 maintenance release media or ORACLE_HOME see How to Install This Patch Set.
 

NOTE: this is an example only and should not be considered to be indicative of future patch set product release plans.

De-Installing a Patch Set

There is no mechanism provided for de-installing patch sets. If you are concerned about being able to de-install a patch set, Oracle Corporation recommends that you back up your software installation, before applying the patch set.

If you must de-install a patch set, Oracle recommends one of the following procedures (in order of preference):

Regardless of how you de-install a patch set, please contact Oracle Support Services to verify that the problem you are encountering is addressed.
 

Enabling Oracle 8.1.7.1 Directed Placement Optimizations on   Compaq's GS80, GS160 & GS320 AlphaServers Running Tru64 UNIX
 

Overview

Compaq's GS80, GS160 & GS320 systems consist of smaller building blocks called Resource Affinity Domains (RADs). A RAD is a collection of tightly
coupled CPUs, memory modules and an I/O controller coupled through a fast interconnect.  A second level interconnect is used to connect each of the
RADs together to form a larger configuration.

Unlike previous generation servers which only have one common shared interconnect between CPUs, memory and I/O controller, GS80, GS160 and GS320
servers can offer superior performance and memory access times when a given CPU accesses memory within its own RAD or uses its local I/O controller.
Because of the switched interconnect, all I/O activity and memory accesses within one RAD do not interfere with those within another RAD.  However,
since memory accesses between a CPU and memory module located across RAD boundaries must traverse two levels of interconnect hierarchy, these memory
references take longer time relative to memory references that are within a RAD.

Directed memory and processes placement support - available in Tru64 UNIX V5.1 and beyond - allows sophisticated applications to communicate to the
operating system their specific needs for process and memory layout, resulting in greater performance through increased localization of memory
references to within a RAD as much as possible.

Oracle 8.1.7.1 includes enhanced support for the special capabilities of high performance servers like the GS80, GS160 and GS320.  Directed placement
optimizations specifically take advantage of hierarchical interconnects available in GS80, GS160 and GS320 class servers.  All previous generation
servers have a single shared interconnect, so these servers neither directly benefit from directed placement optimizations nor is there any loss of
performance on these servers.  Therefore, they are disabled in the shipping version of Oracle 8.1.7.1.

The rest of this document explains the requirements necessary to run these optimizations, describes how to enable them, and how these optimizations
affect the setting of Oracle parameters.
 

Requirements To Run The Directed Placement Optimizations

The following requirements must be satisfied before Oracle 8.1.7.1 directed placement optimizations will work correctly:

o  The system must be a Compaq GS80, GS160 or GS320 AlphaServer or similar locality sensitive Compaq system.  The Oracle optimizations will have no
affect on systems that are not locality sensitive.

o  The operating system must be Compaq Tru64 UNIX V5.1 or later.  Prior operating system versions do not include the required OS support for Oracle
to do directed process and memory placement.

o  The Oracle version must be 8.1.7.1 or later.
 

Enabling The Oracle Directed Placement Optimizations

Once all of the above criteria are satisfied, the Oracle directed placement optimizations can be enabled.  To enable, relink the Oracle server by
selecting the "numa_on" option in the ins_rdbms.mk makefile.  Please ensure that the Oracle instance has been shutdown prior to relinking the Oracle
server.  The command sequence is:

    cd $ORACLE_HOME/rdbms/lib
    make -f ins_rdbms.mk numa_on
    make -f ins_rdbms.mk ioracle

This relink step is necessary due to the breadth of operating system versions Oracle 8.1.7.1 supports.  Directed placement optimizations are
supported in Compaq Tru64 UNIX V5.1 and beyond, yet Oracle 8.1.7.1 supports operating system versions back to V4.0D.  As mentioned earlier, relinking
with these optimizations should only be performed on Tru64 UNIX V5.1 and beyond; earlier operating system versions do not include the necessary
directed placement support.  Attempting to enable numa option on a Tru64 Unix version that does not support directed placement will return the
following message and the numa option will remain disabled:

    Operating System Version Does not Support NUMA.
    Disabling NUMA!

An Oracle image that has directed placement optimizations turned on should not be used on non locality sensitive systems (like the ES40 or GS140) or
run under versions of Tru64 UNIX prior to V5.1.  Failure to follow these guidelines will cause the Oracle image to fail (most likely during instance
startup).  If customers need to revert back to a prior version of the operating system, Oracle should be relinked before running.  To disable the
numa option, use the following sequence of commands (after shutting down the Oracle instance):

    cd $ORACLE_HOME/rdbms/lib
    make -f ins_rdbms.mk numa_off
    make -f ins_rdbms.mk ioracle
 
 

Oracle Directed Placement Optimizations And Affect On Parameters

The Oracle directed placement optimizations assume an equi-partitioned configuration on their systems (i.e., all RADs are configured with the same
number of CPUs and the same amount of memory).  The Oracle server is assumed to run across all RADs on the system.
 

    Oracle INIT.ORA Parameters

The following is a list of Oracle INIT.ORA parameters that are affected by the Oracle directed placement optimizations.  Please note:  To make the most
of locality sensitive topology, some INIT.ORA parameters are automatically adjusted according to the server configuration as reported by the operating
system.  This practice eliminates common errors in correctly computing subtle dependencies in these parameters.

o  db_writers_processes

By default, this parameter is 1.  If the specified value is more than 1, it will be automatically adjusted up to the number of RADs in the system.  The
maximum allowed value for db_writers_processes is 10.

o  db_block_lru_latches, db_block_buffers, buffer_pool_keep and buffer_pool_recycle

These parameters apply to the entire instance and must be a multiple of the number of RADs in the system.  A suggested methodology for determining these
parameters is to compute the appropriate value for each parameter assuming a server configuration of 1 RAD, then multiply each parameter by the number
RADs in the server.
 

    Tru64 UNIX System Parameters

Several system parameters should be set to configure a NUMA system properly. If the parameters are not set as specified, the full benefits of directed
placement will not be realized.

Subsystem   Parameter            Setting
---------   --------             -----------------------------------------

ipc         ssm_threshold        0

ipc         shm_allocate_striped 1 (default)

vm          rad_gh_regions[0],   <size of the Shared Globa Area in MBs>/
            rad_gh_regions[1]... <number of RADs on the system>
 

There are 63 rad_gh_regions parameters in the vm subsystem in V5.1.  Only the parameters for the total number of RADs on the system should be set.
For example, if there are 4 RADs on the system (a GS160) and with an SGA of 10000 MBs then rad_gh_regions[0], rad_gh_regions[1],
rad_gh_regions[2] and rad_gh_regions[3] should be set to 2500.  Note that this value might have to be raised slightly to 2501 or 2502 to
sucessfully start the instance.

Oracle 8.1.7.1 does not deal with memory and CPUs getting off-lined mid stream; however, even if CPUs and memory need to be taken off-line for
some reason, Oracle will function correctly - just not optimally. If frequent off-lining of RADs is anticipated and/or equi-partitioning is
not feasible, Oracle recommends running OPS instead with one instance per RAD.  Individual instances can be configured with different sets of
INIT.ORA parameters to match actual RAD configuration as well as there is freedom to bring up or down specific instances without affecting overall
application availability.
 

    Process Affinity to RADs

It is possible to further improve performance on by directing the operating system to run the processes on specific RADs.  If connections to the database
are made through the Oracle Listener process, a listener can be run on each RAD (as long as there is a corresponding network interconnect adapter on
the RAD) using the runon -r command.  All Oracle shadow processes will automatically be found to the same RAD as the listener that created it.
 

Conclusion

We at Oracle continue to strive to bring our customers the most functional and best performing database available.  In those efforts, we work very
closely with Compaq in order to ensure the highest quality of  products combined with very high performance systems.  You can be assured that we
will be working jointly for many years to deliver the products you need in your day to day production environments.
 
 

Direct IO Support and Concurrent Direct IO Support Enabled in Oracle for Tru64 Unix
 
 

Introduction

Oracle customers must choose between implementing their databases on raw disk versus a file system, which has been in essence a choice between
best performance versus ease of management.  Now - thanks to "direct IO" and "concurrent direct IO" support - Oracle and Compaq Tru64 UNIX
customers can have the best of both worlds.

This feature is included in Oracle 8.1.7.0, 8.1.7.1 and Oracle 9i, and is included in prior Oracle versions when the noted patches are applied.

 Oracle          Patch           Comment
8.1.7.0         1510056         workaround for >1TB file systems
                                   (included in 8.1.7.1)
8.1.6.2         1527141         enables direct IO and includes
                                   workaround for >1 TB file systems
8.0.6.2         1523186         enables direct IO and includes
                                   workaround for >1 TB file systems
7.3.4.5         1523179         enables direct IO and includes
                                   workaround for >1 TB file systems

For Tru64 Unix V5.0A and V5.1, Patch Kit #2 and QAR 84601 must be installed or Patch Kit #3 or above must be installed.

This feature is available on both single instance Oracle (requires Tru64 UNIX V5.0A or beyond) as well as Oracle Parallel Server (requires Tru64
UNIX V5.1 or beyond).

The rest of this note describes direct IO and concurrent direct IO implementation details.
 

Definitions

To facilitate the understanding of the technology involved, several terms must be defined.

"Asynchronous IO" refers to a type of IO that allows a process to continue computing while the IO is outstanding.  This type of IO is
useful when a single process needs to fire off multiple IOs in parallel; for example, Oracle's DBWR.

"Synchronous IO" refers to a type of IO that stalls a process until the IO is complete. This type of IO is useful when a process needs to know
that a single IO has successfully completed before continuing.

"Direct IO" refers to the ability of an operating system to issue an IO without caching it in the UNIX file system buffer cache.
 

History

Prior to Tru64 UNIX V5.0A, AdvFS supported asynchronous IO.  However, since direct IO was not also supported, reads and writes would be
buffered in the file system buffer cache.  This would result in double buffering of Oracle data (once in the file system buffer cache and once
in the Oracle SGA) and cause a waste of memory with virtually no increase in performance.  For these reasons, Oracle had not supported
asynchronous IO with AdvFS.
 

Current Situation:  Non-Clustered Systems

As of Tru64 UNIX V5.0A, AdvFS supports the ability to perform direct IO.  With the appropriate version of Oracle, the RDBMS will issue
asynchronous, direct IOs when running with AdvFS on Tru64 UNIX V5.0A or beyond.  Because the IOs are now asynchronous and direct (not cached in
the UBC), customers will see IO performance on AdvFS that is within 90% - 95% of the performance of raw devices; in addition, customers will
also enjoy the manageability benefits of a file system.

Single Instance Oracle requirements:

* Correct version and patch level of the Oracle RDBMS (as mentioned in the Introduction)
* Tru64 UNIX 5.0A or beyond (includes support for AdvFS "direct IO")
* Oracle data files must be on Compaq's AdvFS file system
* The disks underlying the AdvFS file system must be physically connected to the computer running the Oracle instance.  "Physically
connected" includes fiber channel attached storage; it specifically excludes cases where IO must be "served" by another node due to lack of
physical connectivity.

On Tru64 V5.0A and above in a non-clustered system, AdvFS and direct IO give almost all of the performance of raw devices because the file
system cache is no longer utilized.  In addition to this, the file system allows customers to easily manage the database files.  Oracle has
no reservations in supporting and recommending the use of AdvFS files in a non-clustered system.
 

Current Situation:  Clustered Systems

As of V5.0A, Tru64 UNIX supports a Cluster-wide File System (CFS).  CFS provides for a single name space file system for all nodes in a cluster,
i.e. all file systems mounted in a cluster are seen by all nodes in the cluster automatically.  Because it is layered on top of AdvFS, CFS
inherits much of the characteristics of non-clustered systems described above with some additional caveats.

The mechanisms of CFS behave differently under Tru64 UNIX V5.0A and V5.1.
 

Current Situation:  Tru64 UNIX V5.0A Clustered Systems

Under Tru64 UNIX V5.0A, CFS partially implements features required by Oracle.  Because of this, Oracle supports the use of CFS for ease of
installation and for running a single instance (non-OPS mode) over CFS (see implementation later in this section).

However, due to the "served" IO model in Tru64 UNIX V5.0A, Oracle does not support or recommend running OPS over CFS.  This is because each
file system is owned (or served) by a particular node, and the owning node must process all IOs to a file on a file system.  This can lead to
cluster interconnect (Memory Channel) saturation since the interconnect is carrying CFS data block IOs along with all of its usual traffic.
Symptoms of cluster interconnect saturation include cluster hangs, very slow response times, or crashes.  If customers must use Tru64 UNIX 5.0A
and OPS in a clustered environment, Oracle recommends using raw devices rather than CFS for data files.  (This recommendation changes under
Tru64 UNIX V5.1 due to the availability of "concurrent direct IO" in CFS.  See below for details.)

It is possible to run Oracle in single instance mode while using CFS to hold Oracle data files with no performance degradation.  To accomplish
this, the file systems with the Oracle data must be served by the node running the Oracle instance.  The CFSMGR utility can be used to identify
the serving node of all CFS file systems and to migrate AdvFS domains to a specific node.  Please note that all file sets under that domain will
be migrated to the newly specified node.
 

Current Situation:  Tru64 UNIX V5.1 Clustered Systems

Oracle definitely recommends the use of CFS under Tru64 UNIX 5.1.  This is because - under Tru64 UNIX V5.1 - CFS now supports a "concurrent
direct" IO model, whereby any node that has physical connectivity to a drive can issue data IOs to its file systems without consulting with the
owning node.

Note that all metadata changes to a file (extending, closing, changing the access and/or modification date) are still served by the owner node
and could still cause cluster interconnect saturation.  Hence, it is possible for "CREATE TABLESPACE ...", "ALTER TABLESPACE ... ADD DATAFILE
..." or "ALTER DATABASE DATAFILE ... RESIZE ..." to perform poorly on CFS when compared to raw devices.

Multiple Instance (Oracle Parallel Server) requirements:

* Correct version and patch level of the Oracle RDBMS (as mentioned in the Introduction)
* Tru64 UNIX 5.1 or beyond (includes support for CFS "concurrent direct IO" and AdvFS "direct IO")
* Oracle data files must be on Compaq's AdvFS file system
* The disks underlying the AdvFS file system must be physically connected to all computers running the Oracle instances.  "Physically
connected" includes fiber channel attached storage; it specifically excludes cases where IO must be "served" by another node due to lack of
physical connectivity.

Note that whenever a CFS file is added to the database or a current CFS database file is extended using the ALTER DATABASE RESIZE statement, the
first IO to each block within the file will have to be serviced by the serving node.  The file create or extend will proceed slower than a
similar operation on a raw device.  In most configurations, a database file is not extended very frequently and new tablespaces are not created
during peak production periods.  Oracle believes that the maintainability of CFS files overshadows the possible performance degradation during file
creates/extends and recommends that CFS files be used on Tru64 V5.1 and above.  Please note that if a customer performs many file creates and/or
extends within Oracle, it may be better to use raw devices instead of CFS files.  It is possible to reduce cluster interconnect use by first
migrating the file system to the node on which the file create or extend will be performed (done using the CFSMGR utility with the -r option).

Finally, if the database is running in archive mode and the archive logs are being written to disk, the destination AdvFS domain should be
served by the node of the instance that is archiving the redo log. For example, if one has a 3 node cluster with one instance on each
node (NODEA, NODEB and NODEC), there should be 3 separate archive destination AdvFS domains ARCNODEA, ARCNODEB and ARCNODEC.  The domains
should be served by NODEA, NODEB and NODEC respectively and the INIT.ORA parameter log_archive_dest for each instance should point to their
respective locations.
 

Conclusion

We at Oracle are constantly striving to improve the performance and quality of the Oracle RDBMS.  We hope you enjoy the new performance and
manageability that direct IO and concurrent direct IO have to offer.
 
 
 
 
 
 
 

Using Reliable DataGram (RDG) with Oracle 8i v8.1.7.1 for Inter-Process Communication (IPC) on Tru64 Unix

Overview

Engineering teams at Compaq and Oracle have worked very closely to develop a new inter-process communication (IPC) infrastructure for Compaq's TruCluster
platform.  This IPC infrastructure is highly optimized for Oracle Parallel Server (OPS) environments as well as takes advantage of special capabilities
of Compaq's current and future cluster interconnects.

Prior to Tru64 UNIX V5.1 and Oracle 8i v8.1.7.1, the only IPC implementation usable by Oracle was the Unreliable Data Protocol (UDP).  UDP does not take
advantage of the features and reliability of the Memory Channel.

Reliable DataGram (RDG) is supported in Oracle 8i v8.1.7.1 and beyond as an IPC protocol in addition to UDP for Oracle's OPS environments.  RDG has been
specifically designed and optimized to eliminate performance limitations of more general purpose protocols such as TCP or UDP.  Lab testing has shown up
to 8% performance improvement with RDG over UDP.

(Note:  The RDG IPC implementation will be also be in Oracle9i.  However, minor implementation details and parameter names are likely to change.
These will be noted in the Oracle9i documentation.)
 

Requirements to Use the RDG IPC Implementation

The following requirements must be satisfied before RDG IPC will work properly:

- The node must be a member of the cluster, connected via the Memory Channel.

- The operating system must be Compaq Tru64 V5.1 or later.

- The Oracle version must be 8.1.7.1 or later.
 

Enabling the RDG IPC Implementation

Oracle must be re-linked in order for the Oracle IPC routines to use the RDG protocol.  Prior to performing the steps outlined below, ensure that all
instances in the cluster have been shutdown.  To enable, relink the Oracle server by selecting the "ipc_rdg" option in the ins_rdbms.mk makefile.  The
command sequence is:

        cd $ORACLE_HOME/rdbms/lib
        make -f ins_rdbms.mk ipc_rdg
        make -f ins_rdbms.mk ioracle

Please note that the OPS option must be enabled before enabling ipc_rdg. The OPS option can be enabled either through the Oracle Universal Installer
or by using the following commands:

        cd $ORACLE_HOME/rdbms/lib
        make -f ins_rdbms.mk ops_on
        make -f ins_rdbms.mk ioracle

If the OPS option is not enabled, customers will receive the following error:

        OPS is not enabled!
        Enable OPS first

If the Tru64 Unix version does not support RDG, customers will receive the following message:

        RDG not present on system
        IPC implementation left untouched

To disable ipc_rdg and revert to the default implementation for Oracle Parallel Server (OPS), customers may issue one of the following command
sequences:

        cd $ORACLE_HOME/rdbms/lib
        make -f ins_rdbms.mk ops_on
        make -f ins_rdbms.mk ioracle

or

        cd $ORACLE_HOME/rdbms/lib
        make -f ins_rdbms.mk ipc_udp
        make -f ins_rdbms.mk ioracle

Note once again that the steps necessary to implement RDG in Oracle9i are likely to change.  The above steps apply to 8.1.7.1 and subsequent version 8i
releases only.
 

RDG and the _ipc_net INIT.ORA Parameter

Some customers have used the undocumented _ipc_net parameter to successfully move Oracle IPC traffic off the Memory Channel (which is already home to the
operating system DLM and the cluster-wide AdvFS file information) and on to an alternate interconnect like Gigabit Ethernet that is perhaps more lightly
loaded.  This approach will not work in conjunction with RDG.  Currently, RDG is only supported over the Memory Channel which means the undocumented
Oracle Tru64 port-specific INIT.ORA parameter _ipc_net is ignored. Customers will not be able to redirect Oracle DLM traffic and other IPC
traffic over other interconnects by setting the _ipc_net parameter. Customers will have to revert to the default UDP implementation to redirect
Oracle IPC traffic to an interconnect other than the Memory Channel.
 

Operating System Parameter Settings

Here are recommendations for Tru64 operating system RDG subsystem parameters:

Parameter       Setting
--------------- ------------------------------------------------------
max_objs        at least <number of Oracle processes * 5> and up to
                        <number of Oracle processes * 70>
msg_q_size      at least <number of CPUs * 4>
msg_size        at least <db_block_size>
max_async_req   at least 100 but 256 may provide better performance
max_sessions    at least <number of Oracle processes + 20>
 

Conclusion

We at Oracle continue to strive to bring our customers the most functional and best performing database available.  In those efforts, we work very
closely with Compaq in order to ensure the highest quality of products combined with very high performance systems.  You can be assured that we
will be working jointly for many years to deliver the products you need in your day to day production environments.
 
 
 
 
 
 
 


Copyright © Oracle Corporation 1998. Oracle and the Oracle logo are registered trademarks of Oracle Corporation. Oracle Installer, Oracle Parallel Server, Oracle8, Oracle8 Server, and PL/SQL are trademarks of Oracle Corporation. All other product or company names mentioned are used for identification purposes only, and may be trademarks of their respective owners.