一、ORA-01652无法通过128(在temp表空间中)扩展temp段
指temp表空间无法自动扩展temp段。一般有两种原因:一是临时表空间空间太小,二是不能自动扩展。
二、ORA-01658无法为表空间中的段创建initial区
在导数据,创建表时报。主要原因是建立的表空间不够。
解决:
(1)使用oracle enterprise management console,增加表空间
表空间 > XXXX > 文件路径 > "存储"标签 > 复选"数据文件已满后自动扩展AUTOEXTEND",设定大小或者选择"自动增长"
(2)使用命令,开启datafile的自动扩展
alter database datafile '/data/oracle/dbfile.dbf' autoextend on;
查询当前数据库中所有数据文件是否为自动扩展
select tablespace_name,file_name,autoextensible from dba_data_files;
三、ORA-25153 Temporary Tablespace is Empty (临时表空间为空)
原因:试图使用没有定义数据文件的临时表空间。
解决:
(1)通过通过SQL语句来确认是否存在数据文件
select name from v$tempfile;
(2)没有数据时,给TEMP tablespace 增加一个datafiles,便可解决。
alter tablespace temp add tempfile 'E:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\temp02.dbf' size 10m autoextend on;
补充:
如果检查发现TEMP tablespace已存在data files,那么你要检查default temporary tablespace是否对all users可用。并且default temporary tablespace是有效可用的。
(1)To check the default temporary tablespace of the database:
select property_name, property_value from database_properties;
如果default temporary tablespace 设置是错误的。执行更改
alter database default temporary tablespace temp;
(2)To check default temporary tablespace for all users of the database:
select username, temporary_tablespace, account_status from dba_users;
如果发现有错误的TEMPORARY_TABLESPACE 设置,假如sys有错,执行更改
alter user sys temporary tablespace temp;
(3)重新为你的temporary tablespace 创建datafile。并且为你的数据库设置 default temporary tablespace。
drop tablespace temp including contents and datafiles;
create temporary tablespace temp tempfile ‘/db/temp01.dbf’ size 100m autoextend off extent management local uniform size 1m;
alter database default temporary tablespace temp;