Kaip išjungti paleidiklį „Oracle“.

Kaip Isjungti Paleidikli Oracle



Duomenų bazės paleidikliai arba trumpiau paleidikliai reiškia saugomas procedūras, kurios vykdomos kaip atsakas į įvykio veiklą duotame duomenų bazės objekte.

Tai skiriasi nuo standartinių saugomų procedūrų, kurioms reikalingas aiškus vartotojo iškvietimas. Kadangi aktyvikliai yra automatizuoti, jie suaktyvinami arba suaktyvinami įvykus nurodytam įvykiui, neatsižvelgiant į prisijungusio vartotojo ar serverio būseną.







Dauguma reliacinių duomenų bazių palaiko trigerių naudojimą, kad būtų galima atlikti automatizuotas užduotis, tokias kaip negaliojančių operacijų prevencija, įvykių registravimas, lentelės prieigos statistikos gavimas ir įrašymas ir kt.



Sukūrus aktyviklį, jis visada paleidžiamas, kai įvyksta susijęs įvykis. Tačiau galbūt norėsite laikinai arba visam laikui neleisti paleisti aktyviklio. Čia pradeda veikti trigerio išjungimo funkcija.



Šiame įraše bus aptariami greiti ir lengvi veiksmai, kaip išjungti paleidiklį „Oracle“ duomenų bazėje. Jei nesate „Oracle“ aktyvikliai ir norite sužinoti, kaip juos sukurti, patikrinkite šią nuorodą:





https://linuxhint.com/oracle-create-trigger

Bandymo aktyviklio sukūrimas

Prieš aptardami aktyviklio išjungimo būdus, nustatykime pavyzdinį paleidiklį demonstravimo tikslais.



PASTABA : Šiame skyriuje nekalbama apie tai, kaip apibrėžti arba naudoti duomenų bazės paleidiklius.

Norime sukurti aktyviklį, kuris registruoja vartotojo veiklą po ištrynimo operacijos. Pavyzdžiui, tarkime, kad turime lentelę sample_data su informacija, kaip parodyta:

Pirmiausia turime sukurti lentelę, kurioje saugome kiekvienos ištrynimo veiklos žurnalus.

Lentelės schema yra tokia:

sukurti lentelę sample_data_logs(
asmens tapatybės dokumento numeris,
vardas varchar2(50),
ip_adresas varchar2(20),
btc_address varchar2(50),
credit_card varchar2(50),
identifikatorius varchar2(40),
delete_date data,
ištrintas_varchar2(20)
);

Tada turime apibrėžti trigerį, kuris vykdomas po ištrynimo įvykio. Trigerio apibrėžimas pateikiamas taip:

sukurti arba pakeisti trigerį log_user
po ištrynimo
ant sample_data
kiekvienai eilutei
deklaruoti
action_username varchar2(20);
pradėti
pasirinkti vartotoją į action_username iš dviejų;
įterpti į sample_data_logs
reikšmės (:OLD.id,
:OLD.vardas,
:OLD.ip_adresas,
:OLD.btc_adresas,
:OLD.kredito_kortelė,
:OLD.identifikatorius,
sysdate,
action_username);
galas;

Norėdami išbandyti aktyviklį, atlikime ištrynimo operaciją iš sample_data lentelės, kaip parodyta:

ištrinti iš sample_data, kur id = 1;

Galiausiai galime patikrinti žurnalų lentelę, kad įsitikintume, jog ištrynimo operacija buvo įrašyta:

pasirinkite * iš sample_data_logs;

Išvestis:

Kaip matome, lentelėje yra ankstesnių duomenų įrašas prieš ištrynimą, taip pat vartotojo vardas, kuris atliko ištrynimo veiklą, ir ištrynimo laikas.

Tolesniuose skyriuose parodysime, kaip išjungti ankstesnį aktyviklį. Prieš tai darydami įsitikinkite, kad tikslinis aktyviklis veikia ir turite pakankamai teisių jį įjungti arba išjungti.

Išjunkite trigerį naudodami PL/SQL

Pirmasis ir paprasčiausias būdas išjungti trigerį yra naudoti SQL sakinį. Laimei, „Oracle“ pateikia mums ALTER TRIGGER teiginį, kurio sintaksė pateikiama taip:

ALTER TRIGGER trigerio_pavadinimas IŠJUNGTI;

Pavyzdžiui, norėdami išjungti anksčiau sukurtą log_user aktyviklį, galime atlikti šiuos veiksmus:

alter trigger log_user disable;

Įvykdytas aktyviklis nebesaugos senų duomenų ir naudotojo, kuris ištrynė, kopijos, kaip parodyta toliau:

ištrinti iš sample_data, kur id = 2;

Patikrinkite žurnalus:

pasirinkite * iš sample_data_logs;

Išvestis:

Kaip matome, vis dar turime tik vieną rekordą.

Išjunkite trigerį naudodami SQL kūrėją

Galime naudoti „SQL Developer“ įrankį, kad išjungtume trigerį grafinėje sąsajoje. Pradėkite prisijungę prie SQL kūrėjo.

Eikite į skiltį „Suaktyvikliai“:

Išplėskite trigerių katalogą ir suraskite trigerį, kurį norite išjungti. Dešiniuoju pelės mygtuku spustelėkite aktyviklio pavadinimą ir pasirinkite „Išjungti“.

Patvirtinkite operaciją „Išjungti“ ir spustelėkite „Taikyti“.

Išjungus, „Oracle“ paleidžia gaiduką pilka spalva, nurodydama, kad jis neaktyvus.

Išvada

Šiame straipsnyje buvo nagrinėjama, kaip išjungti „Oracle“ aktyviklį naudojant PL/SQL sakinius ir „SQL Developer“ priemonę.