Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Ordner finden und eine darin enthaltene text-datei ergänzen

Mitglied: Schnitzel

Schnitzel (Level 1) - Jetzt verbinden

12.01.2006, aktualisiert 24.06.2008, 6994 Aufrufe, 4 Kommentare

Hallo zusammen,

ich habe mich nun durch mehrere Beiträge hier gearbeitet. Bis jetzt habe ich nur nichts gefunden was mir hilft, bzw. ich konnte es mir aus den ganzen "Code-Schnipseln" nichts funktionierendes zusammensetzen.

Mein Anliegen:
Es gibt bei unseren Benutzen auf C:\ in einer Oracle Verzeichnisstruktur einen bestimmten Ordner, in welchem die Datei "tnsnames.ora" (eventuell) geändert werden muß. Ebenso muß eine neue Datei in diesen Ordner neu hinzugefügt werden.

Der Pfad könnte sein:
01.
C:\oracle\ora81\network\ADMIN</font>
02.
 
03.
Wenn das immer so der Fall wäre wäre das wunderbar.
04.
Nun ist es so das manche Benutzer eine andere Oracle Version haben und sich somit der Pfad ändert.
05.
Dieser könnte dann
06.
<code>C:\oracle\ora82\network\ADMIN
lauten.

Ich muß immer in den Ordner network\ADMIN
Den finde ich mittels:
01.
dir %systemdrive%\oracle\*. /s > orpath.txt
und habe in dann in der text datei stehen.

Nun müsste die die Textdatei ausgelesen werden, der Pfad als Variable übernommen.
Der nächste Schritte wäre: Finde in %PfadVariable% die Datei "tnsnames.ora" schau in die datei ob folgender Inhalt schon vorhanden ist:

------------Inhalt der auf Existenz zu überprüfen wäre---------------
01.
##################################################################### 
02.
# MEINS                                                              
03.
##################################################################### 
04.
MEINS.world = 
05.
  (DESCRIPTION = 
06.
    (ADDRESS_LIST =	 
07.
      (ADDRESS = (PROTOCOL = TCP) 
08.
                 (HOST = HOSTNAME) 
09.
                 (PORT = 12345) 
10.
      ) 
11.
    ) 
12.
    (CONNECT_DATA = 
13.
      (Service_name = MEINS)	
14.
    ) 
15.
  )	
----------------ENDE-----------------------------------------------------

Wenn diese Info nicht drinnen steht, soll sie eingefügt werden. Dabei ist egal WO sie steht. Oben, unten, mitte.
Wenn diese Info schon vorhanden ist, lass alles wie es ist.

Zusätzlich muß noch eine Datei in den Ordner %PfadVariable% kopiert werden.

Letzendlich -> Übergib die Variable %PfadVariable% der Bat-Datei X damit der restliche Kladeradatsch ohne manuelle Eingabe läuft.

Wie kann ich das bewerkstelligen bitte? Bin für jeden Tip dankbar.

Gruß
Schnitzel

[Edit Biber ] Nach relativ zeitnaher Rückmeldung im Juni 2008 auf "Gelöst" und "Geschlossen" gesetzt.[/Edit]
Mitglied: Biber
12.01.2006 um 16:52 Uhr
Moin Schnitzel,

ist ja alles machbar.
Rückfragen:
1) Die o.a. Connect-Infos, also dieser Service "MEINS", die würde ich (an die Zukunft denken) gleich aus einem Verzeichnis holen, in dem dann die Einzel-Textdateien "Meins.ora", Meinzweites.ora", "NochEins.ora" etc. stehen.
Alle diese Ora's werden überprüft und ggf. eingefügt, heute existiert halt nur die Meins.ora.
Wäre das eine sinnvolle Strategie?

2) Musst du die SQLNet.ora oder irgendwelche Listener.Ora auch anpassen?

3) Du schreibst, wenn diese Connection nicht drin ist, dann anfügen. Okay.
Wenn sich bei dieser Connection aber der Port, der DB-Server oder andere Parameter ändern - das prüfst Du nicht über diesen Batch?

Gruß Biber
Bitte warten ..
Mitglied: Schnitzel
13.01.2006 um 17:26 Uhr
Hi Biber,

zu 1) danke für diesen Tipp, allerdings ist dies nicht nötig.
2) Nein.
3) Ich würde es über den Batch nicht prüfen lassen. Die Vorgaben die da drinnen stehen sind fest. Es wird sich Serverseitig nichts ändern.

Gruß
Schnitzel
Bitte warten ..
Mitglied: Biber
15.01.2006 um 18:28 Uhr
Moin Schnitzel,

ich habe mal einen einfachen lösungsansatz gewählt.
Voraussetzungen:
a) der TNS-Homepath wird wie-auch-immer ermittelt.
Heißt im Batch "TNSHome". Siehe Notizen.
b) die neue(n) Connections stehen in Einzeldateien mit der Endung ".ora"
Im Batch im Pfad "DefaultOraPath"
c) Diese Connection-Ora#s heißen Meins.ora, wenn die Connection "Meins" heißt,
Alfred.ora, wenn die Connection "Alfred" heißt usw.
d) Die xyz.ora's sind so formatiert, dass ZUMINDEST die Suchstrings
"Service_name" (alternativ ginge "SID" oder "CONNECT_Data") und "Meins" ("Alfred"...)
in der gleichen Zeile stehen.
Also so formatiert sind:
#---------snipp Meins.ora

  1. MEINS

