U maakt een gebruiker aan in Oracle 10g met behulp van de opdracht `CREATE USER`. Hier is de basissyntaxis en enkele belangrijke overwegingen:
Basissyntaxis:
```sql
CREËER GEBRUIKER gebruikersnaam GEIDENTIFICEERD DOOR wachtwoord;
```
* `gebruikersnaam` :De naam die u de nieuwe gebruiker wilt geven. Dit moet de identificatieregels van Oracle volgen (alfanumeriek, maximaal 30 tekens, beginnend met een letter).
* `wachtwoord` :Het wachtwoord voor de nieuwe gebruiker. Oracle stelt vereisten voor wachtwoordcomplexiteit; een zwak wachtwoord kan worden afgewezen.
Voorbeeld:
```sql
MAAK GEBRUIKER john_doe GEIDENTIFICEERD DOOR MySecurePassword123;
```
Rechten toekennen:
Een nieuw aangemaakte gebruiker heeft geen rechten. U moet hen expliciet de benodigde machtigingen verlenen voor toegang tot databaseobjecten. Dit wordt gedaan met behulp van het commando `GRANT`.
Om de gebruiker `john_doe` bijvoorbeeld de mogelijkheid te geven verbinding te maken met de database en tabellen te maken:
```sql
VERLEEN CONNECT, MIDDELEN AAN john_doe;
```
* `VERBINDEN` :Hiermee kan de gebruiker verbinding maken met de database.
* `BRON` :Hiermee kan de gebruiker tabellen, indexen, enz. maken. Dit is een algemeen privilege voor algemene gebruikers.
Andere belangrijke clausules:
* `STANDAARD TABLESPACE` :Specificeert de standaardtabelruimte voor de gegevens van de gebruiker. Als dit wordt weggelaten, wordt standaard de systeemtabelruimte gebruikt (wat over het algemeen moet worden vermeden voor nieuwe gebruikers).
* `TIJDELIJKE TAFELRUIMTE` :Specificeert de tabelruimte voor tijdelijke tabellen die door de gebruiker worden gebruikt.
* `QUOTA` :Stelt een opslagquotum in (in MB of K) voor de gebruiker binnen een specifieke tabelruimte. Dit voorkomt dat de gebruiker overmatig schijfruimte in beslag neemt.
* `PROFIEL` :wijst een profiel toe aan de gebruiker, waarmee het resourceverbruik (CPU-tijd, geheugen, enz.) kan worden beperkt. Profielen zijn handig voor het beheren van het bronnengebruik van meerdere gebruikers.
Voorbeeld met aanvullende clausules:
```sql
MAAK GEBRUIKER jane_doe
GEÏDENTIFICEERD DOOR AnotherSecurePassword
STANDAARD TABLESPACE-gebruikers
TIJDELIJKE TAFELRUIMTE temp
QUOTA 100 miljoen AAN gebruikers
PROFIEL standaard;
```
Hierdoor wordt een gebruiker 'jane_doe' aangemaakt met een quotum van 100 MB in de tabelruimte 'users'. Het gebruikt de tabelruimte 'users' voor gegevens en 'temp' voor tijdelijke gegevens. Het gebruikt ook het standaardprofiel.
Belangrijke beveiligingsoverwegingen:
* Sterke wachtwoorden: Gebruik sterke, unieke wachtwoorden die moeilijk te raden zijn.
* Wachtwoordbeheer: Codeer wachtwoorden niet hard in scripts. Overweeg het gebruik van de wachtwoordbeheertools of besturingssysteemmechanismen van Oracle om wachtwoorden veilig op te slaan en te beheren.
* Privilegeprincipe: Geef gebruikers alleen de rechten die ze absoluut nodig hebben om hun taken uit te voeren. Vermijd het verlenen van buitensporige privileges zoals 'DBA', tenzij dit absoluut noodzakelijk is.
* Regelmatige audits: Controleer regelmatig de gebruikersaccounts en rechten om er zeker van te zijn dat ze nog steeds geschikt zijn.
Een gebruiker verwijderen:
Om een gebruiker (en alle bijbehorende objecten) te verwijderen, gebruikt u het commando `DROP USER`:
```sql
DROP GEBRUIKER john_doe CASCADE;
```
De `CASCADE`-clausule is van cruciaal belang; het zorgt ervoor dat alle objecten die eigendom zijn van de gebruiker ook worden verwijderd. Zonder `CASCADE` zal het neerzetten mislukken als de gebruiker eigenaar is van objecten.
Vergeet niet om altijd verbinding te maken als een gebruiker met de benodigde rechten (bijvoorbeeld `sysdba` of een gebruiker met het `CREATE USER`-recht) om deze opdrachten uit te voeren. Maak altijd een back-up van uw database voordat u belangrijke schemawijzigingen aanbrengt. |