|
|
|
узнать размер таблицы?
|
|||
|---|---|---|---|
|
#18+
Добрый деlty!Ora10g Winserv 2003 как просомотреть объем определенной таблицы? Заранее благодарен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2009, 17:03:00 |
|
||
|
узнать размер таблицы?
|
|||
|---|---|---|---|
|
#18+
Fedortsov A., Dba_Segments не стоит благодарности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2009, 17:04:56 |
|
||
|
узнать размер таблицы?
|
|||
|---|---|---|---|
|
#18+
Fedortsov A., Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2009, 17:21:51 |
|
||
|
узнать размер таблицы?
|
|||
|---|---|---|---|
|
#18+
Fedortsov A.Добрый деlty!Ora10g Winserv 2003 как просомотреть объем определенной таблицы? Заранее благодарен очень удобная процедурка помимо общего обьема таблицы показывает ещё и количество свободного места в блоках Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. где unformatted_blocks Total number of blocks that are unformatted unformatted bytes Total number of bytes that are unformatted fs1_blocks Number of blocks that has at least 0 to 25% free space fs1_bytes Number of bytes that has at least 0 to 25% free space fs2_blocks Number of blocks that has at least 25 to 50% free space fs2_bytes Number of bytes that has at least 25 to 50% free space fs3_blocks Number of blocks that has at least 50 to 75% free space fs3_bytes Number of bytes that has at least 50 to 75% free space fs4_blocks Number of blocks that has at least 75 to 100% free space fs4_bytes Number of bytes that has at least 75 to 100% free space ful1_blocks Total number of blocks that are full in the segment full_bytes Total number of bytes that are full in the segment ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2009, 18:00:18 |
|
||
|
узнать размер таблицы?
|
|||
|---|---|---|---|
|
#18+
Brass, не очень очень удобная процедурка :) Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2009, 20:03:35 |
|
||
|
узнать размер таблицы?
|
|||
|---|---|---|---|
|
#18+
Fedortsov A. как просомотреть объем определенной таблицы? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2009, 20:12:50 |
|
||
|
узнать размер таблицы?
|
|||
|---|---|---|---|
|
#18+
orawishBrass, не очень очень удобная процедурка :) Код: plaintext 1. 2. 3. 4. 5. документацию по пакету посмотри там и по партиционированным обьектам вроде можно информацию получить завтра точнее отпишу если надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2009, 22:23:37 |
|
||
|
узнать размер таблицы?
|
|||
|---|---|---|---|
|
#18+
BrassorawishBrass, не очень очень удобная процедурка :) Код: plaintext 1. 2. 3. 4. 5. документацию по пакету посмотри там и по партиционированным обьектам вроде можно информацию получить завтра точнее отпишу если надо даже сегодня точно, есть соответствующий параметр Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2009, 22:34:34 |
|
||
|
узнать размер таблицы?
|
|||
|---|---|---|---|
|
#18+
Еще v$segstat содержит данные о выделенном и занятом пространстве. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2009, 22:53:34 |
|
||
|
узнать размер таблицы?
|
|||
|---|---|---|---|
|
#18+
Brass, дык я не сомневался, что для партиций там есть параметры. просто, если код публикуете (где буков много), то, имхо, он мог бы быть и более общим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2009, 16:26:13 |
|
||
|
узнать размер таблицы?
|
|||
|---|---|---|---|
|
#18+
Fedortsov A., я бы предложил более корректный вариант с подсчетом сегментов данных, индексов и blob-полей таблицы: http://konurbaev-e.blogspot.ru/2013/06/oracle-database-how-to-calculate-actual.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2013, 23:15:02 |
|
||
|
узнать размер таблицы?
|
|||
|---|---|---|---|
|
#18+
Evgeny_1987Fedortsov A., я бы предложил более корректный вариант с подсчетом сегментов данных, индексов и blob-полей таблицы: http://konurbaev-e.blogspot.ru/2013/06/oracle-database-how-to-calculate-actual.html Адский блог ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2013, 00:04:16 |
|
||
|
узнать размер таблицы?
|
|||
|---|---|---|---|
|
#18+
Evgeny_1987, имхо, 1. достаточно одного селекта 2. не стоит делать upper, лучше подавайте на вход сразу верное название 3. мешанина ALL_ c DBA_, да еще и их джойны без учета owner'a 4. не учитывает lob index'ы и вложенные таблицы 5. dba_segments достаточно "тяжелая" вьюха, если уж туда идти, то хотя бы один раз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2013, 02:23:55 |
|
||
|
узнать размер таблицы?
|
|||
|---|---|---|---|
|
#18+
это только то, что сразу в глаза бросилось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2013, 02:24:33 |
|
||
|
узнать размер таблицы?
|
|||
|---|---|---|---|
|
#18+
xtenderэто только то, что сразу в глаза бросилосьПризнаки стилистического говнокода изобилуют, но уже на втором плане после - может посчитать сегменты другой таблицы, свои сегменты несколько раз или не посчитать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2013, 08:49:56 |
|
||
|
узнать размер таблицы?
|
|||
|---|---|---|---|
|
#18+
-2-может посчитать сегменты другой таблицы, свои сегменты несколько раз или не посчитать...ага, это про овнера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2013, 09:20:50 |
|
||
|
узнать размер таблицы?
|
|||
|---|---|---|---|
|
#18+
xtender, автор1. достаточно одного селекта Сразу скажу, что код писался не для использования в промышленной системе, а для периодических разовых запусков, чтобы узнать размер таблицы, поэтому задачи обойтись одним селектом не стояла. Вопрос был - как узнать размер таблицы, функция свою задачу выполняет. автор2. не стоит делать upper, лучше подавайте на вход сразу верное название 3. мешанина ALL_ c DBA_, да еще и их джойны без учета owner'a ALL на DBA заменили. А в join-ах было условие: and t.owner = upper(pOwner); автор4. не учитывает lob index'ы и вложенные таблицы lob-сегменты и lob-индексы учитываются этим селектом: select sum(s.bytes) into val from dba_lobs t inner join dba_segments s on t.segment_name = s.segment_name where t.table_name = upper(pNazvanie) and t.owner = upper(pOwner); автор5. dba_segments достаточно "тяжелая" вьюха, если уж туда идти, то хотя бы один раз Опять таки, скорость для разовых запусков значения не имела. Данная функция выполняется 2 секунды, более чем достаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2013, 20:05:07 |
|
||
|
узнать размер таблицы?
|
|||
|---|---|---|---|
|
#18+
Печалька... попытка #2: 1. Тем более, зачем функцию создавать для разового запуска 2. Размер "ТаБлИцы" не посчитает 3. Это не условие джойна 4. Лобиндексы оттуда не получить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2013, 21:24:22 |
|
||
|
узнать размер таблицы?
|
|||
|---|---|---|---|
|
#18+
Evgeny_1987Опять таки, скорость для разовых запусков ...да похеp на скорость, могу привести простейший случай простой таблицы с индексом, для которых объем посчитается больше в несколько раз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2013, 23:59:01 |
|
||
|
узнать размер таблицы?
|
|||
|---|---|---|---|
|
#18+
Fedortsov A., Вот селект, который сам спросит OWNER-а, ну и после ввода выдаст список таблиц с размерами... COLUMN TABLE_NAME FORMAT A32 COLUMN OBJECT_NAME FORMAT A32 COLUMN OWNER FORMAT A10 SELECT owner, table_name, TRUNC(sum(bytes)/1024/1024) Meg, ROUND( ratio_to_report( sum(bytes) ) over () * 100) Percent FROM (SELECT segment_name table_name, owner, bytes FROM dba_segments WHERE segment_type IN ('TABLE', 'TABLE PARTITION', 'TABLE SUBPARTITION') UNION ALL SELECT i.table_name, i.owner, s.bytes FROM dba_indexes i, dba_segments s WHERE s.segment_name = i.index_name AND s.owner = i.owner AND s.segment_type IN ('INDEX', 'INDEX PARTITION', 'INDEX SUBPARTITION') UNION ALL SELECT l.table_name, l.owner, s.bytes FROM dba_lobs l, dba_segments s WHERE s.segment_name = l.segment_name AND s.owner = l.owner AND s.segment_type IN ('LOBSEGMENT', 'LOB PARTITION') UNION ALL SELECT l.table_name, l.owner, s.bytes FROM dba_lobs l, dba_segments s WHERE s.segment_name = l.index_name AND s.owner = l.owner AND s.segment_type = 'LOBINDEX') WHERE owner in UPPER('&owner') GROUP BY table_name, owner HAVING SUM(bytes)/1024/1024 > 10 /* Ignore really small tables */ ORDER BY SUM(bytes) desc ; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2016, 11:54:23 |
|
||
|
узнать размер таблицы?
|
|||
|---|---|---|---|
|
#18+
Pit_T, спасибо, что не оставил тему без ответа. Мы тут тебя три года ждали, спаситель ты наш ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2016, 11:57:49 |
|
||
|
узнать размер таблицы?
|
|||
|---|---|---|---|
|
#18+
Pit_TВот селектне все типы сегментов учтены и из приведенных не всегда корректно приведены к имени таблицы. опять частичное решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2016, 13:40:17 |
|
||
|
узнать размер таблицы?
|
|||
|---|---|---|---|
|
#18+
-2-Pit_TВот селектне все типы сегментов учтены и из приведенных не всегда корректно приведены к имени таблицы. опять частичное решение.Стесняюсь спросить, что еще необходимо учесть? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2016, 16:18:02 |
|
||
|
узнать размер таблицы?
|
|||
|---|---|---|---|
|
#18+
Отвечу сам - nested table, claster, lob subpartition ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2016, 16:33:51 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=215&tid=1888016]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 368ms |

| 0 / 0 |
