Συστήματα Διαχείρισης Βάσεων Δεδομένων (ΗΥ460) Χειμερινό εξάμηνο 2017

Σχετικά έγγραφα
ΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2018 Project

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

ARTius με PostgreSQL

databases linux - terminal (linux / windows terminal)

Οδηγίες. Εγκατάσταση Προσωπικού Πιστοποιητικού

Οδηγίες για την εγκατάσταση του πακέτου Cygwin

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων

Searching and Downloading OpenStreetMap Data

JOOMLA CMS ΒΑΣΙΚΗ ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ (PART I)

ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++

BHMATA ΓΙΑ ΑΝΑΒΑΘΜΙΣΗ ΣΤΟ 3S/I.T.P.

Βάσεις Δεδομένων 2η εργαστηριακή άσκηση

ΡΥΘΜΙΣΕΙΣ ΓΙΑ ΔΥΝΑΜΙΚΟ IP

Βάσεις δεδομένων. (10 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις Δεδομένων 5η εργαστηριακή άσκηση

Οδηγίες εγκατάστασης και χρήσης Java σε προσωπικό υπολογιστή

ΚΕΦΑΛΑΙΟ Web Services

ΤΕΙ Πελοποννήσου Τμήμα Πληροφορικής. Οδηγίες Εγκατάστασης VPN Σύνδεσης στο ΤΕΙ Πελοποννήσου

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

PRISMA Win POS Sync Merge Replication

2 η Εργαστηριακή Άσκηση

Lexicon Software Pachutzu

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub

ProcSim οδηγίες χρήσης.

Ανάκτηση Δεδομένων (Information Retrieval)

Λειτουργικά Συστήματα

Οδηγίες Χρήσης της MySQL

Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές

Άσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός)

PHPMyAdmin: Σύντομος οδηγός για αρχάριους

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

PL/SQL. Κώστας Στεφανίδης

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Φροντιστήριο Ομαδικής Εργασίας ΗΥ360. Αυγουστάκη Αργυρώ

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Οδηγίες. Εγκατάσταση Προσωπικού Πιστοποιητικού

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

Πώς να ενημερώσεις την κάρτα σου με τον αναγνώστη του δέκτη. και το εργαλείο The Last Drakkar, χωρίς Phoenix

Οδηγίες για την Διαδικασία αποθήκευσης στοιχείων ελέγχου πινάκων για επίλυση θέματος Οριοθέτησης.

Σχεδιασμός Βάσεων Δεδομένων

ΗΥ460 Συστήµατα Διαχείρισης Βάσεων Δεδοµένων Χειµερινό Εξάµηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)

Movie Maker (Δημιουργία βίντεο)

Προετοιμασία σύνδεσης του modem. Εγκατάσταση του Modem

1. Άνοιγμα Και Κλείσιμο Της Εφαρμογής Φυλλομετρητή Ιστού (Internet Explorer)

Τμήμα Πληροφορικής ΑΠΘ

Οδηγίες EQL Desktop (rev ) ΣΥΝ ΕΣΗ S-710 ΜΕ ΚΑΛΩ ΙΟ USB ΠΡΟΚΑΤΑΡΚΤΙΚΕΣ ΕΡΓΑΣΙΕΣ

Συνοπτικός Οδηγός Χρήσης του MySQL Workbench

Share and Storage Management. Τεχνικός Δικτύων & Τηλεπικοινωνιών - Διαχείριση Δικτύων ΙΙ

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP σελ. 1

PostgreSQL. Oracle. Εαρινό Εξάμηνο

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Υπηρεσία διαμοιρασμού αρχείων

Οδηγίες Χρήσης της MySQL

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ ΓΡΑΜΜΑΤΕΙΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ESCHOOL

8. ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΔΕΔΟΜΕΝΩΝ

PortSip Softphone. Ελληνικά Ι English 1/20

SMPcache. Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache)

ΕΝΕΡΓΟΠΟΙΗΣΗ PARENTAL CONTROLS SMARTPHONES

Οδηγίες Εγκατάστασης tube & έναρξης δοκιμαστικών μαθημάτων

Διάλεξη 18: Προγραμματισμός Βάσης Δεδομένων ΙΙ. Διδάσκων: Παναγιώτης Ανδρέου

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη

Εργαστήριο Βάσεων Δεδομένων. Triggers

Ενεργές ΒΔ. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Βάσεις Δεδομένων Ενεργές ΒΔ 1

Βάσεις Δεδομένων Ι Ευρετήρια/Indexes. (...και επιδόσεις ΣΔΒΔ) Views (Όψεις) Φώτης Κόκκορας (MSc/PhD) Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπ/νιών

Android Studio για Linux

Εργαστήριο Βάσεων Δεδομένων

