查询我的块大小oracle

时间:2011-02-01 12:45:09

标签: oracle storage admin

如果我无法访问v$parameter视图,是否可以告诉Oracle数据库的块大小?

谢谢!

F。

4 个答案:

答案 0 :(得分:19)

你可以这样做:

select distinct bytes/blocks from user_segments;

答案 1 :(得分:2)

在oracle中,每个表空间设置块大小。您可以查询user_tablespaces或dba_tablespaces(如果您有权访问)并查看每个表空间的块大小;这些观点通常会立即生效。

您还可以将这两个中的任何一个连接到dba_tables,user_tables或all_tables,并将块数乘以块大小以获得表的总大小(以字节为单位)(除以1024 * 1024以获得以MB为单位的大小,等)

答案 2 :(得分:1)

是的,那么你有一个重大问题。查询user_segments可能非常慢,尤其是在运行SAP或Infor BAAN时,会创建数以万计的段并倾向于对数据字典进行分段。最好是说服您的DBA以某种方式授予您访问权限,可能通过v _ $。

的视图

替代方案,效果更好:当您可以创建细分时,您可以获得一些表空间访问权限(请注意,当您没有任何细分时,区别文件不起作用)。此列表通常较短,因此例如使用:

从user_ts_quotas中选择字节/块

当用户受限制且没有配额时,仍然会让您遇到本地DBA的社交工程问题: - )

答案 3 :(得分:1)

由于每个表空间的块大小不同,因此最好使用以下查询:

select block_size, tablespace_name from dba_tablespaces;