In the create table/index, a freelist of 65535 is attempted.
Error message: ORA-1590
With ORACLE Release 6, the customer received a copy of a SAP database
(UNIX deduction).
This version contained some tables/indexes, in which the storage-clause for freelist had this error.
ORACLE does not cause an error in Release 6.
An error appears from ORACLE7 onwards for the create table.
Reorganize the tables/indexes with sapdba, and set the values freelist = 1 and freelist_groups = 1 in the create table/index statement. This statement can also be used for export - import on another machine.
There are two more solutions: using them (especially the second)
is, however, not recommended.
1. Change the script $ORACLE_HOME/rdbms/admin/catexp.sql
- Create a backup of the script
- Change the following view in catexp.sql :
CREATE OR REPLACE view exu7sto (ownerid, fileno, blockno, iniext,
sext, minext, maxext, pctinc, blocks, groups, extents)
AS SELECT user#, file#, block#, iniexts, extsize, minext, maxext,
extpct, blocks, NVL(lists,1), NVL(groups,1), extents
****************************
FROM sys.seg$
Change in:
CREATE OR REPLACE view exu7sto (ownerid, fileno, blockno, iniext,
sext, minext, maxext, pctinc, blocks, lists, groups, extents)
AS SELECT user#, file#, block#, iniexts, extsize, minexts, maxexts,
extpct, blocks, decode(lists, NULL, 1, 65535, 1),
*********************************
decode(groups , NULL, 1, 65535, 1), extents
***********************************
FROM sys.seg$
Execute script catext as sys (before a new export)
2. Update on seg$
Execute the following two statements as sys:
update seg$ set lists=NULL where lists=65535;
update seg$ set groups=NULL where groups=65535;
No comments:
Post a Comment