sql >> Database >  >> RDS >> Oracle

Een gebruiker maken en machtigingen verlenen in Oracle

Maak zoals altijd eerst verbinding met uw server waar Oracle wordt gehost en maak vervolgens verbinding met Oracle zelf als het SYSTEM account.

Het SYSTEM account is een van de weinige vooraf gedefinieerde beheerdersaccounts die automatisch worden gegenereerd wanneer Oracle wordt geïnstalleerd. SYSTEM is in staat om de meeste administratieve taken uit te voeren, maar de taak waarin we vooral geïnteresseerd zijn, is accountbeheer.

Een gebruiker aanmaken

Eenmaal verbonden als SYSTEM , geef gewoon de CREATE USER commando om een ​​nieuw account aan te maken.

CREATE USER books_admin IDENTIFIED BY MyPassword;

Hier maken we gewoon een books_admin account dat IDENTIFIED is of geverifieerd door het opgegeven password .

De subsidieverklaring

Met onze nieuwe books_admin account gemaakt, kunnen we nu beginnen met het toevoegen van privileges aan het account met behulp van de GRANT uitspraak. GRANT is een zeer krachtig statement met veel mogelijke opties, maar de kernfunctionaliteit is het beheren van de privileges van beide users en roles door de hele database.

Rollen verstrekken

Meestal wilt u eerst rechten toewijzen aan de gebruiker door het account aan verschillende rollen te koppelen, te beginnen met de CONNECT rol:

GRANT CONNECT TO books_admin;

In sommige gevallen kunt u, om een ​​krachtigere gebruiker te creëren, ook overwegen de RESOURCE . toe te voegen rol (waardoor de gebruiker benoemde typen voor aangepaste schema's kan maken) of zelfs de DBA rol, waarmee de gebruiker niet alleen aangepaste benoemde typen kan maken, maar ze ook kan wijzigen en vernietigen.

GRANT CONNECT, RESOURCE, DBA TO books_admin;

Bevoegdheden toewijzen

Vervolgens moet u ervoor zorgen dat de gebruiker privileges heeft om daadwerkelijk verbinding te maken met de database en een sessie te maken met behulp van GRANT CREATE SESSION . We zullen dat ook combineren met alle privileges met behulp van GRANT ANY PRIVILEGE .

GRANT CREATE SESSION GRANT ANY PRIVILEGE TO books_admin;

We moeten er ook voor zorgen dat onze nieuwe gebruiker schijfruimte in het systeem heeft toegewezen om tabellen en gegevens daadwerkelijk te maken of te wijzigen, dus we zullen GRANT TABLESPACE zoals zo:

GRANT UNLIMITED TABLESPACE TO books_admin;

Tabelrechten

Hoewel dit normaal gesproken niet nodig is in nieuwere versies van Oracle, kunnen sommige oudere installaties vereisen dat u handmatig de toegangsrechten opgeeft die de nieuwe gebruiker heeft tot een specifiek schema en databasetabellen.

Als we bijvoorbeeld willen dat onze books_admin gebruiker de mogelijkheid hebben om SELECT . uit te voeren , UPDATE , INSERT , en DELETE mogelijkheden op de books tabel, kunnen we de volgende GRANT uitvoeren:verklaring:

GRANT
  SELECT,
  INSERT,
  UPDATE,
  DELETE
ON
  schema.books
TO
  books_admin;

Dit zorgt ervoor dat books_admin kan de vier basisinstructies uitvoeren voor de books tabel die deel uitmaakt van het schema schema.


  1. Foutbericht 7325 in SQL Server oplossen:"Objecten die kolommen met CLR-typen weergeven, zijn niet toegestaan ​​in gedistribueerde query's"

  2. Wat is sneller, SELECT DISTINCT of GROUP BY in MySQL?

  3. Fix Msg 529 "Expliciete conversie van gegevenstype int naar xml is niet toegestaan" in SQL Server

  4. SQL, gegevens aan een tabel toevoegen