Toad for Oracle, Mysql, Sql server
Το καλύτερο εργαλείο για την διαχείριση των βάσεων. Πλέον κάτω από την ομπρέλα της Dell.
Ανοίξτε λογαριασμό στο site υποστήριξης της ORACLE(MOS-Metalink).
Η Oracle προσφέρει support και χρήσιμες πληροφορίες σε προβλήματα και bugs μέσω του συγκεκριμένου site.
Μπορείτε από το eDelivery της Oracle να κατεβάσετε Μysql και Oracle λογισμικό
Mysql μια open source βάση με support πλέον επι πληρωμή, από την Oracle.
Το support της microsoft για όλα τα προιόντα της
Χρήσιμες πληροφορίες-guides που αφορούν τόσο προβλήματα όσο και τρόπους εγκατάστασης του database λογισμικού.
Oracle Documentation
Εδώ υπάρχει το επίσημο documentation της Oracle.
Πέμπτη 4 Αυγούστου 2016
Κρυφές παράμετροι βάσης
Στο άρθρο αυτό θα μιλήσουμε για το query που εμφανίζει τις τιμές των κρυφών παραμέτρων μιας oracle βάσης.
SQL> select a.ksppinm name,b.ksppstvl value,b.ksppstdf deflt,
decode
(a.ksppity, 1,'boolean', 2,'string', 3,'number', 4,'file', a.ksppity) type,
a.ksppdesc description
from sys.x$ksppi a,sys.x$ksppcv b
where a.indx = b.indx and a.ksppinm like '\_%' escape '\'
order by name;
Default τιμές για τα προφίλ ασφαλείας των χρηστών
Στο άρθρο αυτό θα μιλήσουμε για τον τρόπο που μπορεί κάποιος να δει τις default τιμές που έχουν οριστεί σε μια βάση δεδομένων oracle. Στο query που ακολουθεί εμφανίζονται όλες οι default τιμές των profile ασφαλείας των χρηστών της βάσης .Το query το τρέχουμε με dba privileges.
SQL>select * from sys.dba_profiles;
Grant σε views ισχυρών λογαριασμών sys, system
Στο άρθρο αυτό θα μιλήσουμε για το πως μπορούμε να δώσουμε την δυνατότητα σε ένα χρήστη να δει τα περιεχόμενα συστεμικών πινάκων. Όταν επιθυμούμε να δώσουμε την δυνατότητα σε ένα χρήστη της βάσης να κάνει select από ένα συστεμικό view πχ v$session θα πρέπει να γίνει Grant το privilege στο πχ v_$session.
SQL>grant select on v_$session to hr;
MAIL - Ρύθμιση της βάσης ώστε να μπορεί να στείλει email (utl_mail)
Στο άρθρο αυτό θα μιλήσουμε για το πωσ μπορεί μια βάση δεδομένων oracle να ρυθμιστεί σωστά ώστε να μπορεί να στείλει email. Για να μπορέσει μια βάση να στείλει email θα πρέπει να εγκαταστήσουμε το πακέτο UTL_MAIL και να ορίσουμε κατάλληλα την παράμετρο SMTP_OUT_SERVER. Για να εγκαταστήσουμε το UTL_MAIL πρέπει να τρέξουμε με έναν ισχυρό λογαριασμό τα παρακάτω μέσω sqlplus.
SQL> @$ORACLE_HOME/rdbms/admin/utlmail.sql
SQL> @$ORACLE_HOME/rdbms/admin/prvtmail.plb
Στην συνέχεια θα πρέπει να ορίσουμε την παράμετρο SMTP_OUT_SERVER στο παραμετρικό αρχείο εκκίνησης της βάσης (pfile). Για να το κάνουμε αυτό εκτελούμε την παρακάτω εντολή.
SQL> alter system set smtp_out_server = 'mail.helex.gr:25' scope=both;
(Δυναμική παράμετρος – Αλλάζει χωρίς να χρειαστεί να κατέβει η βάση)
Δίνουμε το δικαίωμα να εκτελεί το συγκεκριμένο πακέτο είτε ο χρήστης PUBLIC οπότε όλοι οι χρήστες της βάσης, είτε συγκεκριμένοι χρήστες που θέλουμε. Οι παρακάτω εντολές εκτελούνται από χρήστη με ισχυρά δικαιώματα στην βάση (DBA δικαιώματα).
SQL> grant execute on utl_mail to <user>;
Τέλος, θα πρέπει να δημιουργηθεί ένα ACL για τον email server και να επιδοθούν τα απαραίτητα δικαιώματα στους χρήστες που θέλουμε να μπορούν να στείλουν email. Χωρίς την δημιουργία ACL θα εμφανίζεται το παρακάτω error: “ORA-24247: network access denied by access control list (ACL)“.
SQL> BEGIN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL (
acl => 'utl_mail.xml',
description => 'Permissions to access e-mail server.',
principal => 'SCHEMA_NAME',
is_grant => TRUE,
privilege => 'connect');
COMMIT;
END;
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL (
acl => 'utl_mail.xml',
host => 'mailrelay.helex.gr',
lower_port => 25,
upper_port => 25);
COMMIT;
END;
Δημιουργία/Διαχείριση ACL (Access Control List)
Στο άρθρο αυτό θα μιλήσουμε για το πως μπορούμε να δημιουργήσουμε και να διαχειριστούμε Access Control Lists. Από την έκδοση 11g και μετά για να υπάρχει η δυνατότητα η βάση να επικοινωνεί απευθείας είτε με email server για να στέλνει email, είτε με εξωτερικά sites για να στέλνει και να παίρνει διάφορες πληροφορίες, δημιουργήθηκε μια λίστα πρόσβασης κάτι σαν εσωτερικό firewall. Αν λοιπόν θέλουμε η βάση μας να αποκτήσει επικοινωνία με εξωτερικά sites ή servers απευθείας θα πρέπει να γίνει η κατάλληλη καταχώρηση στην συγκεκριμένη λίστα. Περισσότερες πληροφορίες σχετικά με το πώς κάποιος δημιουργεί και διαχειρίζεται τέτοιου είδους λίστες μπορεί να δει στο ακόλουθο Link.
Στην συνέχεια ακολουθούν οι κατάλληλες εντολές δημιουργία μιας τέτοιας λίστας μαζί με την εντολή εκχώρησης δυνατότητας σύνδεσης στον server link2.athexnet.gr.
SQL>begin
dbms_network_acl_admin.create_acl (
acl => 'utl_mail.xml',
description => 'Allow mail to be send',
principal => 'DB_USER',
is_grant => TRUE,
privilege => 'connect'
);
commit;
end;
SQL>begin
dbms_network_acl_admin.assign_acl(
acl => 'utl_mail.xml',
host => 'link2.athexnet.gr'
);
commit;
end;
Τέλος υπάρχουν τα παρακάτω 4 queries που μας δίνουν την δυνατότητα να δούμε χρήσιμες πληροφορίες σχετικά με τις access control lists της βάσεως και να κάνουμε χρήσιμες ενέργειες που αφορούν τα acls.
Με το παρακάτω query βλέπουμε όλα τα acls που έχουν δημιουργηθεί στην βάση.
SQL>select * from dba_network_acls
Με το ακόλουθο query βλέπουμε σε ποιους χρήστες της βάσης έχει δοθεί πρόσβαση και σε ποια acls.
SQL>select acl,principal,privilege,is_grant from dba_network_acl_privileges;
Έλεγχος αν συγκεκριμένο acl δουλεύει σωστά και επιτρέπει την πρόσβαση εκεί που θέλουμε.
SQL>select dbms_network_acl_admin.check_privilege_aclid (
'9f9b59d32d942527e04016ac15c74bbd', 'cypowner', 'connect')
from dual;
Με την παρακάτω εντολή δίνουμε το δικαίωμα σε κάποιον χρήστη να έχει πρόσβαση σε συγκεκριμένο ACL.
SQL>exec dbms_network_acl_admin.add_privilege(acl => 'utl_ftp_iplink2.xml',
principal => 'DERIVPROD', is_grant => TRUE, privilege => 'connect');
Εγγραφή σε:
Αναρτήσεις (Atom)













