These are known bugs for Oracle Database Enterprise Edition in Oracle Database 12c Release 2 (12.2).
When upgrading the database to release 12.2 and then downgrading back to the original release, the Oracle XML DB (XDB) component might be invalid with some invalid objects. For example:
Drop the invalid objects by issuing the following statements under SYS:
drop public synonym DBMS_SODA_ADMIN; drop package XDB.DBMS_SODA_ADMIN; drop package SYS.DBMS_SODA_UTIL; drop package XDB.DBMS_SODA_DML;
@utlrp to revalidate XDB after dropping the invalid SODA objects.
Starting in Oracle Database 12c Release 2 (12.2), context indexes can create a table that did not exist in earlier releases. If you use Data Pump to import a context index created prior to release 12.2 into release 12.2 or later, then the new context index table is created in the system tablespace. If you later try to use transportable tablespace to move the context index, you get the following error:
ORA-39932: Extensible Index <index name> not fully contained in the transportable set
For transportable tablespace to work, the table that lives in the
SYSTEM tablespace needs to be moved to the tablespace where the rest of the index tables reside. Then, the index on that internal table needs to be rebuilt. To find tables that are created by context indexes that prevent a transportable tablespace operation because they are in the
SYSTEM tablespace, execute the following query:
SELECT t1.table_name, t2.index_name FROM user_tables t1, user_indexes t2 WHERE t1.table_name = t2.table_name AND t1.table_name LIKE 'DR$index_name%$U' AND t1.tablespace_name='SYSTEM';
Then, for all tables returned by this query (there can be more than one for a partitioned index), do the following:
ALTER TABLE table_name MOVE TABLESPACE tablespace_name
tablespace_name is the name of the new tablespace for the table. For all of the indexes returned by this query, execute the following:
ALTER INDEX index_name REBUILD;
Analytic view queries using bind variables or that have asymmetric predicates are slow. The typical example of the latter is a query with predicates that span dimensions. For example, (Year, Region) as in
('1998','EAST') or in
To workaround this problem, disable the join back optimization by specifying
ALTER SESSION SET _hcs_no_av_jback_opt = TRUE.
Running an analytic view (AV) query that includes an AV calculated measure with a CASE statement yields an
ALTER SESSION SET _hcs_no_sp_jback_opt = TRUE statement. Or, use other constructs in your calculation definition.
Rapid Home Provisioning Control (RHPCTL) utility commands do not work when the Rapid Home Provisioning Server (RHPS) is started the first time after configuring it.
Restart the RHPS by issuing the commands
srvctl stop rhpserver and then
srvctl start rhpserver.
Software-only images are the only type of images supported with persistent home paths provisioned using Rapid Home Provisioning (RHP). Images created from existing working copies or homes are not supported for provisioning homes with a persistent home path.
Use images created from software-only installations.
Symbolic links are not allowed in the directory object paths or filenames when opening BFILEs. The entire directory path and filename is checked and the following error is returned if any symbolic link is found:
ORA-22288: file or LOB operation FILEOPEN failed soft link in path
If the database directory object or filename you are trying to open contains symbolic links, change it to provide the real path and filename.
The service-oriented buffer cache access optimization feature continuously monitors data block reads from disk or inter-node block transfers and performs data-dependent caching using this information. The data-dependent caching does not work in the case of service relocation if there are no data block reads or transfers in the recent past. This can happen if all of the blocks queried are already in the buffer cache and, therefore, no new blocks are read or transferred.
If you have a large number of collections and are working with pre-12.2 clients, you need a larger object cache, due to a change in snapshot size and thus a need for collection image conversion.
The object cache size can be set using the
OBJECT_CACHE_OPTIMAL_SIZE initialization parameter. This is set to a low value by default.
Based on the number of collections and object types used in the application, the size required can be found by using this formula:
max(20K * Number of Collection Types, 5K * Object type)
If an attempt is made to compile an editioned type object that depends on a second type object that is currently invalid, and the second invalid type object is currently being inherited from an earlier edition, this action can result in the second type object incorrectly continuing to be inherited from the earlier edition. Oracle Database fails to determine that the invalid type object needs to be actualized into the current edition.
Preemptively, before attempting DDL on a type object, you must verify that all of the type objects on which the target object currently depends are already valid or are actually in the current edition.
If preemptive prevention is not taken, then the only workaround is to determine which objects are being incorrectly inherited from an ancestor edition and then to manually compile those objects in the correct editions.
Bug 21546668 and Bug 24370018
Upgrading Oracle E-Business Suite (Oracle EBS) 12.2 from Oracle Database 11g Release 2 (220.127.116.11) to 12.2, returns the following error in the upgrade file:
Identifier CATALOG 15-08-03 04:29:22 SCRIPT = [/ade/b/3767230542/oracle/rdbms/admin/sqlsessend.sql] ERROR = [ORA-22348: The object type DDL is not supported in Editioned schema] STATEMENT = [alter type sql_plan_row_type modify attribute ( object_owner VARCHAR2(128), object_name VARCHAR2(128), object_alias VARCHAR2(261), qblock_name VARCHAR2(128)) cascade] --------------------------------------------------------------------------- --------------------------------------------------------------------------- Identifier CATPROC 15-08-03 04:33:04 SCRIPT = [/ade/b/3767230542/oracle/rdbms/admin/sqlsessstart.sql] ERROR = [ORA-22348: The object type DDL is not supported in Editioned schema] STATEMENT = [alter type sql_plan_row_type modify attribute ( object_owner VARCHAR2(128), object_name VARCHAR2(128), object_alias VARCHAR2(261), qblock_name VARCHAR2(128)) DIAGNOSTIC ANALYSIS: --------------------------------------------------------------------------- from catupgrd840.log 04:29:22 SQL> alter type sql_plan_stat_row_type compile specification reuse settings; Type altered. Elapsed: 00:00:00.03 04:29:22 SQL> 04:29:22 SQL> alter type sql_plan_row_type modify attribute ( 04:29:22 2 object_owner VARCHAR2(128), 04:29:22 3 object_name VARCHAR2(128), 04:29:22 4 object_alias VARCHAR2(261), 04:29:22 5 qblock_name VARCHAR2(128)) 04:29:22 6 cascade; alter type sql_plan_row_type modify attribute ( * ERROR at line 1: ORA-22348: The object type DDL is not supported in Editioned schema ........ Elapsed: 00:00:00.07 04:33:04 SQL> 04:33:04 SQL> Rem alter sql_plan_row_type for long identifiers 04:33:04 SQL> alter type sql_plan_row_type modify attribute ( 04:33:04 2 object_owner VARCHAR2(128), 04:33:04 3 object_name VARCHAR2(128), 04:33:04 4 object_alias VARCHAR2(261), 04:33:04 5 qblock_name VARCHAR2(128)) 04:33:04 6 cascade; alter type sql_plan_row_type modify attribute ( * ERROR at line 1: ORA-22348: The object type DDL is not supported in Editioned schema
Drop the types causing the error in the environment being upgraded before the database upgrade. The types are auto-regenerated later. Run the following PL/SQL commands:
declare cursor c1 is select u.name, o.name from sys.type$ t, sys.obj$ o, sys.user$ u where o.type# = 13 and bitand(t.properties, 8388608) = 8388608 --transient cursor types and o.oid$ = t.tvoid and o.spare3 = u.user# and bitand(u.spare1, 16) = 16; type_owner varchar2(128); type_name varchar2(128); begin -- Drop system generated editioned transient cursor types open c1; loop fetch c1 into type_owner, type_name; exit when c1%NOTFOUND; begin EXECUTE IMMEDIATE 'drop type "' || type_owner || '"."' || type_name || '" force'; exception when others then null; end; end loop; close c1; exception when others then null; end; /