Παρασκευή 5 Φεβρουαρίου 2016

Δυναμικες Μεταβλητες Περιβαλλοντος (Oracle)


Στο άρθρο αυτό θα μιλήσουμε για τις δυναμικές μεταβλητές περιβάλλοντος των oracle βάσεων δεδομένων. Υπάρχουν μεταβλητές μέσα στην βάση που αλλάζουν δυναμικά χωρίς να χρειαστεί να ανεβοκατέβει το instance της βάσης, πολύ χαρακτηριστικές και χρήσιμες τέτοιες μεταβλητές είναι οι παρακάτω:

LOCAL_LISTENER είναι μια μεταβλητή η οποία χρησιμοποιείτε για να οριστεί ο listener στον οποίο θα ακούει η βάση.

Περιγραφή Παραμέτρου:
LOCAL_LISTENER
Τύπος Παραμέτρου: Αλφαριθμητικό
Σύνταξη LOCAL_LISTENER = 'listener_alias'
Default Τιμή: ‘’
Τροποποιείτε με: ALTER SYSTEM
Βασική: Όχι (αν δεν οριστεί η βάση γίνεται register με τον default listener στο 1521 )

SQL> alter system set local_listener='listener_alias'

Σε ένα μηχάνημα που έχουμε πολλές βάσεις και listeners σε διαφορετικά Ports από το 1521(που είναι το default) θα πρέπει να ορίσουμε στην βάση την μεταβλητή LOCAL_LISTENER και βάζουμε το 'listener_alias' στο tnsnames.ora 

Αν θέλουμε να γίνει η βάση register πχ σε δύο Listeners η εγγραφή στο tnsnames θα είναι ως εξής:

listener_alias =
(description =
(address=(protocol=tcp)(host=host1)(port=1521))
(address=(protocol=tcp)(host=host1)(port=1522))
)
Τέλος τρέχουμε την παρακάτω εντολή για να καταχωρηθούν οι αλλαγές. Σε περίπτωση που δεν γίνουν δεκτές οι αλλαγές ανεβοκατεβάζουμε το instance (2.1)

SQL> alter system register;

JOB_QUEUE_PROCESSES είναι μια μεταβλητή η οποία χρησιμοποιείτε για να οριστεί ο αριθμός των jobs που μπορεί να τρέχουν ταυτόχρονα στην βάση.

Περιγραφή Παραμέτρου:
JOB_QUEUE_PROCESSES
Τύπος Παραμέτρου: Ακέραιος Αριθμός
Σύνταξη JOB_QUEUE_PROCESSES = integer
Default Τιμή: 1000
Τροποποιείτε με: ALTER SYSTEM
Βασική: Ναι
SQL> alter system set job_queue_processes = 1000 scope=both; 

Σε περίπτωση που θέλουμε να ανεβάσουμε μια βάση και να απενεργοποιήσουμε την δυνατότητα να τρέχει jobs, θα πρέπει να την ανεβάσουμε σε mount mode (2.1 παράγραφο) και να τρέξουμε την παρακάτω εντολή. Αυτό συνήθως απαιτείται όταν γίνεται restore η βάση σε ένα development ή σε ένα τεστ σύστημα και δεν θέλουμε να τρέξουν τα Jobs.

SQL> alter system set job_queue_processes = 0;
SQL> alter database open;


SGA_TARGET είναι μια μεταβλητή (η οποία εμφανίζεται από την έκδοση Oracle 10g και μετά) και η οποία μπορεί να χρησιμοποιηθεί για την αυτόματη αύξηση η μείωση της μνήμης RAM που θα χρησιμοποιήσει η βάση.

Περιγραφή Παραμέτρου:
SGA_TARGET
Τύπος Παραμέτρου: Μεγάλος Ακέραιος Αριθμός
Σύνταξη SGA_TARGET = integer [K | M | G]
Default Τιμή: 0
Τροποποιείτε με : ALTER SYSTEM
Βασική: Ναι

SQL>alter system set sga_target='800M' scope=spfile;


MEMORY_TARGET είναι μια μεταβλητή (η οποία εμφανίζεται από την έκδοση Oracle 11g και μετά) και η οποία μπορεί να χρησιμοποιηθεί για τον ορισμό και τον αυτόματο χειρισμό της μνήμης RAM που θα χρησιμοποιεί η βάση. 

Περιγραφή Παραμέτρου:
MEMORY_TARGET
Τύπος Παραμέτρου: Μεγάλος Ακέραιος Αριθμός
Σύνταξη MEMORY_TARGET = integer [K | M | G]
Default Τιμή: 0
Τροποποιείτε με : ALTER SYSTEM
Βασική: OXI Πεδίων Τιμών: 152 MB μέχρι το μέγεθος της στατικής μεταβλητής
MEMORY_MAX_TARGET (παρ. 4.3.2)

SQL>alter system set memory_target='800M' SCOPE=both;

Η MEMORY_TARGET μεταβλητή μας προσφέρει:
Μια μοναδική παράμετρος για το συνολικό μέγεθος SGA και PGA
Αυτόματο καθορισμό SGA και PGA
Η μνήμη μεταφέρετε εκεί που χρειάζεται περισσότερο
Χρησιμοποιεί πληροφορίες φόρτου
Χρησιμοποιεί εσωτερικές συμβουλευτικές προβλέψεις
Μπορεί να ενεργοποιηθεί κατά την δημιουργία της βάσης μέσω DBCA

Χρησιμοποιώντας την συγκεκριμένη παράμετρο δεν χρειάζεται να χρησιμοποιήσουμε παραμέτρους σχετικές με SGA και PGA όπως οι ακόλουθες DB_CACHE_SIZE, SHARED_POOL_SIZE, 
LARGE_POOL_SIZE,JAVA_POOL_SIZE,PGA_AGGREGATE_TARGET

Τέσσερα πιο περισσότερο κοινά στοιχεία που ορίζουν το size, ρυθμίζονται πλέον αυτόματα με την συγκεκριμένη μεταβλητή : Shared Pool, Large Pool, Java Pool, Pga_Aggregate_Target, STATISTICS_LEVEL πρέπει να είναι TYPICAL, Buffer Cache(DEFAULT buffer pool)

SEC_CASE_SENSITIVE_LOGON είναι μια μεταβλητήοποία εμφανίζεται από την έκδοση Oracle 11g και μετά) και η οποία μπορεί να χρησιμοποιηθεί για την ενεργοποίηση της δυνατότητας τα passwords των χρηστών να είναι case sensitive.

Περιγραφή Παραμέτρου:
SEC_CASE_SENSITIVE_LOGON
Τύπος Παραμέτρου: TRUE/FALSE
Σύνταξη SEC_CASE_SENSITIVE_LOGON=False
Default Τιμή: TRUE
Τροποποιείτε με : ALTER SYSTEM
Βασική: Ναι

SQL>alter system set sec_case_sensitive_logon =false;


0 σχόλια:

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