manos2864 Δημοσ. 29 Ιουνίου 2014 Δημοσ. 29 Ιουνίου 2014 (επεξεργασμένο) Καλησπέρα σε όλους τους θαμώνες του Insomnia, Είμαι νέος πάνω στην Java και στις βάσεις δεδομένων και επειδή τελείωσα το εξάμηνο μαθαίνοντας όλα αυτά σκέφτηκα να εξασκήσω τις γνώσεις μου τώρα το καλοκαίρι περαιτέρω. Το πρόβλημα Έχω δημιουργήσει ένα πρόγραμμα σε java το οποίο κρατάει δεδομένα σε μια βάση δεδομένων (Oracle 11g Express Edition) και είναι πλήρως λειτουργικό. Το πρόβλημα που αντιμετωπίζω είναι ότι δεν ξέρω πως να μεταφέρω ένα backup από ένα υπολογιστή σε έναν άλλον. Τι έχω φτιάξει για το backup μέχρι στιγμής. Έχω κάνει ένα script το οποίο περιέχει: @echo off color ce cls ECHO STARTING ORACLE 11g BACKUP echo y| D:\oraclexe\app\oracle\product\11.2.0\server\bin\Backup.bat sqlplus username/password @D:\oraclexe\app\oracle\product\11.2.0\server\rdbms\admin\movelogs pause Αυτό όμως το backup θα ήθελα να αποθηκεύετε αυτόματα σε ένα εξωτερικό σκληρό δίσκο για όποτε θελήσω να το κάνω restore σε περίπτωση ελαττωματικής λειτουργίας του υπολογιστή ή δυσλειτουργίας της βάσης δεδομένων. Θα ήθελα να μου πείτε ποια αρχεία συγκεκριμένα χρειάζομαι να μεταφέρω στον εξωτερικό σκληρό δίσκο(μέσο του script) ή πως να το κάνω αυτόματα να αποθηκεύετε εκεί μέσα από το αρχείο δέσμης της Oracle. Έχω διαβάσει διάφορα στο internet απλά με έχουν μπερδέψει αρκετά. (Δυστυχώς στην σχολή μας μάθανε κανονικοποιήσεις/συσχετίσεις/ER διαγραμμάτα/Υπο-ερωτήματα αλλά όχι backup/restore γι αυτό και θέλω να μάθω μόνος μου. ) Αν μπορεί να με βοηθήσει κανένας, θα ήταν άκρως απαραίτητο και βοηθητικό. Επεξεργασία: Άλλαξα το script που χρησιμοποιώ επίσης χρησιμοποίησα την εντολή ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = 'new_path'; για να αλλάξω την τοποθεσία του fast recovery area μέσα στο εξωτερικό σκληρό δίσκο. Επιπλέον στο τέλος χρησιμοποιώ την εντολή @D:\oraclexe\app\oracle\product\11.2.0\server\rdbms\admin\movelogs έτσι ώστε σε κάθε backup να μεταφέρει και τα online log files μέσα στο φάκελο του εξωτερικού δίσκου. Πιστεύεται πως είναι σωστός αυτός ο τρόπος? (Για αυτόματο backup θα το ορίσω μέσα από τα windows στο scheduling) Επεξ/σία 30 Ιουνίου 2014 από manos2864
manos2864 Δημοσ. 30 Ιουνίου 2014 Μέλος Δημοσ. 30 Ιουνίου 2014 Μια βοήθεια κάτι? Δηλαδή ας πούμε εγώ αλλάζω το backup folder με την εντολή ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = 'new_path'; αν το pc χαλάσει και πρέπει να ξαναπεράσω την βάση δεδομένων από την αρχή πως ορίζω το recovery να γίνει μέσα από το φάκελο που έχει γίνει μέσα στον εξωτερικό σκληρό δίσκο?
ParhsG Δημοσ. 30 Ιουνίου 2014 Δημοσ. 30 Ιουνίου 2014 Δε νομίζω πως θα βρεις εδώ απάντηση διοτι λιγοι χρησιμοποιούν την oracle. Oracle θα βρεις σε μεγάλες εταίριες ,δημόσιο κτλ και αυτοι που ασχολούνται δε συνηθίζουν να μπαίνουν σε forum και πληρώνονται καλα. Επίσης δεν εχει και νοημα να τη χρησιμοποιείς γιατι αν θες σοβαρη χρήση εχει ακριβα license και δε βρίσκεις τοσο ευκολα να τη hostareis.
manos2864 Δημοσ. 30 Ιουνίου 2014 Μέλος Δημοσ. 30 Ιουνίου 2014 Απλά μια συμβουλή πάνω στο restore ζητάω για προσωπική εκμάθηση της συγκεκριμένης βάσης δεδομένων ως φοιτητής. Αν ήμουν dba δεν θα ρωτούσα(Αν το έκανα για επαγγελματικό λόγο δηλαδή). Επιπλέον, δεν είναι και κάτι τρομερό να μου πει κάποιος πως θα αλλάξω το destination για το restore της βάσης. Τι να πω, μακάρι να υπάρξει κάποιος έστω και σε π.μ . Επεξεργασία Τουλάχιστον αν δεν γίνετε πείτε μου πόσο δύσκολο θα ήταν να μεταφέρω όλο το πρόγραμμα μαζί με πίνακες(δεδομένα δεν έχω) σε μια άλλη βάση δεδομένων ας πούμε MySQL.
ParhsG Δημοσ. 30 Ιουνίου 2014 Δημοσ. 30 Ιουνίου 2014 Δεν είναι οτι δε θέλουν να σου πουν ειναι οτι μάλλον δε ξέρουν, άλλο κατάλαβες. Μπορείς να ψάξεις στα επισημα docs και να βρεις απάντηση. Ισως σε βοηθησει και αυτο. http://docs.oracle.com/cd/E17781_01/server.112/e18804/backrest.htm#ADMQS276 Εχω ασχοληθεί πολυ λιγο και τελικά τα παράτησα γιατι αυτο που ηθελα να βάλω ηθελε 6GB ελευθερη ram οποτε δεν ξέρω προσωπικά πως γίνεαι αυτο που θες.
manos2864 Δημοσ. 30 Ιουνίου 2014 Μέλος Δημοσ. 30 Ιουνίου 2014 Αυτό έχω συμβουλευτεί και έχω φτάσει ως εκεί.. προσπαθώ να βρω ένα τρόπο να μεταφέρω ένα backup από ένα pc σε ένα άλλο (με αυτοματοποιημένο τρόπο μέσο του backup.bat και restore.bat της oracle αλλά μόνο σε error καταλήγει κάθε φόρα που πάω να το κάνω) Το μόνο που γίνετε είναι μέσα από το sql developer από το οποίο έχω καταφέρει να μεταφέρω πίνακες / trigger / sequences κ.λ.π τα οποία χρειάζομαι σε ένα άλλο pc. Το πρόβλημα μου είναι ότι τα θέλω να γίνονται αυτοματοποιημένα. Υ.Γ Δηλαδή με το express edition της oracle μέχρι πόσες εγγραφές θα μπορέσω να αποθηκεύσω? 500 με 1000 εγγραφές θα μου επιτρεπόταν? Αν ξέρεις θα ήταν σημαντικό να μου πεις.
ParhsG Δημοσ. 30 Ιουνίου 2014 Δημοσ. 30 Ιουνίου 2014 Νομιζω 11gb και 1gb ram και 1 πυρηνα cpu. Πως εννοεις το αυτοματο;
manos2864 Δημοσ. 1 Ιουλίου 2014 Μέλος Δημοσ. 1 Ιουλίου 2014 Πχ μέσα από το sql developer πρέπει να κάνω export όλους τους πίνακες μαζί με όλα τα δεδομένα χειροκίνητα. Ενώ αν εκτελέσω το backup.bat που προσφέρει η oracle το κάνει αυτόματα (σε συνδυασμό με το script που έχω παραθέσει παραπάνω). Δηλαδή για ένα μικρό πρόγραμμα που αποθηκεύει 500 εγγραφές το max 1000 θα μου φτάσει αυτή η βάση?
Aztec Δημοσ. 1 Ιουλίου 2014 Δημοσ. 1 Ιουλίου 2014 (επεξεργασμένο) Φίλε δεν βλέπω κάποιο πρόβλημα . Ξέρεις τα script για backup restore , ξέρεις και το directory και την παράμετρο που αλλάζεις . Δηλαδή όταν τελειώσει το backup αν κάνεις copy τους φακέλους σε ένα άλλο directory δεν σε καλύπτει ? προσωπικά αν το σχήμα είναι κάτι χαλαρό θα χρησιμοποιούσα τα expdp, impdp utilities . Είναι πιο κατανοητή η χρήση τους για τον αρχάριο καθώς κάνουν λογικό export. Επεξ/σία 1 Ιουλίου 2014 από Aztec
manos2864 Δημοσ. 1 Ιουλίου 2014 Μέλος Δημοσ. 1 Ιουλίου 2014 Ωραία ευχαριστώ... οπότε θα το κάνω με το sql developer export/import... κάτι τελευταίο για να κλείσουμε και το topic, μην σας ταλαιπωρώ άλλο.. Προσπαθώ να συνδέσω την βάση σε εναν υπολογιστή(ας πούμε server) ο οποίος θα την μοιράζει σε άλλους δύο μέσα από ένα δίκτυο. Δηλαδή για να σας δώσω ένα παράδειγμα θέλω να εγκαταστήσω την Oracle 11g Express Edition στον server. Στα άλλα δυο pc θα βάλω το πρόγραμμα το οποίο έχω φτιάξει και θα αλλάξω τα connections που έχουν. Τι ακριβως πρεπει να κανω σε αυτο το τομεα? Μέχρι στιγμής μόνο σε Localhost έχω εξασκηθεί. Πως το κάνω να το βλέπουν και άλλα pc στο ήδη υπάρχον δίκτυο? (Τον server τον βλεπουν κανονικα οι αλλοι δυο υπολογιστες στο δικτυο) Οπότε για να μην την αλλάξω τσάμπα την βάση πιστεύεται πως είναι αρκετή για ένα σχήμα με 5 πίνακες και ας πούμε 500- το πολύ 1000 εγγραφές? Όταν λέω 500-1000 εγγραφές εννοώ πλειάδες από όλους τους πίνακες, όχι 500-1000 στον κάθε πίνακα ξεχωριστά. Αν μπορείτε και μου απαντήσετε σε αυτά τα δύο ερωτήματα θα σας αφήσω ήσυχους . Ευχαριστώ εκ των προτέρων
Aztec Δημοσ. 1 Ιουλίου 2014 Δημοσ. 1 Ιουλίου 2014 Ωραία ευχαριστώ... οπότε θα το κάνω με το sql developer export/import... κάτι τελευταίο για να κλείσουμε και το topic, μην σας ταλαιπωρώ άλλο.. Προσπαθώ να συνδέσω την βάση σε εναν υπολογιστή(ας πούμε server) ο οποίος θα την μοιράζει σε άλλους δύο μέσα από ένα δίκτυο. Δηλαδή για να σας δώσω ένα παράδειγμα θέλω να εγκαταστήσω την Oracle 11g Express Edition στον server. Στα άλλα δυο pc θα βάλω το πρόγραμμα το οποίο έχω φτιάξει και θα αλλάξω τα connections που έχουν. Τι ακριβως πρεπει να κανω σε αυτο το τομεα? Μέχρι στιγμής μόνο σε Localhost έχω εξασκηθεί. Πως το κάνω να το βλέπουν και άλλα pc στο ήδη υπάρχον δίκτυο? (Τον server τον βλεπουν κανονικα οι αλλοι δυο υπολογιστες στο δικτυο) Οπότε για να μην την αλλάξω τσάμπα την βάση πιστεύεται πως είναι αρκετή για ένα σχήμα με 5 πίνακες και ας πούμε 500- το πολύ 1000 εγγραφές? Όταν λέω 500-1000 εγγραφές εννοώ πλειάδες από όλους τους πίνακες, όχι 500-1000 στον κάθε πίνακα ξεχωριστά. Αν μπορείτε και μου απαντήσετε σε αυτά τα δύο ερωτήματα θα σας αφήσω ήσυχους . Ευχαριστώ εκ των προτέρων Αν χρησιμοποιείς τον jdbc thin driver και όχι τον OCI driver δεν χρειάζεται περαιτέρω installation στα μηχανήματα. Απλά σετάρεις σωστά τον host Για τον όγκο δεδομένων σου μια χαρά είναι η ΧΕ ΥΓ. Προσοχή όταν θα παίξεις με export να είναι consistent το export. 1
manos2864 Δημοσ. 1 Ιουλίου 2014 Μέλος Δημοσ. 1 Ιουλίου 2014 (επεξεργασμένο) Σε ευχαριστώ πάρα πολύ φίλε μου για την απάντηση. Τον thin driver χρησιμοποιώ για τα connections. Σαν host θα βάλω το ip του μηχανήματος που κάνει host σωστά? Δηλαδή cmd->ipconfig /all-> Διεύθυνση IPv4 ? Δηλαδή παράδειγμα jdbc:oracle:thin:@"192.168.1:XE:1521,Username,Password" Τον τρόπο με τον οποίο κάνω εγώ export είναι αφού έχω συνδεθεί στον sql developer μέσα στο connection μου με την βάση. Επιλέγω να κάνω export όλες τις επιλογές από DDL αλλά και από object types μόνο όμως από αυτά που με ενδιαφέρουν δηλαδή τα πάντα από αυτούς τους 5 πίνακες που έχω (οι οποίοι αποτελούνται από triggers/sequences/primary keys/foreign/inserts κ.λ.π). Αν μπορείς να μου το εξηγήσεις τι εννοείς με το consistent θα μου ήταν πολύ ενδιαφέρον. Αυτό που κατάλαβα είναι να είναι πιο σταθερό το export το θέμα είναι το πως? ΕΠΕΞΕΡΓΑΣΙΑ Σύμφωνα με αυτά που μου είπες gia expdp impdp το έψαξα και αφού δημιούργησα ένα directory dmpfile εκτέλεσα την εντολή expdp Username/password dumpfile=SCHEMANAME.dmp directory=dmpdir schemas=SCHEMA logfile= SCHEMANAME_exp.log. Αυτό εννοούσες? Τώρα δηλαδή αυτό το dmp αρχειάκι μπορεί να λειτουργήσει σαν backup αν το εκτελέσω με την εντολή impdp? ΕΠΕΞΕΡΓΑΣΙΑ2 Το δοκίμασα το impdp και το expdp όλα λειτουργούν σωστά αλλά δεν ξέρω αν είναι αυτό που εννοείς. Έκανα και αυτό το script @echo off color ce cls ECHO STARTING ORACLE 11g BACKUP cd c:\temp expdp Username/Password dumpfile=SD2052_%date:~-10,2%%date:~-7,2%%date:~-4,4%.dmp directory=dmpdir schemas=SD2052 logfile=SD2052_exp_%date:~-10,2%%date:~-7,2%%date:~-4,4%.log ECHO ORACLE 11g STOP pause Επεξ/σία 1 Ιουλίου 2014 από manos2864
Aztec Δημοσ. 1 Ιουλίου 2014 Δημοσ. 1 Ιουλίου 2014 Σε ευχαριστώ πάρα πολύ φίλε μου για την απάντηση. Τον thin driver χρησιμοποιώ για τα connections. Σαν host θα βάλω το ip του μηχανήματος που κάνει host σωστά? Δηλαδή cmd->ipconfig /all-> Διεύθυνση IPv4 ? Δηλαδή παράδειγμα jdbc:oracle:thin:@"192.168.1:XE:1521,Username,Password" Τον τρόπο με τον οποίο κάνω εγώ export είναι αφού έχω συνδεθεί στον sql developer μέσα στο connection μου με την βάση. Επιλέγω να κάνω export όλες τις επιλογές από DDL αλλά και από object types μόνο όμως από αυτά που με ενδιαφέρουν δηλαδή τα πάντα από αυτούς τους 5 πίνακες που έχω (οι οποίοι αποτελούνται από triggers/sequences/primary keys/foreign/inserts κ.λ.π). Αν μπορείς να μου το εξηγήσεις τι εννοείς με το consistent θα μου ήταν πολύ ενδιαφέρον. Αυτό που κατάλαβα είναι να είναι πιο σταθερό το export το θέμα είναι το πως? ΕΠΕΞΕΡΓΑΣΙΑ Σύμφωνα με αυτά που μου είπες gia expdp impdp το έψαξα και αφού δημιούργησα ένα directory dmpfile εκτέλεσα την εντολή expdp Username/password dumpfile=SCHEMANAME.dmp directory=dmpdir schemas=SCHEMA logfile= SCHEMANAME_exp.log. Αυτό εννοούσες? Τώρα δηλαδή αυτό το dmp αρχειάκι μπορεί να λειτουργήσει σαν backup αν το εκτελέσω με την εντολή impdp? Ας πούμε ότι έχουμε δυο πινακες . Α ----------- ID FK_B B ----------- ID Ξεκινάς εσυ export . Ενώ γίνεται export o πίνακας A κάποιο χρήστης πάει και διαγράφει ας πούμε μια εγγραφή απο τον B. Στη συνέχεια το προγραμμα κάνει export και τον Β. Οταν έσυ θα κάνεις import θα έχεις πρόβλημα γιατι ο πρώτος πίνακας θα έχει ανυπαρκτο foreign key. Υπάρχει παράμετρος στο expdp για αυτό το λόγο. Ψαξτο μία Για το connection σωστά τα λες αλλά δεν το έχεις γράψει 100% σωστά νομίζω. Το αρχειάκι που εφτιάξες μπορεί να το φορτώσεις σε μια βάση και θα έχει τα ιδια metadata και data. Δηλαδή αν έκανες export το σχήμα aztec μπορείς να το φορτώσεις σε άλλη βάση ακριβώς όπως το πήρες. Όταν μάθεις το expdp impdp μετά προχωράς στο RMAN. 1
manos2864 Δημοσ. 1 Ιουλίου 2014 Μέλος Δημοσ. 1 Ιουλίου 2014 Νομίζω πως η παράμετρος που ψάχνω είναι αυτή flashback_time=systimestamp η οποία κατά κάποιο τρόπο κάνει commit κάθε table κατά το export. Σωστά?
Aztec Δημοσ. 1 Ιουλίου 2014 Δημοσ. 1 Ιουλίου 2014 Νομίζω πως η παράμετρος που ψάχνω είναι αυτή flashback_time=systimestamp η οποία κατά κάποιο τρόπο κάνει commit κάθε table κατά το export. Σωστά? Είσαι σωστός ! Απλα σκέψου οτι όταν ξεκινήσει το export ειναι σαν να παγώνει η βαση σε αυτο το χρονικό σημείο. Οτι αλλαγη γίνει κατά την διάρκεια εκτέλεσης δεν θα ληφθεί υπόψιν. 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα