Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Другие СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4   вперед  Ctrl      все
 Re: teradata давайте делиться опытом  [new]
zefs589
Member

Откуда:
Сообщений: 70
Вопрос снят я разобрался)
23 мар 15, 14:05    [17419519]     Ответить | Цитировать Сообщить модератору
 Re: teradata давайте делиться опытом  [new]
zefs589
Member

Откуда:
Сообщений: 70
нет,рано все таки вопрос снимать извините за мой сумбур )
вообщем смысл такой :
если я
1.создаю бд создаю в ней таблицу
2.делаю бэкап бд вместе с таблицей
3.делаю инсерты в эту табличку
4.делаю чекпоинт с копией и затиранием журнала
5.делаю рестор из бэкапа пункта 2.
6.делаю рестор журнала и ролфорвард для этой таблички
то все отлично транзакции появляются.Но в идеале это должно выглядить так:
1.создаю бд
2.делаю бэкап этой бд.
3.создаю табличку и делаю в нее инсерты
4.делаю чекпоинт с копией и затиранием журнала.
5.делаю бэкап с пункта 2 тоесть вотсанавливаю просто БД без таблиц
5.делаю рестор журнала и роллфорвард для БД
6.в итоге я жду что в этой бд появится табличка с транзакциями

для пункта 5 я перепробывал впринципе все команды и RESTORE JOURNAL TABLE (bd_name) и RESTORE JOURNAL TABLE (bd_name) ALL.
может я чего не догоняю но в конце я получаю ошибку всю туже 3658 table specifications are invalid.
Чего делать то ?это вообще должно работать так как я себе это представляю ?
23 мар 15, 16:05    [17420375]     Ответить | Цитировать Сообщить модератору
 Re: teradata давайте делиться опытом  [new]
zefs589
Member

Откуда:
Сообщений: 70
извините опечатался про команды там я имел ввиду ROLLFORWARD (db_name) и ROLLFORWARD (db_name) ALL
23 мар 15, 16:51    [17420744]     Ответить | Цитировать Сообщить модератору
 Re: teradata давайте делиться опытом  [new]
zefs589
Member

Откуда:
Сообщений: 70
вообщем сделал вывод,что журнал транзакций пишет в себя изменения только внутри таблиц. то есть если я удалил таблицу и попытаюсь сделать роллфорвард БД в которой удалена таблица не фига оно не появится потому что и возможности такой нет.Можно делать только таким образом сначала делать бэкап DICTIONARY ONLY для этой таблицы,затем восстанавливать фул бэкап потом восcтанавливать DICTIONARY ONLY для новых табличек делать build data и затем накатывать журнал транзакций тогда все ок.


НО этож какой гемор следить за появлением новых табличек то не уж то как то проще нельзя?
24 мар 15, 13:05    [17424242]     Ответить | Цитировать Сообщить модератору
 Re: teradata давайте делиться опытом  [new]
PaulEr
Member

Откуда:
Сообщений: 3798
Как это так получилось, что dictionary после full recover идет у Вас?
26 мар 15, 08:24    [17433252]     Ответить | Цитировать Сообщить модератору
 Re: teradata давайте делиться опытом  [new]
zefs589
Member

Откуда:
Сообщений: 70
ну вот смотрите скажем полный бэкап я делаю в воскресенье а с понедельника по субботу делаю бэкапы только журналов транзакций.
вс-full backup
пн-какие либо изменения в табличках,копия журнала
вт-какие либо изменения в табличках,копия журнала
ср-а вот скажем в среду у меня произошли изменения в структуре бд то есть добавили новых табличек и залили туда какой нибудь информации. так вот в этот день надо сделать не только копию журнала но и копию dictionary only новых добавленных табличек
чт-какие либо изменения в табличках,копия журнала
пятн-какие либо изменения в табличках,копия журнала
суб-а тут произошел жесткий ахтунг крах и тд и мне надо восcтановить инфу
что я буду делать:
1-накачу последний full backup
2.накачу dictionary only новых табличек что были созданы в среду
3.накачу журналы

вот тогда сия функция работает как надо,или я что то где то упускаю и делаю через жопито ?
26 мар 15, 09:40    [17433480]     Ответить | Цитировать Сообщить модератору
 Re: teradata давайте делиться опытом  [new]
PaulEr
Member

