"ДБО BS-Client. Частный Клиент" v.2.5
Рекомендации по установке СУБД
Версия 2.5.0.0
Аннотация
Настоящий документ содержит информацию, актуальную на момент его составления. не гарантирует отсутствия ошибок в данном документе. оставляет за собой право вносить изменения в документ без предварительного уведомления.
Данный документ предназначен для администраторов системы. В нём содержаться рекомендации по установке и настройке СУБД необходимые для корректного взаимодействия устанавливаемых СУБД с системой «Частный клиент».
Обратите внимание! В документе содержаться только общее описание процесса установки СУБД. Подробная информации о параметрах СУБД и процессе установки содержится в документации к самим СУБД.
СОДЕРЖАНИЕ:
Аннотация_ 2
Oracle_ 4
Установка и настройка_ 4
Установка сервера и создание БД_ 4
Настройка серверной части 4
Установка и настройка клиентской части 5
Создание алиаса (alias) в ODBC_ 5
Имена и пароли 6
Известные проблемы_ 6
Microsoft SQL Server_ 7
Установка и настройка_ 7
Установка и настройка сервера 7
Создание алиаса (alias) в ODBC_ 8
Настройка ДБО BS-Client 8
Sybase ASA 8.0. 8
Установка и настройка_ 8
Установка сервера 8
Настройка клиента 9
Создание алиаса (alias) в ODBC_ 9
Известные проблемы_ 9
Oracle
Установка системы на Oracle возможно для Oracle 9i Enterprise Edition, для Oracle 10g Release2 или Oracle 11g.
Для Oracle 9:
Версия сервера: Oracle Server Rev. 9.2 или выше
Версия ODBC драйвера: Версия ODBC драйвера: 9.02.00.80 (sqora32.dll от 01.01.2001). Замена версии драйвера на более новую не допускается.
Для Oracle 10:
Версия сервера: Oracle 10g Release2 и выше
Версия ODBC драйвера: Версия ODBC драйвера: 10.02.00.03 (sqora32.dll от 01.01.2001). Замена версии драйвера на более новую не допускается.
Для Oracle 11:
Версия сервера: Oracle 11g и выше (32-ух или 64-х разрядная версия).
Версия ODBC драйвера: Версия ODBC драйвера: 11.2.0.1.0 . Только 32-ух разрядная версия.
Установка и настройка
Установка сервера и создание БД
Проводится инсталляция сервера Oracle указанной версии со всеми настройками по умолчанию или по усмотрению администратора. При инсталляции указывается создание базы данных по умолчанию или по усмотрению администратора.
Настройка серверной части
Если настройка не была сделана в процессе инсталляции, для настройки серверной части необходимо воспользоваться программой Net Configuration Assistant. Кодовая таблица базы данных должна быть CL8MSWIN1251. Вначале создается Listener(Процесс прослушивания) для созданной базы данных (если он не был создан по умолчанию). Разрешается прослушивание по протоколу TCP/IP. Для проверки создается также Net service(Сетевая служба). В качестве протокола указывается TCP/IP, в качестве host-а имя машины, на которую ставится. Если проверка соединения через этот Net Service прошла корректно, значит, сервер настроен правильно.
Далее необходимо создать табличное пространство для размещения данных базы ДБО, и завести пользователя, в схеме которого будут расположены объекты базы. Пример SQL скрипта для заведения этого tablespace:
CREATE TABLESPACE DBO LOGGING
DATAFILE 'C:\ORACLE\ORADATA\SERVER\DBO. dbf' SIZE 10M
REUSE AUTOEXTEND ON NEXT 5120K
MAXSIZE 32767M
DEFAULT STORAGE ( INITIAL 16K NEXT 32K MINEXTENTS 1 MAXEXTENTS 8192 PCTINCREASE 50 );
Внимание! Путь к файлу необходимо скорректировать в соответствии с расположением файла БД.
Пример SQL скрипта заведения пользователя с необходимыми привилегиями:
Заводится пользователь
CREATE USER BSS PROFILE "DEFAULT" IDENTIFIED BY BSS
DEFAULT TABLESPACE DBO
TEMPORARY TABLESPACE "TEMP"
QUOTA UNLIMITED ON DBO;
Для работы с базой данных понадобятся следующие привилегии: ALTER SESSION, CREATE SESSION, CREATE TABLE, CREATE VIEW. Пользователю можно предоставить права на стандартные роли CONNECT и RESOURCE, включающие в себя необходимые привилегии.
GRANT "CONNECT","RESOURCE" TO BSS;
Конфигурация сервера и табличных пространств Oracle или использование дополнительного функционала может потребовать расширения списка используемых привилегий.
Следует отметить, что имя пользователя БД может быть произвольным (в приведенном примере BSS), но не может быть “DBA” (как это предполагается в документации администратора ДБО), ввиду того, что идентификатор DBA зарезервирован в Oracle.
Установка и настройка клиентской части
Клиентская часть устанавливается по умолчанию, или по усмотрению администратора. Необходимо отметить к установке ODBC драйвера Oracle. После установки необходимо настроить соединение с серверной частью (в случае если настройка не была произведена автоматически при инсталляции). Для этого надо опять воспользоваться программой Net Configuration Assistant (уже на клиентской машине). Необходимо создать Net Service на протоколе TCP/IP. В качестве host-а указывается имя машины, на которую установлена серверная часть. Если проверка соединения через этот Net Service прошла успешно, то клиентская часть также настроена правильно.
Внимание! Для параметра NLS_LANG (National Languages Support) должна быть установлена кодировка - CL8MSWIN1251.
Внимание! При работе сервера ДБО BS-Client "Частный Клиент" на 64 - битной ОС необходимо использовать 32-битный ODBC драйвер не зависимо от того, на какой системе установлен сервер СУБД.
Процесс регистрации DSN 32-битного ODBC-драйвера на 64-битной системе: Необходимо запустить odbcad32.exe из каталога %windir%\SysWOW64\ и далее действовать по стандартной схеме. Если запускать odbcad32 через «Run» или «Administrative tools», то будет выполняться ODBC из %windir%\system32\, который не видит установленных 32-битных драйверов.
Создание алиаса (alias) в ODBC
В ODBC администраторе создаем новый alias с использованием ORACLE ODBC Driver. Настройки следующие:
Общие параметры
Data Source Name DBO; имя ODBC Alias;
Description Любое описание (опционально);.
TNS Service Name DBO; имя сервиса, созданного при настройке клиентской части;
User ID ADMIN; имя пользователя (опционально);
Раздел Application
Enable Result Sets TRUE; возврат результата хранимыми процедурами вызывающему их приложению;
Enable Query Timeout TRUE; закрывать Query по таймауту.
Enable Closing Cursors TRUE; закрывать курсоры по запросу приложения;
Read Only Connection FALSE; соединение с БД в режиме «только чтение»;
Enable Thread Safety TRUE; работа с Threads по установкам в БД;
SQLGetData Extensions FALSE; использовать расширения для ряда SQL вызовов;
Batch Autocommit Mode Commit only if all statements succeed; Автоматически подтверждать только полностью завершенные транзакции.
Numeric Settings Use Oracle NLS Settings; использовать установки Oracle.
Раздел Oracle
Fetch Buffer Size 0; не использовать буфер для данных таблиц
Enable Lobs TRUE; использование BLOB полей.
Enable Failover FALSE; возможно TRUE для серверов Oracle работающих в режиме Fail Safe или Parallel Server.
Retry Count 10; только если Enable Failover = TRUE.
Delay 10; только если Enable Failover = TRUE.
Раздел Workarounds Options
Force Retrieval of Long Columns FALSE; не производить упреждающего чтения LOB данных в память.
Disable MTS Support TRUE; возможно FALSE если используется Microsoft Transaction Server.
Force SQL_WCHAR Support FALSE; не использовать передачу WCHAR как CHAR.
Set Metadata Id Default to SQL_TRUE TRUE; только для систем использующих вызовы хранимых процедур.
Disable SQL Describe Param FALSE; данная настройка никак не влияет на режим работы драйвера.
Раздел SQLServer Migration Options
EXEC Syntax Enabled (опционально); на работе системы не сказывается.
Schema Field (опционально); на работе системы не сказывается.
Раздел Translation Options
Translation Option 0; не использовать режим трансляции.
Translation Library не заполнено.
Имена и пароли
В базе данных необходимо завести пользователя, в схеме которого будут находиться данные ДБО. Пользователь должен обладать достаточными привилегиями для создания, удаления, изменения объектов в базе. На практике достаточно привилегий стандартных ролей CONNECT и RESOURCE. Следует отметить, что в БД Oracle невозможно создать пользователя с именем DBA, поскольку существует стандартная одноименная привилегия!
Известные проблемы
Несогласованность кодировок. Проявляется в ошибках "Couldn't perform the edit because another user changed the record.", "Record/Key deleted.", в неправильном отображении русских букв, неверном порядке сортировки русских букв.
Для решения проблемы необходимо согласовать кодировки на серверной и клиентской части, для этого необходимо правильно настроить три вещи:
Во-первых, NLS (National Languages Support) настройки на серверной части.
Во-вторых, NLS настройки на клиентской части
На клиентской части надо изменить настройки в Registry
(NLS_LANG = ЯЗЫК_ТЕРРИТОРИЯ. КОДИРОВКА):
HKEY_LOCAL_MACHINE\Software\Oracle\…\NLS_LANG=AMERICAN_AMERICA. CL8MSWIN1251
HKEY_LOCAL_MACHINE\Software\Oracle\…\NLS_LANG=RUSSIAN_CIS. CL8MSWIN1251
Кроме того, желательно согласовать на клиентской и серверной частях и остальные NLS настройки. Желательно также, чтобы совпадал язык самого Oracle на клиентской и серверной частях.
Microsoft SQL Server
Версия сервера MS SQL Server 2005, MS SQL Server 2008 (SP1, R2) (32-ух или 64-х разрядная версия).
Для SQL Server 2:
Версия ODBC драйвера: Версия драйвера зависит от используемой операционной системы, для получения информации о необходимой версии драйвера обратитесь к документации разработчика СУБД.
Установка и настройка
Установка и настройка сервера
Проводится инсталляция сервера MSSQL указанной версии со всеми настройками по умолчанию. Обязательно установить разрешенность протокола TCP/IP. На все вопросы по поводу аутентификации пользователей необходимо отвечать, что будет использоваться SQL Server authentication, а не Windows NT authentication. Кодировка (Server collation) должна быть выставлена в значение Cyrillic_Generac_CI_AS. После установки сервера необходимо запустить сервис “ SQL Server”, воспользовавшись для этого программой Service Manager (Control Panel – Administrative Tools - Services).
База данных для сервера «MS SQL Server 2000» создается стандартным образом через SQL Server Enterprise Manager.
База данных для сервера «MS SQL Server 2005» создается стандартным образом через SQL Server Management Studio.
При создании базы данных необходимо выставить следующие настройки:
Collaction name = (Server default), в случае если в свойствах сервера кодировка задана верно.
= Cyrillic_Generac_CI_AS, в случае если по каким-либо причинам кодировка в свойствах сервера не такая.
Initial size (MB) = 100
Automatically grow file = включено
Unrestricted file growth = включено
Automatically grow file = включено
Unrestricted file growth = включено
После создания базы необходимо зайти в ее свойства на закладку Options и включить настройки Auto create statistics и Auto update statistics, если они не включены.
Далее необходимо добавить пользователя под которым будут обращаться к этой базе в разделе Security\Logins, и дать ему права public и db_owner на заведенную базу. На этом настройка SQL сервера завершена.
Логин и пароль определяется банком в зависимости от политики безопасности.
Создание алиаса (alias) в ODBC
В ODBC создаем новый alias типа SQL Server. Настройки следующие:
Database Имя базы данных, созданной в Enterprise Manager (или Management Studio);
Server Имя сервера ;
How should SQL Server verify the authenticity of the login ID: With SQL server authentification
User ID логин пользователя заданный при создании базы;
Password пароль пользователя заданный при создании базы;
Data Source Name Имя источника данных (базы данных Database).
Логин и пароль определяется банком в зависимости от политики безопасности.
При настройке alias-а MSSQL флажки Use ANSI nulls, paddings and warnings и Use ANSI quoted identifiers должны быть обязательно установлены.
Все остальные настройки оставить по умолчанию.
Настройка ДБО BS-Client
После полной установки системы, для корректной работы с MS SQL в качестве базы данных ДБО, необходимо для всех профилей пользователей выставить максимальное количество сессий к СУБД не меньше 255 (рекомендуется 255). Для того чтобы это сделать следует зайти в пункт меню: Безопасность\Операторы ДБО\Пользователи ДБО. В окне настройки перейти на закладку Профили. Войти в редактирование каждого профиля и в окне настройки параметров БД (кнопка Настройка параметров БД) выставить параметр Максимальное число сессий в 255.
Sybase ASA 8.0.
Версия Сервера Adaptive Server Anywhere 8.0
Версия клиента Adaptive Server Anywhere 8.0
Версия ODBC драйвера Версия ODBC драйвера: 8.00.00.2065 (dbodbc8.dll от 01.01.2001)
Установка и настройка
Установка сервера
Производится инсталляция сервера ASA 8.0 Вы можете оставить все установки по умолчанию, Java устанавливать необязательно. Если Вы хотите выбрать перечень устанавливаемых компонентов по своему усмотрению, для корректной работы системы BS-Client обязательно должны быть выбраны компоненты:
· Adaptive Server Anywhere for Windows в разделе Databases;
· Sybase Central и jConnect в разделе Tools.
После инсталляции ASA в {каталог установки Sybase ASA}\scripts переписываются 2 sql скрипта, содержащие кодировку win_1251 и поставляемые вместе с ДБО BS-Client v.3 в каталоге Collation.
Далее, с помощью SyBase Central создается БД, установки по умолчанию, также необязательна поддержка Java. Задается пользовательская сортировка WIN_1251.
Настройка клиента
На клиентскую машину аналогично установке сервера – устанавливается ASA 8.0 (NETWORK CLIENT).
Создание алиаса (alias) в ODBC
Для сетевой версии алиас должен быть настроен следующим образом:
Data Source Name Alias для CBank’a;
User ID dba;
Password sql;
Start line Dbsrv8.exe –c 32m –n {Server Name} –ti 10000 –tl 1000
–gbmaximum
Database name имя файла базы (без расширения).
На странице Network обязательно пометить используемый сетевой протокол. Например, TCP/IP.
Для локальной версии алиас должен быть настроен следующим образом:
Data Source Name Alias для CBank’a;
User ID dba;
Password sql;
Start line dbeng8.exe –c 32m –n {Server Name} –ti 10000
Database file полный путь к файлу базы данных (имя файла указывается с расширением).
Известные проблемы
Ошибки параллельного доступа. При большой нагрузке на сервер ДБО в случае работы на Sybase возможно появление в файле error. log ошибок вида [Sybase][ODBC Driver]Invalid cursor state. Это связанно с ограничениями Sybase при одновременной работе нескольких сессий над одними и теми же записями. Средствами ДБО эти проблемы решены быть не могут, поэтому для эксплуатации ДБО в случае большого числа клиентов (>100) рекомендуется использовать СУБД MS SQL или Oracle.
Неполное использование hardware ресурсов. СУБД Sybase ASA не предназначена для построения крупных масштабируемых систем, поэтому в ней отсутствуют средства повышения производительности путем наращивания аппаратных ресурсов. В частности при увеличения количества процессоров на сервере СУБД не только не просиходит ускорения работы, а возможно даже и замедление. В случае если требуется повысить производительность ДБО рекомендуется ставить систему на СУБД MS SQL или Oracle.


