Для 1С: Предприятие 7.7 Advantage Database Server 8.1 на Linux

12.03.08

База данных - Инструменты администратора БД

Использование разработки hogik - http://infostart.ru/projects/1359/ с использованием сервера на Linux
По просьбе hogik - маленький мануал по использованию его разработки
//infostart.ru/projects/1359/#comm
с установкой сервера на Linux (Дистрибутив Mandriva-Free 2008).
Все оказалось довольно просто:
1. Устанавливаем сервер Advantage стандартным способом т.е. с помощью
скрипта setup.pl:
# ./setup.pl
и отвечаем честно на все вопросы :), т.е. выбираем свою страну,говорим, запускать или нет демон при загрузке
и вводим коды для триала, взятые с офф сайта.
Затем качаем и ставим adsodbc-8.10.0.18 для Linux, иначе клиент начинает
ругаться на старую версию сервера. (не находит библиотеки libace.so.8.10.0.18 и libadsloc.so.8.10.0.18).
После установки adsodbc они находятся тут /usr/local/ads/odbc/redistribute/. Может, у кого все прошло
иначе - у меня не получилось.
мой ads.conf (/usr/local/advantage/)
//******************************************************************************************
; Advantage Database Server for Linix configuration file
;
; The Advantage Database Server reads this configuration file when
; it is started. Values input after the keyword and equal sign are
; used to configure the daemon. If no value is inserted after a keyword
; and equal sign, the default is used. Command line values will
; override these configuration file values.
;
; Number of Connections
; Default = User Option purchased; Range = 1 - No upper limit
CONNECTIONS=100
;
; Number of Work Areas
; Default = (25 x CONNECTIONS); Range = 1 - No upper limit
WORKAREAS=50000
;
; Number of Tables
; Default = 100; Range = 1 - No upper limit
TABLES=10000
;
; Number of Index Files
; Default = 150; Range = 1 - No upper limit
INDEXES=15000
;
; Number of Data Locks
; Default = (40 x CONNECTIONS); Range = 1 - No upper limit
LOCKS=50000
;
; Number of Worker Threads
; Default = 8; Range = 1 - 1024 (Don't use more than 100 unless necessary)
THREADS=800
;
; Filemask used when creating new files
; Default = 0600 ( -rw------ )
CREATEMASK=0777
;
; Maximum Size of Error Log (in KBytes)
; Default = 1000 KBytes; Range = 1 Kbyte - No upper limit
ERROR_LOG_MAX=1000
;
; Error Log and Assert Log Path
; Default = /var/log/advantage
; The path must be a fully qualified path, starting with '/'. For example, /var/log
; IMPORTANT NOTE: The advantage user must have write privelages to this directory,
; or it will not be able to create or write to the log files.
ERROR_ASSERT_LOGS=/var/log/advantage
;
; Transaction Log Files Path
; Default = /var/log/advantage
; The path must be a fully qualified path. For example, /home/dir_w_all_rights
; IMPORTANT NOTE: The advantage user must have write privelages to this directory,
; or it will not be able to create or write to the log files.
TPS_LOGS=/temp
;
; IP Port number for the Advantage communication socket
; Default = 0; Range 2000 - 65535
; Zero indicates that the next available socket should be used for IP
; communication with Advantage clients. If changing this setting verify
; no other processes are already using the port.
IP_PORT=5300 'порт указан явно
;
; Timeout value for "keep alive" packets
; Default = 240; Range 10 - 65535
CLIENT_TIMEOUT=240
;
; IP Internet port number for Internet connections
; Default = 0; Range 2000 - 65535
; Zero indicates that Internet connection to the Advantage Database
; Server is not allowed.
INTERNET_PORT=0
;
; Lowercase All Paths
; Default = 0 (false)
; Options are: 0 (for false) and 1 (for true)
LOWERCASE_ALL_PATHS=0
;
; Communications compression option
; Default = Internet
; Valid values include:
; Internet: Use compression for AIS connections.
; Always: Use compression unless the client specifically turns it off.
; Never: Do not allow compression for any connections. This setting
; overrides any client compression settings.
COMPRESSION=Never
;
; Maximum Cache Memory setting.
; This configuration entry specifies the maximum amount of memory (RAM) in
; megabytes (MB) the Advantage Database Server will use to cache index files,
; table headers, and memo headers. If this setting is not found, the
; Advantage Database Server will determine an appropriate maximum value by
; dividing the currently available amount of free memory by two at startup
; time. If the currently available amount of memory is not accessible to the
; Advantage Database Server, 50 MB will be used as a default. If the
; configured amount is zero, the Advantage Database Server will not cache any
; file data.
MAX_CACHE_MEMORY=2097152
//***********************************************************************************
Затем ставим пакет Samba, настраиваем как нужно для конкретной конфигурации сети
и делаем расшареную папку примерно с такими параметрами (read list и write list - параметры для домена):
[Share]
read list = "@MYDOMAIN\Domain Users"
write list = "@MYDOMAIN\Domain Users"
path = /mnt/win_c3/share/
writable =yes
csc policy =disable
read only = no
comment = Share
create mask = 0777
directory mask = 0777
locking = yes
veto oplock files = /.*LCK/.*MD/.*mlg/
max connections = 1000

После этого закидываем базу на машину с Windows, и конвертируем с помощью ConvDBF.exe:
через "Пуск - Выполнить": "C:\Program Files\1Cv77\BIN\ConvDBF.exe" C:\папка_с_базой и полученую базу кидаем в
расшару на серваке.
Затем на сервере в корень файловой системы копируем РАСШАРЕНЫЙ КАТАЛОГ!!! т.е.
если база находится по такому пути /mnt/win_c3/share/, то в корне дожен лежать каталог /share.
С раздачей прав пока не экспериментировали, для каталога /share установили владельца advantage (создается
при установке сервера) и права доступа 0777.
Стартуем сервер # service ads start

Теперь на клиентских машинах ставим все компоненты по инструкции hogik, и создаем в каталоге с установленой 1С
C:\Program Files\1Cv77\BIN файл ads.ini примерно следующего содержания:

//***********************************************************************
[SETTINGS]
ADS_SERVER_TYPE = 2 'тип сервера (2-удаленный)
DEFAULT_PROTOCOL = 1 'TCP-IP протокол для работы
COMPRESSION=Never 'без компрессии
[Mylinux_server] 'имя сервера Linux
LAN_IP=192.168.1.x 'его адрес в сети
LAN_PORT=5300 'порт, как указали в ads.conf
//************************************************************************
данный файл может лежать и в каталоге windows, но не всегда находится клиентом, из-за чего возникает
ошибка 6420 - невозможно подключиться к серверу, т.к. клиент, не найдя своих настроек, ищет локальный сервер.

Ну и добавляем базу в 1С с путем к нашей расшаре - \\Mylinux_server\Share, жмем ОК и насладжаемся :).

