Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

norman_timo

Anfänger

  • »norman_timo« ist männlich
  • »norman_timo« ist der Autor dieses Themas

Beiträge: 14

Beruf: Dipl.-Ing. Informationstechnik (BA)

  • Nachricht senden

1

16.06.2008, 13:59

[gelöst] Oracle 10g XE Umgebungsvariablen

Hallo zusammen,

ich verwende eine SuSe Server Distribution um Oracle 10g XE Installation durchzuführen. Hierfür dient mir die sehr gute Anleitung:
Oracle 10g XE Installation

Dort steht auch unter Punkt 4.3, dass die Umgebungsvariablen mittels dem Bash-Script "oracle_env.sh" gesetzt werden, und man solle das über ".bash_profile " oder ".bashrc" laufen lassen.

Ich würde das nun aber gerne über "/etc/profile.local" laufen lassen, damit das systemweit bekannt wird. Mache ich hier einen Eintrag folgender Art:

". /PfadZumOracleScript/oracle_env.sh"

dann wird bei neuer Benutzeranmeldung nur angezeigt, dass er den Pfad nicht finden kann. Ich hab den Pfad 100x überprüft und auch direkt in der Shell ausgeführt, das ist korrekt.

Kann es sein, dass er beim Ausführen der "profile.local" noch keine Verzeichnisstruktur kennt? Ich weiß leider nicht genug über Linux, damit ich sagen kann woran das hängt, bitte helft mir.

Vielen Dank für alle Hilfen, schon vorab,
Norman-Timo
$> man woman
$> Segmentation fault (core dumped)

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

2

16.06.2008, 17:42

RE: Oracle 10g XE Umgebungsvariablen

wenn du eine umgebungsvariable hinzufügen willst, dann musst du in die profile die zeile
export variablenname="variablenwert"
hinzufügen. wenn der user eine shell verwendet, die die profile auswertet, dann ist die variable in der shell nach der nächsten neuanmeldung bekannt. wenn du einen suchpfad für das finden von kommandos hinzufügen willst, dann solltest du zb die umgebungsvariable PATH benutzen. diese wird ebenfalls in der profile angelegt. du kannst dort deinen pfad hinzufügen, dann klappts auch.
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

norman_timo

Anfänger

  • »norman_timo« ist männlich
  • »norman_timo« ist der Autor dieses Themas

Beiträge: 14

Beruf: Dipl.-Ing. Informationstechnik (BA)

  • Nachricht senden

3

16.06.2008, 20:23

Hallo linuxerr,

vielen Dank zunächst für die Antwort, sie führt aber leicht an meiner Fragestellung vorbei.

Oracle liefert ein fertiges Bash-Script mit, ich wollte lediglich wissen, wie ich es in der "profile.local" zur Ausführung bringen kann.

In dem Script sind zahlreiche Exports und auch eine Weiterleitung zu einem weiterführenden Script wegen der Spracheinstelunngen z.B.

Wenn ich nun einfach versuche mittels ". /PfadZumOracleScript/oracle_env.sh" das Script zur Ausführung zu bringen, meldet mir Linux direkt nach der Anmeldung, dass er die angegebene Datei bzw. Verzeichnis nicht finden kann.

Also wie bringe ich ihm bei in der "profile.local" ein Bash-Script auszuführen?

Grüße
Norman-Timo
$> man woman
$> Segmentation fault (core dumped)

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

4

16.06.2008, 20:59

Zitat

Original von norman_timo
Hallo linuxerr,

vielen Dank zunächst für die Antwort, sie führt aber leicht an meiner Fragestellung vorbei.

Oracle liefert ein fertiges Bash-Script mit, ich wollte lediglich wissen, wie ich es in der "profile.local" zur Ausführung bringen kann.

das war mir nicht klar.

ja, wenn du das script so in die profile einbaust, dann kann es nicht funktionieren.

du musst das script mit dem kompletten pfad eintragen und logischerweise includen,
also

. /kompletter_pfad_zum_script/oracle_env.sh

achte darauf, dass sich hinter dem punkt ein leerzeichen befindet, damit wird die datei includet und in der profile ausgeführt.
dann müsste es eigentlich funktionieren.
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

norman_timo

Anfänger

  • »norman_timo« ist männlich
  • »norman_timo« ist der Autor dieses Themas

Beiträge: 14

Beruf: Dipl.-Ing. Informationstechnik (BA)

  • Nachricht senden

5

16.06.2008, 21:04

Hallo linuxerr,

oh, das mit dem Leerzeichen war mir nicht klar, kann auch sein, dass ich das in der Online Doku übersehen habe?

Werde es morgen früh mal ausprobieren, und schreiben, ob es geklappt hat, bin nicht mehr an dem Oracle Server heute.

Vielen Dank für Deine Unterstützung,
Norman-Timo
$> man woman
$> Segmentation fault (core dumped)

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

6

16.06.2008, 21:35

ja, die punktnotation ist unscheinbar, aber äußerst wichtig!!!
die schreibweise
./pfadname/script
ohne leerzeichen nach dem punkt bewirkt, das das script ausgeführt wird. dieses script wird ab dem aktuellen pfad (das ist der pfad ./) im unterverzeichnis pfadname/ gesucht und in einer eigenen shell ausgeführt.
die notation
. /pfadname/script
mit leerzeichen nach dem punkt bewirkt, dass der quelltext des scriptes mit dem absoluten pfad /pfadname/script , in dem übergeordneten script eingebunden (included) und mit dessen quelltext !!! in der selben!!! shell ausgeführt wird.

achte bei scripttexten auch auf hochkommata, dort ist es ähnlich, die verschiedenen kommata " ' ´ ` haben vollkommen verschiedene bedeutungen !!!!
siehe bei bedarf in der manpage deiner shell nach quoting und prozesssubstitution.
(nur mal so als tipp)

übrigens, läuft der oracle-server auf einem commodore? =D
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »linuxerr« (16.06.2008, 21:36)


norman_timo

Anfänger

  • »norman_timo« ist männlich
  • »norman_timo« ist der Autor dieses Themas

Beiträge: 14

Beruf: Dipl.-Ing. Informationstechnik (BA)

  • Nachricht senden

7

17.06.2008, 08:58

Hallo linuxerr,

ok, ich habe das nun versucht, doch meldet er wieder, dass er die Datei oder das Verzeichnis nicht findet :?

Ich bin echt momentan am Verzweifeln, so blöd kann ich doch nicht sein.

Zitat

ohne leerzeichen nach dem punkt bewirkt, das das script ausgeführt wird

Das wär aber auch denkbar, vielleicht sogar gewünscht, funktioniert aber genauso wenig wie das "includen".

Ich habe mal ein wenig rumprobiert:
Ein Kopieren und Einfügen des Textes aus dem gewünschten Skript funktioniert leider auch nur zum Teil, denn er hat ja nochmals ein Skriptaufruf daraus, was aus den selben Problemen scheitert.

Ich werde jetzt noch ein wenig weiterprobieren:
- ein von mir geschriebenes Skript ausprobieren und in der profile.local einbinden
- mir das aktuelle Verzeichnis bei der Ausführung von profile.local ausgeben lassen
- und was mir dann noch einfällt...

Zitat

übrigens, läuft der oracle-server auf einem commodore?


Selbstverständlich! Und damit Oracle auch gescheit funktioniert (Arbeitsspeicher) habe ich in etwa 59346 Floppy Laufwerke 1541 angeschlossen, die als virtueller ausgelagerter Arbeitsspeicher dienen -> Wahnsinn, wie das performt :()

Grüße
Norman-Timo
$> man woman
$> Segmentation fault (core dumped)

norman_timo

Anfänger

  • »norman_timo« ist männlich
  • »norman_timo« ist der Autor dieses Themas

Beiträge: 14

Beruf: Dipl.-Ing. Informationstechnik (BA)

  • Nachricht senden

8

17.06.2008, 10:08

Hallo nochmal,

endlich hat es geklappt, zwar zunächst nicht so wie ich dachte, aber ich lag da einem Irrglauben auf:

Die Datei "/etc/profile.local" ist zwar für Systemweite Geschichten, die auch im Normalfall funktionieren. Allerdings ist diese Startdatei nicht dafür geeignet Skripte ausführen zu lassen (es gehen nur direkte Anweisungen).

Es gibt allerdings die Möglichkeit über "/etc/bash.bashrc.local" systemweit gültige Skripte laufen zu lassen. Wenn ich das richtig gelesen habe (irgendwo in den Tiefen bei Google), wird diese Datei auch nur einmal beim Systemstart ausgeführt und nicht jedes Mal beim Aufruf der Shell (das muss man auch erst einmal wissen).

Also so funktioniert es nun auch prima, ich danke Dir auf jeden Fall, linuxerr, denn das Leerzeichen nach dem Punkt habe ich definitiv hier gebraucht.

Grüße
Norman-Timo
$> man woman
$> Segmentation fault (core dumped)

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

9

17.06.2008, 16:05

ok :+++:
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

Thema bewerten