无法通过存储过程将数据输入到生产中的 Oracle 表中

Pra*_* GD 2 database oracle tablespace

表的行数是671839,顺序是有顺序的。昨天已对表进行了交易,就像过去 7 个月(即自上次应用程序部署以来)所做的一样。在过去的 7 个月中,应用程序代码或数据库中没有任何变化,一切正常。突然在一些成功的事务之后,从昨天中午开始插入表一直失败!浏览器中没有错误消息。我已经导出了整个数据库,但无法在 cmd 提示符下使用 oracle 导入脚本导入相关表。显示以下错误:

IMP-00003:遇到 ORACLE 错误 1659 ORA-01659:无法在表空间 USERS 中分配超过 8 的 MINEXTENTS

这是DDL表的:

CREATE TABLE MDP.TBL_DAILY_DATA
(
  DAILY_DATA_ID        NUMBER(38),
  METER_ID             NUMBER(38),
  D_DATE               DATE,
  FREQUENCY_POWER_SUM  FLOAT(126),
  WH_REG_VALUE         FLOAT(126),
  VAR_REG_HIGH_VALUE   FLOAT(126),
  VAR_REG_LOW_VALUE    FLOAT(126),
  RECEIVED_DATE        DATE,
  DETAIL               SYS.XMLTYPE,
  DETAIL_TEXT          VARCHAR2(4000 BYTE),
  MWH_DETAIL               SYS.XMLTYPE,
  MWH_DETAIL_TEXT          VARCHAR2(4000 BYTE)
)
XMLTYPE DETAIL STORE AS CLOB (
  TABLESPACE USERS
  ENABLE       STORAGE IN ROW
  CHUNK       8192
  RETENTION
  NOCACHE
  LOGGING
  INDEX       (
        TABLESPACE USERS
        STORAGE    (
                    INITIAL          64K
                    NEXT             1M
                    MINEXTENTS       1
                    MAXEXTENTS       UNLIMITED
                    PCTINCREASE      0
                    BUFFER_POOL      DEFAULT
                   ))
      STORAGE    (
                  INITIAL          64K
                  NEXT             1M
                  MINEXTENTS       1
                  MAXEXTENTS       UNLIMITED
                  PCTINCREASE      0
                  BUFFER_POOL      DEFAULT
                 ))
TABLESPACE USERS
PCTUSED    0
PCTFREE    10
INITRANS   1
MAXTRANS   255
STORAGE    (
            INITIAL          272M
            NEXT             1M
            MINEXTENTS       1
            MAXEXTENTS       UNLIMITED
            PCTINCREASE      0
            BUFFER_POOL      DEFAULT
           )
LOGGING 
NOCOMPRESS 
NOCACHE
NOPARALLEL
MONITORING;


CREATE UNIQUE INDEX MDP.UK_TBL_DAILY_DATA ON MDP.TBL_DAILY_DATA
(METER_ID, D_DATE)
LOGGING
TABLESPACE USERS
PCTFREE    10
INITRANS   2
MAXTRANS   255
STORAGE    (
            INITIAL          3M
            NEXT             1M
            MINEXTENTS       1
            MAXEXTENTS       UNLIMITED
            PCTINCREASE      0
            BUFFER_POOL      DEFAULT
           )
NOPARALLEL;


ALTER TABLE MDP.TBL_DAILY_DATA ADD (
  PRIMARY KEY
  (DAILY_DATA_ID)
  USING INDEX
    TABLESPACE USERS
    PCTFREE    10
    INITRANS   2
    MAXTRANS   255
    STORAGE    (
                INITIAL          1M
                NEXT             1M
                MINEXTENTS       1
                MAXEXTENTS       UNLIMITED
                PCTINCREASE      0
               ),
  CONSTRAINT UK_TBL_DAILY_DATA
  UNIQUE (METER_ID, D_DATE)
  USING INDEX MDP.UK_TBL_DAILY_DATA);
Run Code Online (Sandbox Code Playgroud)

dav*_*100 5

你的USERS表空间已满,找到表空间的数据文件

SELECT * FROM DBA_DATA_FILES WHERE tablespace_name = 'USERS';
Run Code Online (Sandbox Code Playgroud)

完成此操作后,扩展数据文件的最大大小(以下将其扩展到 100g,但请为您的环境选择一个合理的大小)

ALTER DATABASE DATAFILE '<filename>' MAXSIZE 100g;
Run Code Online (Sandbox Code Playgroud)

  • 非常感谢!但不是 ALTER DATABASE DATAFILE '&lt;filename&gt;' MAXSIZE 100g; 我使用了“alter tablespace USERS add datafile '&lt;new filename&gt;' size 512M autoextend on next 128M maxsize 8192M; (2认同)