Откуда:
Сообщений: 3798
Прошу прощения, в начале не увидел, что dictionary only идет для новой таблицы :)
27 мар 15, 11:15    [17439108]     Ответить | Цитировать Сообщить модератору
 Re: teradata давайте делиться опытом  [new]
zefs589
Member

Откуда:
Сообщений: 70
теперь вот интересны такие вопросы:
есть ли вьюшка в которой можно посмотреть статус таблички на данный момент залоченна она или не залоченна
также как узнать что именно лочит табличку sql запрос какой либо или приложение

в процессе тестирования резервного копирования журналов вышло пару раз заблочить таблички.
в принципе как разблочить я разобрался ну и походу дела почитав немного документации сделал вывод что блоки деляться на два типа : блоки sql и блоки которые вешают приложения ну вот как бы исходя из этой информации интересуют выше приведенные вопросы
27 мар 15, 13:29    [17440218]     Ответить | Цитировать Сообщить модератору
 Re: teradata давайте делиться опытом  [new]
zefs589
Member

Откуда:
Сообщений: 70
в принципе разобрался если кого интересует ответ на этот глупый вопрос то есть такая замечательная портлета во viewpoint которая называется lock viewer она отображает всю нужную инфу по локам)
31 мар 15, 09:52    [17452939]     Ответить | Цитировать Сообщить модератору
 Re: teradata давайте делиться опытом  [new]
Бумбараш
Member

Откуда: никем не победимая, самая любимая
Сообщений: 2362
Есть параметр century break, отвечающий за отображение двухзначных годов.
А именно покажет ли он дату, заданную строкой '15-10-31' с форматом 'YY-MM-DD' как 2015-10-31 или как 1915-10-31.

Судя по гуглу этот параметр меняется только админом БД.
Действительно ли всё так плохо, как это обычно бывает в терадате, либо его можно адхок менять? На уровне сессии, например.
10 апр 15, 21:49    [17500905]     Ответить | Цитировать Сообщить модератору
 Re: teradata давайте делиться опытом  [new]
Apex
Member

Откуда: Made in USSR
Сообщений: 3909
Нет, на лету менять нельзя. Если это НАСТОЛЬКО серьезная проблема, то всегда можно написать UDF'ку.
11 апр 15, 06:36    [17501606]     Ответить | Цитировать Сообщить модератору
 Re: teradata давайте делиться опытом  [new]
Apex
Member

Откуда: Made in USSR
Сообщений: 3909
Apex
Нет, на лету менять нельзя. Если это НАСТОЛЬКО серьезная проблема, то всегда можно написать UDF'ку.

Кажется я понял в чем проблема, у вас похоже приложение, которое использует неполный формат даты и менять его вы не можете, соответственно не можете явно кастовать текст в дату? Тогда ой, либо меняйте глобальную настройку, либо меняйте приложение.
11 апр 15, 07:04    [17501618]     Ответить | Цитировать Сообщить модератору
 Re: teradata давайте делиться опытом  [new]
Бумбараш
Member

Откуда: никем не победимая, самая любимая
Сообщений: 2362
Заливал файлы с датами и таймштампами в ТД. Файлы уже залил.

Очередная очевидная простая вещь, которую почему-то нельзя делать в ТД.
11 апр 15, 13:19    [17502231]     Ответить | Цитировать Сообщить модератору
 Re: teradata давайте делиться опытом  [new]
Apex
Member

Откуда: Made in USSR
Сообщений: 3909
Бумбараш
Заливал файлы с датами и таймштампами в ТД. Файлы уже залил.

Очередная очевидная простая вещь, которую почему-то нельзя делать в ТД.

Тю, я то думал там и правда проблема. Собственно потому и нельзя сделать, что элементарно обходится в большинстве случаев.
12 апр 15, 06:12    [17504373]     Ответить | Цитировать Сообщить модератору
 Re: teradata давайте делиться опытом  [new]
zefs589
Member

Откуда:
Сообщений: 70
Столкнулся с проблемой была у меня ситуация когда мне нужна была процедура которая бы раздавала права на дамп пользователю для тех бд на которых он права не имеет.Эту проблему я благополучно решил.Теперь возникла задача сделать тоже самое но для ЮЗЕРОВ то есть надо дать права пользователю на всех пользователей прав на которых он еще не имеет.И вот тут то подкралась ко мне проблема т.к в системе есть пользователи имена которых зарезервированы в системе такие как : All, Public , Default.
я не долго думая написал исключения на этих пользователей.Но заковырка в том что первые два All,Public спокойно исключаются а вот с как только я вкарячиваю Default мне прилетает вот такая ошибка

