管理增加MAX BYTES或减少使用BYTES ORACLE TABLESPACE

时间:2015-12-14 19:46:15

标签: oracle tablespace

创建具有320万条记录的外部表时,我遇到了一个问题

外部文件有320万条记录作为.CSV文件格式,我在Oracle中创建了EXTERNAL文件,

CREATE TABLE SCOT.RXD32LExt
(
    SORT_CODE       NUMBER(9),
    ACCOUNT_NUM     NUMBER(11),
    BANK_NAME       VARCHAR2(6),
    TRAN_DEBIT      NUMBER(9),
    TRAN_CREDIT     NUMBER(9),
    SEQ_NUM         NUMBER(11),
    RXD_FLAG        NUMBER(4),
    REPORT_FLAG     NUMBER(4),
    FLAG            VARCHAR2(4) 
) 
ORGANIZATION EXTERNAL 
( 
  TYPE ORACLE_LOADER 
  DEFAULT DIRECTORY GK3_F
  ACCESS PARAMETERS 
  ( 
    records delimited by newline
    fields terminated by ',' 
    optionally enclosed by '"'
    missing field values are null
    (
      SORT_CODE, ACCOUNT_NUM, BANK_NAME, TRAN_DEBIT, TRAN_CREDIT, 
      SEQ_NUM, RXD_FLAG, REPORT_FLAG, FLAG 
    ) 
  ) 
  LOCATION ('32LRecords.csv') 
) 
PARALLEL 
REJECT LIMIT UNLIMITED; 

Table Created.

SQL> SELECT * FROM SCOT.RXD32LExt;

我的数据库面临内存问题超出限制的异常。由于SYSTEM用户在数据库中没有足够的空间,我已经检查了下面的表空间查询

SELECT TABLESPACE_NAME, 
    SUM(bytes)/1024/1024 "USED MEGABYTES",
    SUM(maxbytes)/1024/1024 "MAX MEGABYTES" 
FROM dba_data_files 
WHERE tablespace_name IN ('SYSTEM', 'USERS') 
GROUP BY tablespace_name;

Output
------

TABLESPACE_NAME - USED MEGABYTES - MAX MEGABYTES
----------------------------------------------
USERS              100              11264
SYSTEM             600              600

如果我需要DECREASE USED MEGABYTE S意味着我需要做什么或 如果我需要INCREASE MAX MEGABYTES意味着我需要做什么。

我做了以下查询

ALTER DATABASE DATAFILE 
'C:\ORACLEXE\APP\ORACLE\ORADATA\XE\SYSTEM.DBF' RESIZE 10G;

但是上面的alter query增加了使用的兆字节内存不是最大内存。

TABLESPACE_NAME - USED MEGABYTES - MAX MEGABYTES
----------------------------------------------
USERS              100              11264
SYSTEM             3200             600

0 个答案:

没有答案