P.S. это еще не все, нужно проверить, зачем в расшаре держать базу, если работа идет с каталогом,
находящимся в корне, правильно раздать права и пофиксить долгую загрузку структуры данных программы до
появления окна авторизации 1С.

См. также

Монопольное открытие формы обработки 1с77

Инструменты администратора БД Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

Блокировка открытия формы обработки одним пользователем.

1 стартмани

24.05.2023    586    igor7777    1    

0

Групповое переименование файлов для 1С 7.7

Инструменты администратора БД Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Простецкий скрипт переименования файлов в папке в нижний регистр, будет полезен программистам и системным администраторам имеющим навыки програмирования в 1С. Можно легко настроить под себя, спасает мне периодически час времени, может, кому еще будет полезен.

1 стартмани

18.02.2022    3780    0    igor7777    6    

2

[7.7 ТиС. СТОП-БАРДАК] Автоперенос непроведенных документов на текущий день

Инструменты администратора БД Оперативный учет 7.7 1С:Торговля и склад 7.7 Управленческий учет Абонемент ($m)

Боремся с бардаком. Работы в прошлых датах запрещены. Непроведенные документы (по разным причинам) - автоматом переносятся в начало текущего дня при запуске любого первого сеанса 1С в текущем дне. Задержка старта 1С - практически незначима. Не требует настройки, не требует допрограммирования (исключая один оператор вставки в процедуру старта системы). Можно обработку выполнять вручную с любой периодичностью.

2 стартмани

25.05.2020    5684    2    CheBurator    3    

