title: Why does this CREATE TABLE statement cause "ORA-00922 missing or invalid option"?
body: <p>I have exported a schema from one Oracle database using SQL Developer (tools -> unload database). It has created "create table" statements similar to this one :</p>
  
  <pre><code>CREATE TABLE "APP_USER" 
     (    "ID" NUMBER(*,0), 
      "USERNAME" VARCHAR2(200), 
      "PASSWORD" NVARCHAR2(200), 
      "TYPE" VARCHAR2(20), 
      "FIRST_NAME" VARCHAR2(100), 
      "LAST_NAME" VARCHAR2(100)
     ) SEGMENT CREATION IMMEDIATE 
    PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
    STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
    TABLESPACE "LIS_DATA" ;
  </code></pre>
  
  <p>But when I try to execute the code on another database, also from SQL Developer, it fires an "ORA-00922 missing or invalid option". </p>
  
  <p>Apparently there is something wrong with the storage section of the query (starting with "SEGMENT" and ending with "DEFAULT)" because if I remove it it works. But what is it exactly ?</p>
  
  <p>I am just an application developer who happens to have to work with Oracle. I'm ok with SQL but this Oracle storage parameters stuff is Chinese to me. Plus I am puzzled that SQL Developer generates invalid code...</p>