powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Как достать из partnum номер чанка?
21 сообщений из 21, страница 1 из 1
Как достать из partnum номер чанка?
    #33094386
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может быть это невозможно?

partnum chunk
5242938 10
5259898 5
...
Рейтинг: 0 / 0
Как достать из partnum номер чанка?
    #33094464
В.К.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТанМожет быть это невозможно?

partnum chunk
5242938 10
5259898 5

Оба ваши partnum-а (идентификатор фрагмента ТАБЛИЦЫ) - в пятом DB-пространстве. Переведите в шестнадцатеричный вид и отбросьте последних пять цифр - будет вам номер пространства. Или так: partnum/1048576. А вот номер чанка получают аналогичным образом по физическому адресу СТРАНИЦЫ (pg_addr, первые 4 байта на странице).

Именно так, поскольку Tblspaces Tbspace всегда находится в первом чанке пространства, а partnum просто указывает на соответствующую его страницу, описывающую таблицу (фрагмент).

Такие дела.
...
Рейтинг: 0 / 0
Как достать из partnum номер чанка?
    #33094487
В.К.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, и если в первом чанке пятого пространства меньше, чем 0x0000427A страниц (17018, т.е. 68072 Кбайт при 4К страницах, ~ 68 Мбайт) - вроде, может второй partnum попасть в ДРУГОЙ чанк. Ну, а то, что он оказался 5 (если вы не ошибаетесь) - тоже, наверное, может быть. Был 5 чанк в другом пространстве, созданном раньше, потом пространство удалили, а чанк передали вашему пространству. Не пробовал, правда, такого добиться.
...
Рейтинг: 0 / 0
Как достать из partnum номер чанка?
    #33094490
В.К.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пришлите, пожалуйста, результат onstat -d - и все прояснится...
...
Рейтинг: 0 / 0
Как достать из partnum номер чанка?
    #33094617
Leonid Belov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
select pe_chunk from sysmaster:sysptnext where pe_partnum = ?
...
Рейтинг: 0 / 0
Как достать из partnum номер чанка?
    #33094653
В.К.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Belovselect pe_chunk from sysmaster:sysptnext where pe_partnum = ?

В какой версии будет работать такой запрос?

В версии 9.30.TC2 эта таблица имеет следующее определение:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
{ Partition Extent Descriptions }
    create table sysptnext		{ Internal Use Only		}
	(
	pe_partnum 	integer,	{ partnum for this partition	}
	pe_extnum  	smallint,	{ extent number			}
	pe_phys 	integer,	{ physical addr for this extent	}
	pe_size 	integer,	{ size of this extent		}
	pe_log  	integer		{ logical page for start	}
	);

pe_chunk там нет, но по pe_phys его таки да, можно получить...
...
Рейтинг: 0 / 0
Как достать из partnum номер чанка?
    #33094665
В.К.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, ну и записей там будет столько, сколько экстентов, а каждый экстент может оказаться в другом чанке...
...
Рейтинг: 0 / 0
Как достать из partnum номер чанка?
    #33094719
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, похоже, никак. Действительно, таблица не обязана целиком лежать в одном чанке, у нее экстенты есть...

У меня база данных с накопленной статистикой.
Есть таблица и ее partnum. Еще есть список чанков с номерами и название dbspace, которому они принадлежат. А номера dbspace у меня нет.
Я хочу узнать, какая таблица в каком dbspace лежит.
И не могу, т.к. не могу узнать номер чанка.

Ошибка проектирования....
...
Рейтинг: 0 / 0
Как достать из partnum номер чанка?
    #33094746
В.К.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тан
Я хочу узнать, какая таблица в каком dbspace лежит.


Ну, с этого же я начал свое объяснение:

В.К. ТанМожет быть это невозможно?

partnum chunk
5242938 10
5259898 5

Оба ваши partnum-а (идентификатор фрагмента ТАБЛИЦЫ) - в пятом DB-пространстве. Переведите в шестнадцатеричный вид и отбросьте последних пять цифр - будет вам номер пространства . Или так: partnum/1048576.

