查询我的块大小oracle

查询我的块大小oracle,oracle,storage,admin,Oracle,Storage,Admin,如果我无法访问v$参数视图,是否有办法判断Oracle数据库的块大小 谢谢 f、 您可以这样做: select distinct bytes/blocks from user_segments; 是的,那你就有大问题了。查询用户_段可能非常慢,尤其是在运行SAP或Infor BAAN时,它们会创建上万个段并倾向于对数据字典进行分段。最好是说服您的DBA以某种方式授予您访问权限,可能是通过使用v_$的视图 另一种方法,性能更好:当您可以创建段时,您可以访问一些表空间(请注意,当您没有任何段时,d

如果我无法访问
v$参数
视图,是否有办法判断Oracle数据库的块大小

谢谢

f、 您可以这样做:

select distinct bytes/blocks from user_segments;

是的,那你就有大问题了。查询用户_段可能非常慢,尤其是在运行SAP或Infor BAAN时,它们会创建上万个段并倾向于对数据字典进行分段。最好是说服您的DBA以某种方式授予您访问权限,可能是通过使用v_$的视图

另一种方法,性能更好:当您可以创建段时,您可以访问一些表空间(请注意,当您没有任何段时,distinct不起作用)。此列表通常较短,因此,例如,请使用:

从用户配额中选择字节/块


这仍然给本地DBA留下了一个社会工程问题,当用户受到如此严格的限制以至于没有配额时:-)

在oracle中,块大小是按表空间设置的。您可以查询user_表空间或dba_表空间(如果您有访问权限),并查看每个表空间的块大小;这些视图通常会立即运行


您还可以将这两个表中的任何一个连接到dba_表、用户_表或所有_表,并将块数乘以块大小,以字节为单位获得表的总大小(除以1024*1024以MB为单位,等等)。

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

select block_size, tablespace_name from dba_tablespaces;

这个查询非常昂贵,最好从V$参数中选择SELECT值,其中Name='BdBuleBuxSigel' @ GueLoeDevs:“如果我没有访问V$参数视图”!真正地他想知道块的大小,但无权访问v$参数视图。即使对用户的查询花费了5分钟,他仍然在5分钟内得到了答案。除非有特殊的需要一天检查几次数据库块大小,否则似乎要向DBA请求权限,以便更快地了解情况?注意:Oracle支持每个表空间的不同块大小。因此v$参数中的值只是一个“默认值”。