查看方法:
1、查看所有表空间及表空间大小:
select tablespace_name ,sum(bytes) / 1024 / 1024 as MB from dba_data_files group by tablespace_name
2、查看所有表空间对应的数据文件:
select tablespace_name,file_name from dba_data_files
3、修改数据文件大小:
alter database datafile 'H:\ORACLE\PRODUCT\10.1.0\ORADATA\ORACLE\USERS01.DBF' RESIZE 10240M
扩展资料
每张表都是作为“段”来存储的,可以通过user_segments视图查看其相应信息。
段(segments)的定义:如果创建一个堆组织表,则该表就是一个段。
sql:SELECT segment_name AS TABLENAME,BYTES FROM user_segments WHERE segment_name='表名'。
解释:
segment_name 就是要查询的表名(大写),BYTES 为表存储所占用的字节数。本sql的意思就是查询出表名和表所占的存储空间大小。
参考资料
csdn:怎么查看oracle数据库大小
select segment_name,segment_type,bytes/1024 from user_segments通关过segment,也可以查到你表的具体大小,上面精确到了字节单位,如果想变成M,则后面bytes/1024/1024即可。
当然可以删除,你把你的 *** 作步骤和报错贴出来看看~ 追问: create table dbc.fenqu( tid number primary key, tname varchar2(20) not null, tdp varchar2(20) not null, taddress varchar2(20) not null ) partition by list(taddress)( partition east values(' 莱阳 '), partition west values(' 栖霞 ') ) insert into dbc.fenqu values(1,' 奥特曼 ',' 财务部 ','栖霞')insert into dbc.fenqu values(2,' 忍者神龟 ','财务部','莱阳')insert into dbc.fenqu values(3,'刘少晖',' 人事部 ','莱阳')insert into dbc.fenqu values(4,'大嫚','人事部','莱阳') alter table dbc.fenqu merge partitions east,west into partition east delete from dbc.fenqu where tid=4 就是这样吧 谢谢 回答: 由于原来是分区 索引 ,所以合并分区后需要重建一下索引~ SQL>create table zz_ch_test( 2 tid number primary key, 3 tname varchar2(20) not null, 4 tdp varchar2(20) not null, 5 taddress varchar2(20) not null 6 ) 7 partition by list(taddress) 8 ( 9 partition east values (' 莱阳 '), 10 partition west values (' 栖霞 ') 11 ) Table created SQL> SQL>insert into zz_ch_test values(1,' 奥特曼 ',' 财务部 ','栖霞') 1 row inserted SQL>insert into zz_ch_test values(2,' 忍者神龟 ','财务部','莱阳') 1 row inserted SQL>insert into zz_ch_test values(3,'刘少晖',' 人事部 ','莱阳') 1 row inserted SQL>insert into zz_ch_test values(4,'大嫚','人事部','莱阳') 1 row inserted SQL>commit Commit complete SQL> SQL>select segment_name,partition_name 2 from dba_segments where segment_name='ZZ_CH_TEST' SEGMENT_NAME PARTITION_NAME -------------------------------------------------------------------------------- ------------------------------ ZZ_CH_TEST EAST ZZ_CH_TEST WEST SQL>alter table zz_ch_test merge partitions east,west into partition east Table altered SQL> SQL>select segment_name,partition_name 2 from dba_segments where segment_name='ZZ_CH_TEST' SEGMENT_NAME PARTITION_NAME -------------------------------------------------------------------------------- ------------------------------ ZZ_CH_TEST EAST SQL>select * from zz_ch_test TID TNAME TDP TADDRESS ---------- -------------------- -------------------- -------------------- 2 忍者神龟 财务部 莱阳 3 刘少晖 人事部 莱阳 4 大嫚 人事部 莱阳 1 奥特曼 财务部 栖霞 SQL>delete from zz_ch_test where tid=4 delete from zz_ch_test where tid=4 ORA-01502: 索引 'A00SYS.SYS_C00424479' 或这类索引的分区处于不可用状态 SQL>alter index A00SYS.SYS_C00424479 rebuild Index altered SQL>delete from zz_ch_test where tid=4 1 row deleted SQL>commit Commit complete SQL>select * from zz_ch_test TID TNAME TDP TADDRESS ---------- -------------------- -------------------- -------------------- 2 忍者神龟 财务部 莱阳 3 刘少晖 人事部 莱阳 1 奥特曼 财务部 栖霞 SQL> 追问: alter index A00SYS.SYS_C00424479 rebuild这个我们还没讲 谢谢啊 我只是刚刚学满意请采纳
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)