用如下语句查询: select segment_name,tablespace_name,bytes B, bytes/1024 KB, bytes/1024/1024 MB from user_segments where segment_type='TABLE' and tablespace_name='USERS'结果: 说明,其中segment_type='TABLE'中的TABLE必须要大写,
释放表空间解决方法:先把表数据备份到另外一张表中,然后执行truncate table table_name,然后再把备份的导入到这个表中,然后删除备份表,你可以试试
oracle
数据库里查看表空间使用状况;
oracle表空间的事情状况要经常查看,一般空闲比例过低的时候就应该考虑增大表看空间了。查看方法如下sql:
方法一:
select
dbftablespace_name,
dbftotalspace
"总量(m)",
dbftotalblocks
as
总块数,
dfsfreespace
"剩余总量(m)",
dfsfreeblocks
"剩余块数",
(dfsfreespace
/
dbftotalspace)
100
"空闲比例"
from
(select
ttablespace_name,
sum(tbytes)
/
1024
/
1024
totalspace,
sum(tblocks)
totalblocks
from
dba_data_files
t
group
by
ttablespace_name)
dbf,
(select
tttablespace_name,
sum(ttbytes)
/
1024
/
1024
freespace,
sum(ttblocks)
freeblocks
from
dba_free_space
tt
group
by
tttablespace_name)
dfs
where
trim(dbftablespace_name)
=
trim(dfstablespace_name)
方法二:
select
totalname
"tablespace
name",
free_space,
(total_space-free_space)
used_space,
total_space
from
(select
tablespace_name,
sum(bytes/1024/1024)
free_space
from
sysdba_free_space
group
by
tablespace_name
)
free,
(select
bname,
sum(bytes/1024/1024)
total_space
from
sysv_$datafile
a,
sysv_$tablespace
b
where
ats#
=
bts#
group
by
bname
)
total
where
freetablespace_name
=
totalname
当发现有的表空间不够的错误时,处理如下:
1:找出该表空间对应的数据文件及路径
select
from
dba_data_files
t
where
ttablespace_name
=
'ard'
2:增大数据文件
alter
database
datafile
'全路径的数据文件名称'
resize
m
3:增加数据文件
alter
tablespace
表空间名称
add
datafile
'全路径的数据文件名称'
m
注解:表空间尽量让free百分比保持在10%以上,如果低于10%就增加datafile或者resizedatafile,一般数据文件不要超过2g
不奇怪呀。
特别是使用数据泵导出导入的dumpfile文件,比以前EXP/IMP得到的dmp更小了。
你这个应该还包括索引。
具体占用空间对照,你可以在现在库和之前库的做个比对,查询2个库里表空间大小信息就可以了。
甲骨文公司毕竟也在持续改进。
1 启动SQLPLUS,并用sys登陆到数据库。
#su - oracle$>sqlplus / as sysdba
2 查找数据库的UNDO表空间名,确定当前例程正在使用的UNDO表空间:
Show parameter undo_tablespace。3 确认UNDO表空间;
SQL> select name from v$tablespace;NAME
------------------------------
UNDOTBS1
4 检查数据库UNDO表空间占用空间情况以及数据文件存放位置;
SQL>select file_name,bytes/1024/1024 from dba_data_files where tablespace_name like 'UNDOTBS%';5 查看回滚段的使用情况,哪个用户正在使用回滚段的资源,如果有用户最好更换时间(特别是生产环境)。
SQL> select susername, uname from v$transaction t,v$rollstat r, v$rollname u,v$session swhere staddr=taddr and txidusn=rusn and rusn=uusn order by susername;
6 检查UNDO Segment状态;
SQL> select usn,xacts,rssize/1024/1024/1024,hwmsize/1024/1024/1024,shrinksfrom v$rollstat order by rssize;
USN XACTS RSSIZE/1024/1024/1024 HWMSIZE/1024/1024/1024 SHRINKS
1 0 0 0000358582 0000358582 0
2 14 0 0796791077 0796791077 735
3 44 1 000920867919921875 399295806884766 996
这还原表空间中还存在3个回滚的对象。
7 创建新的UNDO表空间,并设置自动扩展参数;
SQL> create undo tablespace undotbs2 datafile '/opt/oracle/oradata/ge01/UNDOTBS2dbf' size 100m reuse autoextend on next 50m maxsize 5000m;Tablespace created
8 切换UNDO表空间为新的UNDO表空间 , 动态更改spfile配置文件;
SQL> alter system set undo_tablespace=undotbs2 scope=both;System altered
9验证当前数据库的 UNDO表空间
SQL> show parameter undoNAME TYPE VALUE
------------------------------------ ----------- --------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS2
9 等待原UNDO表空间所有UNDO SEGMENT OFFLINE;
select usn,xacts,status,rssize/1024/1024,hwmsize/1024/1024, shrinks from v$rollstat order by rssize;select tsegment_name,ttablespace_name,tsegment_id,tstatus from dba_rollback_segs t;
SEGMENT_NAME TABLESPACE_NAME SEGMENT_ID STATUS
1 SYSTEM SYSTEM 0 ONLINE
2 _SYSSMU1$ UNDOTBS1 1 OFFLINE
3 _SYSSMU2$ UNDOTBS1 2 OFFLINE
4 _SYSSMU47$ UNDOTBS1 47 OFFLINE
上面对应的UNDOTBS1还原表空间所对应的回滚段均为OFFLINE
10到$ORACLE_HOME/dbs/init$ORACLE_SIDora如下内容是否发生变更:
#cat $ORACLE_HOME/dbs/initddptestora……
undo_management=’AUTO’
undo_retention=10800
undo_tablespace=’UNDOTBS2’
……
如果没有发生变更请执行如下语句:
SQL> create pfile from spfile;File created
11 删除原有的UNDO表空间;
SQL> drop tablespace undotbs1 including contents;最后需要在重启数据库或者重启计算机后到存储数据文件的路径下删除数据文件(为什么要手动删除呢:以上步骤只是删除了ORACLE中undo表空间的逻辑关系,即删除了数据文件在数据字典中的关联,不会自动删除项关联的数据文件)。
drop tablespace undotbs1 including contents and datafiles;以上就是关于如何在Oracle中查看各个表,表空间占用空间的大小全部的内容,包括:如何在Oracle中查看各个表,表空间占用空间的大小、oracle表空间数据删除后 还会占用表空间吗、oracle 数据库怎么查看temp表空间使用情况等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)