Есть ли альтернативное представление для представления dba_free_space на сервере Oracle? - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь получить размер моей oracle базы данных в своем приложении. Но запрос всегда выдает ошибку тайм-аута сокета. Есть ли альтернативный вид вместо dba_free_space?

1 Ответ

2 голосов
/ 16 июня 2020

Да, вы можете использовать другие представления для получения информации об использовании пространства на уровне базы данных (исключая временное пространство) с помощью:

with used as 
 (select sum(bytes/1024/1024) as used_mb 
  from dba_segments),
total as
 (select sum(bytes/1024/1024) as total_mb 
  from dba_data_files)
select 
 (select total_mb from total) as total_mb,
 (select used_mb from used) as used_mb, 
 (select total_mb from total)- (select used_mb from used) as free_mb 
 from dual;

Пример:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...