Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 22

Ελληνικό Ανοικτό

Πανεπιστήμιο
(Ε.Α.Π.)

Σχολή Θετικών Επιστημών και


Τεχνολογίας

Πρ. Σπουδών «Πληροφορική»

Θεματική Ενότητα
ΠΛΗ-11 «Αρχές Τεχνολογίας Λογισμικού»

«Οδηγίες Εγκατάστασης/Χρήσης Personal Oracle 9i,


Βοηθητικά Κείμενα (courses) & Απαντήσεις σε Συχνές
Ερωτήσεις» - Εκδοση 2.0

Σύνταξη - Επιμέλεια:
♦ Χρήστος Λεπεσιώτης, Φοιτητής Ε.Α.Π. – Πρ. Σπ. Πληροφορικής
♦ Γεώργιος - Πέτρος Οικονόμου (Μέλος ΣΕΠ)
♦ Χρήστος Κούτσικας (Μέλος ΣΕΠ)
♦ Βασίλειος Μάμαλης (Μέλος ΣΕΠ – Βοηθός Συντονιστή)
♦ Δημήτριος Καλλές (Μέλος ΣΕΠ – Βοηθός Συντονιστή)

Περίληψη:
Το παρόν κείμενο/οδηγός περιέχει:
(α) Οδηγίες Εγκατάστασης και Χρήσης της Personal Oracle 9i σε περιβάλλοντα
Win2000/XP/NT και Win98,
(β) Βοηθητικά κείμενα (πλήρη courses σε μορφή PDF που έχουν διατεθεί από
την ίδια την ORACLE) όσον αφορά τη Βασική Διαχείριση και την SQL της
Personal Oracle 9i, και
(γ) Τις σημαντικότερες ερωτήσεις των φοιτητών καθώς και τις απαντήσεις οι
οποίες δόθηκαν από τους αρμόδιους ΣΕΠ της ΠΛΗ11, κατά την διάρκεια
της εκπόνησης της αντίστοιχης Γραπτής Εργασίας (E3) των
προηγούμενων Ακ. Ετών (2002-03 και 2003-04).

Οι ερωτήσεις και απαντήσεις έχουν συγκεντρωθεί, ως επί το πλείστον, από


την παλαιά «Αγορά» της ΠΛΗ-11 (http://forum.eap.gr) και από τα προσωπικά
μηνύματα τα οποία δέχθηκαν και στα οποία απάντησαν οι συντελεστές του εν
λόγω κειμένου.
Εισαγωγή
Το παρόν κείμενο/οδηγός έχει ως βασικό σκοπό να σας παρέχει τις βασικές
(αρχικές) απαιτούμενες οδηγίες εγκατάστασης και χρήσης της PEOracle 9i,
προκειμένου (καταρχήν) να μπορέσετε να ανταπεξέλθετε στις απαιτήσεις της
3ης Γραπτής Εργασίας, συναντώντας τις λιγότερες δυνατές τεχνικές
δυσκολίες. Αναλυτικότερα το κείμενο αυτό, περιέχει:
(α) Οδηγίες Εγκατάστασης και Χρήσης της Personal Oracle 9i σε περιβάλλοντα
Win2000/XP/NT και Win98,
(β) Βοηθητικά κείμενα (πλήρη courses σε μορφή PDF που έχουν διατεθεί από
την ίδια την ORACLE) όσον αφορά τη Βασική Διαχείριση και την SQL της
Personal Oracle 9i, και
(γ) Τις σημαντικότερες ερωτήσεις των φοιτητών καθώς και τις απαντήσεις
οι οποίες δόθηκαν από τους αρμόδιους ΣΕΠ της ΠΛΗ11, κατά την διάρκεια
της εκπόνησης της αντίστοιχης Γραπτής Εργασίας (E3) των
προηγούμενων Ακ. Ετών (2002-03 και 2003-04).
Σκοπός της ενασχόλησής σας με την PEOracle 9i στα πλαίσια της
συγκεκριμένης Θεματικής Ενότητας (ΠΛΗ11) είναι,
♦ Να μάθετε / εξασκηθείτε σε βασικά ζητήματα υλοποίησης και χρήσης μίας
βάσης δεδομένων με χρήση της γλώσσας SQL.
♦ Να έρθετε σε ‘επαφή’ με ένα πραγματικό εργαλείο/σύστημα διαχείρισης
Βάσεων Δεδομένων (Oracle – το οποίοι παράλληηλα αποτελεί
αποδεδειγμένα ένα από τα κορυφαία αντίστοιχα εργαλεία/συστήματα της
αγοράς παγκοσμίως)
♦ Nα χρησιμοποιήσετε στην πράξη το εν λόγω λογισμικό (RDBMS), με βάση
συγκεκριμένες απαιτήσεις που θα σας δοθούν, για την εκπόνηση της 3ης
Γραπτής Εργασίας σας.
Αντίθετα, δεν αποτελεί σκοπό ή ζητούμενο να αναλώσετε πολύ χρόνο σε
τεχνικά θέματα εγκατάστασης, πλήρη εκμάθηση του περιβάλλοντος χρήσης
κ.λ.π. Για το λόγο αυτό γίνεται προσπάθεια στα πλαίσια του παρόντος
κειμένου και υλικού, να σας δοθούν κάποιες αρχικές/βασικές (και κατά το
δυνατόν ικανοποιητικές) οδηγίες σχετικά με τα ανωτέρω ζητήματα
προκειμένου να μπορέσετε να χρησιμοποιήσετε γρήγορα και εύκολα το εν
λόγω λογισμικό στην πράξη για την εκπόνηση της εργασίας σας.
Δεν αποτελεί επίσης σκοπό να ασχοληθείτε πολύ με θέματα/ζητήματα
διαχείρισης, προχωρημένων δυνατοτήτων του λογισμικού και του
περιβάλλοντος χρήσης του κ.λ.π. -πράγματα με τα οποία θα έχετε το χρόνο να
ασχοληθείτε και από μόνοι σας στο μέλλον (και εκτός των πλαισίων της
συγκεκριμένης εργασίας).
Περισσότερες Οδηγίες σχετικά με τη χρήση της PEOracle 9i θα δοθούν κατά
τη διάρκεια εκπόνησης της 3ης Γραπτής Εργασίας σας (από την
ανάρτηση/ανακοίνωσή της και μετά) και θα είναι σε άμεση συσχέτιση με τις
απαιτήσεις εκπόνησης/υλοποίησης της εν λόγω εργασίας.
Συνίσταται να ασχοληθείτε με την ‘εγκατάσταση’ και τη ‘βασική εκμάθηση
του περιβάλλοντος χρήσης’ της PEOracle στον υπολογιστή σας (με τη βοήθεια
ή μη του παρόντος κειμένου/ οδηγού) το συντομότερο δυνατό, ώστε να μην
έχετε τυχόν προβλήματα/δυσκολίες της τελευταίας στιγμής.
Για οποιοδήποτε πρόβλημα τυχόν συναντήσετε, μπορείτε να στέλνετε σχετικό
μήνυμα στον κατάλογο ‘Oracle’ του ‘Forum Θ.Ε.’ του Portal
(http://online.eap.gr ......  ‘ΠΛΗ11’  ‘Εκπαίδευση’  ‘Forum Θ.Ε.’ 
‘Oracle’) που έχει ανοίξει ακριβώς για το σκοπό αυτό – αφού πρώτα
διαβάσετε προσεκτικά τόσο το πρώτο μήνυμα που έχει αναρτηθεί εκεί όσο και
τα αναφερόμενα στο παρόν κείμενο οδηγιών).
Καλή Επιτυχία!!!
ΤΟΜΕΑΣ 1
Οδηγίες Εγκατάστασης – Oracle
Courses – Συμβουλές – Λύσεις
Προβλημάτων
Οδηγίες: Επισυνάπτονται παρακάτω αρχικά/βοηθητικά κείμενα-οδηγοί για
την εγκατάσταση και χρήση της POracale 9i σε περιβάλλοντα,
(α) Windows ΝΤ/2000/XP (αρχικές οδηγίες εγκατάστασης step-by-
step και τα πρώτα βήματα χρήσης για τα γραφικά εργαλεία
της Oracle σε αυτήν την έκδοση - π.χ. Enterprise Manager,
SQLplus Worksheet κ.λ.π.), και
(β) Windows 98 (αρχικές οδηγίες εγκατάστασης step-by-step και
τα πρώτα βήματα χρήσης σε περιβάλλον SQLplus, Oracle9i
Navigator κ.λ.π.):

http://edu.eap.gr/pli/pli11/students/doc/oracle-guide-2000-
XP-1.zip
http://edu.eap.gr/pli/pli11/students/doc/oracle-guide-2000-
XP-2.zip
http://edu.eap.gr/pli/pli11/students/doc/oracle-guide-2000-
XP-3.zip
http://edu.eap.gr/pli/pli11/students/doc/oracle-guide-win-
98.zip

Σε κάθε περίπτωση, συνίσταται να ‘κατεβάσετε’ και να διαβάσετε


