CREATE TABLESPACE tablespace_name
DATAFILE
data1...
data2...
另外就是新增数据文春局件到现有的表空间下
ALTER TABLESPACE tablespace_name ADD
DATAFILE
data3...
1 可能存在文件损坏或权限问题,导致添加数据文件时打不开文件。2 原因可能是Oracle没有足够的权限来嫌毕访问文件或文件已经被肢返其他进程锁定,导致无法打开。
3 可以尝试检查文件的权限设置、确认文件是否被其他进程占用、检查 *** 作系统日志等方法来解决该问题。
如果问题依旧存在,可以尝试重新创建一个新的数历者饥据文件来替代原有的文件。
背景:当通过ORACLE中的create table ... as select 语句创建一张新表时,新表的数据量为比较大,如10亿,这时SQL*Plus很可能就会提示“ORA-01653: ...”错误信息。这个错误信息暗示表空间大小不够,需要为表空间增加数据文件。启神顷
分析:
1. 查询表空间剩余字节大小
SELECT TABLESPACE_NAME, SUM(BYTES)/1024/1024 AS "FREE SPACE(M)"
FROM DBA_FREE_SPACE
WHERE TABLESPACE_NAME = '&tablespace_name'
GROUP BY TABLESPACE_NAME
注:如果是临时表空间,请查询DBA_TEMP_FREE_SPACE
SELECT TABLESPACE_NAME, FREE_SPACE/1024/1024 AS "FREE SPACE(M)"
FROM DBA_TEMP_FREE_SPACE
WHERE TABLESPACE_NAME = '&tablespace_name'
2. 如果不知道表空间数据文件目录规划,可以先查询出表空间所有数据文件
SELECT TABLESPACE_NAME, FILE_ID, FILE_NAME, BYTES/1024/1024 AS "BYTES(M)"
FROM DBA_DATA_FILES
WHERE TABLESPACE_NAME = '&tablespace_name'
注:如果是临时表空间,请查询DBA_TEMP_FILES
SELECT TABLESPACE_NAME, FILE_ID, FILE_NAME, BYTES/1024/1024 AS "SPACE(M)"
FROM DBA_TEMP_FILES
WHERE TABLESPACE_NAME = '&tablespace_name'
3. 为空间不足的表空间增加数据文件
ALTER TABLESPACE &tablespace_name ADD DATAFILE '&datafile_name瞎悔'悄陆 SIZE 2G
注:如果要为临时表空间扩容,使用下面的语句
ALTER TABLESPACE &tablespace_name ADD TEMPFILE '&datafile_name' SIZE 2G
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)