alibek Posted July 1, 2019 Posted July 1, 2019 Кто-нибудь использовал FreeRADIUS с БД Oracle? Не поделитесь конфигурацией (схемой и SQL-запросами)? А то в исходном состоянии он совершенно неработоспособен. Вставить ник Quote
jffulcrum Posted July 1, 2019 Posted July 1, 2019 Исходное - это https://wiki.freeradius.org/config/Oracle DDL script ? Вставить ник Quote
alibek Posted July 1, 2019 Author Posted July 1, 2019 Исходное кривоватое и для Oracle не самое оптимальное. Насчет «совершенно неработоспособен» я погорячился, но когда логи просматриваешь, просто руки чешутся в порядок привести. Вставить ник Quote
jffulcrum Posted July 1, 2019 Posted July 1, 2019 Ну, для начала я бы убрал нафиг триггеры и sequence (вы ведь не занимаетесь некрофилией с 11 версией?) и заменил все колонки ID в CREATE TABLE на что-то вроде: id INT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1) (да, в 12 версии Oracle набралась мужества скопировать IDENTITY, которое у MSSQL было еще в 2000). PRIMARY KEY для ID указывать в таком случае не надо - автоматом им станет. Вставить ник Quote
alibek Posted July 1, 2019 Author Posted July 1, 2019 У меня Oracle 10g, но я вообще не об этом. Я про то, что для числовых столбцов FreeRADIUS подставляет '0' вместо 0. Или использует TO_TIMESTAMP('%S','YYYY-MM-DDHH24:MI:SS') — хотя между DD и HH24 нужен пробел, а в конце нужен и часовой пояс. Или что вообще используется to_date/to_timestamp вместо литералов (например DATE'2019-07-01'). Или страшные индексы. Или странные типы данных (varchar вместо varchar2 или int вместо number). Или нестыкующиеся размерности полей (в одной таблице у username длина 64 символа, в другой таблице 30 символов, в третьей 32 символа). На этом фоне sequence и триггеры это мелочь. Вставить ник Quote
jffulcrum Posted July 1, 2019 Posted July 1, 2019 2 минуты назад, alibek сказал: У меня Oracle 10g, но я вообще не об этом. Ну это печально, EOS с 2010 года. Там из актуальных ништяков только онлайн-реиндексация, и то работала плёхо (надо было после нее ручками зачищать отходы жизнедеятельности). Вставить ник Quote
alibek Posted July 1, 2019 Author Posted July 1, 2019 Так мне и не нужны особо новые фичи. То что я перечислил — это не какой-то особо сложный тюнинг, а просто неаккуратность и неряшливость. Причем неаккуратность универсальная, '0' вместо 0 вообще с диалектом БД не связан, это везде косяк. Или такой фрагмент: AcctSessionTime = round((TO_DATE('%S','yyyy-mm-dd hh24:mi:ss') - \ TO_DATE(TO_CHAR(acctstarttime, 'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss'))*86400) Его даже на слабое знание особенностей Oracle не спишешь, оно на логическом уровне ущербное, иначе не понять, зачем дату нужно перегонять в строку, а затем снова в дату. 41 минуту назад, jffulcrum сказал: в 12 версии Oracle набралась мужества скопировать IDENTITY, которое у MSSQL было еще в 2000 Если уж холиварить, то sequence гораздо универсальнее и удобнее, чем identity. Вставить ник Quote
jffulcrum Posted July 1, 2019 Posted July 1, 2019 Вы не поверите, но sequence в итоге и создастся для указанного формата INDENTITY как скрытый объект БД, просто его больше не надо руками создавать. Вставить ник Quote
alibek Posted July 1, 2019 Author Posted July 1, 2019 Может быть, я Oracle других версий не пользовался. Но это к теме не относится, как раз sequence в исходной схеме мне не мешают и к ним у меня претензий нет. Вставить ник Quote
EDA_SPB Posted July 7, 2019 Posted July 7, 2019 Я правильно понимаю, что у вас биллинг на оракл? Не гидра, случайно? Вставить ник Quote
alibek Posted July 7, 2019 Author Posted July 7, 2019 Нет, Гидра меня разочаровала. У нас Билл-Мастер. Вставить ник Quote
NewUse Posted July 8, 2019 Posted July 8, 2019 А зачем Вам тогда freeradius?, если не секрет? Вставить ник Quote
alibek Posted July 8, 2019 Author Posted July 8, 2019 Поэкспериментировать. Может быть использовать как аварийный байпас-радиус в случае остановки или поломки биллинга, чтобы абоненты все равно получали сервисы. Или для каких-нибудь других сервисов, где нужен RADIUS (хотспот, igmp auth и т.д.). Но первопричиной было то, что хотим перейти с Ericsson SE100 на СКАТ (в качестве BRAS). СКАТ не умеет управлять адресным пространством (выделять IP-адреса из пула), полагаясь в этом на биллинг, а в биллинге у нас это не реализовано (это дополнительная лицензируемая фича в составе OSS, поэтому мы просто отдаем имя пула адресов, а SE100 сам распределяет адреса из этого пула). Малой кровью этот вопрос можно решить, используя прокладку-прокси (она будет добавлять в ответ Framed-IP-Address), а доступ к БД нужен, чтобы не городить костыли с синхронизацией конфигурации и некоторых параметров, назначенных абоненту в биллинге. Вставить ник Quote
NewUse Posted July 8, 2019 Posted July 8, 2019 26 минут назад, alibek сказал: Может быть использовать как аварийный байпас-радиус в случае остановки или поломки биллинга, чтобы абоненты все равно получали сервисы. Такой функционал у Билл-Мастер есть :) 27 минут назад, alibek сказал: хотим перейти с Ericsson SE100 на СКАТ (в качестве BRAS). Напрасно..... Вставить ник Quote
alibek Posted July 8, 2019 Author Posted July 8, 2019 7 минут назад, NewUse сказал: Такой функционал у Билл-Мастер есть Ну он там не автоматический, в такой режим его переключать нужно вручную. К тому же он в аварийном режиме всем клиентам дает один и тот же сервис, вообще никак не взаимодействуя с БД. А на самодельном можно использовать данные из БД (тарифы, выделенные IP-адреса и т.д.). 7 минут назад, NewUse сказал: Напрасно..... Уж очень заманчиво выглядит, к тому же позволяет использовать существующий биллинг. В любом случае все необходимое для теста есть и проверить будет интересно. Вставить ник Quote
NewUse Posted July 8, 2019 Posted July 8, 2019 3 минуты назад, alibek сказал: Ну он там не автоматический, в такой режим его переключать нужно вручную. К тому же он в аварийном режиме всем клиентам дает один и тот же сервис, вообще никак не взаимодействуя с БД. А на самодельном можно использовать данные из БД (тарифы, выделенные IP-адреса и т.д.). Этот режим специально для случая, если БД полетела, именно по этому он с ней и не взаимодействует :) Ну и по скольку БД летит не часто, делать переход в него автоматическим, по меньшей мере странно, хотя, возможно, это реализовано, надо спрашивать разрабов.... Вставить ник Quote
alibek Posted July 8, 2019 Author Posted July 8, 2019 Всякое бывает, например БД работает нормально, а проблема именно с сервером, на котором работает АСР. Или нужно перегрузить сервер с АСР, в этом случае байпас поможет это сделать малозаметно для пользователей. Вставить ник Quote
NewUse Posted July 8, 2019 Posted July 8, 2019 15 часов назад, alibek сказал: Или нужно перегрузить сервер с АСР не используйте эту порочную практику, Linux, это не винда перезагрузок не требует, почти. аптайм по 10 лет это хорошая практика... 15 часов назад, alibek сказал: Или нужно перегрузить сервер с АСР, в этом случае байпас поможет это сделать малозаметно для пользователей. Ну перезагрузка и так проходит малозаметно, ибо не идёт только авторизация, ну пусть 10 минут, но работающие пользователи продолжают работать.... С тестами -- удачи, поделитесь, потом результатами, научился ли фриирадиус нормально с пулами работать.... Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.