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;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;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;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;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/Password124Når den er koblet til, lag en tabell:
Lag tabellprøve_data (Neste, gå ut av Pythons brukerøkt.
SQL> Koble fraI 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:For å fjerne Python -brukeren, må vi derfor først slippe den tilknyttede tabellen eller spesifisere kaskadealternativet som følger:
SQL> Drop bruker Python Cascade;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.