Παρασκευή 4 Μαρτίου 2016

Oracle Tablespaces - Χρήσιμα scripts


Στο άρθρο αυτό θα μιλήσουμε για το πως μπορούμε να δημιουργήσουμε oracle tablespaces (λογικός χώρος όπου θα αποθηκεύοντε τα δεδομένα μας) και πως μπορούμε να τα διαχειριστούμε και να τα τροποποιήσουμε κατάλληλα. 

Δημιουργία Oracle Tablespace

             SQL> create tablespace BO_REP_DATA datafile
                       '/oradata/dbfiles/SSP/bo_rep_data.dbf'
                       size 50M
                       autoextend on next 50M
                       maxsize 30000M
                       logging
                       online
                       extent management local autoallocate
                       blocksize 8K
                       segment space management auto
                       flashback on;


Το μονοπάτι στο δίσκο όπου θα αποθηκεύονται τα δεδομένα πρέπει να οριστεί για linux (/oradata/dbfiles/SSP/bo_rep_data.dbf) ή για windows (H:\ORADATA\DBFILES\MPWDB\HERDS_APEX.DBF) λειτουργικό αναλόγως.

Προσθήκη Datafile σε Tablespace

         SQL> alter tablespace USERS add datafile                                                                                '/oradata2/dbfiles/PRTRS/TRS_TRANS_DATA_2009.dbf'
                    size 500M
                    autoextend on
                    next 50M
                    maxsize 20000M


Προσθήκη καινούργιου datafile στο tablespace USERS μεγέθους 500ΜΒ το οποίο γίνεται autoextend όταν φτάσει στο όριό του αυτόματα κατά 50 ΜΒ κάθε φορά και μπορεί να φτάσει μέχρι τα 20GB.

Αλλαγή θέσης Datafile στο file system

         SQL> alter database rename file 
                  '/oradata/dbfiles/PRTRS/trs_trans_data_2007.dbf' to                                                   '/oradata2/dbfiles/PRTRS/trs_trans_data_2007.dbf'

Βάζουμε την βάση σε mount state (περιγράφετε στο 2.1) και εκτελούμε την παρακάτω εντολή με κάποιον χρήστη που να έχει δικαίωμα να το κάνει (DBA privileges)

Αφαίρεση δυνατότητας εγγραφής στοιχείων από χρήστη σε tablespace

        SQL> revoke resourse role;
                 (για να μην μπορεί να γράψει σε όλα τα tablespaces εκτός από τα defaults)
       SQL> alter user DERIVPROD quota 0M on system;
                (για να μην μπορεί να γράψει στο συγκεκριμένο tablespace)


0 σχόλια:

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