Как определить размер таблиц в Oracle?
Сегодня мы покажем, как определить размер таблиц в Oracle. В любой базе данных, в том числе и в базах данных Oracle, таблицы являются основными инструментами для сохранения информации. Удобство таблиц неоспоримо: они состоят из столбцов и строк, что обеспечивает удобное чтение располагаемой информации. Однако любая таблица может быть ограничена в размерах, поэтому иногда важно понимать размер таблицы, чтобы ориентироваться на вероятный объем сохраненной информации.
Не зная размер таблицы, может сложиться такая ситуация, что приложение, которое использует ее для записи, перестает нормально функционировать, потому что просто не может ничего записать. С базами Oracle — это довольно частая ситуация, особенно когда используется бесплатная версия этой базы данных. А в бесплатной версии размер таблиц ограничен лицензионным соглашением, а это значит, что рано или поздно, но все равно можно « у переться в потолок».
Как определить размер таблицы Oracle?
- с таблицами нужно работать с правами администратора;
- при вычислении размера таблиц нужно использовать пользователя, под которым работает «демон» Oracle;
- в самом скрипте нужно обязательно указывать владельца таблицы.
Заключение
Узнать размер базы данных Oracle непросто, но возможно. То есть специальной какой-то кнопки или функции нет, поэтому приходится пользоваться большими массивными скриптами. Мы представили 2 скрипта на обозрение. Если по каким-то причинам они вам не подходят, тогда можно поискать в сети другие. На специализированных форумах администраторы баз данных Oracle делятся такими скриптами.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Oracle, просмотр размера БД, таблицы, колонки, tablespace
Пример часто используемых запросов для определения размера БД, таблицы и тп., полезно при администрировании БД.
Работа с размером БД
- Размер БД в ГБ занимаемых на диске, только файлы с данными.
SELECT SUM (bytes) / 1024 / 1024 / 1024 AS GB FROM dba_data_files;
Работа с размером Таблиц
- Поиск топ 10 таблиц по размеру, с пользователем:
select * from ( select owner «Пользователь», segment_name «Имя», bytes/1024/1024 «Размер в MB» from dba_segments where segment_type = TABLE’ order by bytes/1024/1024 desc) where rownum
Как узнать размер таблицы в oracle
- x$ таблицы
- V$ представления (A — H)
- V$ представления (I — R)
- V$ представления (S — X)
- Лимиты
- Фоновые процессы
- Параметры инициализации
- Недокум. параметры
- События ожидания (A — E)
- События ожидания (F — P)
- События ожидания (R — W)
- Статистики
- ORA-600
- ORA-04100 . ORA-07499
- История
- Механизмы хранения
- Вопросы и ответы
- Системные переменные
- Администрирование
- ZhiDBA for Oracle
- ZhiSQL for Oracle
- DBAScript for Oracle
- ZhiDBA for Oracle
- ZhiSQL for Oracle
- DBAScript for Oracle
Вход на сайт
- Главная /
- СУБД /
- Oracle Database /
- Вопросы и ответы /
- Как посмотреть размер таблицы?
Как посмотреть размер таблицы?
Информация о материале Автор: Сергей Жилин Категория: Вопросы и ответы Oracle Опубликовано: 11 октября 2010 Просмотров: 40274
Размер занимаемого таблицей табличного пространства можно посмотреть в представлении dba_extents с помощью следующего запроса:
SELECT owner, segment_name, segment_type,tablespace_name, ROUND(SUM (BYTES) / 1024 / 1024) "SIZE (MB)", SUM (blocks) blocks, COUNT (*) extents FROM dba_extents WHERE owner = ‘HR’ AND segment_name = 'EMPLOYEES' AND segment_type = ‘TABLE’ GROUP BY owner, segment_name, segment_type, tablespace_name
Размер таблицы так же можно посмотреть и в представлении dba_extents:
SELECT a.owner "Схема", a.table_name "Таблица", b.bytes "Размер (Мб)", TRUNC((a.blocks * 100) / b.blocks) "Занято(%)", b.extents "Экстентов" FROM dba_tables a, ( SELECT owner, segment_name, sum(bytes)/1024/1024 bytes, sum(blocks) blocks, count(*) extents FROM dba_extents WHERE segment_type = 'TABLE' GROUP BY owner, segment_name ) b WHERE a.owner = 'HR' AND a.table_name = 'EMPLOYEES' AND a.owner = b.owner AND a.table_name = b.segment_name
Эти два последние запроса можно использовать и для определения размера схемы. Достаточно убрать только лишние столбцы из GROUP BY и WHERE.
Использование пакета sys.dbms_space то же даёт представление о размере таблицы:
SET ECHO OFF; SET SERVEROUTPUT ON; DECLARE var1 number; var2 number; var3 number; var4 number; var5 number; var6 number; var7 number; BEGIN sys.dbms_space.unused_space('HR', 'EMPLOYEES', 'TABLE', var1, var2, var3, var4, var5, var6, var7); dbms_output.put_line('Всего блоков в сегменте = ' || var1); dbms_output.put_line('Всего байт в сегменте = ' || var2); dbms_output.put_line('Неиспользованных блоков = ' || var3); dbms_output.put_line('Неиспользованных байт = ' || var4); dbms_output.put_line('Номер файла последнего экстента, который содержит данные = ' || var5); dbms_output.put_line('Номер блока последнего экстента, который содержит данные = ' || var6); dbms_output.put_line('Последний блок в пределах экстента, который содержит данные = ' || var7); end; / SET ECHO ON;
Самое популярное
- Как посмотреть план запроса?
- Как посмотреть, когда у пользователя последний раз менялся пароль?
- Как вычислить разницу между двумя датами в соседних строках одного столбца?
- Как преобразовать TIMESTAMP в DATE?
- Как узнать, какие опции Oracle используются базой данных?
You have no rights to post comments
Определение размера индекса и таблицы, BLOB поля в ORACLE
Приложенные скрипты помогут определить физический размер отдельного индекса, отдельной таблицы, таблицы и всех её индексов.
Узнаем размер индекса в ORACLE.
Узнаем размер таблицы в ORACLE.
Определяем размер таблицы и всех ее индексов Oracle
Определение размера BLOD поля
Как узнать размер секционированной таблицы с lob-полями
Если таблица секционирована, то её размер равен суммарному размеру всех сегментов её секций. Если при этом она содержит lob — поля, то к сумме размеров секций надо прибавить сумму размеров всех lob-сегментов, ассоциированных с этой таблицей.Этот запрос сводит всё воедино:
Размер таблиц в указанной схеме с учет LOB полей
Выводит размер таблиц, индексов и кол-во партиций по всем схемам
Выводит таблицы размер, которых больше одного 1 Гб. Это условие в запросе можно заменить на свое.