2

Анализ 1С: Предприятие 7.7 с помощью ELK стека

Журнал регистрации Инструменты администратора БД Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

Рассмотрим систему на базе Elasticsearch, Logstash и Kibana (ELK Stack) для анализа логов 1С Предприятие 7.7 с целью визуализации и анализа событий 1С.

22.01.2019    11093    phsin    20    

27

Автоматическое объединение конфигураций 1С 7.7

Инструменты администратора БД Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Скрипт позволяет выполнить объединение конфигураций и реструктуризацию из командной строки. Объединение выполняется штатными средствами конфигуратора 1С 7.7, взаимодействие с которым происходит путем посылки нажатий клавиш. Пригодится, если есть необходимость обновить или постоянно обновлять множество ИБ.

1 стартмани

22.04.2017    15665    4    devlabnn    2    

6

Перепроведение по счету

Инструменты администратора БД Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 Украина Бухгалтерский учет Абонемент ($m)

Перепроведение по счету для конфигурации Бухгалтерский учет для Украины, 1С: Предприятие 7.7

1 стартмани

23.09.2016    3745    1    Genyak    1    

0

Решение проблем с печатью, предварительным просмотром печати, пакетной печатью 1С: 7.7 в терминале

Инструменты администратора БД Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Периодически сталкивался со следующими проблемами при печати в 1С: 7.7 работающей под терминалом: 1) После замены принтера на клиентской машине 1С пытается печатать на старый принтер. 2) Отсутствует предварительный просмотр при печати. 3) Не работает печать без предварительного просмотра (пакетная печать документов). 4) В некоторых формах печатает, в некоторых нет.

1 стартмани

09.06.2016    27128    18    tux    3    

1

Логирование в 1С

Инструменты администратора БД Платформа 1С v7.7 Платформа 1С v8.3 Бесплатно (free)

Часто бывает необходимо отслеживать состояние часто повторяющихся регламентных заданий. Например, синхронизация данных с IP-телефонией, которая может производиться каждую минуту, синхронизация с сайтами, синхронизация данных с различными системами. Использовать для этих целей логирование 1С чрезвычайно неэффективно и не удобно. В таких случаях удобно использовать подход, применяемый в Unix-системах: писать логи в обычные текстовые файлы, а потом делать их обработку через эффективно работающие Unix-команды: grep, tail, cat, less и т.п.

18.05.2016    34943    rudjuk    21    

33
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. andrey995 11.03.08 15:34 Сейчас в теме
Спасибо за описание,
поправьте пожалуйста описание в теме , а то по названию темы создается ложное впечатление что речь идет о платформе 1С 8.1 а не о 1С 7.7 :)
2. hogik 443 12.03.08 02:33 Сейчас в теме
Для использования ADS с DBEng32 параметры в файле ads.conf лучше ставить такие:
TABLES=INDEXES и равно общему количеству таблиц всех баз данных обслуживаемых данным сервером ADS одновременно.
WORKAREAS=TABLES * CONNECTIONS
THREADS=8 * КоличествоЯдерВсехПроцессоровСервера
LOCKS=100 * TABLES
3. @lex 75 12.03.08 08:27 Сейчас в теме
(2)
Спасибо за поправки. Может есть описание параметров ads.conf с вашими комментариями. Вот бы добавить :)
4. hogik 443 12.03.08 17:15 Сейчас в теме
(3)
У нас не используется файл ads.conf – мы в Windows работаем :-(. А моими добавлениями к описанию я хотел обратить внимание пользователей на то, чего нельзя почерпнуть из описания ADS – особенности 1С+DBEng32.
1) Т.к. в DBEng32 не используются запросы и фильтры (если не использовать РУС), то увеличение значения параметра THREADS не оказывает влияния на производительность системы. Т.е. не существует процессов занимающих THREADS на долгое время.
2) Т.к. в DBEng32 все транзакции для одной базы данных выполняются последовательно, то количество LOCKS это количество заблокированных записей внутри одной транзакции умноженное на количество баз данных. Количество заблокированных записей в транзакции зависит от алгоритма приложения, и вычислить его заранее очень сложно. Но если этот параметр превышается, то система ведёт себя очень плохо.
3) Параметр WORKAREAS вычисленный по приведенной формуле гарантирует работоспособность системы. Но оказывается завышенным, если сервер ADS обслуживает больше одной базы.
12. AlexBax 23.06.10 05:10 Сейчас в теме
(4) сорь в предыдущем посте не указал адресата))
13. AlexBax 23.06.10 05:12 Сейчас в теме
(4) сорь - не указал адресата в предыдущем посте..
5. Fragster 1138 24.04.08 16:27 Сейчас в теме
А у меня вопрос, а symlink не покатит на шару?
6. AlexBax 23.06.10 02:10 Сейчас в теме
Установил на сервер под Ubuntu 10.04 Advantage 9.10 (позже пробовал 10-ю триальную версию с оффсайта).
1С работает тоже под Linux (на том же сервере) через wine@Etersoft - юзеры сидят под линуксовым терминалом.
при подключении к базе пишет Error 7046: Evaluation period expired. axServerConnect
В прикрепленном файле снимок этого дела.
При этом серийник на Advantage рабочий - под Linux коннект без вопросов. Когда пробовал 10-ю версию - там вообще свежий триальный серийник.
Т.о. как я понимаю коннект имеется (в ads.ini прописал IP - пробовал как реальный так и 127.0.0.1, порт) - иначе бы номер ошибки с расшифровкой не выдавал..

