Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database Oracle server中是否有dba\u空闲空间视图的替代视图?_Database_Oracle - Fatal编程技术网

Database Oracle server中是否有dba\u空闲空间视图的替代视图?

Database Oracle server中是否有dba\u空闲空间视图的替代视图?,database,oracle,Database,Oracle,我正在尝试在我的应用程序中获取oracle数据库的大小。但是查询总是抛出套接字超时错误。是否有其他视图可以代替dba_free_space?是的,您可以使用其他视图获取数据库级别的空间使用情况(不包括临时空间),方法是: 例如: SQL> with used as 2 (select sum(bytes/1024/1024) as used_mb 3 from dba_segments), 4 total as 5 (select sum(bytes/102

我正在尝试在我的应用程序中获取oracle数据库的大小。但是查询总是抛出套接字超时错误。是否有其他视图可以代替dba_free_space?

是的,您可以使用其他视图获取数据库级别的空间使用情况(不包括临时空间),方法是:

例如:

SQL> with used as
  2   (select sum(bytes/1024/1024) as used_mb
  3    from dba_segments),
  4  total as
  5   (select sum(bytes/1024/1024) as total_mb
  6    from dba_data_files)
  7  select
  8   (select total_mb from total) as total_mb,
  9   (select used_mb from used) as used_mb,
 10   (select total_mb from total)- (select used_mb from used) as free_mb
 11   from dual;

  TOTAL_MB    USED_MB    FREE_MB
---------- ---------- ----------
      1570     980.25     589.75

是,您可以使用其他视图获取数据库级别的空间使用情况(不包括临时空间),方法是:

例如:

SQL> with used as
  2   (select sum(bytes/1024/1024) as used_mb
  3    from dba_segments),
  4  total as
  5   (select sum(bytes/1024/1024) as total_mb
  6    from dba_data_files)
  7  select
  8   (select total_mb from total) as total_mb,
  9   (select used_mb from used) as used_mb,
 10   (select total_mb from total)- (select used_mb from used) as free_mb
 11   from dual;

  TOTAL_MB    USED_MB    FREE_MB
---------- ---------- ----------
      1570     980.25     589.75


你的疑问和确切的错误是什么?您应该致力于解决这一问题,而不是避免在我的应用程序中运行dba\u free\u space时出现“java.sql.SQLRecoverableException:IO Error:Socket read timeout”异常。我正在使用Oracle这个jdbc驱动程序11.2.0.4.0。如果在sqlplus中运行查询,响应需要多长时间?设置定时可能有助于显示这一点。另外,尝试通过SQL>EXEC DBMS\u stats.GATHER\u dictionary\u stats收集数据字典统计信息;然后再次尝试您的查询1。我的oracle数据库中未启用回收站,在sqlplus上运行时,查询只需几秒钟即可完成。。2.EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;这是为了收集字典统计数据,如果我们在数据库中执行了任何操作(如升级等),这些数据都可以运行,我不认为这有任何直接关系…您的查询和确切错误是什么?您应该致力于解决这一问题,而不是避免在我的应用程序中运行dba\u free\u space时出现“java.sql.SQLRecoverableException:IO Error:Socket read timeout”异常。我正在使用Oracle这个jdbc驱动程序11.2.0.4.0。如果在sqlplus中运行查询,响应需要多长时间?设置定时可能有助于显示这一点。另外,尝试通过SQL>EXEC DBMS\u stats.GATHER\u dictionary\u stats收集数据字典统计信息;然后再次尝试您的查询1。我的oracle数据库中未启用回收站,在sqlplus上运行时,查询只需几秒钟即可完成。。2.EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;这是为了收集字典统计数据,如果我们在数据库中执行了任何操作(如升级等),则可以运行这些统计数据我不认为这有任何直接的关系…在计算空闲空间时我们需要排除临时使用吗?我认为我们需要两种不同的查询,因为临时表空间不同于永久表空间。大多数情况下,永久表空间比临时表空间大得多。而且
dba_free_space
不报告临时表空间中的可用空间;为此,我们应该使用
dba\u temp\u free\u space
。感谢您的宝贵帮助。我还有一个澄清。V$TEMP_EXTENT_POOL、V$SORT_SEGMENT、V$TEMP_SPACE_HEADER-从这三个表中,我们必须使用哪一个来查看临时表空间大小统计信息?V$TEMP_SPACE_HEADER最好具有已分配和可用的空间。V$SORT_段提供了有关当前使用情况和达到的最大值的详细信息。V$TEMP_EXT_工具是关于缓冲区缓存使用情况的,不应用于检查已分配和可用空间。因此,要查找已用字节和已用字节,应使用V$sort_段。我说的对吗?在计算空闲空间时我们需要排除临时使用吗?我认为我们需要两种不同的查询,因为临时表空间不同于永久表空间。大多数情况下,永久表空间比临时表空间大得多。而且
dba_free_space
不报告临时表空间中的可用空间;为此,我们应该使用
dba\u temp\u free\u space
。感谢您的宝贵帮助。我还有一个澄清。V$TEMP_EXTENT_POOL、V$SORT_SEGMENT、V$TEMP_SPACE_HEADER-从这三个表中,我们必须使用哪一个来查看临时表空间大小统计信息?V$TEMP_SPACE_HEADER最好具有已分配和可用的空间。V$SORT_段提供了有关当前使用情况和达到的最大值的详细信息。V$TEMP_EXT_工具是关于缓冲区缓存使用情况的,不应用于检查已分配和可用空间。因此,要查找已用字节和已用字节,应使用V$sort_段。我说得对吗?