Ⅰ 如何为ORACLE表空间或临时表空间增加数据文件
这个错误信息暗示表空间大小不够,需要为表空间增加数据文件。
分析:
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.
为空间不足的表空间增加数据文件
Ⅱ 如何为ORACLE表空间或临时表空间增加数据文件
查看表空间对应数据文件所在的位置
SQL> SELECT tablespace_name,file_name FROM dba_data_files where TABLESPACE_NAME = '&tablespace_name';
--如果是查临时表空间,dba_data_files换_TEMP_SPACE
TABLESPACE_NAME FILE_NAME
------------------------------ --------------------------------------------------------------------------------
USERS D:ORACLE11GORACLE_11GORADATAORCLUSERS01.DBF
2.假设我要对USERS表空间加数据文件,为方便管理数据文件尽量放在同一个目录下。
ALTER TABLESPACE users ADD DATAFILE 'D:ORACLE11GORACLE_11GORADATAORCLUSERS02.DBF' SIZE 10M AUTOEXTEND ON NEXT 5M MAXSIZE 20M;
参数说明:SIZE 数据文件初始大小为10Mb, AUTOEXTEND ON自动扩展,下一个extend的大小为5m,数据文件最大设置为20MB。再去搜索第一步的sql就会发现user表空间数据文件增加了一个。
临时表空间增加数据文件:
ALTER TABLESPACE TEMP ADD TEMPFILE 'D:ORACLE11GORACLE_11GORADATAORCLTEMP02.DBF' SIZE 100M;
Ⅲ ORA-25153临时表空间为空
ORA-25153错误信息表明临时表空间逻辑名存在,但找不到对应临时文件。具体解决步骤如下:
首先,查询当前所有表空间状态,通过执行SQL命令查看表空间的名称及状态。
结果展示,所有表空间为在线状态,表明数据库环境基础信息正常。
接着,查询临时表空间的物理文件,若未返回任何行,则说明临时表空间文件已丢失。
执行命令alter database default temporary tablespace temp,若出现ORA-12907错误,则说明临时表空间数据文件已丢失。
针对数据文件丢失问题,通过alter tablespace temp add tempfile命令添加新临时文件,同时设置大小为512MB并开启自动扩展功能。
最后,再次查询dba_temp_files,验证新添加的临时文件是否已成功建立。
Ⅳ oracle数据库扩表空间
开始~程序~Oracle~Enterprise Manager Console
这个软件就是给你准备的~
如果你的Oracle有这个功能~
进去登陆,直接创建表空间~或者临时表空间~
1.连接数据库
2.存储~表空间~查看
3.存储~数据文件~创建
4.存储~表空间~添加数据文件~
最好用这个创建~方便~
或者没有的话就用sql创建表空间~
一、建立表空间
CREATE TABLESPACE data01
DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M
UNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k
三、建立临时表空间
CREATE TEMPORARY TABLESPACE temp_data
TEMPFILE '/oracle/oradata/db/TEMP_DATA.dbf' SIZE 50M
六、扩展表空间
首先查看表空间的名字和所属文件
select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;
1.增加数据文件
ALTER TABLESPACE game
ADD DATAFILE '/oracle/oradata/db/GAME02.dbf' SIZE 1000M;
2.手动增加数据文件尺寸
ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf'
RESIZE 4000M;
3.设定数据文件自动扩展
ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf
AUTOEXTEND ON NEXT 100M
MAXSIZE 10000M;
设定后查看表空间信息
SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,
(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"
FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C
WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE
Ⅳ oracle怎么查看临时表空间具体存放的数据
1、查看临时表空间 (dba_temp_files视图)(v_$tempfile视图)
select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files;
select status,enabled, name, bytes/1024/1024 file_size from v_$tempfile;--sys用户查看
2、缩小临时表空间大小
alter database tempfile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TELEMT\TEMP01.DBF' resize 100M;
3、扩展临时表空间:
方法一、增大临时文件大小:
SQL> alter database tempfile ‘/u01/app/oracle/oradata/orcl/temp01.dbf’ resize 100m;
方法二、将临时数据文件设为自动扩展:
SQL> alter database tempfile ‘/u01/app/oracle/oradata/orcl/temp01.dbf’ autoextend on next 5m maxsize unlimited;
方法三、向临时表空间中添加数据文件:
SQL> alter tablespace temp add tempfile ‘/u01/app/oracle/oradata/orcl/temp02.dbf’ size 100m;
4、创建临时表空间:
SQL> create temporary tablespace temp1 tempfile ‘/u01/app/oracle/oradata/orcl/temp11.dbf’ size 10M;
5、更改系统的默认临时表空间:
--查询默认临时表空间
select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';
--修改默认临时表空间
alter database default temporary tablespace temp1;
所有用户的默认临时表空间都将切换为新的临时表空间:
select username,temporary_tablespace,default_ from dba_users;
--更改某一用户的临时表空间:
alter user scott temporary tablespace temp;
6、删除临时表空间
删除临时表空间的一个数据文件:
SQL> alter database tempfile ‘/u01/app/oracle/oradata/orcl/temp02.dbf’ drop;
删除临时表空间(彻底删除):
SQL> drop tablespace temp1 including contents and datafiles cascade constraints;
7、查看临时表空间的使用情况(GV_$TEMP_SPACE_HEADER视图必须在sys用户下才能查询)
GV_$TEMP_SPACE_HEADER视图记录了临时表空间的使用大小与未使用的大小
dba_temp_files视图的bytes字段记录的是临时表空间的总大小
SELECT temp_used.tablespace_name,
total - used as "Free",
total as "Total",
round(nvl(total - used, 0) * 100 / total, 3) "Free percent"
FROM (SELECT tablespace_name, SUM(bytes_used) / 1024 / 1024 used
FROM GV_$TEMP_SPACE_HEADER
GROUP BY tablespace_name) temp_used,
(SELECT tablespace_name, SUM(bytes) / 1024 / 1024 total
FROM dba_temp_files
GROUP BY tablespace_name) temp_total
WHERE temp_used.tablespace_name = temp_total.tablespace_name
ORDER BY B.TABLESPACE, B.SEGFILE#, B.SEGBLK#, B.BLOCKS;
希望能帮到您!