Executed as Single statement. Failed [5931 : HY000] GRANTDUMP_TO_NEW_DB:Illegal operation on EXTUSER.
Elapsed time = 00:00:01.220
STATEMENT1: CALL failed


собственно вот код самой хранимой процедуры:

replace procedure sysdba.grantdump_to_new_db ()
begin
declare sql_stmt varchar (100);
declare DBN varchar (255);
declare i integer;
set i=0;
for cname as TabTblCursor cursor for SELECT DatabaseName from dbc.Databases where DBKind = 'U' minus SELECT DatabaseName from dbc.Databases where Databasename in ('All','Public','Default')
do
set DBN = cname.DatabaseName;
insert into test.test2(test_column1, test_column2) values (DBN, i);

if ((select count(1) from DBC.AllRights where UserName = 'USER' and AccessRight ='DP' and DatabaseName = DBN) = 0) then
set sql_stmt = 'grant dump on ' || DBN || ' to USER';
call DBC.SysExecSQL (:sql_stmt);
end if;
set i=i+1;
end for;
COMMIT;
end;



как вот решить этот вопрос?пытался заэкранировать Default не выходит
пытался написать EXCEPTION тоже не выходит
скорее всего кривые руки )
help)
13 апр 15, 17:50    [17509296]     Ответить | Цитировать Сообщить модератору
 Re: teradata давайте делиться опытом  [new]
zefs589
Member

Откуда:
Сообщений: 70
Утро вечера мудренее добавил в исключение еще EXTUSER и все заработало )не в Default было дело
14 апр 15, 10:00    [17511235]     Ответить | Цитировать Сообщить модератору
 Re: teradata давайте делиться опытом  [new]
Бумбараш
Member

Откуда: никем не победимая, самая любимая
Сообщений: 2362
Имею проблему с конвертацией строки в timestamp. Вокруг той же загруки файлов.

Проблема в том, что если в строке со значением timestamp разделителем десятичных знаков является запятая, то я не могу такую строку просто так сконвертировать. А с точкой могу.

Это не могу

sel cast('11.04.2095 00:00:00,000000' as timestamp format 'DD.MM.YYYYbHH:MI:SS,S(6)')

получаешь

3530: Invalid FORMAT string 'DD.MM.YYYYbHH:MI:SS,S(6)'

Это могу

sel cast('11.04.2095 00:00:00.000000' as timestamp format 'DD.MM.YYYYbHH:MI:SS.S(6)')

отрабатывает.

Разница в запятой или точке в конце. Читал что-то в доке, там написано, что то ли radixseparator не может быть запятой, то ли он админом устанавливается.

Как мне первую строку в timestamp сконвертировать?

Сделать replace запятой не предлагать.
15 апр 15, 19:25    [17520355]     Ответить | Цитировать Сообщить модератору
 Re: teradata давайте делиться опытом  [new]
illeo
Member

Откуда:
Сообщений: 14
Бумбараш
Имею проблему с конвертацией строки в timestamp. Вокруг той же загруки файлов.
sel cast('11.04.2095 00:00:00,000000' as timestamp format 'DD.MM.YYYYbHH:MI:SS,S(6)')
Как мне первую строку в timestamp сконвертировать?

Сделать replace запятой не предлагать.


Для привыкших к Ораклу с 14.0 есть функция TO_TIMESTAMP().


SEL TO_TIMESTAMP('11.04.2095 00:00:00,000000', 'DD.MM.YYYY HH24:MI:SS,FF6')
16 апр 15, 12:03    [17522742]     Ответить | Цитировать Сообщить модератору
 Re: teradata давайте делиться опытом  [new]
Бумбараш
Member

Откуда: никем не победимая, самая любимая
Сообщений: 2362
да, селект так работает, спасибо

Но у меня проблема в загрузке файла со значением такого формата. В фастлоаде можно формат поставить при загрузке. И оно не загружается. Пример с селектом и кастом использовал, потому что в фастлоаде и селекте получается одна и та же ошибка.
16 апр 15, 12:20    [17522959]     Ответить | Цитировать Сообщить модератору
 Re: teradata давайте делиться опытом  [new]
