Όλα αυτά τα αρχεία ρυθμίζουν το λογισμικό δικτύωσης της Oracle (SQL*Net, τώρα Net8 for Oracle8).
Αυτά τα αρχεία θα πρέπει να έχουν ήδη δημιουργηθεί στο server στο $ORACLE_HOME/network/admin
directory.
tnsnames.ora
Το αρχείο TNSNAMES.ORA
αναγνωρίζει τις διαθέσιμες υπηρεσίες της μηχανής. Στο στιγμιότυπο (instance) μας θα περιγράψουμε όλες τις βάσεις δεδομένων
που ο server έχει προσκολλημένες. Για κάθε ένα στιγμιότυπο της Βάσης Δεδομένων (database instance)
του server σας, προσθέστε ένα τμήμα σαν το παρακάτω:
orcl.world =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(COMMUNITY = tcp.world)
(PROTOCOL = TCP)
(Host = <INSERT HOST NAME OF SERVER HERE> )
(Port = 1521)
)
(ADDRESS =
(COMMUNITY = tcp.world)
(PROTOCOL = TCP)
(Host = <INSERT HOST NAME OF SERVER HERE> )
(Port = 1526)
)
)
(CONNECT_DATA = (SID = ORCL)
)
)
listener.ora
Το αρχείο listener.ora
περιέχει τις περιγραφές των υπηρεσιών μας που άλλες μηχανές επιτρέπεται να συνδεθούν με αυτές, καθώς και
οποιαδήποτε ρύθμιση που απαιτείται από τον listener του server.
Περιέχει τμήμα για το όνομα και τη διεύθυνση του listener, τις βάσεις δεδομένων που εξυπηρετούνται από τον listener, καθώς και παραμέτρους ρύθμισης.
Να ένα παράδειγμα:
# Name of listener and addresses to listen on
LISTENER =
( ADDRESS_LIST =
(ADDRESS =
(PROTOCOL=tcp)
(HOST=<INSERT HOST>)
(PORT=1521)
(COMMUNITY=UK_SUP_TCPIP)
)
(ADDRESS =
(PROTOCOL=ipc)
(KEY=700)
(COMMUNITY=UK_SUP_TCPIP)
)
)
# List of services served by this listener
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=orcl)
(ORACLE_HOME=/home/oracle/7.3.3.0.0)
)
)
# Start of configuration parameters.
TRACE_LEVEL_LISTENER=OFF
TRACE_FILE_LISTENER = "listener"
LOG_FILE_LISTENER = "listener"
CONNECT_TIMEOUT_LISTENER = 10
STOP_LISTENER = YES
DBA_GROUP = dba
sqlnet.ora
Το αρχείο sqlnet.ora
περιέχει ρυθμίσεις για έναν συγκεκριμένο κόμβο του δικτύου.
Αυτό είναι ανεξάρτητο του αριθμού των βάσεων ή του αριθμού των listeners. Το πιο σημαντικό πράγμα στο αρχείο αυτό είναι
η μεταβλητή ρυθμίσεων Dead Connection Timeout
.
Η Dead connection timeout ελέγχει κάθε εισερχόμενη διεργασία (process) προς ένα στιγμιότυπο μιας βάσης δεδομένων και βεβαιώνει πως το μέρος του πελάτη (client) ανταποκρίνεται ακόμα. Αν ο πελάτης (ανεξαρτήτως τύπου) δεν ανταποκρίνεται τότε η Oracle server shadow process σκοτώνεται (kill).
Αυτό είναι πολύ χρήσιμο Εάν έχετε πολλούς πελάτες που κάνουν πρόσβαση στη βάση δεδομένων, ειδικά σε φάση ανάπτυξης όπου αυτοί οι πελάτες είναι πιθανό να αποτυγχάνουν να βγουν ομαλά (exit cleanly) από την Β.Δ. της Oracle.
Παρακάτω είναι ένα αντίγραφο του αρχείου μου sqlnet.ora
για να χρησιμοποιήσετε:
TRACE_LEVEL_CLIENT = OFF
sqlnet.expire_time = 30 # The number of seconds between client checks.
names.default_domain = world
name.default_zone = world
Τώρα που οι ρυθμίσεις των listeners και του SQL*Net ολοκληρώθηκαν, μπορούμε να επιχειρήσουμε να συνδεθούμε στη βάση, χρησιμοποιώντας το λογισμικό δικτύωσης. (Πριν, συνδεόμασταν με απευθείας σύνδεση στη βάση, ενώ εδώ προσομοιώνουμε μια σύνδεση από μια απομακρυσμένη μηχανή πελάτη)
Για να αρχίσουμε τον listener με τις παραπάνω ρυθμίσεις:
$ lsnrctl
LSNRCTL for SCO System V/386: Version 2.3.3.0.0 - Production on 23-FEB-98 20:38:25
Copyright (c) Oracle Corporation 1994. All rights reserved.
Welcome to LSNRCTL, type "help" for information.
LSNRCTL> start
Starting /home/oracle/7.3.3.0.0/bin/tnslsnr: please wait...
TNSLSNR for SCO System V/386: Version 2.3.3.0.0 - Production
System parameter file is /home/oracle/7.3.3.0.0/network/admin/listener.ora
Log messages written to /home/oracle/7.3.3.0.0/network/log/listener.log
Listening on: (ADDRESS=(PROTOCOL=tcp)(DEV=6)(HOST=192.168.1.1)(PORT=1521))
Listening on: (ADDRESS=(PROTOCOL=ipc)(DEV=10)(KEY=700))
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=magic.com)(PORT=1521)(COMMUNITY=UK_SUP_TCPIP))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for SCO System V/386: Version 2.3.3.0.0 - Production
Start Date 23-FEB-98 20:38:50
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security OFF
SNMP ON
Listener Parameter File /home/oracle/7.3.3.0.0/network/admin/listener.ora
Listener Log File /home/oracle/7.3.3.0.0/network/log/listener.log
Services Summary...
orcl has 1 service handler(s)
The command completed successfully
LSNRCTL> exit
Για να τερματίσουμε τους listeners:
$ lsnrctl
LSNRCTL for SCO System V/386: Version 2.3.3.0.0 - Production on 23-FEB-98 20:43:20
Copyright (c) Oracle Corporation 1994. All rights reserved.
Welcome to LSNRCTL, type "help" for information.
LSNRCTL> stop
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=magic.com)(PORT=1521)(COMMUNITY=UK_SUP_TCPIP))
The command completed successfully
LSNRCTL> exit
Αν έχετε μια στήσει ένα DNS που δεν επιστρέφει τη διεύθυνση IP για το hostname που δηλώσατε, η έναρξη και ο τερματισμός του listener μπορεί να πάρει κάποια ώρα (2-3 λεπτά. εξαρτώμενο από την τιμή μεταβλητής του χρόνου λήξης του DNS). Αν αυτό συμβαίνει, μην ανησυχείτε, έχετε υπομονή.