DBOD v3 - работа над ошибками

В ходе демонстрации опций БД у нас произошли три сбоя. Ошибки возникли по двум причинам. Как я и обещал: более подробно расскажу об этих причинах.

1) При демонстрации доступа к архиву Flashback Archive, пользователем, который не является владельцем базовой таблицы, возникла странная ошибка ORA-00942.
Давайте посмотрим повнимательнее, что произошло:

--выдаем права пользователю SCOTT на чтение исторических данных
SQL> conn ttdemo/ttdemo
Connected.
SQL> GRANT FLASHBACK ON plans TO scott;

Grant succeeded.


После этого пользователь SCOTT пытается прочитать архивные данные:

SQL> conn scott/tiger
Connected.
SQL> SELECT COUNT(*) FROM ttdemo.plans AS OF TIMESTAMP sysdate - 600/(24*3600)
*
ERROR at line 4:
ORA-00942: таблица или представление пользователя не существует


Анализ показывает, что SQL-engine честно переписал запрос, перенаправив его на архивную таблицу (вернее на две таблицы: ttdemo.SYS_FBA_TCRV_66452 и ttdemo.SYS_FBA_HIST_66452), но пользователь SCOTT НЕ имеет к ним прав!

То есть баг заключется в том, что операция GRANT FLASHBACK ON plans TO scott; "забывает" дать права на FBA-таблицы.
На самом деле проблема зарыта более глубоко: в общем случае FBA-таблиц может еще не существовать, т.е. процесс FBDA еще не успел их создать (как вы помните: для таблиц архива используется отложенное создание сегмента); и непонятно как давать гранты на несуществующий объект...

Путь обхода этой проблемы заключается в явной выдаче прав на FBA-таблицы пользователю (перечень нужных FBA-таблиц можно узнать по внутреннему номеру в представлении USER_FLASHBACK_ARCHIVE_TABLES).

SQL> conn ttdemo/ttdemo
Connected.

SQL> GRANT SELECT ON SYS_FBA_TCRV_66452 TO scott;

Grant succeeded.

SQL> GRANT SELECT ON SYS_FBA_HIST_66452 TO scott;

Grant succeeded.


После этого все работает как надо:

SQL> conn scott/tiger
Connected.

SQL> SELECT COUNT(*) FROM ttdemo.plans AS OF TIMESTAMP sysdate - 600/(24*3600)

COUNT(*)
----------
40

1 row selected.


2) Второй сбой произошел при демонстрации создания зашифрованного табличного пространства (Tablespace TDE). Кстати говоря, по этой же причине произошел сбой и в демонстрации Николая Данюкова.
Перед созданием зашифрованного табличного пространства я попытался создать wallet:

SQL>
SQL> alter system set encryption key authenticated by "dbod-3";
alter system set encryption key authenticated by "mode3"
*
ERROR at line 1: ORA-28353: сбой при открытии футляра


При этом я удалил все зашифрованные табличные пространства.
Удаление wallet-а вроде бы решило эту проблему:

SQL> alter system set encryption key authenticated by "dbod-3";

System altered.


Но теперь создание зашифрованного табличного пространства вызывает ошибку:

SQL> CREATE TABLESPACE ttdemo_secure
DATAFILE '/oradata/orcl/ttdemo_secure01.dbf' SIZE 20M REUSE
ENCRYPTION USING '3DES168' DEFAULT STORAGE (ENCRYPT);
2 3 CREATE TABLESPACE ttdemo_secure
*
ERROR at line 1:
ORA-28374: типизированный главный ключ не найден в футляре



Произошло следующее: в команде создания wallet-а я установил новый пароль, но старый пароль видимо остался в "мозгах" экземпляра (точнее в его разделяемой памяти). :-)

Решение простое: нужно удалить зашифрованные табличные пространства, закрыть wallet-а и его удалить, после этого нужно перегрузить экземпляр.
После этого все работает как часы !


Читать дальше...

RAC DD4D, 16-17 апреля 2009 года, Москва, Офис Oracle

UPDATE 2. Программа семинара.

UPDATE 1. Вы можете проверить статус своей заявки. Если Вы в листе регистрации - все OK. Если нет - стоит беспокоиться. Мест почти не осталось :(

Следующий открытый семинар RAC DD4D V3 состоится в Офисе Oracle, в Москве, 16-17 апреля 2009 года, в офисе Oracle, 123317, Москва, Краснопресненская наб.,18 Москва-Сити, бизнес-центр "Башня на Набережной" , Блок С, Телефон +7(495) 641-1400, 9-ый этаж, аудитория Афины.

Пожалуйста, захватите с собой паспорт !


Мест будет всего 40. Регистрация открываться не будет, мы будем принимать слушателей только по заявкам.


PS. На мой взгляд на прошлом событии мы исчерпали wait лист. Мы начинаем новую версию семинара с чистого листа. Я знаю, что некоторые не смогли прийти на предыдущие семинары, некоторые регистрировались и по какой-то причине не получили приглашения или я вообще потерял письмо - заранее прошу прощения. Но заявку придется заполнить все равно и прислать ее с рабочего адреса. Как правило, если была допущена несправедливость при регистрации на предыдущие события (см. выше) , люди указывают это и я стараюсь немедленно ее исправить.


Читать дальше...

Материалы семинара DBOD v3 12-13 марта

Дорогие участники семинара,

Стали доступны материалы (35Mb) и фотографии (230Mb 8Mb). Пароль мы Вам сообщили. В открытом доступе можно посмотреть групповые фотографии: номер 1 и номер 2 (1.3Mb каждая).

Приз в номинации Самая Крутая Анкета получает Raul Rodriguez, попавший на семинар по заявке из Мексики, и проживающий на данный момент времени в Кунцево, что подтверждалось надписями на бедже и анкете (в тех местах, где обычно указывается название организации :)

На этом семинаре я твердо усвоил, что Александр Рындин проживает в Лианозово, а Raul Rodriguez в Кунцево.

До новых встреч,
Сергей Данилов

P.S. На угловом фото Геннадий Сигалаев увлеченно рассказывает про TimesTen, которая работает в 10 раз быстрее нашей классической СУБД.


Читать дальше...

Разное

Пожалуйста не забудьте, что 12-13 числа у нас будет проходить семинар DBOD, оба дня с 10 часов утра. Тем кто приглашен, позвонит по телефону очаровательная девушка и еще раз напомнит.

Поскольку наши семинары чем-то похожи на спектакль, то почему бы не перенять опыт этих самых спектаклей? Я недавно хотел попасть на действительно хороший спектакль, и мне сказали, что билетов нет, но можно прийти - и ждать, не будет ли свободных мест. Поэтому если Вы не записывались, но очень хотите, Вы можете прийти и ждать - не будет ли мест. При этом мы не можем Вам дать никаких гарантий. Гарантии мест у тех, кто получил приглашение и подтвердил, что придет.

Мы совершенно серьезно относимся к таким мероприятиям, готовимся к ним, и даже специально собираем для Вас уникальную информацию. В этот раз, как минимум, такая информация будет по Exadata Storage Server. В данный момент я на первых в Oracle внутренних курсах по Exadata, поэтому 12 числа утром Вас встретит вот этот персонаж, который в курсе всех наших с Вами договоренностей. А 13 числа рейсом Лондон-Москва в 5 утра прилечу я, и смогу в 10 утра Вам сказать "доброе утро" лично, хотя и буду выглядеть при этом плохо.


Читать дальше...