怎么查看oracle数据库数据量大小?

怎么查看oracle数据库数据量大小?,第1张

查看方法:

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这个我们还没讲 谢谢啊 我只是刚刚学

满意请采纳


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9919769.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存