illeo
Member

Откуда:
Сообщений: 14
Бумбараш,

меняйте radix separator
или
меняйте формат даты в файле
или
грузите в char/varchar и преобразовывайте в дату на стороне базы
или
пишите свой inmod
17 апр 15, 14:56    [17529695]     Ответить | Цитировать Сообщить модератору
 Re: teradata давайте делиться опытом  [new]
zefs589
Member

Откуда:
Сообщений: 70
Подскажите пожалуйста почему сессия не попала в DBQLogtbl

собственно есть сессия которая прошла примерно месяц назад от fastload есть id сессии нужно узнать по максимуму инфо по ней

пытался написать запрос к DBQLogtbl получаю пустоту

посмотрел в TeradataAdministrator Tools-> querylogging

Логирование включено для fastload ответ

user Account by application Sql lenght What to log
fastload 2000


в итоге все что могу дать по сессии это инфу из viewpointa воспользовавшись функцией rewind
24 апр 15, 12:24    [17558331]     Ответить | Цитировать Сообщить модератору
 Re: teradata давайте делиться опытом  [new]
zefs589
Member

Откуда:
Сообщений: 70
что никто не знает что ли?)
7 май 15, 17:56    [17614561]     Ответить | Цитировать Сообщить модератору
 Re: teradata давайте делиться опытом  [new]
Бумбараш
Member

Откуда: никем не победимая, самая любимая
Сообщений: 2362
Я знаю, что dbc.qrylog это вьюха на dbqlogtbl и там хранятся только логи за последний день или даже меньше. Точной настройки не знаю.

Посмотри в pdcrinfo.dbqlogtbl_hst или pdcrdata.dbqlogtbl_hst.

Какое инфо по сессии фастлоад ты хочешь увидеть? Фастлоад тупо загружает файл инсертом в всегда пустую таблицу. Там не может быть преобразований данных, джойнов и тп. Просто селект из файла и инсерт в только пустую таблицу.

зы. Где тебя пустили админить ТД без обучения?
7 май 15, 19:51    [17615019]     Ответить | Цитировать Сообщить модератору
 Re: teradata давайте делиться опытом  [new]
zefs589
Member

Откуда:
Сообщений: 70
qrylog правильно вьюха от dbqllog только записи там храняться столько времени сколько ты настроишь у нас к примеру пол года.по фастлоду хотелось бы вот увидеть какие таблички он наполнял хотябы я так понял он инсертит в таблички из какогото файла.но типа минуя посредников напрямую в ампы.
тут еще такая тема что у нас есть и юзверь фастлоуд его логи я вижу а вот приложеньки нету в логах хотя логирование для него тоже включено.
зы.ты думаешь мне самому по кайфу без обучения ковыряться с этим?кантора завела теру а зп на норм админа платить не могут взяли типа с обучением вот терь сижу маны раскуриваю все обучение блин)))так что уж не сердитесь за тупые вопросы.
и в догонку если кто знает вот такую тему
сегодня бд переносил с одного сервака теры на другой перенес через бэкап но когда востановился
tara попросила замутить build data я так понимаю это построение вторичных индексов.почему она просит это делать разве она не должна переносить с ними?
8 май 15, 02:19    [17615951]     Ответить | Цитировать Сообщить модератору
 Re: teradata давайте делиться опытом  [new]
zefs589
Member

Откуда:
Сообщений: 70
Бумбараш
Я знаю, что dbc.qrylog это вьюха на dbqlogtbl и там хранятся только логи за последний день или даже меньше. Точной настройки не знаю.

Посмотри в pdcrinfo.dbqlogtbl_hst или pdcrdata.dbqlogtbl_hst.

Какое инфо по сессии фастлоад ты хочешь увидеть? Фастлоад тупо загружает файл инсертом в всегда пустую таблицу. Там не может быть преобразований данных, джойнов и тп. Просто селект из файла и инсерт в только пустую таблицу.

зы. Где тебя пустили админить ТД без обучения?


pdcrdata pdcrinfo нет таких бд
8 май 15, 09:19    [17616307]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4   вперед  Ctrl      все
Все форумы / Другие СУБД Ответить