Осталось понять как побороть))

Заранее спасибо независимо от результата
Прикрепленные файлы:
7. @lex 75 23.06.10 02:35 Сейчас в теме
(6)
1. Один пользователь может работать из-под терминала?
2. Попробовать подключиться по сетке, чтобы платформа на другом компе стояла...

Под терминалом все соединения с сервером получаются от одной машины... может есть ограничения на количество коннектов с одного адреса или локальной машины.

Или нет доступа к каким-то файлам у юзера, от которого запускается WINE.
8. AlexBax 23.06.10 02:49 Сейчас в теме
(7) Ответ
1. нет - никто не может
2. смысла нет - работа по сети в любом случае хуже работы в терминале (с advantage или без него)

поскольку нет даже одного подключения - ограничение на количество коннектов не причем (может потом, когда получится, роль играть будет)

а вот последнее - про права юзера - ща проверю) может быть..
9. AlexBax 23.06.10 02:58 Сейчас в теме
(7) точно.. только прав не хватало юзеру advantage от которого сервис запускается - на создание сокета.. ))
Терь другая бодяга - позже отпишусь если победю))
10. @lex 75 23.06.10 03:51 Сейчас в теме
(9) Ждем-с... :) Только поподробнее - что за грабли и как решал :)
11. AlexBax 23.06.10 04:54 Сейчас в теме
Значит так.. В ситуации когда из под wine в среде Linux 1C пробует обращаться к Advantage установленным под тем Linux на том же компе, возникает ошибка Advantage can't create file..

Вызвано это тем что при работе с Advantage ему отсылается путь вида "диск:\путь_к_базе\.."
Он добросовестно пытается по этому пути что-то создать (или прочесть), но поскольку работает в Linux - понятное дело выходит облом..

Уважаемые разработчики, конечно имеется ввиду hogik - по идее это не так сложно слегка доработать библиотеки коннекта с Advantage, добавив в настройки еще один файл .ini в каталоге базы, в котором бы можно было указывать unix путь к базе (например со строкой Unix_Path=/bases/work/db).
Логика работы при этом очевидная - если такого файлика в каталоге базы нет - все работает как раньше, а если есть - то из него в начале работы считывается unix путь к базе и дальше в Advantage отсылается все уже в unix варианте файловых путей

И кстати, это же поможет избавиться от ухищрений описанных в изначальном посте, когда чтобы заставить работать Advantage создается шара, копируется в корень и т.д.

В случае с wine описанный в посте вариант решения проблемы не работает - wine не работаетс с путями вида \\server\share. Сетевые пути прописываются как и диски - через символьные ссылки на каталоги host-системы. В итоге получается U:\server\share - и именно это передается Advantage

Учитывая все возрастающее количество linux реализаций 1с под wine - очень многие скажут спасибо..