По номеру пространства легко получите его имя, см. select * from sysmaster:sysdbspaces. Зачем вам номер чанка? Для какого конкретного действия он вам сдался?
...
Рейтинг: 0 / 0
Как достать из partnum номер чанка?
    #33094759
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В.К.
...
Зачем вам номер чанка? Для какого конкретного действия он вам сдался?
Она не может узнать номер дибиспейса :) (забыла записать). Читай внимательней.
...
Рейтинг: 0 / 0
Как достать из partnum номер чанка?
    #33094820
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тан
Да, похоже, никак. Действительно, таблица не обязана целиком лежать в одном чанке, у нее экстенты есть...

У меня база данных с накопленной статистикой.
Есть таблица и ее partnum. Еще есть список чанков с номерами и название dbspace, которому они принадлежат. А номера dbspace у меня нет.
Я хочу узнать, какая таблица в каком dbspace лежит.
И не могу, т.к. не могу узнать номер чанка.

Ошибка проектирования....

А зачем заморачиваться с partnum.

oncheck -pt для конкретной таблицы
Размеры экстентов, количество
занятых( свободных ) страниц и тд. в разрезе дбспейсов

или вид сбоку

oncheck -pe для всего сервера.
смещения и размеры для экстентов
таблиц(индексов) в разрезе чанков.
...
Рейтинг: 0 / 0
Как достать из partnum номер чанка?
    #33094850
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня нет живого сервера. И онстата у меня нет.
У меня мертвая статистика в базе лежит. За прошлый год данные смотрю
...
Рейтинг: 0 / 0
Как достать из partnum номер чанка?
    #33094937
Leonid Belov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В.К. Leonid Belovselect pe_chunk from sysmaster:sysptnext where pe_partnum = ?

В какой версии будет работать такой запрос?



9.40 (FC4, TC?)
9.30 под рукой нет...

В.К. ТанМожет быть это невозможно?

partnum chunk
5242938 10
5259898 5

Оба ваши partnum-а (идентификатор фрагмента ТАБЛИЦЫ) - в пятом DB-пространстве. Переведите в шестнадцатеричный вид и отбросьте последних пять цифр - будет вам номер пространства. Или так: partnum/1048576. А вот номер чанка получают аналогичным образом по физическому адресу СТРАНИЦЫ (pg_addr, первые 4 байта на странице).


Это будет работать только с маленькими чанками (<= 2 Гбайт)
...
Рейтинг: 0 / 0
Как достать из partnum номер чанка?
    #33095001
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТанУ меня нет живого сервера. И онстата у меня нет.
У меня мертвая статистика в базе лежит. За прошлый год данные смотрю

Может статистика в мертвой базе?
Если у вас нет команд onstat или oncheck, значит либо у вас база
данных не informix, либо что то не как с настройками сервера.
Команды нужно запускать на машине, на которой работает сервер.

Или вы хотите из файлов базы достать информацию,
без работающего сервера?
Тогда добро пожаловать в команду opendsa.
...
Рейтинг: 0 / 0
Как достать из partnum номер чанка?
    #33095073
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onstat- ТанУ меня нет живого сервера. И онстата у меня нет.
У меня мертвая статистика в базе лежит. За прошлый год данные смотрю

Может статистика в мертвой базе?
Если у вас нет команд onstat или oncheck, значит либо у вас база
данных не informix, либо что то не как с настройками сервера.
Команды нужно запускать на машине, на которой работает сервер.

Или вы хотите из файлов базы достать информацию,
без работающего сервера?
Тогда добро пожаловать в команду opendsa.

нет, база у меня живая. И даже сервер информикс. Хотя конечно, могла бы и в аксесс запихать, кто мне запретит? А вот статистика все-таки мертвая.

Я, понимаете, каждую ночь на сервере А данные из сисмастера собираю и перекладываю на сервер Б (в базу данных). И много лет уже. Так вот в той базе нет у меня информации о том, какой номер у дбспейса с неким названием. Есть только, какие в нем чанки, и их номера

Я могу запустить на сервере все команды на бкуву on*, но не на том, который был год назад.
...
Рейтинг: 0 / 0
Как достать из partnum номер чанка?
    #33095389
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тан onstat- ТанУ меня нет живого сервера. И онстата у меня нет.
У меня мертвая статистика в базе лежит. За прошлый год данные смотрю

Может статистика в мертвой базе?
Если у вас нет команд onstat или oncheck, значит либо у вас база
данных не informix, либо что то не как с настройками сервера.
Команды нужно запускать на машине, на которой работает сервер.

