Oracle drop -brukere

Oracle drop -brukere
Som databaseadministrator vil du møte slike forekomster der det er gunstig å fjerne en spesifikk bruker fra en Oracle -database, uansett om du prøver å rydde opp i databasen og fjerne ugyldige objekter eller optimalisere databaseytelsen din.

Dette innlegget vil diskutere hvordan du kan bruke Drop -brukerkommandoen i Oracle for å slette en gitt bruker fra databasen.

Oracle Drop -brukeruttalelse

Som nevnt, lar Drop -brukerkommandoen deg fjerne en brukerkonto fra databasen. Dette inkluderer også å fjerne alle tilknyttede skjemaobjekter fra databasen.

Følgende er et kodebit som demonstrerer syntaks for Drop -brukerkommandoen i Oracle -serveren:

Drop Username [Cascade];

Vi starter med å påkalle drop -brukerkommandoen, etterfulgt av brukernavnet til brukeren som vi ønsker å fjerne fra databasen.

Kaskadealternativet lar Oracle fjerne alle tilknyttede skjemaobjekter som tabeller, visninger, funksjoner osv., for den brukeren.

Du kan også overvinne dette ved å fjerne alle koblede skjemaobjekter før du fjerner brukerkontoen. For enkelhets skyld, bruk kaskadealternativet og la databasemotoren fjerne de tilhørende skjemaobjektene før du slipper målbrukerkontoen.

I noen tilfeller kan Oracle unnlate å fjerne skjemaobjektene hvis andre objekter i databasen refererer til dem. I et slikt tilfelle ugyldiggjør Oracle bare målreferansene før du fjerner brukeren. Dette frigjør målkontoen for fjerning uten begrensning eller feil.

Husk at dette kan påvirke de forskjellige objektene som materialiserte visninger. Tilsvarende vil ikke databasemotoren fjerne rollene som ble opprettet av målbrukeren.

Eksempel Drop brukerkommandoillustrasjon

Følgende er eksempler som viser hvordan du slipper en databasebruker i Oracle.

Opprett en databasebruker

Begynn med å logge deg på Oracle -databasen og opprett en ny bruker:

$ sqlplus sys som sysdba;
SQL*Plus: Utgivelse 19.0.0.0.0 - Produksjon lørdag 26. november 02:53:44 2022
Versjon 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. Alle rettigheter forbeholdt.
Oppgi passord:
Koblet til:
Oracle Database 19C Enterprise Edition Release 19.0.0.0.0 - Produksjon
Versjon 19.3.0.0.0

Når du er logget inn på serveren, oppretter du en bruker for demonstrasjonsformål. Du kan hoppe over dette trinnet hvis du allerede har en målbruker som du ønsker å fjerne.

SQL> Opprett bruker Python identifisert av Password124;
Bruker opprettet.

Den forrige kommandoen oppretter en bruker uten skjemaobjekter. I dette tilfellet kan vi kjøre Drop -brukerkommandoen uten å få noen feil eller først fjerne de tilknyttede objektene.

Eksempel 1: Oracle Fjern brukeren uten tilhørende skjemaobjekter

I dette eksemplet demonstrerer vi hvordan du fjerner en bruker uten noen koblede skjemaobjekter ved å ringe Drop -brukerkommandoen som følger:

SQL> Drop bruker Python;
Bruker droppet.

Som du ser fjernet vi Python -brukeren uten å fjerne skjemaobjektene eller ringe kaskadeparameteren.

Eksempel 2: Oracle Fjern brukeren med skjemaobjekter

For å demonstrere hvordan du bruker Drop -brukerkommandoen på en bruker med tilhørende skjemaobjekter, la oss starte med å opprette en bruker med tillatelser for å lage en tabell og økt.

Et eksempel på uttalelsen er som følger:

SQL> Opprett bruker Python identifisert av Password124 Kvote ubegrenset på brukere;
Bruker opprettet.
SQL> Grant Create Table, Create Session to Python;
Grant lyktes.

De tidligere uttalelsene en Python -bruker med en ubegrenset kvote på brukernes tabell. Siden dette er en testkonto, kan du angi hvilken som helst nødvendig kvotestørrelse.

Når brukeren er satt opp, logg inn som den kontoen og oppretter en ny tabell som følger:

SQL> Connect Python/Password124
Tilkoblet.

Når den er koblet til, lag en tabell:

Lag tabellprøve_data (
ID-nummer,
First_name varchar2 (50),
IP_ADDRESS VARCHAR2 (20),
BTC_ADDRESS VARCHAR2 (50),
Credit_card varchar2 (50),
Identifikator varchar2 (40),
Begrensningsprøve_pk Primærnøkkel (ID)
);

Neste, gå ut av Pythons brukerøkt.

SQL> Koble fra
Koblet fra
SQL> Connect Sys som sysdba
Oppgi passord:
Tilkoblet.

I dette tilfellet, hvis vi prøver å fjerne Python -brukeren ved å ringe Drop -brukerkommandoen, får vi en melding som forteller oss at vi trenger å kaskade de tilknyttede objektene som følger:

SQL> Drop bruker Python;

Feilmelding:

Feil på linje 1:
ORA-01922: Kaskade må spesifiseres for å slippe 'Python'

For å fjerne Python -brukeren, må vi derfor først slippe den tilknyttede tabellen eller spesifisere kaskadealternativet som følger:

SQL> Drop bruker Python Cascade;
Bruker droppet.

I slike tilfelle kan Oracle fjerne brukeren og de relaterte skjemaobjektene.

Konklusjon

I dette innlegget diskuterte og illustrerte vi bruken av Drop -brukerkommandoen i Oracle -databaser. Bruk drop -brukerkommandoen for å fjerne en bruker uten tilknyttede skjemaobjekter fra databasen. Hvis brukeren har koblet skjemaobjekter, kan du inkludere Cascade -alternativet for å fjerne brukeren og de relaterte objektene.