Για την εγκατάσταση Oracle 10GR2 σε Centos4.4
Ακουλουθούμε πιστά τις οδηγίες
http://www.puschitz.com/InstallingOracle10g.shtml
οι οποίες φυσικά στηρίζονται στο Installation Guide της Oracle.
Πρωτα απο όλα εννοείται ότι έχουμε ήδη είτε σε cd είτε σε αρχείο την oracle 10g για την εγκατάσταση. Πχ για το linux θα είναι ένα αρχείο με το όνομα 10201_database_linux32.zip (32bit έκδοση). Για την 64μπιτη, το όνομα του αρχείου είναι 10201_database_linux_x86_64.zip
Πριν ακόμη αρχίσουμε τις οδηγίες και τα λοιπά, μην τυχόν βάλετε Oracle σε RAID5. Γενικά οι βάσεις δεδομένων, επειδή γράφουν συνέχεια, πρέπει ναναι σε RAID1 ή RAID10. Καλύτερα να έχετε JBOD, παρα RAID5...
[break=1 Ελέγχουμε ότι έχουμε ικανοποιητική μνήμη και virtual memory]
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
Πρέπει η διαθέσιμη μνήμη να είναι τουλάχιστον 512MB αλλιώς μην τολμήσετε να προσπαθήσετε να κάνετε εγκατάσταση. Μπορεί να γίνει και με 256 αλλά δύσκολα (πάει αργά), και δεν έχει νόημα. Οσο περισσότερη μνήμη, τόσο το καλύτερο. Επίσης η swap θα πρέπει να είναι τουλάχιστον 1GB.
[break=2 Ελέγχουμε τον διαθέσιμο χώρο στο /tmp]
Kατα την εγκατάσταση χρειάζονται τουλάχιστον 400ΜΒ στην /tmp. Οπότε καλό είναι να έχουμε τον απαραίτητο χώρο. Προσωπικά ή την έχω μαζί με το / και έχω πάντα τουλάχιστον 8GB ελεύθερα (τωρα ειδικά που οι δίσκοι είναι φθηνοί), ή εαν είναι σε ξεχωριστό partition, βάζω 1GB στο /tmp
[break=3 Eλεγχος εγκατεστημένου λογισμικού]
Πρέπει να ελέγξουμε ότι υπάρχει το λογισμικό που χρειάζεται για να γίνει η εγκατάσταση. Χρειάζονται λοιπόν τα κάτωθι.
binutils-2.15.92.0.2-10.EL4
compat-db-4.1.25-9
control-center-2.8.0-12
gcc-3.4.3-9.EL4
gcc-c++-3.4.3-9.EL4
glibc-2.3.4-2
glibc-common-2.3.4-2
gnome-libs-1.4.1.2.90-44.1
libstdc++-3.4.3-9.EL4
libstdc++-devel-3.4.3-9.EL4
make-3.80-5
pdksh-5.2.14-30
sysstat-5.0.5-1
xscreensaver-4.18-5.rhel4.2
ή νεώτερες εκδόσεις αυτών (μιλάμε πάντα για το RHEL4 ή το Centos4 )
Eαν δεν υπάρχει κάτι απο όλα αυτά, χρησιμοποιούμε το yum για να το εγκαταστήσουμε (μαζί με όλα τα dependencies). Πχ εαν δεν υπάρχει το sysstat δίνουμε την εντολή
yum install sysstat
και προχωράμε ώστε να στηθεί το συγκεκριμένο λογισμικό...
Εκτός των παραπάνω, χρειάζεται και το libaio (asynchronous i-o).
libaio-0.3.96
(Στο παράδειγμα μου, δεν το είχα στημενο το libaio, οπότε βλέπετε και την εγκατάσταση αυτού).
Στην περίπτωση που έχετε σύστημα Χ86_64 και είναι στημένο linux 64bit, και φυσικά θα στήσετε την 64μπιτη έκδοση της oracle, θα πρέπει να ελέγξετε ότι όντως αυτά που έχετε στημένα είναι τα 64μπιτα. Απο το site του puschitz αντιγράφω την εντολή
rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' \
binutils compat-db control-center gcc gcc-c++ glibc glibc-common gnome-libs \
libstdc++ libstdc++-devel make pdksh sysstat xscreensaver libaio
θα πρέπει να δείτε την αρχιτεκτονική για το κάθε rpm....
Παραθέτω την εντολή στην δική μου περίπτωση...
[break=4 Ελεγχος redhat-release]
Η Οracle κατα το installation ελέγχει ποιά έκδοση redhat είναι στημένη, ώστε να ξέρει τι γίνεται απο θέματα συμβατότητας. Ομως αυτό μπερδεύει πολλές φορές τα πράγματα, και επιπλέον, έχοντας εμείς Centos, τούτο δεν υπάρχει.
Λοιπόν, μέσα στο /etc υπάρχει το αρχείο redhat-release. Εαν το ανοίξουμε με έναν editor να το δούμε, θα γράφει "Centos release 4.4 (Final)"
Η oracle θα σκαλώσει εδώ. Λοιπόν αλλάζουμε την γραμμή αυτή ώστε να γράφει
Red Hat Enterprise Linux AS release 3 (Taroon)
και σώζουμε. Αυτό ήταν!
[break=5 Παράμετροι πυρήνα]
Για να τρέξει σωστά η oracle, πρέπει να ελέγξουμε και μερικές ακόμη παραμέτρους.
Ετσι εκτελούμε με την σειρά αυτές τις εντολές
cat /proc/sys/kernel/shmmax
cat /proc/sys/kernel/shmmni
cat /proc/sys/kernel/shmall
ipcs -lm |grep "min seg size"
cat /proc/sys/kernel/sem | awk '{print $1}'
cat /proc/sys/kernel/sem | awk '{print $2}'
cat /proc/sys/kernel/sem | awk '{print $3}'
cat /proc/sys/kernel/sem | awk '{print $4}'
cat /proc/sys/fs/file-max
cat /proc/sys/net/ipv4/ip_local_port_range
Θα πρέπει να έχουμε τις εξής τιμές....
shmmax = 2147483648 (
shmmni = 4096
shmall = 2097152
shmmin = 1
semmsl = 250
semmns = 32000
semopm = 100
semmni = 128
file-max = 65536
ip_local_port_range = 1024 65000
Tώρα εαν οι τιμές που πέρνουμε δεν συμφωνούν, πρέπει να αλλαχτούν. Πως γίνεται αυτό;
Πάμε στο /etc και ανοίγουμε με έναν editor το sysctl.conf
Eαν δεν υπάρχουν οι παραπάνω τιμές τις προσθέτουμε στο αρχείο, διαφορετικα αλλάζουμε. Πχ
kernel.shmmax=2147483648
kernel.sem=250 32000 100 128
fs.file-max=65536
net.ipv4.ip_local_port_range=1024 65000
Η δομή είναι ευκατανόητη (λίγο περιδιάβασμα στο /proc θα σας κατατοπίσει).
Για την 10GR2 εκτός των παραπάνω, πρέπει να αλλαχτούν και κάποιες παράμετροι όσο αφορά το δίκτυο. Ετσι έχουμε και τις παρακάτω γραμμές στο sysctl.conf
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144
Με το που βάλαμε αυτές τις τιμές στο αρχείο αυτό, με την επόμενη εκκίνηση θα ισχύσουν. Εμείς όμως δεν έχουμε windows, να χρειαζόμαστε συνεχώς reboots. Για να ισχύσουν άμεσα, δίνουμε (απο root account)
sysctl -p
[break=6 Διαθέσιμος χώρος στους δίσκους]
Η oracle λέει ότι χρειάζεται για μια εγκατάσταση, περίπου 2.5GB Για την ακρίβεια είναι περίπου 1.5GB το λογισμικό και μετά είναι οι βάσεις. Η βάση γενικού σκοπού είναι περίπου στα 700MB. Σύνολο δηλαδή, κοντά σε αυτό που λέει η oracle. Εαν στήσουμε και συμπληρωματικό υλικό (το companion), θα χρειαστούμε 1GB ακόμη τουλάχιστον.
Tώρα που θα βάλουμε τα λογισμικό και τα αρχεία της βάσης, είναι μεγάλο ζήτημα, και υπάρχουν και μερικές διαφορετικές "στρατηγικές", καθεμιά με τα πλεονεκτήματα της και τα μειονεκτήματά της.
Εμείς θα κάνουμε εδώ μια πολύ απλή εγκατάσταση. Θα πάρουμε το /opt/oracle σαν την βάση όπου θα στηθούν όλα. Δεν θα χρησιμοποιήσουμε ASM ή άλλα τινά...
[break=7 Δημιουργία χρηστών και ομάδων]
H βάση δεν γίνεται να τρέχει ως root (είναι βέβαια δυνατό, αλλά καθόλου καλό). Ετσι φτιάχνουμε έναν χρήστη στο centos, κάτω απο τον οποίο θα τρέχει oracle. Και θα τον ονομάσουμε, φυσικά oracle. Τώρα ο χρήστης αυτός θα πρέπει να ανήκει και σε κάποια ομάδα χρηστών, διαφορετική απο πχ users. Ετσι δημιουργούμε και μια ομάδα χρηστών dba. Δημιουργούμε και μια ομάδα χρηστών oinstall που έχει δικαιώματα για την εγκατάσταση. Αν και εμείς θα δουλεύουμε πάντα με τον χρήστη oracle, η ιστορία αυτή μας δίνει την δυνατότητα δημιουργίας λογαριασμών μόνο για dba, και φυσικά ενός χρήστη ο οποίος κάνει την εγκατάσταση λογισμικού, δηλαδή έχει δικαιώματα στο inventory.
Eν ολίγοις, ως root δίνουμε τα κάτωθι
groupadd dba
groupadd oinstall
useradd -c "Oracle software owner" -g oinstall -G dba oracle
και μετά passwd oracle
ώστε να δώσουμε και ένα password στον χρήστη oracle. (και μην τυχόν βάλετε oracle ή το όνομα της επιχείρησης, έχω βαρεθεί να βλέπω τέτοια password )
[break=8 Ορια αριθμού αρχείων και processess του χρήστη]
Απο default τα όρια αυτά είναι σχετικα χαμηλά, αν και κατα την γνώμη μου σε όσες βάσεις και εαν είδα, δεν ξεπερνιούνται, Ωστόσο αφού η oracle προτείνει να τα αυξήσουμε ας το κάνουμε να είμαστε όσο πιο συμβατοί με αυτήν.
Λοιπόν πάμε στο /etc/security Εκεί θα βρούμε ένα αρχείο limits.conf Το ανοίγουμε με έναν editor και προσθέτουμε τις παρακάτω γραμμές
oracle soft nofile 4096
oracle hard nofile 63536
oracle soft nproc 16384
oracle hard nproc 16384
σώζουμε και είμαστε ΟΚ.
[break=9 Μεταβλητές περιβάλλοντος για το ξεκίνημα]
Θα δουλέψουμε με τον χρήστη oracle. Πρέπει όμως να οριστούν ορισμένες μεταβλητές περιβάλλοντος. Ετσι λοιπόν κάνουμε login με τον χρήστη oracle, και ανοίγουμε το αρχείο ~/.bashrc
Σε αυτό λοιπόν το αρχείο προσθέτουμε τις παρακάτω γραμμές.
ORACLE_HOSTNAME={myservername}; export ORACLE_HOSTNAME
ORACLE_BASE=/opt/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0;export ORACLE_HOME
ORACLE_SID=MYBASE; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=$ORACLE_HOME/bin: $PATH; export PATH
Oπου MYBASE το όνομα της βάσης που θα δημιουργήσετε, το {myservername} οπως καταλαβαίνετε είναι το ονομα του server που μπορεί να γίνει resolved (δηλαδή μπορώ να κάνω ping σε αυτό το όνομα).Σώζουμε το αρχείο, και βγαίνουμε απο τον editor.
Εαν ξανακάνουμε login ως χρήστης oracle, και δώσουμε την εντολή set, θα πρέπει να δούμε όλες αυτές τις μεταβλητές να είναι ορισμένες.
[break=10 Δικαιώματα]
Είπαμε ότι θα χρησιμοποιήσουμε το /opt/oracle Ελέγχουμε εαν έχουμε δικαίωμα πρόσβασης με τον χρήστη oracle. Ακόμα καλύτερα είναι να ανήκει ο συγκεκριμένος κατάλογος στον χρήστη oracle
Aπο χρήστη root δίνουμε την κάτωθι εντολή
chown -R oracle:oinstall /opt
και είμαστε ΟΚ.
[break=11 Προετοιμασία του λογισμικού εγκατάστασης]
Οπως είπαμε πιο πριν, θα πρέπει να έχουμε ένα αρχείο τύπου zip το οποίο είναι το λογισμικό εγκατάστασης. Το φαίρνουμε (με ftp, με CD με ότιδήποτε), στο σύστημα μας, σε κάποιο σημείο που να έχουμε αρκετό χώρο, ώστε να το αποσυμπιέσουμε. Θα μπορούσαμε να το αποσυμπιέσουμε σε ένα DVD πχ και να το τρέξουμε κατευθείαν απο το DVD. Προσωπικά το τρέχω κατευθείαν απο το δίσκο.
Εχω λοιπόν κάνει login ως χρήστης oracle, και έχω αρκετό χώρο ελεύθερο ώστε να το αποσυμπιέσω. Εχω στο δικό μου κατάλογο (/home/oracle εν προκειμένω), το αρχείο 10201_database_linux32.zip
Aπο το σημείο αυτό δουλευουμε σε γραφικό περιβάλλον που απαιτεί ο OUI (Oracle Universal Installer). Ειναι ένα πρόγραμμα σε Java. Δεν χρειάζεται να φορτώσουμε δική μας Java, την έχει ήδη.
Στην συγκεκριμένη περίπτωση δεν μπόρεσα να κάνω unzip, δεν είχα το χρόνο να το ψάξω. Το άνοιξα και το έκαψα σε cdaki σε ένα Windows σύστημα, και το πέρασα στο Centos (αλλες εκδόσεις oracle για linux είναι σε gz format. Τώρα γιατί αυτό το κάνανε σε winzip, is beyond me...)
Aπο root account εκτελούμε τα κάτωθι:
mount /dev/cdrom /mnt
mkdir /home/oracle/database
cd /mnt/database
find . -print | cpio -pdmv /home/oracle/database
chown -R oracle:oinstall /home/oracle/database
Δηλαδή με απλά λόγια αντιγράφω τα περιεχόμενα του cd, στο δίσκο, στην περιοχή του χρήστη oracle σε ένα directory που δημιούργησα ειδικά γιαυτό τον σκοπό.
[break=12 Eγκατάσταση ORACLE]
Φτάσαμε λοιπόν στο πολυπόθητο σημείο. Σε γραφικό περιβάλλον, κάνουμε Login σαν χρήστης oracle. Ανοίγουμε δυο τερματικά, και στο ένα κάνουμε su - ώστε να είναι σε root account (θα χρειαστεί). Φυσικά δίνουμε το Password του root.
Απο το τερματικό με χρήστη oracle, δίνουμε
cd database
./runInstaller
και θα δούμε την παρακάτω εικόνα
Λοιπόν, απενεργοποιούμε την δημιουργία βάσης (starter database) ώστε να ασχοληθούμε με αυτό μετά. Προς το παρόν μας ενδιαφέρει να στηθεί σωστά το λογισμικό. Επίσης διαλέγουμε εαν θα είναι Enterprise ή Standard. Εχω αγορασμένη Standard και στήνω αυτην
Προχωράμε στο επόμενο (Next)
Kάνει τους απαραίτητους ελέγχους.
Στην περίπτωση μου πέταξε πιθανό πρόβλημα (χωρίς να κόβει την εγκατάσταση) σχετικά με το δίκτυο DHCP και στατικές διευθύνσεις. Ομως είχα ήδη στατική ΙΡ στο μηχάνημα. Το πρόβλημα στην συγκεκριμένη περίπτωση ήταν ότι δεν ήταν διορθωμένο το /etc/hosts
Ειχε το όνομα του server στην localhost. Oμως αυτό ήταν λάθος. Ετσι με τον editor φτιάχνουμε μια νέα γραμμή με την στατική διεύθυνση του μηχανήματος, και το όνομα του μηχανηματος (πλήρες και alias). Και το βγάζουμε το όνομα του μηχανήματος απο την localhost (127.0.0.1) O OUI έχει την δυνατότητα να μας περιμένει και να κάνουμε retry αφού διορθώσουμε ότι λάθος βρεί. Ετσι μετά απο όλα αυτά, είμαστε στο σημείο να μας λέει ότι όλα είναι άψογα!!!
Πατάμε επόμενο (Next)
και αρχίζει η εγκατάσταση
Φτάνει σε ένα σημείο που μας ζητά να τρέξουμε δυο σκριπτάκια απο root account. Γυρνάμε στο terminal που έχουμε με root account και τα εκτελούμε (για ασφάλεια χρησιμοποιούμε το πλήρες path για τα scripts αυτα).
Aφού τα εκτελέσουμε, γυρνάμε στο OUI, και συνεχίζουμε. Οπότε τελειωνει η εγκατάσταση και είμαστε ΟΚ. Η Oracle είναι πλέον στημένη (ως λογισμικό), και μένει να φτιάξουμε μια ή περισσότερες βάσεις και φυσικα τις ανάλογες ρυθμισεις.
Ομως πριν αυτο, ευκαιρια είναι να βάλουμε και ότι patches έχουν βγεί έως σήμερα. Για την 10G R2 (10.2.0.1) έκδοση έχουν βγεί δυο minipacks (κάτι σαν service pack). Ετσι θα κάνουμε την εγκατάστασή μας απο 10.2.0.1 σε 10.2.0.3
[break=13 Patches - Πως τα βρίσκουμε... ]
Οπως κάθε λογισμικό, έτσι και στην oracle έχουμε κάποια updates, που καλό είναι να τα βάλουμε. Η Oracle βγάζει διάφορα patches, μεμονωμένα που διορθώνουν κάποια προβλήματα, κυρίως ασφάλειας, και κάθε τόσο, για κάθε έκδοση που δεν είναι EOL, βγάζει και ένα πακέτο με όλα τα patches, τα λεγόμενα minipacks, που είναι κάτι σαν service packs των Windows.
Για να πάρουμε λοιπόν τα νέα patches θα πρέπει να μπούμε στο site του metalink. Εαν δεν έχουμε γραφτεί ήδη, γραφόμαστε εκεί. Είναι ένα site με πλούσιο υλικό για τους διαχειριστές βάσεων oracle, με πλούσια γνωσιακή βάση. Εαν δεν έχουμε γραφτεί (registration), γραφόμαστε για να μπορούμε να μπούμε σε αυτό. Σε αντίθεση με το λογισμικό που το βρίσκουμε στο otn.oracle.com τα patches βρίσκονται εδώ.
Αφού μπούμε λοιπόν στο metalink, επιλέγουμε patches & updates και μετά simple search. Για τις επιλογές εκεί, δείτε και την εικόνα
Product or Family -> RDBMS Server -> Release 10.2.0.2 την πρώτη φορά
Patchset or Minipack -> platform Linux x86
Αυτά για να κατεβάσουμε το πρώτο minipack για την 10.2.0.1 που στήσαμε (32bit). Εαν έχετε βάλει την 64bit, φυσικά στο platform θα επιλέξετε Linux X86-64. Υπόψη ότι στο 10.2.0.2 θα σας βγάλει πολλά patches, το minipack ειναι τελευταίο στην δεύτερη σελίδα, περιπου 650ΜΒ.
Επαναλαμβάνουμε την ίδια διαδικασία, μόνο που αντί για Release 10.2.0.2 έχουμε 10.2.0.3 και παίρνουμε το τελευταίο minipack ώστε να είμαστε στην τελευταία έκδοση, την 10.2.0.3 Εδω το minipack έχει μέγεθος περι τα 900ΜΒ!!!
Σημειώστε ότι το site του metalink δεν είναι και ότι γρηγορότερο και μου έχουν εμφανιστεί διακοπές στην σύνδεση κατα το κατέβασμα μεγάλων minipacks.
[break=14 Εγκατάσταση των patches]
Aφού έχουμε λοιπον τα minipacks, τα ξεζιπάρουμε, τα γράφουμε σε cd ή dvd (το 10.2.0.3 είναι κοντά 1GB ), και ακολουθούμε παρόμοια διαδικασία με την πρώτη εγκατάσταση. Αφού τα αντιγράψουμε στον δίσκο, μέσα στην περιοχή του χρήστη oracle, πχ σε ένα άλλο directory όπως /home/oracle/10202 στην συνέχεια πάμε σε αυτόν τον κατάλογο, βρίσκουμε το runInstaller, και φυσικά το τρέχουμε. Δηλαδή απο ένα τερματικό σε εκείνο το directory δίνουμε την εντολή
./runInstaller
Tα υπόλοιπα βήματα είναι παρόμοια με την εγκατάσταση που κάναμε αρχικά.
Πατάμε Next
Μια απο τα ίδια
Και ξεκινά η εγκατάσταση και στο τέλος θα μας ζητήσει να τρέξουμε απο root account ένα σκριπτάκι. Στο σκριπτάκι αυτό, δεχόμαστε τα defaults, και όπου είναι yes/no δίνουμε yes. Τόσο απλά....(κάνει overwrite αυτά που έγιναν απο την πρώτη εγκατάσταση)
Οπως βλέπετε, τα βήματα είναι σχεδόν ίδια με αυτά στην εγκατάσταση. Εαν είχαμε ήδη βάσεις (data) μπορεί να χρειαζόταν και κάποιο migration, σίγουρα πλήρες backup των βάσεων πριν την διαδικασία της αναβάθμισης κλπ κλπ. Γιαυτό, όταν κάνουμε εγκατάσταση πρώτη φορά σε ένα σserver, επιλέγουμε να μην χτίσουμε βάσεις, παρα απλά να εγκαταστίσουμε το λογισμικό και στην συνέχεια όλα τα minipacks ώστε να έχουμε την πιο τρέχουσα έκδοση.
Παραπάνω έχουμε εγκαταστήσει την 10.2.0.2 Επαναλαμβάνουμε με τον ίδιο τρόπο, για την εγκατάσταση της 10.2.0.3 (και λοιπών εκδόσεων εαν έχουν βγεί την στιγμή που το διαβάζετε αυτό).
[break=15 Φτιάχνοντας μια βάση part 1]
Μέχρις στιγμή έχουμε εγκαταστήσει μόνο το λογισμικό, αλλά δεν έχουμε σηκώσει κάποια βάση. Λοιπόν καιρός είναι να φτιάξουμε μία. Υπάρχει ο παραδοσιακός χειροκίνητος τρόπος, και φυσικά ο φιλικός (gui). Σε κάποιες ειδικές περιπτώσεις μόνο μπορεί να χρειαστεί να καταλήξουμε στον χειροκίνητο, οπότε το αφήνουμε στους ειδικούς (καλέστε με εαν δεν γίνετε διαφορετικά ) Με τον γραφικό τρόπο, τα πράγματα είναι σημαντικά ευκολότερο.
Λοιπόν, είμαστε σε γραφικό περιβάλλον (X Windows - Gnome), και με ενα παράθυρο τερματικού ως χρήστης oracle δινουμε την εξής εντολή
$ORACLE_HOME/bin/dbca
και ξεκινά ο Database Configuration Assistant. Παραθέτω και την εικόνα αυτού
Φυσικά πατάμε Next, και στην επόμενη οθόνη, διαλέγουμε να δημιουργήσουμε μια βάση (Create Database).
[break=16 Φτιάχνοντας μια βάση part 2]
Σπάμε την διαδικασία δημιουργίας της βάσης σε περισσότερα κεφάλαια, μιας και έχει πολλά screenshots ώστε να πηγαινοερχόμαστε ευκολότερα στις σελίδες.
Λοιπόν στο προηγούμε είχαμε φτάσει στο σημείο να διαλέξουμε ότι θα δημιουργήσουμε μια βάση.
Το επόμενο σημείο είναι αυτό.
Το default είναι να φτιάξει μια General Purpose βάση δεδομένων, μεγέθους περίπου 700ΜΒ, με τα χαρακτηριστικά που λέει η Oracle. Δεν θέλουμε αυτό. Θέλουμε να φτιάξουμε όπως εμείς θέλουμε. Γιαυτό επιλέγουμε όπως φαίνεται και στην εικόνα το Custom Database.
Στην συνέχεια θα πρέπει να δώσουμε το όνομα που θέλουμε στην βάση μας. Εδώ γράφει ORCL. Βάζουμε ότι θέλουμε αλλά καλό είναι να είναι το ίδιο με αυτό που είχαμε βάλει στο .bashrc σαν ORACLE_SID
Για να αποφύγουμε περιττούς μπελάδες, βάζουμε το ίδιο με εκεί... Δεν θα καλύψουμε την περίπτωση πολλών διαφορετικών βάσεων στην ίδια μηχανή . Ούτως ή άλλως αυτό συνήθως γίνεται με την χρήση διαφορετικών database users. Πχ το ένα ERP μπορεί να μπαίνει ως database user ATLANTIS και το άλλο ως SAP. Εκεί που χρειαζόμαστε διαφορετικά instances είναι πχ εαν έχουν διαφορές στις παραμέτρους εκκίνησης (πχ το ένα να λειτουργει με cost based optimizer ενω το άλλο με rule based optimizer - αν και το τελευταίο καταργήθηκε στην 10G αλλά πιάνετε το νόημα).
Στο επόμενο βήμα τα αφήνουμε όπως την εικόνα
[break=17 Φτιάχνοντας μια βάση part 3]
Και συνεχίζουμε δίνοντας το password για τους διαχειριστικούς λογαριασμούς χρηστών στην Oracle (sys & system). Οπως φαίνεται και στην εικόνα, μπορούμε να δώσουμε το ίδιο και για τους δύο ή μπορεί ναναι ξεχωριστοί. Σε μεγάλες βάσεις, όπου έχουμε Database Administrators όχι έναν αλλά πολλούς μπορεί να έχει νόημα να είναι ξεχωριστά. Στην ελληνική πραγματικότητα συνήθως είναι ένας DBA ο οποίος κάνει επίσης και πάρα πολλά άλλα οι λογαριασμοί DBSNMP & SYSMAN είναι ειδικές περιπτώσεις.
Μετά μας ρωτά με πια μορφή θα είναι η πρόσβαση στους σκληρούς δίσκους. Μέσω του filesystem του λειτουργικού, μέσω rawdevices (δηλαδή να βλέπει κατευθείαν τον σκληρό η oracle) ή μέσω του ASM. Είπαμε ότι έχουμε απλή περίπτωση, και φυσικά θα πάμε μέσω filesystem. Παλαιότερα, προκειμένου να βγάλουν ένα 10-20% επιπλέον performance, χρησιμοποιούσαν raw devices. Η Οracle έκανε απευθείας πρόσβαση στον δίσκο, παρακάμπτοντας το λειτουργικό. Σε μεγάλες βάσεις είναι ακόμα και τώρα καλή στρατηγική, μείωνει το κόστος σε επεξεργασία (μέσω του λειτουργικού), μνήμης (δεν χρειάζονται οι buffers του λειτουργικού κλπ). H χρήση του aio (asynchronous io) μείωσε τα ωφέλη αυτά, καθώς και η άυξηση μνήμης, μιας και είναι πιο πρακτικό να "βλέπεις" τα αρχεία της oracle, απο το να έχεις κάποιο δίσκο ή partition και μόνο μέσω της oracle να μπορείς να δείς τι έχει μέσα....
Στο επόμενο βήμα το αφήνουμε ως έχει και προχωράμε
[break=18 Φτιάχνοντας μια βάση part 4]
Και στο επόμενο βήμα, πρέπει ναναι όπως στην εικόνα. Η περιοχή flash_recovery_area είναι εκεί όπου σώζει τα archivelogs η oracle. Για να μην γεμίσει τον δίσκο, ορίζουμε εμείς μέχρι πιό μέγεθος θα πιάνει . Και απο κάτω επιλέγουμε εαν θα κρατά archives ή όχι. Το archivelog φανταστείται με απλά λόγια ότι είναι ένας τρόπος να καταγράφει οτιδήποτε αλλαγές έχουν γίνει στην βάση. Για μια πιο ασφαλή και αξιόπιστη βάση, είναι απαραίτητο, αλλά την κάνει πιο αργή. Εαν έχουμε μια βάση μόνο για δοκιμές ή πχ data warehousing, δεν χρειάζεται. Δεν θα επεκταθούμε περισσότερο εδώ, πάντως είναι ένα μεγάλο κεφάλαιο για πολλά πράγματα στην Oracle.
Στο επόμενο παράθυρο, θα μας φέρει όλες τις επιλογές τσεκαρισμένες. Δεν τις χρειαζόμαστε, και γιαυτό θα τις βγάλουμε. Οποιος τις χρειάζεται ξέρει κιόλας γιατί. Με απλά λόγια οι επιλογές αυτές δίνουν επιπλέον δυνατότητες στην βάση για κάποιους ειδικούς σκοπούς ώστε να δουλεύει είτε πιο γρήγορα (πχ Oracle OLAP) είτε για να πιάνουν τρομερα λιγότερο χώρο (Oracle Spatial). Ομως αυτο επιβαρύνει την βάση μας άδικα. Γιαυτό τα βγάζουμε. Το μόνο που θα χρειαστούμε (και δεν φαίνεται στην φωτό) είναι το τελευταίο, το Enterprise Manager Repository.
Δεν πατάμε ακόμη Next. Εαν ανοίξουμε το Standard Database Componentes, θα δούμε ότι έχει μέσα μια Java VM, δυνατότητα για XLM databases και Intermedia. Το πρώτο μας δίνει την δυνατότητα να τρέχουμε μέσα στην βάση και Java κώδικα εκτός απο PL/SQL. Η Oracle προτείνει να το κρατήσουμε καθώς και τα άλλα δύο (για χρήση XML και δεδομένων Multimedia), αν και εγώ τα έχω βγάλει άλλες φορές χωρίς να έχω πρόβλημα. Υπόψη ότι κάθε τι που βάζουμε στην βάση σημαίνει ότι καταναλώνει περισσότερη μνήμη,
[break=19 Φτιάχνοντας μια βάση part 5]
Πατάμε επόμενο και βρισκόμαστε σε ένα παράθυρο βασικών παραμέτρων του instance της oracle (βάσης).
Ανάλογα με την διαθέσιμη μνήμη, δίνουμε και στην βάση που θα σηκώσουμε είτε με ένα γενικό ποσοστό (και αφήνουμε την Oracle να αποφασίσει πως θα το μοιράσει), είτε (εαν ξέρουμε) πιο συγκεκριμένα για κάθε περιοχή μνήμης που χρησιμοποιεί η Oracle. Στην περίπτωση μου έχω 2GB RAM στο σύστημα, και η βάση είναι μόνο για δοκιμές με λίγες συνδέσεις, οπότε το 30% είναι ικανοποιητικό. Σε παραγωγικές βάσεις και εαν έχετε πολλά δεδομένα, θα χρειαστεί περισσότερη μνήμη. Μην σας απασχολεί ιδιαίτερα, μπορείτε να την αυξήσετε και μετά αφού τρέχει η βάση, και μάλιστα έχει advisors που θα σας πούνε πόση μνήμη θέλει για να τρέχει καλύτερα. Αρκεί να δώσετε αρκετή για το ξεκίνημα (τουλάχιστον 500MB). Μπορεί να δουλέψει και με λιγότερα, αλλά δεν αξίζει να πειραματίζεστε.
Στο δεύτερο ΤΑΒ παραμέτρων ρυθμίζουμε το Blocksize για την οracle (πρέπει ναναι 8Κ ή 4Κ ή 2Κ). Καλό είναι ναναι 8Κ, και εαν μας προτείνει διαφορετική τιμή να το διορθώσουμε. Και πάλι, αφήστε για τους ειδικούς τις άλλες τιμές (μπορεί πχ ναχεις διαφορετικό blocksize ανα tablespace για να μην σπάνε τα rows σε διαφορετικά block ή ναχεις μικρότερο block size για να μην σπαταλάς χώρο. Αλλά είπαμε, αυτά μετά...) Οσον αφορά τα processes είναι πόσα ξεχωριστά processes θα μπορεί να έχει το instance. Αφήστε το 150. Απο μόνη της η Oracle ξεκινά πάνω απο 10 processes, και φτάνει και πάνω απο 30 χωρίς κανένα client. Οπότε αφήστε το 150.
To επόμενο βήμα όπως φαίνεται πιο πάνω είναι η ρύθμιση της γλώσσας. Ανάλογα με την εφαρμογή που χρησιμοποιείτε. Εχω δεί ότι οι επιλογές που φαίνονται στην εικόνα είναι οι πιο συμβατές για τα δικά μας, ελληνικά, δεδομένα.
Η επόμενη επιλογή μας είναι εαν πρόκειται για dedicated server (το προτιμώμενο σε unix περιβάλλον) ή shared server mode. Το τελευταίο προτιμάτε σε ειδικές περιπτώσεις όπου θα πρέπει να εξυπηρετήσουμε χιλιάδες χρήστες με σχετικά μικρά requests (OLTP). Επειδή έχει πιο ιδιόρυθμη αντιμετώπιση, εμείς βάζουμε την πρώτη περίπτωση, άλλωστε συνιστάται σε unix περιβάλλον. Θα μας απασχολήσει η δεύτερη εαν έχουμε πάνω απο 200-300 χρήστες, και σε εκείνη την περιπτωση ή θα είμαστε πλέον professionals DBA ή θα μπορούμε να καλέσουμε κάποιον αλλον για να το κάνει
Kαι φτάνουμε στο τέλος, όπου βλέπουμε τα tablespaces που θα φτιαχτούν, μπορούμε να προσθέσουμε tablespaces, να προσθέσουμε datafiles κλπ κλπ. Εαν δεν ξέρουμε και πολλά, το αφήνουμε ως έχει. Ούτως ή άλλως μπορούμε να το κάνουμε και μετά, αφού σηκωθεί η βάση μας απο το εργαλείο διαχείρησης.
Και αφού πατήσουμε Finish, μας ρωτά εαν θέλουμε να φτιάξουμε την βάση, εαν θέλουμε να σώσουμε τα σκριπτάκια δημιουργίας της βάσης (είπαμε ότι μπορεί να γίνει και χωρίς γραφικό, το γραφικό απλά ετοιμάζει τα σκριπτάκια ). Με αυτό τον τρόπο λοιπόν έχουμε φτιάξει την βάση μας, αλλά δεν τελειώσαμε εδώ.... Κάτω φαίνεται η εικόνα με την ολοκλήρωση της κατασκευής της βάσης.
Κρατάμε κάπου τα στοιχεία που μας δίνει για την διαχείρηση της βάσης (δηλαδή τη IP πόρτα).
Υπόψη ότι η κατασκευή της βάσης μπορεί να πάρει αρκετή ώρα, μιας και αρχικοποιεί τα datafiles, και εαν έχουμε ζητήσει να κάνει πολλά απο την αρχή, αυτά παίρνουν χρόνο. Επιπλέον εαν έχουμε επιλέξει να έχει διάφορες προσθήκες (πχ Java, Spatial κλπ), αυτά φορτώνονται ως κώδικας μέσα στην βάση, και καθυστερουν την κατασκευή της....
[break=20. Listener]
Μέχρι τώρα φτιάξαμε την βάση, αλλά η oracle χρειάζεται κάτι για να μιλά με τον έξω κόσμο, μέσω δικτύου και αυτό είναι ο listener. Να μην μπούμε σε βάθος σε αυτή την ιστορία και τις λεπτομέρειες της, απλά πρέπει να ξέρετε ότι πρέπει να φτιάξουμε έναν....
Εννοείται ότι έχει ολοκληρωθεί η κατασκευή της βάσης. Απο το ίδιο κατάλογο που τρέξαμε το dbca, τρέχουμε το netca
./netca
και μας καλοσωρίζει η επόμενη εικόνα.
Φυσικά έχουμε την πρώτη επιλογή (εαν δεν είναι ήδη), δηλαδή ρύθμιση για listener.
Προσθέτουμε έναν listener (αφού δεν υπάρχει ήδη).
Αφήνουμε τα defaults
Και συνεχίζουμε...
Αφήνουμε την default πόρτα που ακούει η oracle, πατάμε Next και τελειώνουμε αφού σώσει το configuration αυτό...
[break=21. Τελευταίες πινελιές]
Mέχρι τώρα κάναμε όλα αυτά, το επόμενο φυσικά που μπορεί να θέλουμε, είναι να "σηκώνεται" η βάση με την εκκίνηση του μηχανήματος και φυσικά να κλείνει όταν κάνουμε shutdown ή reboot. Εδώ υπολοίπεται λιγάκι η εγκατάσταση της oracle έναντι αυτή των windows, αλλά θα το κάνουμε αμέσως και πολύ εύκολα....
Πρώτα απο όλα, ανοίγουμε με έναν editor το αρχείο /etc/oratab. Στην τελευταία γραμμή, θα βρούμε στο τέλος ένα :Ν λοιπόν αυτό το Ν το κάνουμε Υ (εαν διαβάσετε το αρχείο θα καταλάβετε γιατί).
Στην συνέχεια πηγαίνουμε στον κατάλογο /etc/init.d
εκεί φτιάχνουμε ένα αρχείο με το όνομα oracle και ρίχνουμε το παρακάτω script μέσα.
Κάνουμε τα αντίστοιχα links στα /etc/rc[0-6].d Με S για startup με K για κλείσιμο, όπως καταλαβαίνεται στα rc3 / rc5 πρέπει να γίνει start στα υπόλοιπα shutdown. Την κάνουμε πχ S99oracle (να ξεκινά αφού έχει ξεκινήσει οτιδήποτε άλλο), και την κλείνουμε πάντα πρώτη.Κώδικας:#!/bin/bash # # Script for automatic startup and shutdown of RDBMS Oracle # By anon_at_adslgr # case "$1" in start) # Oracle listener and database startup echo -n "Starting Oracle..." su - oracle -c "lsnrctl start" su - oracle -c "dbstart" touch /var/lock/subsys/oracle echo -n "Oracle start completed...\n" ;; stop) # Oracle listener and database shutdown echo -n "Shutting down Oracle..." su - oracle -c "lsnrctl stop" su - oracle -c "dbshut" rm -f /var/lock/subsys/oracle echo -n "Oracle shutdown completed...\n" ;; reload|restart) $0 stop $0 start ;; *) echo "Usage: $0 start|stop|restart|reload" exit 1 esac exit 0
Τέλος.....
Εμφάνιση 1-15 από 27
-
20-12-06, 17:54 Installing Oracle 10G R2 on RHEL4 ( and Centos4) #1
Τελευταία επεξεργασία από το μέλος anon : 23-02-07 στις 12:54. Αιτία: φωτό...
QoS: Τι είναι τούτο το πράγμα; Ευρυζωνικά: Μύθοι και πραγματικότητα Οδηγίες Εγκατάστασης Oracle 10G σε Linux (RHEL4)Περι αλόγιστης χρήσης Ιντερνετ
Ikariam.gr anon@AnonCity Guzoos@76:12
-
20-12-06, 21:54 Απάντηση: Installing Oralce 10G R2 on RHEL4 ( and Centos4) #2
Χεχε, thanks anon, αλλά να σου πω την αλήθεια μέχρις εκεί έφτασα. Η εγκατάσταση προχώρησε αρκετά και κάποια στιγμή έβγαλε ubnormal termination όπως σου έγραψα. Εάν το ξανακάνει θα βάλω screenshot.
-
20-12-06, 22:30 Απάντηση: Installing Oralce 10G R2 on RHEL4 ( and Centos4) #3
τότε κάποιο άλλο πρόβλημα έχεις. ισως hardware. στείλε screenshot. Τα παραπανω βήματα σε Centos 4.4 fully updated, σε σύστημα AMD Sempron (32bit), με 2GB ram, και δίσκους 2Χ80 ΑΤΑ + 4Χ300 SATA2 σε sil3114 κάρτα. Την έστησα τώρα το απόγευμα, τελείως απροβλημάτιστα. Ισως με τα παιχνίδια που έκανες προσπαθώντας να δουλέψει, χάλασες κάτι.... Δοκίμασε πρώτα απο όλα ένα fresh install. Επίσης μη βάλεις reiserfs. Ειναι Δεν συνιστάται. ext3 και ξερό ψωμί. Δεν χρειάζεται να κάνεις καμμια ειδική ρύθμιση κατα την εγκατάσταση, και εαν δεν ξέρεις τι πρέπει να στήσεις και τι όχι, βάλτο να τα στήσει την πρώτη φορά όλα (custom install -> everything). Εμένα η εγκατάσταση αυτή χωρίς βάση, με πήρε περίπου δύο ώρες, γιατί έγραφα ταυτόχρονα, έκανα screenshots, και έκανα την ιστορία με το cdακι.
QoS: Τι είναι τούτο το πράγμα; Ευρυζωνικά: Μύθοι και πραγματικότητα Οδηγίες Εγκατάστασης Oracle 10G σε Linux (RHEL4)Περι αλόγιστης χρήσης Ιντερνετ
Ikariam.gr anon@AnonCity Guzoos@76:12
-
22-12-06, 15:19 #4
Αυτά χρειάζονται σίγουρα;
gnome-libs-1.4.1.2.90-44.1
xscreensaver-4.18-5.rhel4.2
Tρέχω KDE.
Μήπως αυτό
oracle hard nofile 63536
είναι 65536;
Να προσθέσω εδώ ότι εάν δεν τρέξει ή διαμαρτυρηθεί για προνόμια (privileges) χρειάζεται ως root να δώσουμε
xhost +
Στο δικό μου χρειάστηκε επίσης ως χρήστης oracle να δώσω
exportDISPLAY=:0
Λοιπόν, ξεκίνησα και μου έβγαλε
Warning
Some recommended prerequisite checks have failed. You might get errors during installation. Do you want to proceed?
Εννοείται ότι έχω κάνει όλα όσα γράφεις εδώ και όσα λέει στο /doc του DVD. Btw τρέχω την R1, αλλά δεν πρέπει να φταίει αυτό.
Θα συνεχίσω για να δω τα logs.
Δεν βρίσεκι το make-3.79 και βγάζει failed. Έχω 3.80
Παρ' όλα αυτά, έγινε η εγκατάσταση με επιτυχία, χωρίς να δημιουργήσω database.Τελευταία επεξεργασία από το μέλος anon : 22-12-06 στις 16:54. Αιτία: same user posts
-
22-12-06, 17:03 Απάντηση: Installing Oralce 10G R2 on RHEL4 ( and Centos4) #5
Νομίζω ότι τοχα γράψει. GNOME όχι KDE. Οχι ότι δεν θα μπορεί να τρέξει και με KDE, αλλά δεν χρειάζεται να ταλαιπωρείσαι.
Μήπως αυτό
oracle hard nofile 63536
είναι 65536;
Να προσθέσω εδώ ότι εάν δεν τρέξει ή διαμαρτυρηθεί για προνόμια (privileges) χρειάζεται ως root να δώσουμε
xhost +
Στο δικό μου χρειάστηκε επίσης ως χρήστης oracle να δώσω
exportDISPLAY=:0
Λοιπόν, ξεκίνησα και μου έβγαλε
Warning
Some recommended prerequisite checks have failed. You might get errors during installation. Do you want to proceed?
Εννοείται ότι έχω κάνει όλα όσα γράφεις εδώ και όσα λέει στο /doc του DVD. Btw τρέχω την R1, αλλά δεν πρέπει να φταίει αυτό.
Θα συνεχίσω για να δω τα logs.
Δεν βρίσεκι το make-3.79 και βγάζει failed. Έχω 3.80
yum remove make
και να το ξαναστήσεις
yum install make
Και σε μένα υπάρχει το
Κώδικας:[root@XXXXX ~]# yum list make Setting up repositories update 100% |=========================| 951 B 00:00 base 100% |=========================| 1.1 kB 00:00 addons 100% |=========================| 951 B 00:00 extras 100% |=========================| 1.1 kB 00:00 Reading repository metadata in from local files Installed Packages make.i386 1:3.80-6.EL4 installed
Παρ' όλα αυτά, έγινε η εγκατάσταση με επιτυχία, χωρίς να δημιουργήσω database.
Περίμενε να τελειώσω τον οδηγό για την κατασκευή της βάσης και του listener και θασαι έτοιμος.
Ομως μπορείς να κάνεις το εξής. Διαγράφεις ότι έχει στηθεί απο την oracle, (δες και στο /etc to oratab). Και ξεκινάς απο GNOME και φορτώνεις R2 σύμφωνα με τις οδηγίες....
QoS: Τι είναι τούτο το πράγμα; Ευρυζωνικά: Μύθοι και πραγματικότητα Οδηγίες Εγκατάστασης Oracle 10G σε Linux (RHEL4)Περι αλόγιστης χρήσης Ιντερνετ
Ikariam.gr anon@AnonCity Guzoos@76:12
-
22-12-06, 17:39 Απάντηση: Installing Oralce 10G R2 on RHEL4 ( and Centos4) #6
anon, you are great. Πολύ απλός και συνοπτικός οδηγός, έγινε εγκατάσταση και με db creation.
Αυτά έλειπαν
compat-db
control-center
xscreensaver
ίσως και αυτό (δεν θυμάμαι)
sysstat
-
22-12-06, 20:22 Απάντηση: Installing Oralce 10G R2 on RHEL4 ( and Centos4) #7
το control-center & xscreensaver δεν ειναι τόσο απαραίτητα. Ομως το sysstat το χρειάζεται για να σου δίνει την εικόνα του server. Συνδέεσαι μέσω web browser
http://{your server}:1158/em
και ειναι πραγματικά super. Χαίρομαι που βοήθησα. Οπως θα είδες, εαν προσέξεις μερικα μόνο πράγματα, είναι πολύ εύκολη η εγκατάσταση. Οι παλιότερες εκδόσεις, θέλαν το κατι τί τους (δεν θα βρίσκουμε δουλειά ως dba πια )
QoS: Τι είναι τούτο το πράγμα; Ευρυζωνικά: Μύθοι και πραγματικότητα Οδηγίες Εγκατάστασης Oracle 10G σε Linux (RHEL4)Περι αλόγιστης χρήσης Ιντερνετ
Ikariam.gr anon@AnonCity Guzoos@76:12
-
23-12-06, 00:47 Απάντηση: Installing Oralce 10G R2 on RHEL4 ( and Centos4) #8
Εμένα θέλει
http://{your server}:5500/em
Ποια είναι τα services που τρέχουν και πώς τα βάζεις να φορτώνονται με το boot?
-
23-12-06, 11:10 Απάντηση: Installing Oralce 10G R2 on RHEL4 ( and Centos4) #9
QoS: Τι είναι τούτο το πράγμα; Ευρυζωνικά: Μύθοι και πραγματικότητα Οδηγίες Εγκατάστασης Oracle 10G σε Linux (RHEL4)Περι αλόγιστης χρήσης Ιντερνετ
Ikariam.gr anon@AnonCity Guzoos@76:12
-
28-12-06, 16:24 Απάντηση: Installing Oralce 10G R2 on RHEL4 ( and Centos4) #10Κώδικας:
$ lsnrctl start LSNRCTL for Linux: Version 10.1.0.3.0 - Production on 28-DEC-2006 15:19:09 Copyright (c) 1991, 2004, Oracle. All rights reserved. Starting /home/oracle/OraHome_1/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 10.1.0.3.0 - Production System parameter file is /home/oracle/OraHome_1/network/admin/listener.ora Log messages written to /home/oracle/OraHome_1/network/log/listener.log Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=stcomp.thetwo)(PORT=1521))) Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 10.1.0.3.0 - Production Start Date 28-DEC-2006 15:19:09 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /home/oracle/OraHome_1/network/admin/listener.ora Listener Log File /home/oracle/OraHome_1/network/log/listener.log Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=stcomp.thetwo)(PORT=1521))) Services Summary... Service "PLSExtProc" has 1 instance(s). Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service... The command completed successfully $ dbstart
Αμέσως μετά την εγκατάσταση, πριν το πρωτο reboot το έκανε.
-
28-12-06, 16:31 Απάντηση: Installing Oralce 10G R2 on RHEL4 ( and Centos4) #11
O listener είναι για να συνδέονται οι εφαρμογές. (πόρτα 1521). Για το administration, δοκίμασε απο κάποιον Browser στην http://{ip of server}:1158/em
ή http://{ip of server}:5500/em
QoS: Τι είναι τούτο το πράγμα; Ευρυζωνικά: Μύθοι και πραγματικότητα Οδηγίες Εγκατάστασης Oracle 10G σε Linux (RHEL4)Περι αλόγιστης χρήσης Ιντερνετ
Ikariam.gr anon@AnonCity Guzoos@76:12
-
28-12-06, 16:50 Απάντηση: Installing Oralce 10G R2 on RHEL4 ( and Centos4) #12
Κάτι άλλο φταίει. Δεν συνδέεται ούτε ο sqldeveloper της Oracle.
Το error είναι αυτό.
http://ora-12505.ora-code.com/
Πώς το βλέπω αυτό;
- Check that the SID parameter in the connect descriptor specifies an instance known by the listener.
Έκανα αυτό:Κώδικας:$ set | grep ORACLE ORACLE_HOME=/home/oracle/OraHome_1 ORACLE_SID=orcl
Δες κι αυτό.
Κώδικας:$ sqlplus SQL*Plus: Release 10.1.0.3.0 - Production on Thu Dec 28 15:53:23 2006 Copyright (c) 1982, 2004, Oracle. All rights reserved. Enter user-name: system Enter password: ERROR: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist Linux Error: 2: No such file or directory
-
28-12-06, 18:00 Απάντηση: Installing Oralce 10G R2 on RHEL4 ( and Centos4) #13
1)Σύμφωνα με τον listener, η oracle παιζει στον server stcomp.thetwo
Ειναι σωστό το name αυτό; Μπορεί να γίνει resolve (δηλαδή να κάνεις ping σε αυτό το όνομα, και να απαντήσει);;;
2)Επίσης μήπως έχεις σηκωμένο firewall που κλειδώνει τις πόρτες (1521 για να παιζει πχ ο plsql developer);
3)Ειναι σίγουρα η oracle "σηκωμένη"; Απο το centos, login as user oracle,
sqlplus / as sysdba
και μετά δώσε
startup
εαν είναι ήδη σηκωμένη, θα σου πετάξει κάποιο λάθος, διαφορετικά θα σηκώσει την βάση.
Στην περίπτωση που δεν είναι ήδη σηκωμένη, πρέπει να δούμε γιατί δεν σηκώνεται.
Πχ με το script που σου έδωσα μπορείς να κάνεις restart (bounce) την βάση
service oracle restart
4) Eχεις δηλώσει όλες τις απαραίτητες μεταβλητές περιβάλλοντος στο .bashrc του χρήστη oracle?
QoS: Τι είναι τούτο το πράγμα; Ευρυζωνικά: Μύθοι και πραγματικότητα Οδηγίες Εγκατάστασης Oracle 10G σε Linux (RHEL4)Περι αλόγιστης χρήσης Ιντερνετ
Ikariam.gr anon@AnonCity Guzoos@76:12
-
29-12-06, 09:53 Απάντηση: Installing Oralce 10G R2 on RHEL4 ( and Centos4) #14
1-2 είναι σωστά. IP tables ειναι off. Συνδέομαι με τον webserver
Έκανα το 3 και έχω το εξής:
Κώδικας:$ sqlplus / as sysdba SQL*Plus: Release 10.1.0.3.0 - Production on Fri Dec 29 08:47:22 2006 Copyright (c) 1982, 2004, Oracle. All rights reserved. Connected to an idle instance. SQL> startup ORACLE instance started. Total System Global Area 268435456 bytes Fixed Size 778692 bytes Variable Size 95428156 bytes Database Buffers 171966464 bytes Redo Buffers 262144 bytes Database mounted. Database opened. SQL>
από root
unrecognized service
Τις παραμέτρους για τον χρήστη oracle τις έχω στο .bash_profile
Κώδικας:[oracle@stcomp ~]$ cat .bash_profile # .bash_profile umask 022 # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH unset USERNAME export ORACLE_HOSTNAME=stcomp.thetwo export ORACLE_BASE=/home/oracle export ORACLE_HOME=/home/oracle/OraHome_1 export ORACLE_SID=orcl export ORACLE_TERM=xterm export PATH=$PATH:$ORACLE_HOME/bin
-
29-12-06, 10:28 Απάντηση: Installing Oralce 10G R2 on RHEL4 ( and Centos4) #15
Aφού έκανες startup και σηκώθηκε η oracle, σημαίνει ότι πριν δεν ήταν απλά σηκωμένη, δεν έτρεχε. Οσο για το service, για να παίζει, θα πρέπει να κοπιάρεις το σκριπτάκι που έχω στο /etc/init.d με το όνομα oracle. Αυτό λοιπόν το αρχείο, oracle, θα του δώσεις execute privilege (chmod +x oracle), και μετά θα φτιάξεις soft links στα διάφορα rc.d
συγκεκριμένα
Κώδικας:ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle ln -s /etc/init.d/oracle /etc/rc1.d/K01oracle ln -s /etc/init.d/oracle /etc/rc2.d/K01oracle ln -s /etc/init.d/oracle /etc/rc3.d/S99oracle ln -s /etc/init.d/oracle /etc/rc4.d/S99oracle ln -s /etc/init.d/oracle /etc/rc5.d/S99oracle ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle
service oracle [start|stop|restart]
και φυσικά με την εκκίνηση του συστήματος θα ξεκινά και η βάση.....
Οσο για τις μεταβλητές περιβάλλοντος, δες μήπως έχεις διαφορετικά δικαιώματα στο .bashrc Δηλαδή στο αρχείο αυτό (το .bashrc) που βρίσκεται στο home directory του χρήστη oracle. Κάνε login σαν oracle χρήστης, και πρέπει να μπορείς να δώσεις
vi ~/.bashrc
και να κάνεις edit το αρχείο και να το σώσεις. Ομως και στο .bash_profile μπορείς να τα βάλεις, αρκεί εφόσον είσαι oracle χρήστης και δώσεις set, να δείς όλες αυτές τις ορισμένες μεταβλητές περιβάλλοντος....
QoS: Τι είναι τούτο το πράγμα; Ευρυζωνικά: Μύθοι και πραγματικότητα Οδηγίες Εγκατάστασης Oracle 10G σε Linux (RHEL4)Περι αλόγιστης χρήσης Ιντερνετ
Ikariam.gr anon@AnonCity Guzoos@76:12
Παρόμοια Θέματα
-
Fedora Core & Oracle Express 10g
Από vasim στο φόρουμ Unix - LinuxΜηνύματα: 4Τελευταίο Μήνυμα: 10-01-07, 11:03
Bookmarks