创建具有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