Πώς κάνουμε μία καινούργια εγκατάσταση Oracle Database σε Linux
- Τι είναι η PostgreSQL και πως κάνουμε μία πλήρης εγκατάσταση - 2 Σεπτέμβριος 2024
- Πώς ρυθμίζουμε το replication του GoldenGate ώστε να διαβάζει από το Standby του Oracle Data Guard - 2 Αύγουστος 2024
- Πώς μπορούμε να συνδέσουμε Oracle Database με SQL Server με χρήση Oracle Gateway σε Linux - 1 Ιούλιος 2024
Σε αυτό το άρθρο θα δούμε βήμα βήμα πώς κάνουμε εγκατάσταση της Oracle Database 19c σε Unix και πιο συγκεκριμένα σε Oracle Linux / Red Hat.
Τα προαπαιτούμενα
Για αρχή θα πρέπει να έχουμε γραφικό περιβάλλον είτε με το να συνδεθούμε απευθείας στο μηχάνημα, είτε με την χρήση τερματικού που επιτρέπει να σηκώσει γραφικό όπως το mobaXterm.
Για κατεβάσουμε τα αρχεία που χρειαζόμαστε για την εγκατάσταση της Oracle Database κάνουμε κλικ εδώ.
Στη συνέχεια θα πρέπει να εγκαταστήσουμε στο λειτουργικό μας τις βιβλιοθήκες που απαιτούνται. Για να το κάνουμε αυτό τρέχουμε τα παρακάτω:
curl -o oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/getPackage/oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm
yum -y localinstall oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm
Έπειτα πρέπει να πάμε στην παρακάτω ρύθμιση του SELINUX και να αλλάξουμε την τιμή σε permissive:
sudo vi /etc/selinux/config
SELINUX=permissive ##αλλάζουμε αυτή τη τιμή
Σαν επόμενο βήμα κάνουμε stop και disable το firewall:
systemctl stop firewalld
systemctl disable firewalld
Αν δεν είχαμε από πριν χρήστη στο λειτουργικό oracle θα πρέπει να του ορίσουμε το password:
passwd oracle
Τέλος φτιάχνουμε τον φάκελο που θα περιέχει τα binaries της Oracle και δίνουμε δικαίωμα στον χρήστη Oracle στον root folder που θα περιέχει αυτά αλλά και τα data μας:
mkdir -p /oracle/app/oracle/product/19.3.0/dbhome_1
chown -R oracle:oinstall /oracle
chmod -R 775 /oracle
Αφού τελειώσουμε τα προαπαιτούμενα κάνουμε ένα reboot τον server.
Η εγκατάσταση
Όταν ξανανοίξει το μηχάνημα συνδεόμαστε ως χρήστης oracle:
su oracle
Πάμε στον φάκελο που φτιάξαμε πριν που θα είναι τα binaries της Oracle και κάνουμε unzip τα αρχεία της Oracle Database που κατεβάσαμε:
cd /oracle/app/oracle/product/19.3.0/dbhome_1
unzip -oq /home/oracle/Downloads/LINUX.X64_193000_db_home.zip
Πριν τρέξουμε το setup επειδή στη συγκεκριμένη περίπτωση η έκδοση Oracle Linux 8 δεν είναι ακόμα supported, για να μην έχουμε warning message κάτα την εγκατάσταση τρέχουμε το παρακάτω ώστε να συμπεριφερθεί σαν να είναι η έκδοση 7.6:
export CV_ASSUME_DISTID=OEL7.6
Τώρα είμαστε έτοιμοι να τρέξουμε το setup:
./runInstaller
Μετά από λίγο θα μας εμφανιστεί το γραφικό περιβάλλον, εκεί θα επιλέξουμε να μας κάνει εγκατάσταση μόνο τα binaries (Set Up Software Only) και βάση θα φτιάξουμε πιο μετά:
Επιλέγουμε ότι θα είναι Single Instance και όχι cluster:
Ορίζουμε τον φάκελο πάνω από το product ως το Oracle Base:
Ορίζουμε τον χρήστη oracle ως τον administrator σε όλα τα groups:
Επιλέγουμε να τρέξει τα script που χρειάζονται αυτόματα επιλέγοντας το checkbox και προσθέτοντάς το password του root ή sudo χρήστη:
Στο επόμενο βήμα θα μας εμφανίσει ότι μπορεί να λείπει, στην συγκεκριμένη περίπτωση έχω 500mb λιγότερο swap memory οπότε επιλέγω να το κάνω ignore:
Στο τελευταίο βήμα της εγκατάστασης κάνουμε έναν γρήγορο έλεγχο ότι έχουμε ορίσει τις σωστές παραμέτρους:
Αφού ολοκληρωθεί η εγκατάσταση, για να έχει ο χρήστης oracle τις πληροφορίες με τα path και το περιβάλλον της και να μην χρειάζεται να τα ξαναπερνάμε με το χέρι κάνοντας export μπορούμε να τα περάσουμε στο αρχείο bash_profile ή profile.
Για να το κάνουμε αυτό πάμε στο home directory του χρήστη oracle και κάνουμε edit το ανάλογο αρχείο:
cd $HOME
vi .bash_profile
Εκεί προσθέτουμε τις παρακάτω εγγραφές:
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=/oracle/app/oracle/product/19.3.0/dbhome_1
export ORACLE_SID=oradev1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export PATH=$PATH:$ORACLE_HOME/bin
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
Ως ORACLE_SID ορίζουμε το όνομα του instance που θα συνδεθούμε το οποίο όμως θα το φτιάξουμε στα επόμενα βήματα. Απλά είναι ευκαιρία να το ορίσουμε από τώρα, μην ξεχνάμε ότι μπορούμε να έχουμε πολλαπλά instances οπότε το σε ποιο θα συνδεθούμε ορίζεται από αυτή τη μεταβλητή:
Για να πάρεις τις αλλαγές χωρίς reboot τρέχουμε το παρακάτω:
source ~/.bash_profile
Η δημιουργία της βάσης
Αφού ολοκληρώσαμε την εγκατάσταση είναι ώρα να φτιάξουμε και το instance με την βάση μας.
Οπότε για να γίνει αυτό και να ξεκινήσει ο wizard που θα μας καθοδηγήσει, τρέχουμε την παρακάτω εντολή ως oracle χρήστης:
dbca
Μετά από λίγο θα μας εμφανιστεί ο παρακάτω wizard. Εκεί επιλέγουμε Advanced configuration:
Στο επόμενο βήμα επιλέγουμε Oracle Single Instance database και General Purpose:
Στη συνέχεια ορίζουμε το όνομα της βάσης και το όνομα του instance, στην προκειμένη περίπτωση oradev και oradev1 αντίστοιχα. Επίσης αφαιρούμε το checkbox ώστε να μην φτιαχτεί ως container database:
Έπειτα επιλέγουμε που θέλουμε να αποθηκεύονται τα data files, επιλέγοντας multiplex redo logs and control files μπορούμε να έχουμε αντίγραφο του κάθε αρχείου redo και control σε ξεχωριστή τοποθεσία (άνα κάθε redo log group):
Στην επόμενη καρτέλα ορίζουμε το path για το Fast Recovery Area και το μέγεθος του όπως επίσης ενεργοποιούμε το archiving ώστε να μπορούμε να έχουμε online backup:
Στο επόμενο βήμα επιλέγουμε να δημιουργηθεί ο listener ώστε να επιτρέπετε η απομακρυσμένη πρόσβαση στη βάση:
Στην επόμενη οθόνη έχουμε να ορίσουμε μια σείρα απο καρτέλες.
Στην Memory ορίζουμε την μνήμη που θα καταλαμβάνει το instance, αλλάζοντας το συνολικό μέγεθος της μνήμης θα ορίσει μόνο του ένα ratio για την SGA και την PGA μνήμη(η χρήση της κάθε μίας αναφέρεται αναλυτικά εδώ):
Στο Character sets επιλέγουμε Unicode, AL16UTF16 και America American (όχι Greek):
Επιλέγουμε Next και αφαιρούμε την επιλογή στο να στήσει Enterprise Manager για monitoring:
Κάνουμε έναν τελευταίο έλεγχο ότι βάλαμε τις σωστές επιλογές:
Επιλέγουμε Finish και μετά από λίγο όταν ολοκληρωθεί η εγκατάσταση θα μπορούμε να συνδεθούμε στη βάση μας με sqlplus:
sqlplus / as sysdba
select status from v$instance;