Или вы хотите из файлов базы достать информацию,
без работающего сервера?
Тогда добро пожаловать в команду opendsa.

нет, база у меня живая. И даже сервер информикс. Хотя конечно, могла бы и в аксесс запихать, кто мне запретит? А вот статистика все-таки мертвая.

Я, понимаете, каждую ночь на сервере А данные из сисмастера собираю и перекладываю на сервер Б (в базу данных). И много лет уже. Так вот в той базе нет у меня информации о том, какой номер у дбспейса с неким названием. Есть только, какие в нем чанки, и их номера

Я могу запустить на сервере все команды на бкуву on*, но не на том, который был год назад.

В документации по 7.3 я расковырял
что первые 12 bit( 1,5 байт)
есть номер дбспейса для этого табличного пространства.
Для 9.4 я такого пока не нашел,
но информация из системных
таблиц моего сервера говорит, что там тоже 1,5 байта.

Так как табличное пространство может быть размазано внутри
дбспейса по чанкам, чтобы дальше говорить о чанках нужна дополнительная информация.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как достать из partnum номер чанка?
    #34146292
Сергей Сергеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тан
Я хочу узнать, какая таблица в каком dbspace лежит.


select * from sysmaster:systabnames не подойдет?
...
Рейтинг: 0 / 0
Как достать из partnum номер чанка?
    #34146359
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой какого трупа отрыли.

Рассказываю как было дело.

Тан имеет много серверов информикс(И). Тан имеет одну бд (С) куда складывает инф-ю из систмастеров(И) (определенные таблицы) один раз в сутки по ночам (копирует). Информация в С хранится вечно, и позволяет анализировать как изменяются размеры баз, пространств, табличек, фулсканы, кеширование, etc (capacity/perfomance management).
И вот есть у нее есть таблица в С, она знает ее партнум, сам И по которому собрана информация и где была таблица давно убит. Из партнума нашла она дибиспейс, а как понять какой это чанк, а никак, эту инфо-ю (чанк-дибиспейс) она не собирала.
Исправила она тот баг, год назад.
...
Рейтинг: 0 / 0
Как достать из partnum номер чанка?
    #34146657
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев ДенисОй какого трупа отрыли.

Рассказываю как было дело.

Тан имеет много серверов информикс(И). Тан имеет одну бд (С) куда складывает инф-ю из систмастеров(И) (определенные таблицы) один раз в сутки по ночам (копирует). Информация в С хранится вечно, и позволяет анализировать как изменяются размеры баз, пространств, табличек, фулсканы, кеширование, etc (capacity/perfomance management).
И вот есть у нее есть таблица в С, она знает ее партнум, сам И по которому собрана информация и где была таблица давно убит. Из партнума нашла она дибиспейс, а как понять какой это чанк, а никак, эту инфо-ю (чанк-дибиспейс) она не собирала.
Исправила она тот баг, год назад.
и все-таки немного не так дело было.

Я нашла из партнума dbspace (номер его). Хочу теперь название dbspace узнать.
Но нет у меня таблицы с полями (номер dbspace, название dbspace)
Вместо этого есть у меня таблица с полями (номер chunk, файл chunk, название dbspace)

Ошибка проектирования это была, мне нужна была таблица (номер chunk, файл chunk, номер dbspace, название dbspace).
Нельзя достать из partnum номер чанка, потому что таблица может лежать во всех чанках сразу, а партнум у нее один. Информацию о чанке можно из экстентов найти, если она действительно нужна. Мне не нужна была в том случае.

Исправила ошибку, больше не страдаю
...
Рейтинг: 0 / 0
Как достать из partnum номер чанка?
    #34151009
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Сергеевич Тан
Я хочу узнать, какая таблица в каком dbspace лежит.


select * from sysmaster:systabnames не подойдет?Еще смешное подумалось: человек, узнавший три дня назад, что systabnames лежит в sysmaster, помогает Тан, имеющей девятилетний опыт администрирования и программирования в информикс. Лол в общем.
...
Рейтинг: 0 / 0
Как достать из partnum номер чанка?
    #34151164
Сергей Сергеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0:-) Вот такой я, помощник расту! ;-)
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Как достать из partnum номер чанка?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]