MEINS.world =
(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = HOSTNAME) (PORT = 12345)))
(CONNECT_DATA = (Service_name = MEINS)))
#-------snapp Meins.ora

Unter diesen (IMHO machbaren) Voraussetzungen geht es hiermit:
01.
::-snipp AppendAnOra.bat
02.
@echo off & setlocal
03.
Set "DefaultOraPath=\\server27\oraconns"
04.
Set "TNSHome=c:\oracle\ora81\network\ADMIN"
05.
:: Ich lass mal die Ermittlung des TNSHome-Verzeichnisses weg.
06.
:: Du hast ja schon eine Methode gefunden, ich würde eher
07.
:: diesen Pfad aus der Registry lesen (HKLM\Software\Oracle\Oracle_Home]
08.
:: und die "festen" Unterpfade "network\ADMIN" dranhängen.
09.
If NOT exist %TNSHome%\TNSNames.ora (echo %TnsHome%\TNSNames.ora nicht gefunden!) && goto :eof
10.
FOR /f "delims=" %%i in ('dir /b /s %DefaultOraPath%\*.ora') do call :AppendOra %%~ni "%%i"
11.
goto :eof
12.
+++++++++++++
13.
:AppendOra 
14.
:: --gibt es Zeile mit "Service_name" UND "Meins" (oder wie der Service heißt) ?
15.
(find /i "Service_Name" %TnsHome%\TNSNames.ora|Find /i "%1">nul) && goto :eof
16.
:: wer <b>hier</b> ankommt, hat KEINEN Eintrag gefunden...
17.
echo DebugInfo Errorlevel 1!! Eintrag "%1" wird angefügt.
18.
echo.>>%TnsHome%\TNSNames.ora
19.
copy /b %TNSHome%\TNSNames.ora+%2 %TnsHome%\TNSNames.ora >nul
20.
goto :eof
21.
::-snapp AppendAnOra.bat
HTH Biber
Bitte warten ..
Mitglied: Schnitzel
24.06.2008 um 17:53 Uhr
Danke! an der Stelle. Auch wenns etwas spät kommt
Bitte warten ..
Ähnliche Inhalte
Linux

Find Ausgabe in formatierte text Datei umleiten

gelöst Frage von MadM4xLinux5 Kommentare

Nabend, lese mich gerade ein wenig im Umgang mit dem Find Befehl ein und bräucht mal Hilfe. Und zwar ...

Batch & Shell

Ergebnis in Text datei ausgeben

gelöst Frage von XcaschoXBatch & Shell2 Kommentare

Hallo, irgendwie stehe ich auf dem schlauch. Habe folgende Batch erstellt, aber der Text wier immer überschrieben. Das ergebnis ...

Debian

Rasbian Text Datei gelöscht - wiederherstellbar?

Frage von bytetixDebian1 Kommentar

HI, habe mich mit meinem Handy per OpenVPN auf eine Samba Freigabe auf meiner entfernten PI verbunden und dort ...

Batch & Shell

Text Datei bestimmte Bereiche lesen und in neue Text schreiben

gelöst Frage von Doktore1Batch & Shell3 Kommentare

Hallo @ all, bin neu hier und habe sehr wenig Erfahrung mit batch Skripten. Ich würde mich sehr freuen ...

Neue Wissensbeiträge
Erkennung und -Abwehr
OpenSSH-Backdoor Malware erkennen
Tipp von Frank vor 2 StundenErkennung und -Abwehr

Sicherheitsforscher von Eset haben 21 Malware-Familien untersucht. Die Malware soll Hintertüren via OpenSSH bereitstellen, so dass Angreifer Fernzugriff auf ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 3 TageniOS3 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor!
Tipp von Criemo vor 3 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Off Topic
Avengers 4: Endgame - Erster Trailer
Information von Frank vor 5 TagenOff Topic2 Kommentare

Ich weiß es ist Off Topic, aber ich freue mich auf diesen Film und vielleicht geht es anderen hier ...

Heiß diskutierte Inhalte
Windows Server
Einziger Domänencontroller ersetzen - Windows Server 2012R2 - Hostname
Frage von DeRo93Windows Server25 Kommentare

Guten Tag, Leider haben wir einen Domänencontroller dessen Komponentenspeicher defekt ist. Alle Maßnahmen sind da leider fehlgeschlagen. Nun wurde ...

Server-Hardware
WS 2016 Essentials Hardware
Frage von ChefknechtServer-Hardware19 Kommentare

Moin welche Hardware würdet ihr empfehlen? Dell Poweredge HP Proliant Fujitsu Ich bin total konfus was nun nötig ist, ...

Windows Server
Welche Option fürs Windows Server Installations besser
Frage von backitWindows Server18 Kommentare

Hi Zusammen, ich werde unserer AD (SBS 2011) und Exchange 2010 Servern auf neuen physikalischen Server umziehen. ich habe ...

Windows Update
Fehler bei Updates über WSUS
Frage von Hendrik2586Windows Update11 Kommentare

Guten Tag liebe Kolleginen und Kollegen, lang lang ist meine letzte Anfrage her. Hier etwas das mich nun schon ...