Λογισμικά για Στατιστική Ανάλυση. Minitab, R (ελεύθερο λογισμικό), Sas, S-Plus, Stata, StatGraphics, Mathematica (εξειδικευμένο λογισμικό για

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 2 24/01/2012

Εισαγωγή στην Oracle Spatial 10g

Δημιουργία και επεξεργασία διανυσματικών επιπέδων στο QGIS

ΕΝΤΑΞΗ ΣΤΑΘΜΟΥ ΕΡΓΑΣΙΑΣ ΣΕ DOMAIN

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:

Δραστηριότητα 3: Ρυθμίσεις Oικιακής Ομάδας Τοπικού Δικτύου Η/Υ σε WINDOWS 7 & 8

Σύντομη περιγραφή 5. Για να ξεκινήσετε 6. Οι οθόνες του προγράμματος 8. Εγκατάσταση προγράμματος 6 Δημιουργία κωδικών χρήστη 7

Cookies Γραμμή βοηθείας Ενημέρωση-Επαγρύπνηση Γραμμή παράνομου περιεχομένου

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Academia Financials Γενική Λογιστική ΠΕΡΙΕΧΟΜΕΝΑ

Android Studio για Windows

2.1 Σύνδεση Εξωτερικής Συσκευής στο IDE


Οδηγίες Εγγραφής και Ενεργοποίησης του Λογαριασμού σας. Οδηγίες

Transcript:

Συστήματα Διαχείρισης Βάσεων Δεδομένων (ΗΥ460) Χειμερινό εξάμηνο 2017 1. Εγκατάσταση της Oracle Εγκαταστήστε την Oracle Database 11g Release 2 στο pc σας. Μπορείτε να την κατεβάσετε από το παρακάτω link: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index- 092322.html 2. Εγκατάσταση του PL/SQL DEVELOPER Κατεβάστε τον PL/SQL developer από το παρακάτω link και εγκαταστήστε τον με τις default ρυθμίσεις. http://www.allroundautomations.nl/plsqldev.html (θα βρείτε την trial έκδοση για 30 μέρες αλλά σας αρκεί αφού προσφέρει πλήρη λειτουργικότητα). Κάντε login με τα στοιχεία της βάσης που εγκαταστήσατε

2.1 Ρυθμίσεις PL/SQL developer 1.Παράθυρο Εκτέλεσης Επερωτήσεων Για να ανοίξετε ένα παράθυρο(sql Window) και να εκτελέσετε επερωτήσεις πηγαίνετε στο File -> New SQL Window. Όταν το κάνετε αυτό θα σας εμφανιστεί το παρακάτω παράθυρο στο οποίο μπορείτε να γράφετε τις επερωτήσεις. Για να εκτελέσετε την επερώτηση θα πρέπει να πάτε στο Session -> Execute (F8).

Όταν εκτελέσετε την επερώτηση θα σας εμφανιστούν τα αποτελέσματα. 2. Πλάνο Εκτέλεσης Για να δείτε το πλάνο εκτέλεσης μιας επερώτησης πηγαίνετε στο Tools -> Explain Plan. 3.Παράθυρο που λειτουργεί σαν τερματικό Για να ανοίξετε ένα παράθυρο που λειτουργεί σαν τερματικό πηγαίνετε

File ->New Command Window. 4.Ρυθμίσεις στον PL/SQL Developer Για να ρυθμίσουμε τον PL/SQL Developer πηγαίνουμε στο Tools -> Preferences. Στο παράθυρο που εμφανίζεται παρακάτω μπορούμε να επιλέξουμε τι ρυθμίσεις θα κάνουμε στον PL/SQL Developer.

Για να ρυθμίσετε τον PL/SQL Developer έτσι ώστε να εμφανίζει στο plan table τις τιμές για τα πεδία που σας ενδιαφέρουν πηγαίνετε στο Window Types -> Plan Window. Από default το πρόγραμμα έχει επιλέξει κάποια. Αλλά για τις ανάγκες της προγραμματιστικής άσκησης θα χρειαστείτε σίγουρα αυτά που είναι επιλεγμένα και φαίνονται στο παρακάτω screenshot. Επίσης σημαντικό είναι για να είστε σίγουροι ότι οι αλλαγές που κάνετε γίνονται άμεσα και στο DBMS, να τσεκάρετε την επιλογή AutoCommit after Execute.

3. Χρήσιμες Οδηγίες Επεξήγηση Πλάνου Επερωτήσεων(Explain Plan Command) Αρχικά πρέπει να δημιουργήσετε στην περιοχή σας τον πίνακα PLAN_TABLE ως εξής: CREATE TABLE plan_table ( statement_id VARCHAR2(30), timestamp DATE, remarks VARCHAR2(80), operation VARCHAR2(30), options VARCHAR2(30), object_node VARCHAR2(128), object_owner VARCHAR2(30), object_name VARCHAR2(30), object_instance NUMERIC, object_type VARCHAR2(30), optimizer VARCHAR2(255), search_columns NUMERIC, id NUMERIC, parent_id NUMERIC, position NUMERIC, other LONG );

Στη συνέχεια, για να σας επιστραφεί το πλάνο εκτέλεσης μίας επερώτησης τρέξτε την εντολή: EXPLAIN PLAN SET STATEMENT_ID = FOR SELECT FROM WHERE ; Και μετά την εντολή: SELECT ID ' ' PARENT_ID ' ' LPAD(' ', 2*(LEVEL-1)) OPERATION ' ' OPTIONS ' ' OBJECT_NAME "QUERY PLAN" FROM PLAN_TABLE WHERE STATEMENT_ID=' ' START WITH ID = 0 CONNECT BY PRIOR ID=PARENT_ID; Αυτομάτως, στον πίνακα που έχετε δημιουργήσει προηγουμένως αποθηκεύεται το σχέδιο εκτέλεσης για την επερώτηση που δηλώσατε. Προσοχή: Για κάθε επερώτηση που αναλύετε καλό είναι να δίνεται διαφορετικό statement_id. Επεξήγηση των γνωρισμάτων του plan_table και άλλες πληροφορίες για το EXPLAIN PLAN μπορείτε να βρείτε : www.psoug.org/reference/explain_plan.html www.adp-gmbh.ch/ora/explainplan.html www.lc.leidenuniv.nl/awcourse/oracle/server.920/a96533/ex_plan.htm O PL/SQL developer εμφανίζει απευθείας το πλάνο εκτέλεσης με την επιλογή explain plan (F5). Όταν σας ζητείτε να δείξετε το σχέδιο εκτέλεσης μίας επερώτησης, κάντε όπως στο ακόλουθο παράδειγμα: Έστω ότι έχετε μαζέψει τα παρακάτω στοιχεία του σχεδίου εκτέλεσης στον πίνακα «plan_table»: Η παρουσίαση του σχεδίου να είναι της μορφής:

0 SELECT STATEMENT 1 FILTER 2 TABLE ACCESS FULL MOVIE 3 TABLE ACCESS FULL PRODUCEDBY Μέτρηση Xρόνου Eκτέλεσης Eπερώτησης Έστω ότι θέλετε να συγκρίνετε τον χρόνο που απαιτήθηκε για την εκτέλεση δύο επερωτήσεων. Δημιουργήστε ένα.sql αρχείο το οποίο θα περιέχει τις εξής εντολές: prompt run query 1; set termout off; timing start query1; select from where ; --- Η πρώτη επερώτηση set termout on; timing stop; / prompt run query 2; set termout off; timing start query2; select from where ; --- Η δεύτερη επερώτηση set termout on; timing stop; / Η εκτέλεση του αρχείου αυτού θα δώσει μία έξοδο της μορφής: Γενικά, χρησιμοποιείτε την εντολή «set termout off;» όταν δεν θέλετε να βλέπετε μηνύματα από τη βάση τύπου «1 row created» ή όταν δεν σας ενδιαφέρουν τα αποτελέσματα (οι επιστρεφόμενες πλειάδες) της εκτέλεσης μιας επερώτησης. Για να ενεργοποιήσετε ξανά αυτήν την επιλογή χρησιμοποιήστε «set termout on;».

Χρήσιμες εντολές για tuning και monitoring Για τον υπολογισμό του αριθμού των blocks τον οποίο διατηρεί ένας πίνακας: SELECT blocks - empty_blocks FROM user_tables WHERE table_name = '&tablename'; Για να υπολογίσετε το cache hit ratio για μία ακολουθία επερωτήσεων εκτελείτε: SELECT P1.value AS DB_BLOCK_GETS, P2.value AS CONSISTENT_GETS, P3.value AS PHYSICAL_READS FROM v$mystat P1, v$statname N1, v$mystat P2, v$statname N2, v$mystat P3, v$statname N3 WHERE N1.name = 'db block gets' AND P1.statistic# = N1.statistic# AND N2.name = 'consistent gets' AND P2.statistic# = N2.statistic# AND N3.name = 'physical reads' AND P3.statistic# = N3.statistic#; πριν και μετά από την ακολουθία των επερωτήσεων και μετά υπολογίζετε τον τύπο: Για τις αναγνώσεις που γίνονται από το δίσκο μόνο: SELECT P.value as PHYSICAL_READS FROM v$mystat P, v$statname N WHERE N.name = 'physical reads' AND P.statistic# = N.statistic#; Για να δηλώσουμε ότι ένας πίνακας θέλουμε να παραμένει στην μνήμη cache εκτελούμε την παρακάτω επερώτηση: ALTER TABLE <user name>.<table name> STORAGE (buffer_pool keep); Όταν δεν θέλουμε να παραμένει αποθηκευμένος στην μνήμη cache τότε εκτελούμε την εξής: ALTER TABLE <user name>.<table name> STORAGE (buffer_pool default); ή (πιο αποτελεσματικά) τον καταργούμε και τον δημιουργούμε ξανά. Πχ για χρήστη HY460_1 και πίνακα people οι εντολές δίνονται ως εξής: ALTER TABLE HY460_1.people STORAGE (buffer_pool keep); ALTER TABLE HY460_1.people STORAGE (buffer_pool default); (ΠΡΟΣΟΧΗ: Μην παραλείψετε το τμήμα username στις εντολές) Ενημέρωση στατιστικών στοιχείων

Για να ενημερωθούν τα στατιστικά ενός πίνακα και των δεικτών αυτού, δώστε την εντολή: ANALYZE TABLE <table_name> COMPUTE STATISTICS; Για να ενημερωθούν τα στατιστικά μόνο του πίνακα, αλλά όχι και των δεικτών αυτού, δώστε την εντολή: ANALYZE TABLE <table_name> COMPUTE STATISTICS FOR TABLE; Για να ενημερωθούν τα στατιστικά μόνο για τους δείκτες ενός πίνακα, δώστε την εντολή: ANALYZE TABLE <table_name> COMPUTE STATISTICS FOR ALL INDEXES; Αποθήκευση εξόδου σε αρχείο Σε περίπτωση που θέλετε να αποθηκεύσετε τα αποτελέσματα των επερωτήσεων και των λοιπών εντολών στην SQL σε αρχείο, πρέπει να χρησιμοποιήσετε την εντολή script. Πριν εκτελέσετε την εντολή sqlplus, πληκτρολογήστε script <filename>, όπου filename το όνομα του αρχείου που θέλετε να παραχθεί. Οτιδήποτε εμφανίζεται από αυτή τη στιγμή στην οθόνη, γράφεται και στο αρχείο. Για να σταματήσει η καταγραφή στο αρχείο πρέπει να πατήσετε Ctrl-D. Εναλλακτικά, μπορείτε ενώ βρίσκεστε στο περιβάλλον της sqlplus να δώσετε την εντολή: «spool <filename>», οπότε οτιδήποτε εμφανίζεται στην οθόνη του τερματικού αποθηκεύεται και στο αρχείο που έχετε καθορίσει. Όταν τελειώσετε, σταματάτε την καταγραφή με την εντολή «spool off». Δημιουργία και Διαγραφή Δεικτών Για τους δείκτες θα χρησιμοποιήσετε τις παρακάτω εντολές: 1. Δημιουργία unclustered B+-Tree δείκτη: CREATE INDEX <index name> ON <table name>(<attribute name>); 2. Δημιουργία μοναδικού unclustered B+-Tree δείκτη: CREATE UNIQUE INDEX <index name> ON <table name>(<attribute name>); 3. Δημιουργία bitmap δείκτη: CREATE BITMAP INDEX <index name> ON <table name>(<attribute name>); 4. Δημιουργία clustered hashed δείκτη: 1o βήμα) CREATE CLUSTER <cluster name>(<attribute name> <attribute type>) HASHKEYS <# of hash values>; 2o βήμα) CREATE TABLE <table name> (... ) CLUSTER <cluster name>(<attribute name>); 5. Δημιουργία clustered B+-Tree δείκτη: 1o βήμα) CREATE CLUSTER <cluster name>(<attribute name> <attribute type>);

2o βήμα) CREATE INDEX <index name> ON CLUSTER <cluster name>; 3o βήμα) CREATE TABLE <table name> (... ) CLUSTER <cluster name>(<attribute name>); 6. Κατάργηση δείκτη: DROP INDEX <index name>; 7. Κατάργηση πίνακα: DROP TABLE <table name>; 8. Κατάργηση cluster: DROP CLUSTER <cluster name>; Σημείωση: Η μνήμη cache είναι κοινόχρηστη. Όταν δεν θα χρειάζεστε τα δεδομένα μέσα στη μνήμη μην ξεχνάτε να τα βγάζετε εκτός. Η χρήση των παραπάνω εντολών cache οδηγεί σε αποτελέσματα τα οποία διατηρούνται στο σύστημα μόνιμα και όχι μόνο όσο διαρκεί η επίσκεψη (session) του χρήστη. Περισσότερες πληροφορίες για τα στατιστικά μπορείτε να βρείτε στο https://docs.oracle.com/cd/e11882_01/server.112/e41573/whatsnew.htm#pfgrf000