求助解决Oracle 12c中ORA-60019创建表失败问题
Let's tackle this ORA-60019 error you're hitting when creating your table in Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production.
First, let's clarify the root cause: Your table includes a CLOB column, and Oracle 12c defaults to using SECUREFILE storage for LOB data. The tablespace you're working with has an extent size of 8, which is smaller than the minimum initial extent size (14) required for a SECUREFILE LOB segment. That's why the table creation is failing.
Here are two reliable solutions to fix this:
Solution 1: Create a New Tablespace with Larger Extent Size
If you want to stick with SECUREFILE LOBs (which offer features like compression, encryption, and smarter space management), create a tablespace with a uniform extent size that meets the requirement. A 1MB extent size is more than sufficient. Use this command:
CREATE TABLESPACE BUILD_TBS DATAFILE '/path/to/your/datafile.dbf' SIZE 100M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
Then specify this new tablespace when creating your table:
CREATE TABLE "BUILD_FILT" ( "BUILD_ID" NUMBER(38,0), "BUILD_NAME" VARCHAR2(200 CHAR), "BUILD_IMPL" CLOB ) TABLESPACE BUILD_TBS;
Solution 2: Switch to BASICFILE Storage for the CLOB
If you don't need SECUREFILE's advanced features, you can explicitly configure the CLOB to use BASICFILE storage, which has lower extent size requirements. Modify your create table statement like this:
CREATE TABLE "BUILD_FILT" ( "BUILD_ID" NUMBER(38,0), "BUILD_NAME" VARCHAR2(200 CHAR), "BUILD_IMPL" CLOB ) LOB(BUILD_IMPL) STORE AS BASICFILE;
Quick Recommendation
- Choose Solution 1 if you plan to leverage SECUREFILE's capabilities now or in the future.
- Solution 2 is a quick, straightforward fix for immediate table creation without changing your tablespace setup.
内容的提问来源于stack exchange,提问作者Suman Panigrahi