το σύνολο των παραπάνω κειμένων, καθώς σε διάφορα σημεία
είναι συμπληρωματικά (συμπεριλαμβάνονται δηλαδή στο
κείμενο/οδηγό για μία έκδοση, πράγματα/ οδηγίες που είναι
χρήσιμα και εφαρμοστέα και κατά τη χρήση της άλλης έκδοσης –
π.χ. για τη χρήση του εργαλείου ‘SQLplus’ – το οποίο μπορείτε να
το χρηιμοποιήσετε και με τις δύο εκδόσεις (Windows ΝΤ/2000/XP
και Windows 98 – περιέχονται αναλυτικότερες οδηγίες στον
οδηγό για τα Win98).

Γενικά: Οσοι δουλέψετε σε Win 98 συνίσταται να χρησιμοποιήσετε


για χρήση (εκπόνηση της εργασίας Ε3) το εργαλείο ‘SQLplus’ ενώ
όσοι δουλέψετε σε Win NT/2000/XP συνίσταται να
χρησιμοποιήσετε (ισοδύναμα) είτε το ‘SQLplus Worksheet’ είτε το
‘SQLplus’. [μπαίνοντας π.χ. – συνίσταται – με τον ήδη υπάρχοντα
μετά την εγκατάσταση λογαριασμό χρήστη «username: SCOTT,
password: TIGER» ή με όποιον άλλον λογαριασμό χρήστη τυχόν
φτιάξετε]

Courses: Επισυνάπτονται παρακάτω επίσης (εκ μέρους της Oracle) τα


βασικά αρχεία / μαθήματα (courses) της Oracle για:
(α) την SQL της 9i , περιλαμβάνει τρία αρχεία Acrobat
συμπιεσμένα με WinZip
http://edu.eap.gr/pli/pli11/students/doc/sql1.zip
http://edu.eap.gr/pli/pli11/students/doc/sql2.zip
http://edu.eap.gr/pli/pli11/students/doc/sql3.zip
(β) το Basic Administration της 9i, περιλαμβάνει δύο αρχεία
Acrobat συμπιεσμένα με WinZip
http://edu.eap.gr/pli/pli11/students/doc/admin1.zip
http://edu.eap.gr/pli/pli11/students/doc/admin2.zip
Δεν είναι ακριβώς 'βασικά' όπως θα δείτε - είναι 'πλήρης
εκμάθηση' των βασικών - και είναι αρκετά μεγάλα στο
"κατέβασμα" (οπλισθείτε με υπομονή).
Από το υλικό της SQL (α) προσπαθήστε (αφού πάρετε μια συνολική
εικόνα από τα περιεχόμενα) να ανατρέχετε όπου θεωρείτε
(εντολές/statements κ.λ.π.) ότι έχετε ανάγκη (τόσο κατά τη
μελέτη σας όσο και κατά την εκπόνηση της εργασίας σας).
Από το υλικό για Administration (β), όσοι ασχοληθείτε παραπάνω
από τις βασικές / ελάχιστες απαιτήσεις μπορείτε να βρείτε
στοιχεία για το πώς δημιουργείτε μία νέα database (creating
database / chapter 4), πώς δημιουργείτε νέο χρήστη (chapter 15),
πώς δίνετε δικαιώματα πρόσβασης σε αυτόν (chapter 16) κ.λπ.
Τα παραπάνω διατίθενται (και αναφέρονται στα παραπάνω
κεφάλαια) και μπορεί να τα κάνει κανείς τόσο με τα γραφικά
εργαλεία της Oracle (Enterprise Manager, SQLplus Worksheet
κ.λπ.) όσο και με χρήση μόνο του περιβάλλοντος (command line)
της SQLplus. Όλα τα περί Basic Administration μπορείτε να τα
κάνετε σε SQLplus (και όπου αλλού) αρκεί να μπείτε με το
λογαριασμό συστήματος «username: SYSTEM,
password: MANAGER».
Ειδικότερα καλό είναι να κοιτάξετε λεπτομερέστερα τα κεφάλαια
15 και 16 και το πώς δημιουργείται (σε SQLplus) ο νέος χρήστης
(έχοντας μπει ως SYSTEM / MANAGER: CREATE USER <name>
IDENTIFIED BY <password> κ.λπ.) και
πώς αποκτά δικαιώματα πρόσβασης (GRANT....) κ.λπ.
ΠΡΟΣΟΧΗ: Τα αρχεία αυτά είναι για προσωπική σας χρήση μόνο
(στα πλαίσια της φοίτησής σας) όπως και το λογισμικό που
πήρατε - μην το διακινήσετε / χρησιμοποιήσετε καθ' οιονδήποτε
άλλο τρόπο.

Συμβουλή: Κάθε φορά που θέλετε να εκθέσετε κάποιο πρόβλημα προς


τους Σύμβουλους – Καθηγητές σας ή στο forum ‘Oracle’ του
Portal, χρησιμοποιώντας γραπτό λόγο, παρακαλούμε να
ακολουθείτε τους παρακάτω απλούς κανόνες:
• Χρησιμοποιήστε απλή Ελληνική γλώσσα, γραμμένη σε
Ελληνικούς πεζούς χαρακτήρες, κάποιας συνηθισμένης
γραμματοσειράς (Arial Greek).
• Προσπαθήστε να περιορίσετε όσο μπορείτε τα ορθογραφικά
και συντακτικά λάθη. Πολλές φορές, το λανθασμένο
συντακτικό ή η λανθασμένη ορθογραφία μπορεί να αλλάξει το
νόημα μιας πρότασης.
• Ξαναδιαβάστε αυτό που γράψατε για να διαπιστώσετε ότι
απεικονίζει ακριβώς το πρόβλημα που θέλετε να περιγράψετε.
• Προσπαθήστε να αποφύγετε την υπερβολική εναλλαγή
Ελληνικών – Αγγλικών χαρακτήρων στην ίδια πρόταση.
Προσπαθήστε να αποδίδετε την ορολογία με Ελληνικές λέξεις,
παραθέτοντας τον Αγγλικό όρο.
• Πριν την αποστολή του e-mail προς τον καθηγητή,
χρησιμοποιείστε τον ορθογράφο του προγράμματος
αλληλογραφίας που διαθέτετε.
• Για την καλύτερη και πιο γρήγορη απάντηση στα προβλήματα
που αντιμετωπίζετε κατά την εκτέλεση των εντολών SQL, όταν
περιγράφετε το πρόβλημα σας, πρέπει να μας δίνετε και το
ακριβές SQL STATEMENT για να μπορούμε να βλέπουμε τα λάθη
και να μην δίνετε μόνο το μήνυμα του σφάλματος. Επίσης, να
είσθε σίγουροι για το ποιον της Β.Δ. (σχήμα κ.λπ.).

Πρόβλημα 1: Υπήρξε περίπτωση κατά την οποία χρήστης


προσπαθούσε να εγκαταστήσει την Oracle 9i PE σε
υπολογιστή με Win XP PRO και δεν κατάφερνε να
ολοκληρώσει την εγκατάσταση, όσες φορές και αν την
επαναλάμβανε.

Λύση: Προσπαθούσε να κάνει την εγκατάσταση διαβάζοντας τα CDs


της εφαρμογής με DVD player. Όταν πραγματοποίησε την
εγκατάσταση από CD player τότε αυτή διεξήχθη κανονικά.

Πρόβλημα 2: Η Oracle 9i PE, αν και εγκαταστάθηκε με επιτυχία


σε σταθμό εργασίας με Win XP PRO, δεν ήταν δυνατό να
δουλέψει.

Λύση: Στο ίδιο μηχάνημα εγκαταστάθηκαν Win 2000 Professional και


η Oracle 9i PE δούλεψε κανονικά.

Πρόβλημα 3: Προσπάθησα να εγκαταστήσω την Oracle 9i PE σε Win


XP Home αλλά μου εμφάνισε λάθη (errors) και η
εγκατάσταση δεν έγινε επιτυχώς (δεν μου εμφάνισε
σχετικό μήνυμα στο τέλος).

Λύση: α. κάντε εγκατάσταση από το δίσκο (αντιγραφή των CD's στο


δίσκο σε 3 υποκαταλόγους Disk1, Disk2, Disk3 και τρέχοντας
το εκτελέσιμο 'autorun.exe' μέσα από το directory 'autorun'
του Disk1
β. έχοντας απενεργοποιήσει πρώτα την ιδιότητα «ΜΟΝΟ ΓΙΑ
ΑΝΑΓΝΩΣΗ» (read-only) των 3 υποκαταλόγων (Disk1, Disk2,
Disk3) που θα δημιουργήσετε στο δίσκο (δεξί κλικ πάνω στον
κάθε υποκατάλογο, επιλογή 'Ιδιότητες' / 'properties' κ.ο.κ.)
Για να μην εμφανίζει προβλήματα στα αρχεία DLL θα πρέπει να
διαγραφεί πλήρως κάθε απόπειρα προηγούμενης
εγκατάστασης! Δηλαδή να διαγραφεί ολόκληρος ο κατάλογος
‘oracle’ κ.λ.π.
Πρόβλημα 4: Κατά την δημιουργία της Βάσης (με αρχική
επιλογή ‘General Purpose’) εμφανίζεται μήνυμα λάθους
(και η δημιουργία βάσης/ εγκατάσταση δεν μπορεί να
ολοκληρωθεί επιτυχώς):
«...oversubscibed dynamic bit lenghts tree...»

Λύση: Τελικά κατάφερα να δημιουργήσω Bάση επιλέγοντας αρχικά


σαν είδος ‘Transaction Processing’. Ολοκληρώθηκε κανονικά
μετά η εγκατάσταση, έγινε connect και δουλεύουν ολα
κανονικα (Create, select, export κτλ).
Πρόβλημα 5: Δοκίμασα να κάνω εγκατάσταση την Oracle σε laptop με
windows 98 second edition 192MB RAM και περίπου 3GB
ελεύθερο HD. Κατ' αρχήν δεν παρουσίασε πουθενά την
επιλογή Oracle Personal Edition, η μόνη την οποία
"έβγαλε" ήταν ότι θα στήσει την Oracle Client και οι
επιλογές ήταν:
(α) Administrator (488MB) (β) Runtime (126MB) και (γ)
Custom.
Επέλεξα την πρώτη και στο τέλος μου "έβγαλε" ότι
έκανε εγκατάσταση την Oracle Client!!!! Το άλλο
άσχημο ήταν ότι στο τέλος της εγκατάστασης "ζήτησε"
να στήσει ένα tool (net) το οποίο και τελικά δεν έγινε
επιτυχώς. Τελικά αφού μου "έβγαλε" ότι κάποια tools
δεν έχουν εγκατασταθεί, μου "ζήτησε" επανεκκίνηση
και αφού την έκανα και άνοιξα τον enterprise μου
"έβγαλε" μια επιλογή για standalone και μια άλλη για
σύνδεση Oracle Management Server. Επέλεξα την
πρώτη και δεν μου "βγάζει" databases! Όταν ψάχνω για
databases μου "ζητάει" Hostname, Port number, SID,
Net Service Name!!! Μπορεί να με βοηθήσει κάποιος
που ξέρει; Δεν κατάλαβα που έκανα λάθος;

Απάντηση: Έβαλες για εγκατάσταση στα Win98 τα CDs για 2000/NT/XP.


Αυτό κάνουν ακριβώς σε Win98 - εγκαθιστούν τον Oracle 9i
Client μόνο. Για να γίνει κανονική εγκατάσταση σε win98
απαιτείται η έκδοση / CD για την έκδοση αυτή καθαυτή
(win98).
ΤΟΜΕΑΣ 2
Ερωτήσεις πάνω σε δυσκολίες που προέκυψαν
κατά την χρησιμοποίηση (run-time)
της Oracle 9i PE
Ερ.1:Γιατί δεν μπορώ να κάνω export έναν πίνακα τι κάνω λάθος; Ακολουθούν οι
εντολές.

Απ.: Είναι προτιμότερο να κάνεις export και import μέσα από το dos prompt με χρήση
των εντολών exp και imp αντίστοιχα.
Έστω ότι δημιουργήσατε ένα χρήστη USERPLH11 στον οποίο φτιάξατε το σχήμα
της βάσης. Τότε από DOS PROMPT C:\ δίνετε την εντολή
EXP SYSTEM/MANAGER FILE=ASKHSH.DMP LOG=ASKHSH.LOG OWNER=USERPLH11
Αφού ολοκληρωθεί το EXPORT το αρχείο ASKHSH.LOG περιέχει τα τυχόν λάθη

Σημείωση: Αν έχετε φτιάξει ALIAS με το NET EASY CONFIG και το λέτε π.χ. ORCL
τότε η εντολή πρέπει να πάρει την παρακάτω μορφή
EXP SYSTEM/MANAGER@ORCL FILE=ASKHSH.DMP LOG=ASKHSH.LOG OWNER=U
SERPLH11

Ερ.2: Για ποιο λόγο δεν δουλεύει ο export wizard μέσα από την εφαρμογή και
πρέπει να βγαίνω σε command prompt να κάνω εξαγωγή ενός πίνακα;

Απ.: Ο λόγος είναι ότι τα εργαλεία της Oracle δεν είναι και τα καλύτερα στον κόσμο, αλλά
και γιατί στην 9i υπάρχουν κάποια προβλήματα (πρέπει να δημιουργήθούν κάποια
views κ.λπ.).

Ερ.3: Παρ' όλο που γράφω τα ονόματα των table και των πεδίων με μικρά ελληνικά
(όπως είναι στην εκφώνηση) ο πίνακας που παράγεται μετά την εκτέλεση της
CREATE TABLE έχει κεφαλαία ελληνικά. Υπάρχει πρόβλημα;

Απ.: Με τα μικρά και κεφαλαία στα tables και fields δεν υπάρχει πρόβλημα.
Ερ.4: Να κάνω export όλη την database; Έχω δημιουργήσει μία νέα database με το
όνομα μου και εκεί έχω δημιουργήσει τους πίνακες. Να κάνω export τους
πίνακες ένα - ένα ή ολόκληρη την database ;

Απ.: Προτιμότερο είναι για τη μεταφορά ενός set από tables (και data) να κάνει κανείς
export σε User mode (το χρήστη δηλαδή). Το πιο εύκολο για αρχή είναι να
προσπαθήσετε να κάνετε EXPORT ένα-ένα table (αρκεί για table, data και indexes)
φροντίζοντας να μπαίνετε με το ίδιο όνομα χρήστη στον οποίον ανήκουν τα tables, το
προτιμότερο είναι να κάνετε export όλο το χρήστη, αλλά πάλι θα πρέπει να
αντιμετωπίσουμε ένα μικρό προβληματάκι το οποίο θα δούμε στη συνέχεια (το ότι τα
views για να γίνουν export πρέπει να γίνει export μάλλον όλη η database - δεν είναι
ωστόσο σημαντικό καθώς μόνο ένα view έχετε να κάνετε σε κάποιο υποερώτημα).
Μετά από σχετικό έλεγχο που πραγματοποιήσαμε, είδαμε ότι το export ολόκληρου του
χρήστη (user) κάνει export όλο το σχήμα (δηλαδή tables, views, indexes, triggers,
stored procedures κλπ) και φυσικά και τα δεδομένα (υπάρχει σχετική ερώτηση) και
μάλλον είναι η πιο ενδεικτική λύση.

Ερ.5: Έχω πρόβλημα κατά την εισαγωγή στοιχείων στους πίνακες τα πεδία
ημερομηνίας θέλουν long date δηλαδή 12-Ιαν-2003 και όχι short 12-01-2003
μήπως υπάρχει στην create table SHORTDATE αντί για DATE ή κάτι άλλο για
να λύσω το πρόβλημα δηλαδή να μπορώ να εισαγάγω ημερομηνίες με μορφή
13/01/2003;

Απ.: Υπάρχει η συνάρτηση TO_DATE. π.χ. TO_DATE ('01/07/2002','dd/mm/yyyy')

Τη συνάρτηση TO_DATE τη χρησιμοποιείς σε select, update, insert. Δηλαδή δεν


αλλάζεις τον τύπο του πεδίου που είναι DATETIME.

Ερ.6: Σε σύστημα με Windows 2000 (ελληνικά) στη προσπάθειά μου να πάρω


export εμφανίστηκε αυτό το πρόβλημα με τους χαρακτήρες. Γνωρίζει κανείς
τι μπορώ να κάνω; Σε όλες τις άλλες εφαρμογές της Oracle όλα εμφανίζονται
κανονικά.

Απ.: Η πιο εύκολη λύση είναι να πας στο REGISTRY και να ψάξεις για τις εγγραφές
NLS_LANG. Όπου βλέπεις GREEK_GREEK... θα γράψεις:
AMERICAN_AMERICA.EL8MSWIN1253

Ερ.7: Τι είναι το Schema; Πως μπορούμε να ορίσουμε δικαιώματα για τον


χώρο πινάκων (tablespace) που έχουμε δημιουργήσει;

Απ.: Η ORACLE καταχωρεί τα δεδομένα στα datafiles, τα οποία είναι φυσικά αρχείο στο
σκληρό δίσκο.
Το tablespace είναι ουσιαστικά ένα λογικό αρχείο, το οποίο μπορεί να σχετίζεται με
διάφορα φυσικά αρχείο (datafiles). Κάθε χρήστης (γενικά) "αποθηκεύει" όλα τα
αντικείμενά του σε συγκεκριμένο tablespace.
Γι' αυτό όταν φτιάχνουμε ένα χρήστη, ορίζουμε και το tablespace. Στον ορισμό του
χρήστη, επίσης, δηλώνουμε και τα δικαιώματά του, τα οποία η ORACLE τα ορίζει με τη
μορφή ρόλων (roles).
Εσείς πρέπει οπωσδήποτε να δώσετε τους ρόλους CONNECT και RESOURCE στο
χρήστη σας.
Στη συνέχεια, φτιάχνετε αντικείμενα για το χρήστη που κατασκευάσετε, δηλαδή
φτιάχνετε πίνακες, view, indexes κλπ. Αυτά τα αντικείμενα, που έχουν σαν owner το
χρήστη που φτιάξατε αποτελούν και το σχήμα του χρήστη.
Στο σχήμα δεν περιλαμβάνονται τα δεδομένα.
Μ' άλλα λόγια χρήστης για σας σημαίνει "περίπου" ότι και database στην MSAccess.

Ερ.8: Τις εντολές τις έχω γράψει στο Sql plus worksheet. Υπάρχει διάφορα με το sql
plus;

Απ.: Το sql plus και το worksheet είναι δύο διαφορετικά εργαλεία για να εκτελείς sql
statements. Στο επίπεδο στο οποίο τα χειρίζεσθε εσείς δεν υπάρχει καμία διαφορά.
Διαλέξτε όποιο σας ταιριάζει καλύτερα.

Ερ.9: Τώρα που έγραψα όλες της εντολές πιο είναι το επόμενο βήμα;

Απ.: Εάν εννοείς ότι τελείωσες την εργασία σου, τότε προφανώς πρέπει να βγάλεις ένα
export αρχείο.

Ερ.10:Κάθε φορά που επιχειρώ να κάνω create ένα table και αφού έχω δώσει όλες
τις παραμέτρους πατώντας το "create" έχω ένα μήνυμα λάθους που λέει
ORA-01950: δεν έχουν ορισθεί δικαιώματα για τον χώρο πινάκων
(tablespace)
Πώς μπορώ να λύσω αυτό το πρόβλημα; Ορίζοντας ίσως κάποια "δικαιώματα"
για κάποιον πίνακα; Και πως γίνεται αυτό;

Απ.: Ακριβώς. Πρέπει να δώσεις δικαιώματα στον χρήστη. Από SQL PLUS (συνδεδεμένος
σαν SYSTEM / MANAGER) θα δώσεις:

GRANT DBA TO UserName;

(όπου UserName το όνομα του DATABASE USER που προσπαθεί να κάνει CREATE το
TABLE. Στην SQL φαίνεται με την εντολή SHOW USER)

Ερ.11:Πώς δημιουργούμε έναν χρήστη μέσα από την SQL PLUS;

Απ.: Για την δημιουργία χρήστη κάνετε connection στον sqlplus ως SYSTEM και γράφετε:
create user [i]user_name [/i] identified by [i]user_password[/i]
και μετά του δίνετε κάποια δικαιώματα όπως για παράδειγμα:
grant connect, resource to user_name

Ερ.12:Υπάρχει κάποια εντολή SQL που να μου δείχνει όλα τα TABLES που έχω
δημιουργήσει;

Απ.: Κάνετε connect στον sqlplus ως SYSTEM και δίνετε την εντολή:
select table_name from dba_tables where owner = 'SCOTT'
όπου SCOTT o owner των πινάκων, εάν δεν βάλετε το where θα βγουν πολλοί πίνακες
ως αποτέλεσμα.
Ερ.13:Γιατί μια View, την οποία έχω φτιάξει στο SqlPlus Works... μου φέρνει τις
εγγραφές ενώ τρέχοντάς την (copy & paste) από τον Enterprise Manager δεν
μου φέρνει καμιά εγγραφή;

Απ.: Για να καταχωρείς μόνιμα ότι κατασκευάζεις με το SQL-PLUS και να μπορείς να


βλέπεις τις αλλαγές από άλλα εργαλεία θα πρέπει να εκτελείς την εντολή commit

Ερ.14:Όταν προσπαθώ να κάνω σύνδεση σε SQL *Plus με username που


δημιούργησα αλλά και με τον Mr SCOTT / TIGER παίρνω το παρακάτω
μήνυμα, με SYSTEM / MANAGER δεν υπάρχει κανένα πρόβλημα. Τι παρέλειψα;
SQL*Plus: Release 9.0.1.0.1 - Production on Πεμ Φεβ 13 23:11:49 2003
(c) Copyright 2001 Oracle Corporation. All rights reserved.
ERROR:
ORA-01017: invalid username/password; logon denied
Σφάλμα στην προσπέλαση του PRODUCT_USER_PROFILE
Προειδοποίηση: Πληροφορίες προφίλ χρήστη προϊόντος δεν φορτώθηκαν!
Ίσως χρειασθεί να εκτελέσετε το PUPBLD.SQL σαν SYSTEM
Σύνδεση σε:
Oracle9i Personal Edition Release 9.0.1.1.1 - Production
JServer Release 9.0.1.1.1 - Production

Απ.: Μπείτε στον sqlplus ως SYSTEM και ανοίξτε και τρέξτε το αρχείο PUPBLD.SQL. Αυτό
μπορείτε να το βρείτε κάνοντας ένα search στον φάκελο c:\oracle.
Στην συνέχεια προσπαθήστε να μπείτε και πάλι ως SCOTT.

Ερ.15:Δεν μπορώ να φτιάξω μια βάση πάω στο data base assistant configuration
και ενώ αρχίζει να δημιουργεί, στο 46% μου βγάζει ένα μήνυμα
Ora-12705 invalid or unknown NLS
Parameter value specified
Επίσης θα ήθελα να ρωτήσω πώς θα πάω στο registry μήπως είναι πρόβλημα
από τα nls_lang το δηλώνω στο run και μου λέει ότι δεν υπάρχει κάτι τέτοιο.
Έχω τα windows XP

Απ.: Για να πάτε στο Registry πρέπει να πάτε στο Έναρξη (START) ---> Εκτέλεση(RUN) --->
και να γράψετε Regedit. Αλλάξτε όλα τα κλειδιά NLS_LANG με
AMERICAN_AMERICA.EL8MSWIN1253 και ξανατρέξτε το Database Configuration
Assistant.
Αναλυτικότερα: Αφού σας βγάλει τον Editor, για να ψάξετε τις εμφανίσεις κάποιου key
(NLS_LANG στην προκειμένη περίπτωση), επιλέγετε 'Find' από το menu 'Edit', γράφετε
μέσα εκεί το 'NLS_LANG' και μετά 'Find Next'. Όταν βρει ένα, για να αλλάξετε την τιμή
του κάνετε double-click πάνω του και σας εμφανίζει ένα παράθυρο όπου βάζετε τη νέα
τιμή και μετά πατάτε 'OK'. Μετά για να βρείτε την επόμενη εμφάνιση (occurrence) του
key πατάτε F3, κάνετε πάλι τα ίδια για κάθε ένα που βρίσκει κ.ο.κ. μέχρι να σας
βγάλει μήνυμα ότι δεν βρίσκει άλλο.

Ερ.16:Αντιμετωπίζω το εξής πρόβλημα στη SQL Plus: Όταν κάνω copy  paste
από notepad στην sql plus αλλά και αντίθετα τα ελληνικά που μεταφέρονται
εμφανίζονται ιερογλυφικά.

Απ.: Το πρόβλημα λύνεται ως εξής: όταν είσαι στο Notepad πριν κάνεις το copy θα πρέπει
να γυρίσεις το πληκτρολόγιο στα ελληνικά. Όταν πας στο sql plus πριν κάνεις το
paste θα πρέπει και πάλι να το γυρίσεις στα ελληνικά.

Ερ.17:Ενώ δημιουργώ κανονικά τους πίνακες με το sql plus, όταν πηγαίνω να


σώσω μου βγάζει μήνυμα ότι είναι λάθος το όνομα με το οποίο σώζω το
αρχείο. Με ποιο όνομα μπορώ να το σώσω; Επίσης, θα ήθελα να ρωτήσω πως
ορίζουμε το πεδίο της ημερομηνίας στον πίνακα και πως τελικά μπορώ να δω
τους πίνακες που έχω δημιουργήσει.

Απ.: Νομίζω ότι το παρακάτω παράδειγμα θα σε βοηθήσει:


CREATE TABLE TABLE1(INTEGER_FIELD NUMBER(10,0) NULL,
SMALLINTEGER_FIELD NUMBER(2,0) NULL,
STRING_FIELD VARCHAR2(25) NOT NULL,
DATE_FIELD DATE NOT NULL,
FLOAT_FIELD FLOAT NOT NULL)

Η ερώτηση να δω τον πίνακα που έφτιαξα είναι λίγο ασαφής. Γιατί το λέω αυτό; Γιατί
πολύ απλά μπορείς να στείλεις ένα query της μορφής SELECT * FROM 'TABLE1' και να
επιβεβαιώσεις ότι έχει δημιουργηθεί ο πίνακας, αλλά και τα πεδία. Εάν θες κάτι
περισσότερο, να ελέγξεις π.χ. τους τύπους των πεδίων, τότε είτε χρησιμοποιείς το
εργαλείο schema manager, είτε χρησιμοποιείς τα views της ORACLE USER_TABLES και
USER_TAB_COLUMNS.

Παραδείγματα

SELECT * FROM USER_TABLES WHERE TABLE_NAME='Table1'

SELECT * FROM USER_TAB_COLUMNS WHERE TABLE_NAME='Table1'

Ερ.18:Ακολουθώντας τον περιληπτικό οδηγό πρώτης χρήσης που μας έχει δοθεί,
επιλέγω στο oracle enterprise manager console login την επιλογή launch
standalone και ok. Μετά δίνοντας τα στοιχεία username sys, password αυτό
που έχω προ-επιλέξει, service EAPPLH11 και connect as
SYSDBA μου βγάζει το μήνυμα:
ORA-12500: TNS:ακροατής απέτυχε να ξεκινήσει μια διεργασία
αφιερωμένου server
Τι να κάνω; Το ίδιο μήνυμα βγάζει και όταν δίνω διαφορετικά στοιχεία (π.χ.
scott / tiger).

Απ.: Δεν έχεις φορτώσει την Υπηρεσία TNSListener. Αυτό μπορείς να το κάνεις από το
Control Panel  Services και εκκινείς την συγκεκριμένη υπηρεσία.

Ερ.19:Δεν ξέρω πώς θα δημιουργήσω ένα λογαριασμό χρήστη. Σύμφωνα με ένα


περιληπτικό οδηγό πρώτης χρήσης που μας δόθηκε, πρέπει να πάμε στο
Enterprise Manager Console και να δημιουργήσουμε user. Σε μένα δεν
υπάρχει τέτοιο αρχείο. Έχω Windows 98.

Απ.: Για create user (που όπως θα δεις από τα παραπάνω μηνύματα δεν είναι απαραίτητο
για την εργασία σας - υπάρχει έτοιμος χρήστης ο SCOTT / TIGER καθώς και έτοιμη
database) πήγαινε μέσω του SQLPlus (έχοντας μπει ως login SYSTEM pass MANAGER)
και δώσε τις εντολές

Create user <user_name> identified by <user_password>

Grant connect, resource to <user_name>

Μετά βγες και ξαναμπές με τα καινούρια.

Στην Poracle Win98 δεν υπάρχει Enterprise Manager.

Ερ.20:Το παράθυρο που δηλώνεις για 1η φορά username / password, εμφανίζεται


κατά την εγκατάσταση ή πρέπει να μπω σε κάποιο εργαλείο για να το
δηλώσω;

Απ.: Μπορείς από τον Enterprise Manager (αφού πρώτα κάνεις login π.χ. σαν SYSTEM) στο
storage  tablespace να δημιουργήσεις ένα νέο tablespace. Στη συνέχεια από το
security  users να δημιουργήσεις νέο χρήστη και μάλιστα να του ορίσεις να 'βλέπει'
το συγκεκριμένο tablespace

Ερ.21:Πρέπει υποχρεωτικά να χρησιμοποιήσουμε το SQLplus για την ανάπτυξη


της εργασίας μας; Εγώ έχω χρησιμοποιήσει, από τον enterprise manager
console, το SQL Scratchpad, με το οποίο η μορφή των αποτελεσμάτων τύπου
select είναι πολύ πιο διαφορετική από την μορφή των αποτελεσμάτων σε
SQLplus. Υπάρχει κάποιο πρόβλήμα;

Απ.: Όχι δεν υπάρχει κανένα πρόβλημα.

Ερ.22:Πως μπορούμε να φτιάξουμε το δικό μας schema για την εισαγωγή των
πινάκων και δεδομένων μας;

Απ.: Με το που θα δημιουργήσεις κάποιον χρήστη, αυτόματα δημιουργείται και το ομώνυμο


schema, το οποίο θα εμφανισθεί στον Enterprise Manager όταν δημιουργήσεις και τον
πρώτο πίνακα αυτού του χρήστη.

Ερ.23:Εξακολουθώ να μην μπορώ να δω τις εγγραφές... Με το view/edit details


βλέπω μόνο τα πεδία που έχω ορίσει και όχι τις εγγραφές

Απ.: Θα πρέπει να επιλέξεις το όνομα του πίνακα που σου εμφανίζεται στην δενδρική μορφή
Schema  BANKER  Υποκατάστημα, να δώσεις και ένα CTRL+R καλού κακού και
κάνοντας δεξί κλικ να επιλέξεις View/Edit Contents... (με το View/Edit Details...
βλέπεις την δομή του πίνακα).
Τότε σου εμφανίζεται ένα όμορφο πινακάκι με όλες τις εγγραφές σου.
ΠΡΟΣΟΧΗ: Προτού δω τα περιεχόμενα κάποιου πίνακα από τον Enterprise Manager,
πρέπει να έχω εκτελέσει την εντολή COMMIT από το SQL PLUS ή από το SQL PLUS
Worksheet.

Ερ.24:Η εντολή
INSERT INTO Υποκατάστημα VALUES (101,
"Ερμού 32",
"Πύργος",
2621025932);
Βγάζει μήνυμα λάθους ότι λείπει κόμμα. Τι φταίει;

Απ.: Για δοκίμασε


INSERT INTO Υποκατάστημα VALUES (101,
'Ερμού 32',
'Πύργος',
2621025932)
Δηλαδή χρησιμοποίησε μονά QUOTES (') και όχι διπλά (")

Ερ.25:Eχω Windows98 στο Έναρξη  Προγράμματα  OracleOra90 δεν υπάρχει το


Enterprise Manager υπάρχει περίπτωση να έχω κάνει λάθος την
εγκατάσταση;

Απ.: Όχι δεν έχετε κάνει λάθος στην εγκατάσταση. Στα Windows 98 υπάρχει ο Navigator
που εξυπηρετεί παρόμοιους σκοπούς. Ο Enterprise Manager είναι μόνο για
εγκατάσταση σε 2000/NT/XP

Ερ.26:Όταν δημιουργώ τον πίνακα ορίζω ένα πεδίο ως DATE. Όταν κάνω insert
όμως μου παρουσιάζει σφάλμα.

Απ.: Σου παραθέτω ένα παράδειγμα :

CREATE TABLE FOITITIS (ONOMA VARCHAR2(10),


EPWNIMO VARCHAR2(20),
PATRWNIMO VARCHAR2(15),
AM NUMBER(5),
HM_GEN DATE);
INSERT INTO FOITITIS VALUES ('MARINA',
'XATZI',
'ATHANASIOS',
TO_DATE('10-10-1977','dd-mm-yyyy'));

Ερ.27:Κάνω εισαγωγή σε πίνακα. Κάποια στιγμή πάτησα πάλι την επικόλληση


και μου εμφάνισε το μήνυμα:
Παραβίαση περιορισμών μοναδικότητας SCOTT.SYS_C001440
Στην συνέχεια τον επόμενο υπάλληλο συγκεκριμένα που πάω να κάνω
εισαγωγή δεν μου τον κάνει εισαγωγή τους άλλους όμως παρακάτω
υπαλλήλους μου τους κάνει εισαγωγή. Στον πίνακα μου ο υπάλληλος που δεν
μου κάνει εισαγωγή υπάρχει. Τι έχω κάνει;

Απ.: Κλασσική περίπτωση παραβίασης πρωτεύοντος κλειδιού. Έστω ο πίνακας TABLE1 που
έχει ένα πεδίο τύπου NUMBER(10,0), που ονομάζεται FIELD1 και το οποίο είναι το
πρωτεύον κλειδί του πίνακα. Εκτελείς τις εντολές:
INSERT INTO TABLE1 VALUES(100)
INSERT INTO TABLE1 VALUES(101)
INSERT INTO TABLE1 VALUES(102)
INSERT INTO TABLE1 VALUES(100)
Η τελευταία εντολή θα "σκάσει", γιατί ήδη υπάρχει η εγγραφή 100.
Δεν μπορεί να είναι καταχωρημένες δυο η περισσότερες εγγραφές στο ίδιο πίνακα που
να έχουν την ίδια τιμή στο πρωτεύον κλειδί.

Ερ.28:Όταν προσπαθώ να εισάγω δεδομένα στον πίνακα Τραπ_Υπάλληλος με την


εντολή: INSERT INTO Τραπ_Υπάλληλος κτλ μου βγάζει το εξής λάθος:
ERROR at line 1:ORA-01401: inserted value too large for column
Με την εισαγωγή στον πίνακα Πελάτες δεν έχω πρόβλημα, τη δέχεται την
εντολή! Πώς θα ξεπεράσω το πρόβλημα;

Απ.: Έλεγξε το μέγεθος του πεδίου στο οποίο προσπαθείς να καταχωρήσεις την τιμή.
Εντολή: DESC xxxxxx (xxxxx=το όνομα του πίνακα)
Σε περίπτωση που έχεις Unicode και καταχωρείς Ελληνικά η αντιστοίχηση των
χαρακτήρων-bytes δεν είναι 1-1

Αν χρειασθεί άλλαξε μέγεθος στο πεδίο με την εντολή


ALTER TABLE xxxxxxx
MODIFY (YYYYYY ZZZZZZ);
όπου χχχχχχχ tablename
YYYYYYYY fieldname
ZZZZZZZ datatype

Ερ.29:Τι ακριβώς σημαίνουν τα παρακάτω ERRORS:


ORA-00001:unique constraint(SYSTEM.SYS_C001435) violated.
ORA-01756:quoted string not properly terminated.

Απ.: Το πρώτο error ora-00001 σημαίνει ότι αυτή η εγγραφή που προσπαθείς να εισάγεις
υπάρχει ήδη από προηγούμενό σου Insert. Κάνε delete from onoma_pinaka where
pedio=xxx; Οπου χχχ η τιμή που υπάρχει ήδη στον πίνακα. Μετά κάνε το insert που
«έσκαγε».
Το δεύτερο ora-01756 σημαίνει ότι δεν έχεις κάπου έχεις γράψει 'χχχχχ ενώ έπρεπε
'χχχχχ'

Ερ.30:Όταν δουλεύω στο παράθυρο της SQL PLUS οι ενημερώσεις (δίνοντας τις
απαραίτητες εντολές) στους πίνακες γίνονται κανονικά εμφανίζοντας το
αντίστοιχο μήνυμα, παράδειγμα:
εντολές:
INSERT INTO TABLE1
VALUES (1000,'MPLA..MPLA&');
μήνυμα της SQL:
1 γραμμή δημιουργήθηκε
Στη συνέχεια, ΕΑΝ ΒΓΩ από το περιβάλλον της SQL και ξανά μπω, εάν δώσω
τις εντολές που είχα δώσει προηγουμένως με τα ίδια δεδομένα, ξανά
καταχωρεί την εγγραφή στον πίνακα.!!! Ή αλλιώς, εάν δώσω την εντολή
SELECT * FROM TABLE1;
Μου εμφανίζει το ακόλουθο μήνυμα:
δεν επιλέχτηκαν γραμμές
Τι λάθος κάνω και οι πίνακες «δεν κρατάνε» τα δεδομένα;;;
Και στον Enterprise Manager Console στους πίνακες δεν βλέπω δεδομένα.

Απ.: Αφού τελειώσεις με την εισαγωγή των δεδομένων ( πριν βγεις από την SQL ) να
δώσεις την εντολή COMMIT

Ερ.31:Δίνω κωδικό SYSTEM το password που έχω δημιουργήσει και το service σε


sysdba και κάνω connect.
Συνδέεται!
Γράφω τις εντολές (π.χ. CREATE TABLE X κτλ) και μόλις πατάω execute μου
βγάζει το ακόλουθο μήνυμα:
ERROR:
ORA-01017: invalid username/password; logon denied
Warning: You are no longer connected to ORACLE.
SP2-0640: Not connected
Τι να κάνω;

Απ.: Πριν από κάθε script θα γράφεις την εντολή του connection.
Δηλαδή:
connect username/password;
create table ...
ή θα συνδεθείς αρχικά στο worksheet με scott / tiger

Ερ.32:Το SCOTT / TIGER της Oracle δουλεύει μόνο για μια ημέρα μετά την
εγκατάσταση; Την επόμενη μέρα δεν αναγνωρίζονται, ούτε από το Enterprise
Manager αλλά ούτε μπορώ να μπω στην SQL Plus. Δοκίμασα και άλλα που
λέει στα documentations, όπως SYSTEM/MANAGER. Αυτό έχει συμβεί άλλες
δύο φορές και αναγκάζομαι συνεχώς να κάνω de-install και re-install.
Τι μπορώ άλλο να κάνω; γιατί σήμερα θα το ξανακάνω re-install το
πρόγραμμα.
Επίσης όταν κάνω de-install , κάποια files δεν σβήνονται από τον δίσκο παρά
το γεγονός ότι κάθε φορά κάνω re-install σε άλλη περιοχή του δίσκου. Τα
«υπολείμματα» πως τα εξαφανίζω;
Επίσης πως μπορώ να δω τις εγγραφές από τους πίνακες που έφτιαξα; από το
enterprise manager; από την SQL Plus;

Απ.: Είναι κατανοητό ότι υπάρχει κάποιο πρόβλημα με την εγκατάσταση σου κάθε φορά. Οι
λογαριασμοί SCOTT/TIGER, SYSTEM/MANAGER κλπ δεν απενεργοποιούνται εντός
χρονικού διαστήματος υπό normal συνθήκες (δεν έχει αναφερθεί επίσης σχετικό
πρόβλημα από άλλον τουλάχιστον στο forum - αν έχει τύχει και σε κάποιον άλλον ας
το αναφέρει).
Γράψε σε παρακαλώ καταρχήν τι μήνυμα σου βγάζει (όταν δεν δέχεται να μπει) και τι
έκδοση Windows έχεις.
Έλεγξε μήπως σε καλύπτουν τα ακόλουθα μηνύματα:
Α. Σε περίπτωση που πάτε να ανοίξετε το sqlplus ή άλλο εργαλείο και σας βγαίνει
το error:
ORA-12541 δεν υπάρχει διεργασία ακρόασης
θα πρέπει να ξεκινήσετε manually τον TNS LISTENER, αυτό γίνετε με την
παρακάτω εντολή από το command prompt:
c:\> LSNRCTL start
Αυτό το πρόβλημα δημιουργείται μόνο στα 98, στα άλλα λειτουργικά συστήματα
υπάρχει service που τον εκκινεί αυτόματα.
Β. ERROR:
ORA-01017: invalid username/password; logon denied
Σφάλμα στην προσπέλαση του PRODUCT_USER_PROFILE
Προειδοποίηση: Πληροφορίες προφίλ χρήστη προϊόντος δεν φορτώθηκαν!
Ίσως χρειασθεί να εκτελέσετε το PUPBLD.SQL σαν SYSTEM
Μπείτε στον sqlplus ως SYSTEM και ανοίξτε και τρέξτε το αρχείο PUPBLD.SQL,
αυτό μπορείτε να το βρείτε κάνοντας ένα search στον φάκελο c:\oracle
Στην συνέχεια προσπαθήστε να μπείτε και πάλι ως SCOTT
Επίσης: Αν ενδιάμεσα κάνεις re-install το πρόγραμμα και δεν φταίει κάτι από τα
παραπάνω, (αν έχεις έκδοση για Win2000/XP ακολούθησε τα βήμα τα που λέγονται
στο θέμα 'ΑΡΧΙΚΕΣ ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ-ΧΡΗΣΗΣ WIN2000' και φτιάξε μετά από
κει δύο νέους χρήστες, δίνοντας στον έναν δικαίωμα 'dba' και στον άλλον κανονικά
δικαιώματα 'connect' και 'resource'): μπες ως SYSTEM/MANAGER στην SQLPlus και
φτιάξε δύο καινούριους χρήστες (έναν κανονικό και έναν με δικαιώματα dba):
Α. Create user <user_name> identified by <user_password>
grant connect, resource to <user_name>
Β. Create user <user_name> identified by <user_password>
grant dba to <user_name>
και έχε τους και αυτούς στο μυαλό σου κάθε φορά που προσπαθείς να μπεις και δεν τα
καταφέρνεις (καλό θα ήταν να μπεις εξαρχής αφού φτιάξεις τους χρήστες αυτούς, με
το user-name και password του πρώτου / κανονικού και να δουλέψεις σε αυτόν -
προσοχή επίσης μετά από κάθε εντολή SQL που εκτελείς ή τουλάχιστον πριν βγεις από
την SQL Plus να εκτελείς την εντολή COMMIT.
Για να δεις τον ορισμό και τα περιεχόμενα των πινάκων που έχεις φτιάξει (εφόσον
έχεις μπει σαν απλός χρήστης με το login και pass που έχεις φτιάξει τους πίνακες σου
- π.χ. scott / tiger ή με τον καινούριο απλό / κανονικό χρήστη που θα έχεις φτιάξει /
βλ.Α.):
Τρέξε τις εντολές:
SELECT * from <table_name>; για να δεις τι έχει εισαχθεί σε έναν πίνακα
DESC <table_name>; για να δεις τον ορισμό ενός πίνακα
Αν έχεις έκδοση για Win2000/XP μπορείς να δεις τα παραπάνω και μέσω του
Enterprise Manager όπως περιγράφεται παρακάτω:
Θα πρέπει να επιλέξεις το όνομα του πίνακα που σου εμφανίζεται στην δενδρική μορφή
Schema --> BANKER --> Υποκατάστημα, να δώσεις και ένα CTRL+R καλού κακού και
κάνοντας δεξί κλικ να επιλέξεις View/Edit Contents... (με το View/Edit Details...
βλέπεις την δομή του πίνακα).
Τότε σου εμφανίζεται ένα όμορφο πινακάκι με όλες τις εγγραφές σου.
ΠΡΟΣΟΧΗ: Προτού δω τα περιεχόμενα κάποιου πίνακα από τον Enterprise Manager,
πρέπει να έχω εκτελέσει την εντολή COMMIT από το SQL PLUS ή από το SQL PLUS
Worksheet.

Ερ.33:Το commit στο SQL PLUS είναι το ίδιο με το 'Εκτέλεση' του File menu;
Απ.: Το COMMIT είναι εντολή επικύρωσης των transactions της ΒΔ (δεν είναι η 'Εκτέλεση'
του File menu την οποία την καλείς για να τρέξεις οποιοδήποτε SQL query έχει
φορτωθεί στον buffer της SQL Plus), το τρέχεις από το SQL prompt της SQLPlus:
SQL> COMMIT
και πρέπει (καλό είναι) να το τρέχεις μετά από κάθε εντολή διαμόρφωσης της βάσης
(insert, update κ.λπ.) και σε κάθε περίπτωση (τουλάχιστον) κάθε φορά πριν
βγεις από την SQLPlus.

Ερ.34:Κάνω δεξί κλικ να δω τα περιεχόμενα των πινάκων και είναι άδεια!

Απ.: Η μη εκτέλεσή του COMMIT (βλέπε προηγούμενο θέμα) είναι και ο λόγος που δεν
βλέπεις μετά όταν ξαναμπαίνεις, τα Inserts που έχεις κάνει στους πίνακες.

Ερ.35:Το SQL Plus δεν μου σώζει τα *.sql αρχεία, μου βγάζει:
SP@-0116: Μη αποδεκτή εντολή Save

Απ.: Τα .SQL files προσπάθησε να τα σώσεις σε directory του C:\ ή D:\ - όχι στο My
Documents ('Τα Έγγραφα μου').

Ερ.36:Ενώ έχω καταχωρήσει τις ημερομηνίες στον πίνακα, μπορώ και τις βλέπω
όταν κάνω αναζήτηση όλο τον πίνακα, όταν ζητάω να μου εμφανίσει ένα
πεδίο το οποίο έχει συγκεκριμένη ημερομηνία π.χ.
Ημερομηνία=#02/01/2002# τότε μου εμφανίζει 'δεν επιλέχθηκαν γραμμές'

Απ.: H ημερομηνία στην Oracle είναι της μορφής Ημερομηνία='26/02/2003' και όχι
ημερομηνία=#26/2/2003# που δουλεύει στην Access.

Ερ.37:Δίνω:

INSERT INTO Κατάστημα_Ασφαλιστή


VALUES SELECT Κωδ_Κατ, Κωδ_Ασφ
FROM Κατάστημα, Ασφαλιστή
WHERE Δνση= 'Ρ.Φεραίου 25 - Αθήνα 'AND Ονοματεπώνυμο='Ανδρέου
Ανδρέας';

και μου βγάζει μήνυμα λάθους:

VALUES SELECT Κωδ_Κατ, Κωδ_Ασφ


*
ERROR at line 2:
ORA-00936: missing expression

Απ.: Δοκίμασέ το χωρίς το VALUES και βάζοντας τα ονόματα των πινάκων μπροστά από τα
πεδία του SELECT, δηλαδή κάτι σαν
INSERT INTO Κατάστημα_Ασφαλιστή
SELECT Κατάστημα.Κωδ_Κατ, Ασφαλιστή.Κωδ_Ασφ
FROM Κατάστημα, Ασφαλιστή
WHERE Δνση= 'Ρ.Φεραίου 25 - Αθήνα' AND Ονοματεπώνυμο='Ανδρέου Ανδρέας'

Ερ.38:Πως βλέπω σε έναν πίνακα στην Oracle ότι ένα πεδίο μου το έχει κάνει
primary key;

Απ.: Ένας αλάνθαστος τρόπος για να ανακαλύψεις αν το primary key είναι αυτό που έχεις
ορίσει, είναι να προσπαθήσεις να περάσεις 2 γραμμές με ίδιο κωδικό. Αν το primary
key δουλεύει καλά, η εκτέλεση θα «χτυπήσει».

Ερ.39:Η COUNT() δεν δουλεύει στην SQL PLUS WORKSHEET. Δεν παίρνει ούτε το
μπλε χρώμα των εντολών. Ξέρει κανείς τον λόγο; Η πως συντάσσεται; Η
τέλος πάντων πως κάνουμε COUNT() στην ORACLE;

Απ.: Δουλεύει. Η σύνταξη είναι η εξής:


select count(*)
from Όνομα_Πίνακα;
Πράγματι, η λέξη count δεν παίρνει το μπλε χρώμα, αλλά αυτό δεν μας απασχολεί.

Ερ.40:Θέλω να εργαστώ με την Oracle μόνο για την εργασία (προς το παρόν), μου
χρειάζεται κάποιο άλλο περιβάλλον εργασίας εκτός του SQL*Plus Worksheet;
Μπορώ δηλαδή να ολοκληρώσω την άσκηση εδώ μέσα ή θα χρειαστεί να
δουλέψω και κάποιο άλλο τμήμα της εφαρμογής;

Απ.: ΝΑΙ ΜΠΟΡΕΙΣ ΝΑ ΤΗΝ ΚΑΝΕΙΣ ΜΟΝΟ ΜΕ ΤΟ SQL*Plus WORKSHEET (ΑΥΤΟ ΣΥΝΙΣΤΟΥΜΕ
ΚΑΙ ΜΕΙΣ ΕΠΙΣΗΣ ΓΙΑ ΟΣΟΥΣ ΔΟΥΛΕΥΟΥΝ ΣΕ WIN NT/2000/XP) – Η ΕΝΑΛΛΑΚΤΙΚΑ ΜΕ ΤΟ
ΑΠΛΟ SQL*Plus (ΕΙΔΙΚΟΤΕΡΑ ΓΙΑ ΟΣΟΥΣ ΕΧΟΥΝ WIN 98 ΟΠΟΥ ΔΕΝ ΥΠΑΡΧΕΙ SQL*Plus
WORKSHEET) [στα WIN NT/2000/XP υπάρχουν και τα δύο]

Ερ.41:Εχω πρόβλημα με το SQL*Plus WORKSHEET. Παρά τις καλές οδηγίες που


υπάρχουν στο αντίστοιχο Κείμενο/Οδηγό που μας έχει δοθεί, δεν έχω
καταλάβει πλήρως πώς να εισάγω εντολές (π.χ. CREATE) και να είμαι
σίγουρος ότι έχουν εκτελεστί σωστά κ.λ.π.

Απ.: Φαντάσου, ότι το SQL*Plus Worksheet είναι κάτι σαν το Σημειωματάριο των Windows.
Απλά, στο πάνω (λευκό) τμήμα γράφεις τις εντολές σε sql, και στο κάτω μέρος
(γκρίζο) εμφανίζονται τα αποτελέσματα των ενεργειών σου (είτε το τι έκανε η Oracle,
είτε τους πίνακες που ζητάς να δεις, είτε -μακριά από μας- μηνύματα λάθους).

Προσοχή! Αυτό που γράφω για το σημειωματάριο είναι αρκετά ακριβές. Έχεις όλες τις
επιλογές ενός πλήρους συντάκτη κειμένου, όπως στηλοθέτες, copy/paste κ.α. Για
παράδειγμα, όταν πατάς το Enter, δεν εκτελείται τίποτα, απλά αλλάζεις γραμμή.
Όταν έχεις τελειώσει με την συγγραφή των εντολών σου, πρέπει να πατήσεις F5 για
να εκτελεστούν. Εάν έχεις κάνει κάποιο λάθος στην σύνταξη, η Oracle θα σε
ενημερώσει κατάλληλα, έτσι ώστε να το διορθώσεις, ενώ όλο το κείμενο θα γίνει μπλε
(=θα έχει επιλεγεί - όπως και σε ένα απλό συντάκτη κειμένου, εάν πατήσεις delete θα
σβηστεί όλο, ενώ εάν πατήσεις κάποιο βελάκι, θα μπορέσεις να μετακινήσεις τον
κέρσορα στο σημείο που υπάρχει το λάθος, έτσι ώστε να το διορθώσεις).

Όσον αφορά την γραμμή που σου εμφανίζει στην αρχή, είναι η εντολή σύνδεσής σου
στην ΒΔ, και μπορείς να την "ξεφορτωθείς κατάλληλα"!

Προκειμένου να φτιάξεις πίνακα, ακολουθείς την εντολή create table όπως ακριβώς
περιγράφεται στο βιβλίο μας, σελίδα 138. Απλά γράφεις την εντολή δημιουργίας του
πίνακά σου με τα κατηγορήματά του, με τον τύπο δεδομένων, με το γνώρισμα κλειδί
κ.α., και πατάς F5...; Έτοιμος! Στο κάτω μέρος, θα εμφανιστεί (αν η σύνταξή σου είναι
καλή) το μήνυμα: 1 table created. Συνεχίζεις προσθέτοντας και άλλους πίνακες, και
στοιχεία σε αυτούς (με τις κατάλληλες πάντα εντολές σε sql...), μετά μπορείς να
εκτελέσεις κατά τον ίδιο τρόπο queries (Select…) για ανάκτηση δεδομένων και να
πάρεις τα αντίστοιχα αποτελέσματα κ.λ.π.

Ερ.42: Θέλω να φτιάξω τους πίνακες που έχει το βιβλίο για πρακτική όπως έκανα
(για δοκιμή) και με την Access. Θα τους κάνω με την Create ωραία... μετά θα
θέλω να προσθέσω εγγραφές. Αυτό γίνεται με την insert: Στην Access δεν
μου έδινε την δυνατότητα να εισάγω πάνω από μια εγγραφή κάθε φορά και
έπρεπε για να βάλω πχ 5 εγγραφές να κάνω 5 διαφορετικές insert. Αυτό
γίνεται πιο εύκολα στην Oracle ή θα πρέπει να γράφω τόσες insert όσες και
οι εγγραφές που θα βάζω κάθε φορά;

Απ.: ΟΧΙ, ΠΡΕΠΕΙ ΚΑΙ ΣΤΗΝ ORACLE ΝΑ ΤΟ ΚΑΝΕΙΣ ΜΕ ΞΕΧΩΡΙΣΤΕΣ ΕΝΤΟΛΕΣ 'INSERT' (MIA-
MIA ΔΗΛΑΔΗ) ΝΑ ΒΑΛΕΙΣ ΤΑ ΔΕΔΟΜΕΝΑ [ΚΑΙ 'COMMIT' ΣΤΟ ΤΕΛΟΣ]
(ΓΙΑ ΤΗΝ ΑΚΡΙΒΕΙΑ ΣΤΗΝ ORACLE ΓΙΝΕΤΑΙ ΝΑ ΕΙΣΑΧΘΟΥΝ ΔΕΔΟΜΕΝΑ KAI ΠΟΛΛΑΠΛΑ -
ΟΧΙ ΔΗΛΑΔΗ ΕΝΑ-ΠΡΟΣ-ΕΝΑ - ΑΛΛΑ ΑΠΑΙΤΕΙΤΑΙ ΕΙΔΙΚΟ ΕΡΓΑΛΈΙΟ/SQL LOADER
ΝΟΜΙΖΩ)

Ερ.43: Δίνω μια create και φτιάχνεται ένας πίνακας. Για να φτιάξω τον επόμενο
πρέπει να σβήσω όλα τα άλλα από το παράθυρο, να ανοίξω νέο ή συνεχίζω
κανονικά από κάτω στο ίδιο παράθυρο;

Απ.: AN ΕΝΝΟΕΙΣ ΤΟ ΠΑΡΑΘΥΡΟ ΤΟΥ SQLPLUS WORKSHEET, OXI - ΣΒΗΝΕΙΣ ΤΗΝ


ΠΡΟΗΓΟΥΜΕΝΗ ΕΝΤΟΛΗ (CREATE) ΠΟΥ ΕΓΡΑΨΕΣ ΚΑΙ ΣΥΝΕΧΙΖΕΙΣ (ΣΤΟ ΙΔΙΟ) ΜΕ ΤΗ
ΕΠΟΜΕΝΗ

Ερ.44: Ας πούμε ότι έδωσα τις εγγραφές με μια μια τις εντολές insert. Τώρα θέλω
να δω τον πίνακα μου, τα περιεχόμενα του για να ελέγξω αν έβαλα αυτά που
ήθελα και γενικά αν έκανα τον πίνακα που ήθελα. Τι κάνω; Ερώτημα Select?

Απ.: ΟΠΩΣ ΛΕΕΙ ΚΑΙ ΤΟ ΚΕΙΜΕΝΟ/ΟΔΗΓΟΣ (ΣΤΟ 3ο ΜΕΡΟΣ) – ΝΑΙ, ΜΕ ΕΝΤΟΛΕΣ SQL ΕΙΝΑΙ
ΤΟ ΠΙΟ ΑΠΛΟ (SELECT * FROM ... ΓΙΑ ΜΑ ΔΕΙΣ ΤΑ ΔΕΔΟΜΕΝΑ, DESC... ΓΙΑ ΝΑ ΔΕΙΣ ΤΗ
ΔΟΜΗ/ΟΡΙΣΜΟ) – ΔΕΣ ΑΝΑΛΥΤΙΚΟΤΕΡΑ ΣΤΟ ΚΕΙΜΕΝΟ

Ερ.45: Οι πίνακες που κάνω που «πηγαίνουν»; ως αρχεία; Στην Access πχ δίνεις
στην αρχή όνομα βάσης και ξέρεις ότι μέσα σε αυτή τη βάση φτιάχνεις
κάποιους πίνακες. Εδώ πια είναι η βάση μου;

Απ.: ΠΗΓΑΙΝΟΥΝ ΣΕ ΚΑΠΟΙΑ ΑΡΧΕΙΑ ΤΗΣ ΒΑΣΗΣ ΠΟΥ ΔΟΥΛΕΥΕΙΣ ΕΝΙΟΤΕ (ΓΙΑ ΤΗΝ ΟΠΟΙΑ
ΕΠΙΣΗΣ ΕΧΕΙΣ ΔΩΣΕΙ ΕΝΑ ΟΝΟΜΑ ΕΙΤΕ ΚΑΤΑ ΤΗΝ ΕΓΚΑΤΑΣΤΑΣΗ ΟΠΟΥ ΔΗΜΙΟΥΡΓΕΙΤΑΙ
ΑΥΤΟΜΑΤΑ ΕΙΤΕ ΓΕΝΙΚΑ ΟΤΑΝ ΤΗΝ ΔΗΜΙΟΥΡΓΗΣΕΣ ΕΣΥ Ο ΙΔΙΟΣ ΑΝ ΤΟ ΕΚΑΝΕΣ
MANUALLY) - ΑΛΛΑ ΔΕΝ ΣΟΥ ΧΡΕΙΑΖΟΝΤΑΙ ΑΥΤΑ.
ΤΟ ΑΡΧΕΙΟ/DATA/TABLES Κ.Λ.Π. ΠΟΥ ΘΑ ΧΡΕΙΑΣΤΕΙ ΝΑ ΠΑΡΕΙΣ ΑΠΕΞΩ ΚΑΙ ΝΑ ΣΤΕΙΛΕΙΣ
ΚΑΠΟΥ ΩΣ ΒΑΣΗ ΠΟΥ ΕΦΤΙΑΞΕΣ (ΟΠΩΣ ΙΣΧΥΕΙ ΚΑΙ ΓΙΑ ΤΗΝ ΕΡΓΑΣΙΑ ΣΑΣ) ΕΙΝΑΙ ΑΥΤΟ
ΠΟΥ ΠΑΙΡΝΕΙΣ ΜΕ ΤΗΝ ΕΝΤΟΛΗ 'ΕXPORT' (ΣΕ DOS-PROMPT) - ΑΡΧΕΙΟ '<XX>.DMP'

Ερ.46: Επειδή δεν την χρησιμοποιώ την Oracle ακόμη, και κάθε φορά που ξεκινάω
τον υπολογιστή μου, ξεκινάει πολλά services και κάνει περίπου 5 λεπτά η
όλη υπόθεση, έκανα disable από το system configuration utility όλα τα
Oracle Services. Πριν, έτρεχε στο background, apache.exe, 2 java.exe,
oracle.exe και ένα άλλο με sql, χωρίς καν να έχω ανοίξει το πρόγραμμα. Η
ερώτηση μου είναι, όταν θα έρθει η ώρα να την χρησιμοποιήσω, θα πρέπει
να τα ξανακάνω enable όλα αυτά και να κάνω reboot για να δουλέψω την
oracle, ή με το που ξεκινάω το πρόγραμμα ξεκινάνε και αυτά από μόνα τους;

Απ.: θα πρέπει να τα ξανακάνεις enable (επιλογή 'αυτόματα') και να ξανακάνεις restart για
να επανεκκινηθούν αυτόματα. Η άλλη επιλογή είναι να τα γυρίσεις σε 'manual' και να
μπορείς να τα εκκινείς εσύ χωρίς restart όταν τα χρειάζεσαι (θα πρέπει ωστόσο να
ξέρεις πώς εκκινούνται όλα manual και γενικά δεν συνισταταται και η καλύτερη
επιλογή είναι η πρώτη (αυτόματα)).

Ερ.47: Έχω εγκαταστήσει στο γραφείο την oracle8i. Θα μπορούσα στο ίδιο
μηχάνημα να εγκαταστήσω και την 9i χωρίς να έχω πρόβλημα;

Απ.: ναι, γίνεται να εγκαταστήσεις και την 9ι στο ίδιο μηχάνημα, πρέπει να προσέξεις λίγο
ωστόσο με τα install directories στην αρχή - σε κάθε περίπτωση αν έχεις επαρκή
χώρο/resources μπορείς να το κάνεις -- δεν είναι ωστόσο απίθανο να έχεις τελικά
κάποια προβλήματα στο τρέξιμο - έχουν αναφερθεί προβλήματα ακόμα και με
σωστές/πλήρεις εγκαταστάσεις πολλαπλών εκδόσεων (με τον TNS listener της μίας
και της άλλης έκδοσης κ.α.) - σε κάθε περίπτωση δεν έχει αναφερθεί πρόβλημα που να
μην μπορεί κάποιος μετά την εγκατάσταση να χρησιμοποιήσει σωστά τουλάχιστον την
μία από τις δύο εκδόσεις.

Ερ.48: Έχω φορτωμένο ήδη στον υπολογιστή μου Sql Server 2000 που μου είναι
χρήσιμο για την δουλεία μου.Εάν εγκαταστήσω και την oracle στο ίδιο pc θα
έχω πρόβλημα;Μήπως οι δύο αυτές βάσεις δεν πρέπει να εγκατασταθούν στο
ίδιο pc;Σε αυτή την περίπτωση ποιά είναι η λύση;Να κάνω εγκατάσταση σε
διαφορετικό partition με άλλο λειτουργικό ή να φτιάξω ένα partition και να
εγκαταστήσω εκεί την oracle μόνο;

Απ.: Κανένα απολύτως πρόβλημα. Ο SQL Server δεν καταναλώνει σχεδόν καθόλου πόρους
σε σχέση με την Oracle. Οποιοδήποτε πρόβλημα και να αντιμετωπίσεις με την Oracle
δεν θα οφείλεται στο SQL Server.

Ερ.49:Δούλεψα την εργασία (έφτιαξα τους πίνακες, έτρεξα τα queries κ.λ.π.)


μπαίνοντας ως 'sys' as sysdba και στο τέλος δεν μπορώ να κάνω EXPORT
σύμφωαν με τις οδηγίες που δοθηκαν (δεν αναγνωρίζει στο EXPORT το
χρήστη ‘sys’ κ.λ.π.)

Απ.: το συγκεκριμένο πρόβλημα (EXPORT από SYS/sysdba) – ...έχει προκύψει και σε άλλους

ξεκινάει... από το ότι κανονικά θα έπρεπε να είχατε δουλέψει την εργασία (όπως
είχαμε πει και γράφουμε και στα κείμενα/οδηγίες) ως απλός χρήστης (π.χ. scott/tiger
ή οποιονδήποτε άλλον έχετε τυχόν δημιουργήσει) και όχι ως 'sys' ή 'system' (οι οποίοι
δεν είναι κλασσικοί λογαριασμοί χρηστών – είναι λογαριασμοί συστήματος) – οπότε
δουλεύουν κανονικά και οι οδηγίες που σας έχουμε δώσει για EXPORT.
Από κει και πέρα, αυτό που ΠΡΟΤΕΙΝΟΥΜΕ να κάνετε ενόψη της εργασίας σας (ΚΑΙ
ΜΟΝΟ ΑΥΤΟΙ ΠΟΥ ΕΧΟΥΝ ΔΟΥΛΕΨΕΙ ως 'SYS'/sysdba) – μια και δεν υπάρχει αρκετός
χρόνος πλέον – είναι να κάνετε EXPORT τα tables μόνο, με την ακόλουθη εντολή:

EXPORT userid='sys/pass as sysdba' file=c:\myexp2.dmp log=c:\myexp2.log


tables=(tab1,tab2,tab3,...)

όπου ως 'pass' βάζετε το password που έχετε δηλώσει (κατά την εγκατάσταση ως
password του λογαριασμού 'sys') και όπου 'tab1', 'tab2', 'tab3',.... βάζετε ένα-ένα τα
ονόματα των πινάκων που έχετε φτιάξει για την εργασία σας. Δοκιμάστε το και
ενημερώστε για το αποτέλεσμα (θα σας εμφανίσει λογικά κατά το τρέξιμο ενα-ένα ta
tables που κάνει export και τον αριθμό των γραμμών τους – το τελικό αρχείο θα είναι
μικρό σε μέγεθος – μη σας απασχολεί αυτό).
ή αντίστοιχα (εναλλακτικά) μπορείτε να τρέξετε το παραπάνω και βήμα προς βήμα:
- σκέτο EXP στο command prompt,
- εισάγετε ως username: sys/pass as sysdba
- στην επιλογή που σας ζητάει T η U (table mode ή user mode) δίνετε Τ,
- στις υπόλοιπες επιλογές πατάτε enter,
- μέχρι την επιλογή που θα σας εμφανίσει ποιά tables θέλετε να κάνετε export: όπου
δίνετε ένα-ένα τα ονόματα των tables της εργασίας σας.
ΕΝΑΛΛΑΚΤΙΚΗ ΛΥΣΗ βέβαια (την οποία ΚΑΙ ΣΥΝΙΣΤΟΥΜΕ ειδικά αν έχετε λίγο χρόνο
παραπάνω) είναι: να μπείτε να δουλέψετε εκ νέου σαν 'scott/tiger' και να ξανατρέξετε
όλες τις εντολές SQL που έχετε φτιάξει (CREATES, INSERTS, UPDATES κ.λ.π.) με σκοπό
να ξαναφτιαχτεί η βάση σας κάτω από το χρήστη 'scott' - εφόσον/πιστεύoυμε ότι τα
έχετε σε κάποιο Word ή άλλου τύπου text file και μπορείτε να τα κάνετε copy-paste
από αυτό // και μετά να κάνετε EXPORT κανονικά τον χρήστη 'scott' σύμφωνα με τις
οδηγίες που έχουν δοθεί (αναρτηθέν αρχείο)
Κατά τα άλλα (τέλος) μπορείτε να κάνετε EXPORT και απευθείας (ολόκληρο το χρήστη
– όχι μόνο τα tables) από τον χρήστη SYS/sysdba αρκεί (δεν συνίσταται, δοκιμάστε το
ωστόσο αν θέλετε πειραματικά, δείτε τί κάνει και αν αργεί πάρα πολύ διακόψτε το) να
τρέξετε την εντολή
EXPORT userid='sys/pass as sysdba' file=c:\myexp1.dmp log=c:\myexp1.log
owner=sys
όπου 'pass' βάζετε το password που έχετε δηλώσει (κατά την εγκατάσταση ως
password του λογαριασμού 'sys') - ωστόσο επειδή δεν είναι κλασσικός χρήστης ...θα
σας βγάλει ένα dmp file αρκετάμεγάλο - που δεν είναι σκόπιμο/δόκιμο να στείλετε
μέσω e-mail.

Ερ.50:Πρέπει μήπως να στείλουμε κάπου το export (.dmp) αρχείο;


Απ.: Βέβαια! -: Στον καθηγητή-σύμβουλό σας μαζί με το Word file της εργασίας σας.
Επίσης καλό είναι να στείλετε μαζί και το όνομα χρήστη (username) με το οποίο
δουλέψατε (και κάνατε στο τέλος το EXPORT) – καθώς επίσης: αν τυχόν είσαστε σε
αυτούς που κατ’ ανάγκη κάνατε EXPORT μόνο τα Tables (sys as sysdba – βλ.
προηγούμενη ερώτηση/απάντηση), μία ένδειξη/υποσημείωση ότι κάνατε EXPORT κατ’
αυτόν τον τρόπο.

You might also like