Avatar billede Lasse Novice
06. august 2001 - 16:52 Der er 3 kommentarer og
2 løsninger

Oracle og perl

Ja, jeg skal installere DBD::Oracle på en maskine der IKKE har oracle(den ligger på en anden server). Men det kræver installationen!!! Hvordan gøres det? Ydermere skal jeg have sat en listener op i oracle så en anden maskine kan få adgang... hvordan gøres det?

Ja, der er 50 p for det første spg, 100 for det andet. Men jeg kan ikke teste spg 2 før jeg har fået løst det 1.
Avatar billede avnes Nybegynder
08. august 2001 - 14:57 #1
DBI/DBD:
Den leter vel efter SQL*NET, så du skal installere nogle Oracle komponenter på samme maskine som din Perl modul. Det vil si at du trenger en Oracle klient som findes på database cd\'en. Software kan downloades fra http://technet.oracle.com/

Listener:
Hvis du lavet en database med Database Assistant behøver du ikke at lave step a).

a) vi $ORACLE_HOME/network/admin/listener.ora

Den ser måske sådan ud:
# LISTENER.ORA Network Configuration File: /opt/oracle/product/8.1.7/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
      )
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = myhostname)(PORT = 1521))
      )
    )
    (DESCRIPTION =
      (PROTOCOL_STACK =
        (PRESENTATION = GIOP)
        (SESSION = RAW)
      )
      (ADDRESS = (PROTOCOL = TCP)(HOST = myhostname)(PORT = 2481))
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /opt/oracle/product/8.1.7)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = V817.mydomain)
      (ORACLE_HOME = /opt/oracle/product/8.1.7)
      (SID_NAME = V817)
    )
  )

I denne filen kan du så se at den lytter på port 1521 for sql*net forbindelser.

b) Derefter skal du på din Perl maskine ha en tilsvarende tnsnames.ora fil:
V817.DK.ORACLE.COM =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = myhostname)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = V817.mydomain)
    )
  )

c) Start listneren på oracle serveren ved hjælp af:
  lsnrctl start

Andre kommandoer:
lsnrctl status
lsnrctl stop
Avatar billede avnes Nybegynder
08. august 2001 - 15:05 #2
For at forklare lidt nærmere:
SQL*NET er den software pakke alle oracle produkter bruger for at connecte til en Oracle database. SQL*NET er en del af Oracle Client Software (som findes sammen med alle Oracle produkter).

Hvis man bruger 3rd party software som skal connecte til oracle via ODBC, JDBC, DBI/DBD etc, så trenger også disse SQL*NET.
Avatar billede avnes Nybegynder
08. august 2001 - 15:07 #3
En lille fejl i min tnsnames.ora fil, her er den rigtige og mer generisk:

V817,V817.world,V817.mydomain=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = myhostname)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = V817.mydomain)
    )
  )
Avatar billede martin_sj Nybegynder
10. august 2001 - 19:59 #4
Angående installationen af DBD::Oracle er det nok det nemmeste hvis du snupper ORACLE_HOME kataloget fra din server. Der skulle være alle de client libraries du har brug for. Inden du kører en perl Makefile.PL skal du lige huske at sætte ORACLE_HOME.
Avatar billede Lasse Novice
13. december 2001 - 16:51 #5
ja, jeg har vist aldrig rigtig faaet testet det, da det lige pludselig ikke var saa vigtigt. Takker for svaret anyway.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester