1
votes

I got this internal error ORA -00600 with arguments [12811] [2083824] when I try to create index. How can I fix it?

ALTER TABLE "UTEST_PARAMETERS_LIST" MODIFY "SOURCE_NAME" NUMBER(11);
ALTER TABLE "UTEST_PARAMETERS_LIST" MODIFY "SOURCE_NAME" DEFAULT 0;`
CREATE INDEX "D178F60FBEDDDCCBA2B5E71814AC80" ON "UTEST_PARAMETERS_LIST" ("SOURCE_NAME");

Version: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

ORA-12811: PARALLEL_MIN_SERVERS must be less than or equal to PARALLEL_MAX_SERVERS

In my case these parameters are equal=8, both

1
Please add the exact Oracle version as well as the full DDL statement that generated the error. Also, you may want to use support.oracle.com, use the ORA-600 tool, and search for the first argument, 12811. Sometimes the solution is hidden behind Oracle's paywall.Jon Heller
ORA-00600 errors are often internal Oracle errors, bugs etc. - it may not be YOUR fault, but Oracle's. Unfortunately, as Jon said, you need access to (non-free) Oracle support, their bug list and solutions, etc. If you are a paying customer, this is when you throw it back to Oracle for the money you paid them.mathguy
ALTER TABLE "UTEST_PARAMETERS_LIST" MODIFY "SOURCE_NAME" NUMBER(11); ALTER TABLE "UTEST_PARAMETERS_LIST" MODIFY "SOURCE_NAME" DEFAULT 0; CREATE INDEX "D178F60FBEDDDCCBA2B5E71814AC80" ON "UTEST_PARAMETERS_LIST" ("SOURCE_NAME"); Version: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Productiondelka
ORA-12811: PARALLEL_MIN_SERVERS must be less than or equal to PARALLEL_MAX_SERVERS , In my case theese parameters are equal=8, bothdelka

1 Answers

0
votes

This is likely a problem with the way Oracle handles default values. In some cases Oracle will store the default value only in metadata and the value is not stored with each row. This improves performance but also has a lot of bugs associated with it.

Try to avoid the metadata-only default. I can't reproduce your error so I don't know what exactly will work for you. Some things to try are writing all the values before setting the default and setting the column to NOT NULL.

--Try different variations of this:
UPDATE UTEST_PARAMETERS_LIST SET SOURCE_NAME = 0 WHERE SOURCE_NAME IS NULL;
COMMIT;
ALTER TABLE "UTEST_PARAMETERS_LIST" MODIFY "SOURCE_NAME" NOT NULL;

--Then run the original commands.
ALTER TABLE "UTEST_PARAMETERS_LIST" MODIFY "SOURCE_NAME" NUMBER(11);
ALTER TABLE "UTEST_PARAMETERS_LIST" MODIFY "SOURCE_NAME" DEFAULT 0;
CREATE INDEX "D178F60FBEDDDCCBA2B5E71814AC80" ON "UTEST_PARAMETERS_LIST" ("SOURCE_NAME");