programmera.net -> oracledba -> normal för utskrift | info@programmera.net |
Steg4: Skapa en lyssnare
1. Skapa en lyssnare för Oracle10g
På denna sida kommer vi skapa en lyssnare. Lyssnarens uppgift är att ta emot anrop från klienter på andra maskiner.
Vi förutsätter att steg2 och steg3 har utförts framgångsrikt (som beskrivs på
Steg2: Installera mjukvaran och
Steg3: Installera databasen ).
2. Starta Net Manager
Vi startar Net Manager genom följande kommando:
Nu öppnas följande fönster:
[olle@dev1]$ su - oracle
[olle@dev1]$ netmgr
3. Öppna "local"
Du ska nu klicka på "local". Se bild:
4. Listening locations
Den första sida man ser är "Listening locations" där man ska specifiera databasens URL och port:
Kommentar:
5. General parameters
Jag väljer "General parameters" i fliken högst upp till höger. Här kan man göra allmänna inställningar:
Kommentar:
6. Logging
Om du klickar på fliken "logging & tracing" kan man se var lyssnaren loggar information om användaren:
Vi behåller defaultvärdena och låter logging vara "Enabled" och tracing vara "Disabled".
7. Authentication
Här kan man göra behörighetsinställningar. Vi använder defaultvärdena:
8. Service
Eftersom databaser (Oracle8 och framåt) registrerar sig själva hos lyssnaren lägger vi inte till något i detta fält:
9. Service Other
Vi låter även denna flik vara:
10. listener.ora
Nu ska vi kolla vad som sparades i filen $ORACLE_HOME/network/admin/listener.ora:
Inte så mycket egentligen, detta hade man kunnat skriva själv.
[olle@dev1]$ cd $ORACLE_HOME/network/admin
[olle@dev1]$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = okullberg-pc)(PORT = 1521))
)
11. Starta lyssnaren
Lyssnaren kontrolleras med ett kommando som heter "lsnrctl" (LiSteNeR ConTroL). Programmet "lsnrctl" kan användas på två sätt:
Först kontrollerar vi att lyssnaren inte kör med kommandot "services":
Ok, vi såg att lyssnaren inte var startad. För att starta lyssnaren används kommandot "start":
[olle@dev1]$ lsnrctl
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 24-JUL-2006 19:47:35
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Welcome to LSNRCTL, type "help" for information.
LSNRCTL> services
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=okullberg-pc)(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
LSNRCTL> quit
Lyssnaren startade bra. Märk att texten "The listener supports no services" betyder att lyssnaren inte har någon databas registrerad ännu, så databasen "orcl" kan inte nås via lyssnaren.
Den process som sköter själva lyssnandet heter tnslsnr. Du kan du se att processen kör med följande kommado:
[olle@dev1]$ lsnrctl start
Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=okullberg-pc)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=okullberg-pc)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date 24-JUL-2006 19:49:31
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=okullberg-pc)(PORT=1521)))
The listener supports no services
The command completed successfully
[olle@dev1]$ ps -ef|grep LIST
oracle 4078 1 0 09:53 ? 00:00:00 /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER -inherit
olle 4098 4028 0 09:59 pts/3 00:00:00 grep LIST
12. Registrera databasen som tjänst hos lyssnaren
Du kan se (om du är snabb) att lyssnaren inte har några tjänster registrerade med kommandot "services":
Men om man väntar ett tag kommer databasen att automatiskt registrera sig hos lyssnaren. Om man inte orkar vänta kan man säga åt databasen att registrera sig med följande kommando (måste köras som t.ex. SYS):
[olle@dev1]$ lsnrctl services
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=okullberg-pc)(PORT=1521)))
The listener supports no services
The command completed successfully
Nu syns databasen när man kör "services":
SQL> ALTER SYSTEM REGISTER;
System altered.
Ovan ser vi att databasen har registrerat 3 tjänster hos lyssnaren. Den tjänst som vi kommer att använda är orcl, som är själva databasen.
[olle@dev1]$ lsnrctl
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 24-JUL-2006 19:49:58
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Welcome to LSNRCTL, type "help" for information.
LSNRCTL< services
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=okullberg-pc)(PORT=1521)))
Services Summary...
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:6 refused:0 state:ready
LOCAL SERVER
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Handler(s):
"D000" established:0 refused:0 current:0 max:1022 state:ready
DISPATCHER <machine: okullberg-pc, pid: 3980>
(ADDRESS=(PROTOCOL=tcp)(HOST=okullberg-pc)(PORT=32777))
Service "orcl_XPT" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:6 refused:0 state:ready
LOCAL SERVER
The command completed successfully
13. Stoppa lyssnaren
För att stoppa lyssnaren skriver vi följande:
Nu ser vi att även bakgrundsprocessen tnslsnr är borta:
[olle@dev1]$ lsnrctl stop
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 25-JUL-2006 00:22:54
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=okullberg-pc)(PORT=1521)))
The command completed successfully
[olle@dev1]$ ps -ef|grep LIST
olle 4137 4028 0 10:04 pts/3 00:00:00 grep LIST
14. Nästa steg
Gå till:
Steg5: Skapa TNS-namn .