CftClub.ru
Клуб специалистов ЦФТ-Банк

Как настроить библиотеку FIO на платформе UNIX?

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Oracle DBA
Предыдущая тема :: Следующая тема  
Автор Сообщение
German
Профи


Вступление в Клуб: 25.06.2007
СообщениеСр Июн 20, 2007 19:40   Как настроить библиотеку FIO на платформе UNIX? Ответить с цитатой
Полезность: Нет оценки
Как настроить библиотеку FIO на платформе UNIX?

Библиотека FIO содержит процедуры для работы с файловой системой на сервере, перекрывающие по функционалу UTL_FILE. Подробное и достаточное описание инсталляции и настройки содержится в файле UPGRx_xTOOL\FIO.TXT.

Инсталляция библиотеки FIO должна пройти без ошибок. Если это не так, проанализируйте создавшиеся лог файлы и попытайтесь устранить причину возникновения ошибки и заново проведите инсталляцию пакета. Для проверки правильности настройки библиотеки FIO предлагается следующая последовательность действий:

Убедитесь, что вы правильно настроили поддержку вызова внешних процедур. Для этого необходимо запросить статус слушающего процесса (listener). Для случая использования стандартного слушающего процесса (listener) достаточно указать lsnrctl status.
Например (операционная система linux):

dralthi.ftc.ru.ibs>lsnrctl status extlist

LSNRCTL for Linux: Version 8.1.7.2.0 - Production on 02-AUG-2002 10:15:54

(c) Copyright 1998 Oracle Corporation. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
STATUS of the LISTENER
------------------------
Alias extlist
Version TNSLSNR for Linux: Version 8.1.7.2.0 - Production
Start Date 24-JUL-2002 09:10:35
Uptime 9 days 1 hr. 5 min. 19 sec
Trace Level off
Security OFF
SNMP OFF
Listener Parameter File /u/tools/tns_dir/listener.ora
Listener Log File /u/tools/tns_dir/extlist.log
Services Summary...
PLSExtProc has 1 service handler(s)


В части Services Summary обязательно должен присутствовать сервис PLSExtProc. Если его нет, значит неверно описана поддержка EXTPROC в файле listener.ora.

На стороне сервера в файле tnsnames.ora должна быть прописана поддержка внешних процедур. При этом необходимо обратить внимание на следующие моменты:
- В файле sqlnet.ora в качестве домена по умолчанию (параметр NAMES.DEFAULT_DOMAIN) должен быть указан ваш домен.
- В файле sqlnet.ora в качестве первого пути для поиска имен (параметр NAMES.DIRECTORY_PATH ) должно быть указано значение TNSNAMES
Примерное содержимое файла sqlnet.ora:

NAMES.DEFAULT_DOMAIN = FTC
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES)

Примерное содержимое файла tnsnames.ora (только часть описание внешних процедур):

EXTPROC_CONNECTION_DATA.FTC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)

Обратите внимание, что домен в tnsnames.ora и sqlnet.ora совпадают. Помните о том, что помимо описания поддержки внешних процедур в tnsnames.ora должны присутствовать строки соединения самой базой данных.

Убедитесь, что вы указали верный путь до разделяемой библиотеки FIO. Для этого выполните в sqlplus следующие команды под владельцем схемы (например sqlplus ibs/ibs@ibso):
SQL> select status from user_libraries where LIBRARY_NAME = 'LIBFIO' ;

STATUS
-------
VALID

SQL> select file_spec from user_libraries where LIBRARY_NAME = 'LIBFIO' ;

FILE_SPEC
---------------------------------------------------------------------------
/u/tools/fio/fio.so

Значение FILE_SPEC это полный имя до библиотеки в операционной системе. Убедитесь, что она присутствует по этому пути. Будьте осторожны и используйте библиотеку FIO собранную под вашу версию ядра банковской системы и вашу платформу.

Проверьте состояния пакетов FIO и STDIO. Для этого выполните в sqlplus следующие команды под владельцем схемы (например sqlplus ibs/ibs@ibso):

SQL> select status,object_type from user_objects where object_name = 'FIO' ;

STATUS OBJECT_TYPE
------- ------------------
VALID PACKAGE
VALID PACKAGE BODY

SQL> select status,object_type from user_objects where object_name = 'STDIO' ;

