当我尝试创建索引时,我得到了带有参数ORA -00600
的内部错误[12811] [2083824]
。我该如何解决?
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");
版本:Oracle Database 12c企业版12.1.0.2.0版 - 64位生产
ORA-12811:PARALLEL_MIN_SERVERS必须小于或等于 PARALLEL_MAX_SERVERS
在我的情况下,这些参数等于= 8,两者
答案 0 :(得分:0)
这可能是Oracle处理默认值的方式的问题。在某些情况下,Oracle仅将默认值存储在元数据中,并且不会将值存储在每一行中。这可以提高性能,但也有很多与之相关的错误。
尽量避免仅限元数据的默认设置。我无法重现您的错误,因此我不知道究竟对您有什么用处。在设置默认值并将列设置为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");