Grunnleggende om brukere og skjemaer i Oracle 12c

September 20  by Eliza

Brukere ikke bare tilgang til data i Oracle 12c databaser, men de eier gjenstandene som inneholder dataene. Det sett av objekter som eies av brukeren er dens skjema. Ikke alle brukere eier gjenstander, så skjemaer kan være tom.

Andre brukere kan få tilgang til eller utføre objekter innenfor en brukers skjema etter skjemaeieren gir privilegier. Det er vanlig praksis å ha en bruker eier alle programobjekter (tabeller, indekser, visninger, og så videre), og deretter gi tilgang til disse objektene til alle applikasjons brukere i databasen. Dette gjøres via database tilskudd, roller og synonymer.

For eksempel, anta at du har ACME programmet. Du vil opprette en bruker som heter ACME_OWN og lage alle objekter som ACME_OWN. Så du vil opprette en database rolle kalt ACME_USER og gi SELECT, UPDATE, EXECUTE for objektene i ACME_OWN er skjema til den rollen.

Applikasjons brukerne ville bli innvilget ACME_USER rolle slik at de kunne få tilgang til ACME_OWN formål. Denne måten, ett brukeren eier gjenstandene, men selve databasen eller applikasjonsbrukerne tilgang til dataene. Dette skillet forbedrer både sikkerhet og administrasjon.

Brukere faller inn under en av to kategorier:

  • Applikasjons eiere som skjemaer inneholde flere objekter
  • Applikasjons brukere med få eller ingen gjenstander

Syntaksen for hver bruker etableringen er den samme, men tilskudd og privilegier for hver er hva skiller de to kategoriene.

Her er syntaksen for å opprette en bruker:

Opprett bruker <BRUKERNAVN>
Identifisert av "<PASSORD>"
MIDLERTIDIG TABLE <MIDLERTIDIG TABLE>
STANDARD TABLE <STANDARD TABLSPACE>;

For brukernavn, bruke noe beskrivende (for eksempel DATABASE TITTEL _OWN) for eieren av objekter for søknaden. Hvis en tilkobling samlet nettbruker kommer til å få tilgang til programmet, er et navn føyd med _WEB hensiktsmessig. Normale applikasjons brukere bør være beskrivende, slik som fornavn, siste innledende; et eksempel er VICKYB.

Passordet for brukeren bør ha følgende egenskaper:

  • Være mer enn åtte tegn
  • Inneholde tall og spesialtegn
  • Ikke være basert på ordbok ord
  • Bruk store og små bokstaver

Plassere passord i doble anførselstegn ("") gjør at spesialtegn uten å forstyrre Structured Query Language (SQL) syntaks.

To tabell må identifiseres når du oppretter en bruker: midlertidig og standard:

  • Den midlertidige tabell er der midlertidige segmenter er opprettet. TEMP er standard.
  • STANDARD tabell er der TABLE objekter (for eksempel tabeller eller indekser) er opprettet hvis du utelater TABLE lagring klausul under objektet skape uttalelse. Ideelt sett, viser hvert bord eller indeksopprettelse statement en tabell. Hvis en tabell mangler, disse objektene går til tabell definert som standard. Vanligvis blir BRUKERE tabell definert som standard.

En bruker trenger systemrettigheter for å kunne koble til databasen og opprette objekter. Innvilgelse av CREATE SESSION privilegium eller CONNECT rolle lar brukeren logge på databasen. Å gi en bruker den RESSURS rolle gjør det mulig for brukeren å opprette databaseobjekter.

I de følgende trinnene, oppretter du en bruker med SQL * Plus og tildeling av nødvendige roller og rettigheter for å koble til databasen:

  1. I SQL * Plus, skriver du følgende for å opprette en bruker:

    SYS @ dev12c> opprette bruker acme_own
    2 identifisert av "acme_own2013!"
    3 midlertidig tabell temp
    4 standard TABLE brukere;
    Bruker opprettet.

    I dette eksempelet er det brukerskjemaeieren ACME_OWN. Standardtabell er definert som BRUKERE selv om TABLE lagring klausulen er forventet å spesifisere ACME_DATA når objekter opprettes.

  2. Gi brukeren CONNECT og ressurs roller, slik at brukeren kan logge inn i databasen og opprette objekter:

    SYS @ dev12c> gi koble til acme_own;
    Grant lyktes.
    SYS @ dev12c> stipend ressurs til acme_own;
    Grant lyktes.

  3. Opprett en ny rolle:

    SYS @ dev12c> skape rolle acme_user;
    Rolle opprettet.
    SYS @ dev12c> gi skape økt for å acme_user;
    Grant lyktes.

    I dette eksemplet er ACME_USER opprettet. At brukeren skal motta objekt tilskudd fra ACME_OWN konto som objekter opprettes.

  4. Gi riktig INSERT, UPDATE, DELETE, og EXECUTE-rettigheter for hvert objekt til den andre rollen.

    Dette lar deg gi den rollen som har tilskuddene til hvert program bruker. Hver applikasjon bruker har da tilgang til ACME_OWN stedene. Dette sparer deg fra å måtte individuelt gi hver bruker tilgang til hvert objekt.

  5. Grant CREATE SESSION til den første rolle.

    Når brukerne får rollen, kan de logge seg på databasen.

Du kan opprette individuelle søknads brukere ved hjelp av SQL * Plus. Bruke Enterprise Manager Database Express for å opprette brukere:

  1. Velg Security → Brukere å komme til Create User.

    Grunnleggende om brukere og skjemaer i Oracle 12c

  2. Skriv inn brukernavn, profil og passord.

    VICKYB har standardprofil og passord autentisering. Passordet du skriver vises som stjerner; du må skrive det inn to ganger for å sikre at du ikke har skrevet det feil.

  3. Klikk på høyre pil for å gå til tabellskjermen.

    Velg den nye MY_DATA tabell som VICKYB standardtabell.

    Godta den midlertidige tabell - TEMP tabell standard.

    Grunnleggende om brukere og skjemaer i Oracle 12c

  4. Klikk på høyre pil for å gå til neste skjermbilde.

    Privilege vises. På venstre er systemrettigheter eller roller. Roller er merket med en hake. Du kan også se den nye brukeren med rollen CONNECT.

    Grunnleggende om brukere og skjemaer i Oracle 12c

  5. Når du er ferdig med å velge roller og rettigheter klikker OK.

    Brukeren blir laget.

Hvis du trenger flere applikasjons brukere, gjør du følgende:

  1. Fra hovedsikkerhetsskjermen, velger du brukeren du ønsker å bruke som mal.
  2. Klikk CREATE SOM knappen.

    Dette vil ta deg tilbake til Opprett bruker veiviseren med alternativene som allerede er valgt for å reflektere brukeren du kopierer.

  3. Lag en ny bruker med de samme roller og privilegier, men med et annet brukernavn og passord.

    På dette punktet har du et program skjemaeieren konto og en database rolle; innvilge objekt privilegier til denne rollen som du oppretter objekter. Du har også et program bruker med en rolle. Etter at programmet objektene er bygget og tilgang er gitt til den rollen, kan programmet brukeren tilgang til stedene.