STATUS OBJECT_TYPE
------- ------------------
VALID PACKAGE
VALID PACKAGE BODY

Статус пакетов должен быть VALID, в противном случае попробуйте их откомпилировать вручную (alter package FIO compile). Если в процессе компиляции будут ошибки, значит пакеты были инсталлированы неверно.

Проверьте настройки параметров пакета FIO. Это можно сделать через АРМ "Доступ к данным" (UADM) меню "Системные справочники" пункт "Профили". Для работы FIO обязательными для настройки являются переменные:
FIO_LOG_FILE
FIO_ROOT_DIR
FIO_HOME_DIR
FIO_BASE_DIR (рекомендуется для начала устанавливать в значение )

Каталог FIO_HOME_DIR должен быть уже создан и пользователь из под которого работает процесс listener должен иметь права на чтение этого каталога. Подкаталог FIO_ROOT_DIR каталога FIO_HOME_DIR должен уже создан и пользователь из под которого работает процесс listener должен иметь права на чтение-запись этого каталога.

В процессе настройки, тестирования и работы проверяйте лог файл FIO (переменная FIO_LOG_FILE) на предмет oшибок.

Для проверки функционирования внешних процедур необходимо выполнить в sqlplus следующие команды под владельцем схемы (например sqlplus ibs/ibs@ibso):
SQL> exec stdio.fio_open ;

Процедура PL/SQL успешно завершена.
Данная команда инициализируют процесс поддержки файловых операций FIO и должна выполняться без ошибок. Основной причиной появления ошибок при выполнении данной команды является неправильная настройка поддержки внешних процедур в файле listener.ora и tnsnames.ora.
При успешном выполнении данной команды в файле FIO_LOG_FILE должна появиться строка следующего вида:
FIO MSG 20.05.2002 11:01:47 30551 Open IBS.IBS.48, pid: 30551
Где IBS.IBS имя и владелец банковской схемы,
Pid: 30551 – unix pid агента внешней процедуры, которые непосредственно работает с разделяемой библиотекой FIO.
Необходимо проверить что данный процесс запущен (только для unix систем).

ibs> ps -p 30551
PID TTY TIME CMD
30551 ? 00:00:00 extproc



Для проверки правильности настройки прав доступа FIO (переменные FIO_BASE_DIR, FIO_HOME_DIR, FIO_ROOT_DIR) выполните в sqlplus следующую команду под владельцем схемы (sqlplus ibs/ibs@ibso):

SQL> select stdio.file_list('.') from dual ;

STDIO.FILE_LIST('.')
--------------------------------------------
020521PP.001
020521PP.001_message
020521PP.001_error


В результате выполнения этой команды вы должны получиться список файлов в подкаталоге указываемой переменной FIO_ROOT_DIR каталога указываемой переменной FIO_HOME_DIR.
Например:
FIO_HOME_DIR имеет значение /u/tools/fio
FIO_ROOT_DIR имеет значение ibs

То есть после выполненной команды распечатается содержимое каталога /u/tools/fio/ibs.
И в лог файле FIO появятся следующие записи:
FIO MSG 02.08.2002 11:10:12 30551 Flist /u/tools/fio/ibs., entries: 8


Проверку работоспособности FIO можно проверить используя АРМ "Навигатор" - меню "Система" - подменю "Система" - операция "Проверка целостности системы". При выполнении этой операции создается на сервере текстовый файл-отчет с результатами проверки банковской системы.

Для корректной работы прикладных пакетов банковской системы рекомендуется так же проверить настройки параметров банковской системы влияющих на работу FIO. Это можно сделать через АРМ "Администратор" меню "Словарь" – подменю "Системные справочники" - пункт "Параметры". Например параметр DEF_SLASH должен соответствовать принятому для операционной системы на которой работает сервер Oracle.

По материалам базы знаний сайта сопровождения ЦФТ-Банк http://supportobject.cft.ru/
Denis Scar
Участник со стажем


Вступление в Клуб: 28.09.2007
СообщениеПн Ноя 26, 2007 13:16    Ответить с цитатой
Полезность: Нет оценки
Типа для инфы Smile
Интересно, если ли база ИБСО, которая работает без FIO Smile
Вроде все админы сталкивались и решали Wink
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Oracle DBA Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru