(10g直接执行第二步就可以了)
统计一个用户下所有表的行数:
1.exec
dbms_stats.gather_schema_stats(owner=>'用户名')
2.select
sum(num_rows)
from
user_tables
统计全库所有表的行数:
1.exec
dbms_stats.gather_database_stats(estimate_percent=>'30')
2.select
sum(num_rows)
from
dba_tables
生产环境中需谨慎考虑收集新的统计信息后对应用产生的影响。
select * from dba_users查看数据库里面所有用户,前提是你是有dba权限的帐号,如sys,systemselect * from all_users 查看你能管理的所有用户!
select * from user_users查看当前用户信息 !
-- 查询你 当前用户下,有哪些表
SELECT * FROM user_tables
-- 查询你 当前用户下, 可以访问哪些表 [也就是访问自己 和 其他用户的]
SELECT * FROM all_tables
-- 查询当前数据库所有的表, 需要你有 DBA 的权限
SELECT * FROM dba_tables
查看方法:
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数据库大小
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)