Kuidas Oracle'is päästikut keelata

Kuidas Oracle Is Paastikut Keelata



Andmebaasi käivitajad või lühidalt päästikud viitavad salvestatud protseduuridele, mis käivitatakse vastusena sündmuse tegevusele antud andmebaasiobjektis.

See erineb tavapärastest salvestatud protseduuridest, mis nõuavad kasutaja selgesõnalist kutsumist. Kuna päästikud on automatiseeritud, siis need käivituvad või käivituvad määratud sündmuse toimumisel, sõltumata ühendatud kasutaja või serveri olekust.







Enamik relatsiooniandmebaase toetab päästikute kasutamist automatiseeritud toimingute tegemiseks, nagu kehtetute tehingute vältimine, sündmuste logimine, tabeli juurdepääsustatistika toomine ja salvestamine ja palju muud.



Kui päästik on loodud, käivitub see alati, kui seotud sündmus toimub. Siiski võite soovida ajutiselt või püsivalt takistada päästiku käivitamist. Siin hakkab mängima päästiku keelamise funktsioon.



See postitus käsitleb kiireid ja lihtsaid samme Oracle'i andmebaasis päästiku keelamiseks. Kui olete Oracle'i päästikutega uustulnuk ja soovite teada, kuidas neid luua, vaadake järgmist linki:





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

Testpäästiku loomine

Enne kui arutleme päästiku keelamise meetodite üle, seadistame näidispäästiku demonstratsiooni eesmärgil.



MÄRGE : see jaotis ei käsitle andmebaasi käivitajate määratlemist või kasutamist.

Soovime luua päästiku, mis logib kasutaja tegevuse pärast kustutamistoimingut. Oletame näiteks, et meil on tabel sample_data järgmise teabega:

Kõigepealt peame looma tabeli, kuhu salvestame iga kustutamistegevuse logid.

Tabeli skeem on järgmine:

loo tabel sample_data_logs(
isikukood,
eesnimi varchar2(50),
ip_aadress varchar2(20),
btc_address varchar2(50),
credit_card varchar2(50),
identifikaator varchar2(40),
delete_date kuupäev,
kustutatud_varchar2(20)
);

Järgmisena peame määratlema päästiku, mis käivitatakse pärast kustutamissündmust. Päästiku definitsioon on esitatud järgmiselt:

loo või asenda päästik log_user
pärast kustutamist
kohta sample_data
iga rea ​​jaoks
kuulutama
tegevuse_kasutajanimi varchar2(20);
alustada
vali kasutaja duaalist tegevuse_kasutajanimi;
sisestage kausta sample_data_logs
väärtused (:OLD.id,
:VANA.eesnimi,
:VANA.ip_aadress,
:VANA.btc_aadress,
:VANA.krediitkaart,
:VANA.identifikaator,
sysdate,
action_username);
lõpp;

Päästiku testimiseks teeme tabelis sample_data kustutamistoimingu, nagu näidatud:

kustutage failist sample_data, kus id = 1;

Lõpuks saame kontrollida logide tabelit veendumaks, et kustutamistoiming on salvestatud:

vali * sample_data_logs;

Väljund:

Nagu näeme, on tabelis eelmiste andmete kirje enne kustutamist, samuti kustutamistoimingu sooritanud kasutajanimi ja kustutamise aeg.

Järgmistes jaotistes näitame, kuidas eelmine päästik keelata. Enne seda veenduge, et teie sihtpäästik töötab ja teil on selle lubamiseks või keelamiseks piisavad õigused.

Keelake PL/SQL-i kasutav päästik

Esimene ja kõige lihtsam meetod päästiku keelamiseks on SQL-lause kasutamine. Õnneks pakub Oracle meile avalduse ALTER TRIGGER, mille süntaks on järgmine:

ALTER TRIGGER päästiku_nimi DISABLE;

Näiteks varem loodud päästiku log_user keelamiseks saame käivitada järgmise:

muuda päästikut log_user disable;

Pärast käivitamist ei säilita päästik enam koopiaid vanadest andmetest ja kasutajast, kes kustutas, nagu on näidatud järgmises.

kustutage failist sample_data, kus id = 2;

Kontrollige logisid:

vali * sample_data_logs;

Väljund:

Nagu näeme, on meil endiselt ainult üks rekord.

Keelake päästik SQL Developeri abil

Graafilise liidese päästiku keelamiseks saame kasutada utiliiti SQL Developer. Alustuseks logige sisse SQL-i arendajasse.

Liikuge jaotisse „Päästikud”:

Laiendage päästikute kataloogi ja leidke päästik, mille soovite keelata. Paremklõpsake päästiku nimel ja valige 'Keela'.

Kinnitage toiming 'Keela' ja klõpsake 'Rakenda'.

Kui see on keelatud, muudab Oracle päästiku halliks, mis näitab, et see pole aktiivne.

Järeldus

Selles artiklis uuriti, kuidas keelata Oracle'i päästik PL/SQL-lausete ja SQL Developeri utiliidi abil.