Πώς μπορούμε να πάρουμε εύκολα backup metadata σε μία βάση δεδομένων της Oracle
- Πώς ενεργοποιούμε το Unified Auditing σε Oracle Database - 7 Οκτώβριος 2024
- Τι είναι η PostgreSQL και πως κάνουμε μία πλήρης εγκατάσταση - 2 Σεπτέμβριος 2024
- Πώς ρυθμίζουμε το replication του GoldenGate ώστε να διαβάζει από το Standby του Oracle Data Guard - 2 Αύγουστος 2024
Κάποιες φορές χρειαζόμαστε να πάρουμε backup μια procedure, ένα πακέτο, μια function κ.τ.λ. (τα λεγόμενα metadata) ώστε να δούμε τον κώδικά του ή να το κρατήσουμε κάπου ώστε αν χρειαστεί να το επαναφέρουμε.
Σε αυτό το άρθρο να δούμε έναν εύκολο και γρήγορο τρόπο με τη χρήση ενός παράθυρου τερματικού (sqlplus από command prompt / terminal window / Putty / PLSQL Developer command window).
Η μέθοδο που θα χρησιμοποιήσουμε είναι το συστηματικό πακέτο DBMS_METADATA. Πριν όμως καλέσουμε το πακέτο θα πρέπει αφού συνδεθούμε μέσω sqlplus ή command window να τρέξουμε τις παρακάτω παραμέτρους ώστε να μας εμφανιστούν σε σωστή μορφή χωρίς να χαθεί κομμάτι από τον κώδικα.
Οι παράμετροι
set long 1000000 longchunksize 20000 pagesize 0 linesize 1000 feedback off verify off trimspool on column ddl format a1000 set echo off set termout off set head off set feed off set timing off set echo off begin dbms_metadata.set_transform_param (dbms_metadata.session_transform, 'SQLTERMINATOR', true); dbms_metadata.set_transform_param (dbms_metadata.session_transform, 'PRETTY', true); end; /
Αφού έχουμε εκτελέσει το από πάνω, μπορούμε πλέον να τρέξουμε το πακέτο dbms_metadata ώστε να πάρουμε το backup.
Σαν πρώτη κίνηση κάνουμε spool το αρχείο με το όνομα που θα θέλουμε να αποθηκευτεί στον φάκελο που βρισκόμαστε.
Έπειτα το πακέτο παίρνει 3 παραμέτρους:
- Τι τύπος είναι (‘PROCEDURE’,’PACKAGE_BODY’,’PACKAGE’,’FUNCTION’ κ.τ.λ).
- Το όνομα που έχει.
- Και σε ποιο χρήστη / σχήμα ανήκει.
Ο κώδικας
spool proc_custom_BACKUP.txt select dbms_metadata.get_ddl('PROCEDURE','PROC_CUSTOM','XRISTIS') from dual; spool off
Μπορούμε να επαναλάβουμε την διαδικασία όσες φορές θέλουμε αλλάζοντας τις 3 αυτές παραμέτρους και φυσικά το όνομα του αρχείου στο οποίο κάνουμε spool.
Από εκεί και πέρα προγράμματα όπως PLSQL Developer και Oracle SQL Developer μας προσφέρουν τη δυνατότητα να κάνουμε την διαδικασία του dbms_metadata και με τη χρήση γραφικού, κάνοντας δεξί κλικ πάνω στο κάθε object.