Δευτέρα 11 Απριλίου 2016

Oracle - Χρήστες/Users Βάσης Δεδομένων



Στο άρθρο αυτό θα μιλήσουμε για τους χρήστες μιας βάσης Oracle. Θα δοθούν χρήσιμα scripts που αφορούν την δημιουργία χρηστών και την διαχείρισή τους.


1. Δημιουργία Χρήστη

SQL>create user db_user
          identified by <password>
          default tablespace users
          temporary tablespace temp
          profile default
          account unlock;



Όταν θέλουμε να δημιουργήσουμε έναν καινούργιο χρήστη θα πρέπει πρώτα να ορίζουμε το όνομα του χρήστη μαζί με το password του καθώς και το default tablespace στο οποίο θα μπορεί να γράφει. Μαζί ορίζουμε και το προφίλ ασφαλείας του χρήστη είμαστε έτοιμοι να προχωρήσουμε στην δημιουργία του.

SQL>drop user db_user cascade;

Για να σβήσουμε έναν χρήστη μαζί με τα δεδομένα του τρέχουμε την παραπάνω εντολή.


2. Δικαιώματα Χρηστών
 

SQL>grant execute on SYS.DBMS_MONITOR to db_user;

Όταν θέλουμε να δώσουμε την δυνατότητα σε ένα χρήστη να μπορεί να εκτελεί ενέργειες σε αντικείμενα (πίνακες, functions,procedure) άλλου χρήστη, εκτελούμε την παραπάνω εντολή και εκχωρούμε στον χρήστη το δικαίωμα να εκτελεί συγκεκριμένη ενέργεια. Οι ενέργειες που μπορούμε να εκχωρήσουμε είναι: ALTER, CREATE, DROP, DELETE, INSERT, SELECT, UPDATE, EXECUTE. 

SQL>revoke drop any table from db_user;


Για να αφαιρέσουμε κάποιο δικαίωμα από έναν χρήστη τρέχουμε την πιο πάνω εντολή.

3.Ρόλοι Χρηστών 

SQL>create role connect not identified;
          grant create session to connect;


Όταν θέλουμε να ομαδοποιήσουμε δικαιώματα τα οποία στην συνέχεια θα δοθούν σε μια ομάδα χρηστών τότε χρήσιμη είναι η δημιουργία ενός ρόλου. Δημιουργούμε τον ρόλο με την πρώτη εντολή και στην συνέχεια εκχωρούμε στον ρόλο δικαιώματα όπως στο 2.8.2 εκχωρούμε δικαιώματα σε χρήστη. Όπως περιγράφεται στο 2.8.2 μπορούμε να αφαιρέσουμε και δικαιώματα από έναν ρόλο. 

SQL>drop role connect;
Για να σβήσουμε έναν ρόλο τρέχουμε την παραπάνω εντολή.


4. Αλλαγή password χρήστη


SQL>alter user db_user identified by test


Όταν θέλουμε να αλλάξουμε το password ενός χρήστη εκτελούμε την παραπάνω εντολή όπου db_user είναι ο χρήστης που θέλουμε να αλλάξουμε το password και test είναι το νέο password που θέλουμε να του δώσουμε.


5. Script δημιουργίας χρηστών μαζί με τους κωδικούς πρόσβασης (Oracle 11g)


Για να μπορέσουμε στην 11g να πάρουμε από την βάση το script δημιουργίας των χρηστών της βάσης μαζί με τα κωδικοποιημένα passwords τρέχουμε με έναν λογαριασμό με ισχυρά δικαιώματα το παρακάτω:

SQL> set head off
           set pages 0
           set long 9999999
           select dbms_metadata.get_ddl('USER', username) || ';' usercreate from dba_users;



6. Στοιχεία Χρηστών Βάσης

Με το παρακάτω query βλέπουμε όλα τα στοιχεία των χρηστών-σχημάτων της βάσης (το τρέχουμε με ισχυρά δικαιώματα).

SQL> select * from sys.user$











0 σχόλια:

Δημοσίευση σχολίου