Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Informix Новый топик    Ответить
 Как узнать дату, время изменения таблицы через запрос ?  [new]
AlexeyRB
Member

Откуда:
Сообщений: 7
Вопрос в том, чтобы выводить дату и время последнего изменения определенной таблицы в БД (insert, update, delete). Как достать эти данные через запрос ?
Чую, что надо через sysmaster, но не знаю в какой таблице искать :)
Подскажите, кто-нибудь, откуда это вытащить ?

IDS 2000 ver. 9.21.UC4
SCO Unix
18 сен 07, 17:52    [4684732]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать дату, время изменения таблицы через запрос ?  [new]
vasilis
Member

Откуда: Украина, Киев
Сообщений: 2205
Informix FAQ
https://www.sql.ru/faq/faq_topic.aspx?fid=923
18 сен 07, 19:36    [4685303]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать дату, время изменения таблицы через запрос ?  [new]
AlexeyRB
Member

Откуда:
Сообщений: 7
спасибо, смотрел FAQ перед тем как постить - но не заметил :(
19 сен 07, 09:40    [4686301]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать дату, время изменения таблицы через запрос ?  [new]
AlexeyRB
Member

Откуда:
Сообщений: 7
а какой командой можно вывести записи из логического журнала ? может я через awk выдеру
19 сен 07, 10:18    [4686524]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать дату, время изменения таблицы через запрос ?  [new]
AlexeyRB
Member

Откуда:
Сообщений: 7
кажется нашел -
19 сен 07, 11:24    [4687086]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать дату, время изменения таблицы через запрос ?  [new]
AlexeyRB
Member

Откуда:
Сообщений: 7
кажется нашел - onlog -t <номер TBL> | grep BEGIN | tail
19 сен 07, 11:25    [4687096]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать дату, время изменения таблицы через запрос ?  [new]
AlexeyRB
Member

Откуда:
Сообщений: 7
и сразу же новый вопрос - правильно ли я определил номер TBL пространства ?
#oncheck -pT <DB>:<Table>
...
    Partition partnum              3146924   
    Partition lockid               3146924   
...

3146924 - это и есть номер TBLspace? или надо по-другому как-то ?
19 сен 07, 11:34    [4687166]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать дату, время изменения таблицы через запрос ?  [new]
vasilis
Member

Откуда: Украина, Киев
Сообщений: 2205
Partnum - всегда в десятичном виде
Tblsnum - то же самое, но в 16-ричном виде, т.е. =hex(partnum)
Ниже два простых запроса на получение Tblsnum по имени таблицы и по ее партномеру.

echo select tabname,dbsname,partnum,hex(partnum) tblsnum 
from systabnames 
where tabname matches 'Укажи имя таблицы (tablename)' order by 2; 
echo select dbsname,tabname,partnum,hex(partnum) tblsnum,owner,collate 
from  systabnames 
where partnum='Укажи partnum (десятичный формат)'; 

Чтобы узнать, что все таки обозначает <номер TBL> в контексте утилиты onlog надо просто посмотреть доку для соответствующей версии IDS (посмотрю за вас, у меня больше времени, наверное :)
И там (см. ниже для версии 9.30) видно, что имеется ввиду "tblspace_num" и в данном случае он равен "Partnum" :)) т.е. можно задавать в любом виде.
------------------
-t tblspace_num Displays records associated with the tblspace that you specify.
Restrictions: Unsigned integer. Number, greater than 0, must be in the partnum column of the systables system catalog table.
Additional Information: Specify this value as either an integer or hexadecimal value. (If you do not use a 0x prefix, the value is interpreted as an integer.) To determine the tblspace number of a particular tblspace, query the systables system catalog table as described in “Tblspace Numbers” on page 5-9.
-----------------
20 сен 07, 14:59    [4694394]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать дату, время изменения таблицы через запрос ?  [new]
AlexeyRB
Member

Откуда:
Сообщений: 7
Спасибо, все стало ясно.
Исходя из результатов запросов - oncheck -pT все-таки правильную информацию выдает.
20 сен 07, 15:39    [4694753]     Ответить | Цитировать Сообщить модератору
Все форумы / Informix Ответить