Форум FAQ О команде
Поиск по сайту:
 
Sybase
Sybase ASA  
Sybase ASE  
Sybase IQ  
Sybase PowerDesigner  
Sybase PowerBuilder  

Продукты
Наши продукты  
Продукты партнеров портала  

Сообщества
Alef community  

Меню
Регистрация  
Почта  

Вход

Рассылка
Рассылка 'РСУБД Sybase ASA 9 - мощность, легкость и надежность'
Почтовая рассылка
"Технологии обработки данных компании Sybase"


Статистика
Яндекс цитирования

Rambler's Top100
Находится в каталоге Апорт

Главная -> Рассылка
Выпуск 4

Выпуск 4

« РСУБД Sybase ASA 9 - мощность, легкость и надежность »

Рассылка N 4

Здравствуйте, уважаемые коллеги. Я продолжаю выпуск рассылки, посвященный Sybase ASA 9.

Содержание рассылки:

  • Рекомендации по установке Developer версии для Linux

  • Оптимизация работы Sybase Central и ISQL

  • Особенности уникальных ограничений таблиц

  • Правила на таблицы и поля

  • Связи таблиц и каскадные операции

  • Индексы, уникальные и кластерные индексы


Рекомендации по установке Developer версии для Linux

Поскольку я являюсь обычным пользователем Линукса, то в качестве базовой ОС, для установки ASA, я выбрал дистрибутив Mandrake 9.2 . На примере этого дистрибутива я и опишу, с какими проблемами мне пришлось столкнуться во время инсталляции:

  1. Инсталляцию желательно делать, находясь под root-ом, хотя в документации ASA написано, что не важно, с какими правами пользователь.

  2. Распакуйте выкаченный архив с инсталляцией ASA, зайдите в распаковавшуюся папку SYBSasaEval и запустите setup.

  3. По ходу инсталляции выберите свой регион, прочитайте и согласитесь с лицензией, введите полученный по почте от Sybase серийный номер, пометьте какие компоненты необходимо инсталлировать. Я рекомендую согласиться с предлагаемым инсталляцией путем установки (/opt/sybase), иначе придется переписывать конфигурационные файлы (хотя для Mandrake 9.2 их все равно править придется).

  4. После инсталляции зайдите в папку /opt/sybase/SYBSsa9/bin . В ней есть 2 конфигурационных файла: asa_config.sh и asa_config.csh . В этих файлах прописаны необходимые для запуска ASA пути и переменные окружения. Если Вы инсталлировали не в предлагаемые по умолчанию пути, то Вам .необходимо исправить пути в этих файлах. Скопируйте эти файлы в папку /etc/profile.d и не забудьте им проставить соответствующие права доступа запуска для нужных групп и пользователей.

  5. Не знаю почему, но в Mandrake 9.2 JRE, входящая в комплект ASA не работает. Если ASA не захочет запускаться или же откажутся работать Sybase Central и утилиты, то я рекомендую зайти на http://www.sun.com/ и скачать последнюю версию JRE 1.4.2.03 для Линукса. Запустите ее установку, и все, что получилось в созданной инсталляцией Java папке, скопируйте в папку /opt/sybase/shared/jre_1.4.1_linux_sun_i386 . Будьте только внимательными, так как в папке /opt/sybase/shared/jre_1.4.1_linux_sun_i386/man есть символическая ссылка и поверх нее ничего копировать не надо, чтобы не получить рекурсию копирования.

  6. Для запуска визуальных утилит необходимо проверить, что установлена переменная DISPLAY (в Mandrake 9.2 она почему то не установлена). Напишите в консоли: echo $DISPLAY . Если ничего не будет возвращено, то необходимо зайти в папку /etc и в конце файла profile последней строчкой написать: export DISPLAY = 127.0.0.1:0.0

  7. Теперь можно запускать саму ASA. Напишите в консоли: dbsrv9 <Option> <DatabaseFileName> и если все правильно, то сервер стартует. Не забудьте, что на файлы базы данных должны быть установлены все нужные права чтения и записи для пользователя той сессии, из которой запускается ASA.

  8. Осталось последнее, запуск Sybase Central и ISQL. Для этого стартуйте XServer, если он еще не запущен, командой startx. Вы можете запустить утилиты как с консоли командами scjview и dbisql, или же сделав соответствующие ярлыки запуска на рабочем столе Вашего установленного оконного менеджера.


Оптимизация работы Sybase Central и ISQL

Визуальные утилиты ASA написаны на Java, что с одной стороны хорошо, так как они кроссплатформенны и работают на любой ОС в едином визуальном стиле. С другой стороны Java к сожалению из за этого очень требовательна к процессору и памяти, что приводит к торможению работы ее приложений из за перидической сборки мусора. Эту ситуацию немного можно поправить, увеличив для Java параметры управления памятью, что особо актуально для ISQL, который при работе с большими по размеру скриптами может выдать ошибку: Out of memory. Для этого в ярлыки запуска Sybase Central и ISQL добавьте к запускаемым приложениям следующие параметры: -Xms<StartMemSize> -Xmx<MaxMemSize> , где StartMemSize – это минимальный объем памяти приложения в байтах, а MaxMemSize – максимально допустимый использующийся обьем памяти в байтах. По умолчанию Java запускает приложения с минимальным объемом 2мб и максимальным 64мб, что для утилит ASA не является хорошим решением. Если памяти на машине достаточно, то я рекомендую запускать Sybase Central с объемом 64мб/128мб и ISQL с 32мб/160мб. Чем больше Вы дадите максимальной памяти для java приложения, тем быстрее оно будет работать за счет того, что будет реже производиться сборка мусора, которая во время процесса парализует работу приложений, и реже получать сообщения о нехватке памяти.


Особенности уникальных ограничений таблиц (unique constraints)

Ничем не отличаются от аналогичных уникальных ограничений в других РСУБД и являются по своей сути обычными уникальными индексами, которые так же участвуют наравне с индексами таблицы в планах запросов и даже могут выступать в роли кластерных индексов. Единственное их отличие от уникальных индексов – они не могут указывать на NULL поля, в отличие например от MSSQL, где это разрешено.


Правила на таблицы и поля (check constraints)

Как Вы уже поняли, в ASA существует два вида правил для поддержки целостной ссылочности информации. В правилах можно пользоваться системными и UDF функциями, однако при использовании UDF всегда стоит помнить, что при генерации скрипта базы данных любой Case инструмент и сама ASA будет прописывать создание UDF в скрипте позже, чем создание структуры таблиц и без ручной правки такой скрипт запуститься не сможет. Это замечание относится не только к правилам, но и к использованию UDF для вычисляемых полей. В ASA не поддерживаются глобальные правила и умолчания и команды CREATE RULE и CREATE DEFAULT. Для стандартизации правил и умолчаний в ASA можно воспользоваться доменами и через них прописывать нужные правила и умолчания.


Table check constraint:

Позволяет прописать правило, в котором разрешаются проверка всех полей таблицы. Например, следующее правило проверяет, что нельзя заносить товар с кодом 100, если дата оформления заказа была