OCI8 Поддршка за известување за брза апликација (FAN)
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
OCI8 Поддршка за известување за брза апликација (FAN)
Референца за `oci8.fan.php` со подобрена типографија и навигација.
OCI8 Поддршка за известување за брза апликација (FAN)
FAN поддршката обезбедува брзо префрлување на врската, функција за висока достапност на Oracle Database. Ова им овозможува на PHP OCI8 скриптите да бидат известени кога машината за базата на податоци или инстанцата на базата на податоци станува недостапна. Без FAN, OCI8 може да се замрзне додека не се случи TCP тајмаут и не се врати грешка, што може да трае неколку минути. Овозможувањето на FAN во OCI8 може да им овозможи на апликациите да откриваат грешки и повторно да се поврзат со достапна инстанца на базата на податоци без корисникот на веб-страницата да биде свесен за прекин.
FAN поддршката е достапна кога клиентските библиотеки на Oracle со кои се поврзува PHP и Oracle Database се верзија 10gR2 или понова.
FAN им користи на корисниците на технологијата за кластерирање на Oracle (RAC) бидејќи врските со преживеаните инстанци на базата на податоци можат веднаш да се направат. Корисниците на Oracle Data Guard со брокер ќе ги видат FAN настаните генерирани кога резервната база на податоци ќе стане активна. Самостојните бази на податоци ќе испраќаат FAN настани кога базата на податоци ќе се рестартира.
За активни врски, кога машина или инстанца на базата на податоци станува недостапна, грешка за прекин на врската ќе биде вратена од тековно повиканата функција на OCI8 екстензијата. При последователно повторно поврзување на PHP скрипта, ќе се воспостави врска со преживеана инстанца на базата на податоци. OCI8 екстензијата исто така транспарентно ги чисти сите неактивни врски погодени од прекин на машината или инстанцата на базата на податоци, така што повиците за поврзување на PHP ќе воспостават нова врска без скриптата да биде свесна за каков било прекин на услугата.
Кога oci8.events
is On, се предлага да се постави oci8.ping_interval
на -1 за да се оневозможи пингувањето, бидејќи овозможувањето на FAN настани обезбедува проактивно управување со врските на неактивните врски направени невалидни од прекин на услугата.
За да ја овозможите FAN поддршката во PHP OCI8, изградете го PHP OCI8 со Oracle 10gR2 или понови библиотеки, а потоа следете ги овие чекори:
-
Како привилегиран администратор на базата на податоци, користете програма како SQL*Plus за да овозможите услугата на базата на податоци да објавува FAN настани, на пример:
SQL> execute dbms_service.modify_service( SERVICE_NAME => 'sales', AQ_HA_NOTIFICATIONS => TRUE); -
Уредете го php.ini и додадете
oci8.events = On - Ако апликацијата веќе не обработува OCI8 услови за грешки, изменете ја за да открива прекини и да преземе соодветни дејства. Ова може да вклучува повторно поврзување и повторно извршување на изјавите.
- Стартирајте ја апликацијата, поврзувајќи се со Oracle Database 10gR2 или понова.