З.Ы Кто-то возможно скажет что etersoft создал драйвер для трансляции sql запросов в Postgere - так и есть) И если у вас легальная 1С SQL - это оптимальный вариант. Но у меня легальная сетевая версия 1С - нет смысла переходить на Linux ради легальности ПО и подставляться с 1С.. Поэтому для меня разработка hogik - просто находка
14. @lex 75 23.06.10 05:42 Сейчас в теме
(11) Кстати, как себя ведет семерка под Ethersoft-om? Все работает как надо, или есть грабли или костыли?

P.S. Сетевая работа с advantage происходит очень быстро, за исключением загрузки глобальника ~ 3 минуты ожидания... А все отчеты за период в два года даже формируются практически как на локальной системе (проверяли с трех компов одновременно разные отчеты по всем счетам и со всеми субконто).
15. AlexBax 23.06.10 06:05 Сейчас в теме
(14) 7.7 под etersoft работает нормально, но по сравнению с терминалом win2k3 - медленнее.. Особенно заметно там где идет перебор в цикле документов или справочников - это проблема файловых блокировок.. Хотя по сравнению с обычным wine етерсофтовцы продвинулись далеко вперед - как раз за счет организации этих самых блокировок.. Но до виндов в терминале далеко еще.
Обещают сделать wine@etersoft внедренным в ядро.. Тогда компот с быстродействием будет другой
Но в общем и целом - терпимо.. Если только юзеры не невростенники с ножами))))
16. AlexBax 23.06.10 06:12 Сейчас в теме
(14) Забыл сказать - если 1с sql-ная, то быстродействие не хуже чем в виндах - в связке с Postgere и драйвером от etersoft для трансляции запросов ms sql в Postgere. Только помимо 1С скульной легальной придется etersoft отвалить - у них теперь деление wine@etersoft network и wine@etersoft SQL (SQL соответственно прилично дороже). Причем и та и другая лицензии могут быть как с терминальной лицензией, так и без..
17. hogik 443 23.06.10 20:21 Сейчас в теме
(14)
"быстро, за исключением загрузки глобальника ~ 3 минуты ожидания"
Загрузки или открытия файлов базы данных?
Медленно при входе первого пользователя после "начального" запуска сервера ADS или в любом случае?
Какой размер 1CV7.DD и 1CV7.MD и сколько DBF файлов в каталоге?
(11)
"слегка доработать библиотеки коннекта"
Попробую сделать. Куда высылать отладочную версию? У меня нет "wine в среде Linux" ;-)
18. AlexBax 24.06.10 00:30 Сейчас в теме
(17) Буду признателен ;)
Отправить отладочную версию можно на sysadmin@arkada-td.ru, копию на alexbax70@mail.ru
Просьба в теме указать hogik - спама много, чтобы по ошибке с ходу не удалил..
Буду ждать и заранее Спасибо :)
22. AdepTcs 15.05.12 08:02 Сейчас в теме
(18) alexbax,
Видимо, тема уже устарела и неактуальна, но всё же.
Подскажите, получилось ли что-либо с передачей в ADS unix-пути?
19. @lex 75 24.06.10 02:07 Сейчас в теме
(17) Размер md 20 метров. При входе пользователя в любом случае. Независимо от количества пользователей. Может, антивирус мешает или еще что - конкретно не скажу...
А файлы БД сервер ADS должен открывать и отдавать результаты па запросу от клиента или технология не совсем клиент-сервер получается?
20. hogik 443 24.06.10 03:54 Сейчас в теме
(19)
"Размер md 20 метров."
Про медленный запуск сессии 1Са - Ваш ответ, на мой вопрос, не полный. Если не очень волнует это, то и не будем разбираться.
"технология не совсем клиент-сервер"
Файлы открывает, читает, пишет, создаёт и т.д. сам сервер ADS. Каталог расположения таблиц приходится ему сообщать, т.к. ИБД 1С создана из "свободных" таблиц, а не в словаре данных. И результат он отдаёт по запросу. Но в нашем случае запросы не являются SQL.
21. @lex 75 24.06.10 08:18 Сейчас в теме
(20) В ближайшее время постараюсь протестировать начальную загрузку, уточню из-за чего такие тормоза... Пользователей напрягает, думают, что висит программа :). Отпишусь по результатам тут же.
Оставьте свое сообщение