Vraag & Antwoord

Programmeren

Oracle database vraagje.

5 antwoorden
  • Weet er iemand of er een makkelijke manier is om alle Oracle databases op een UNIX server te vinden? In SQL is het volgens mij niet te doen omdat elke database zijn eigen instance heeft en er niet zoal bij MS-SQLserver een master DB waar het word bijgehouden... Zelf zat ik te denken aan een UNIX scriptje dat zoekt naar Oracle bestanden (gelukkig staan ze in een standaard directory). Is er misschien een util die dat kan of een makkelijker manier? BVD.
  • Niemand een idee?
  • Is eigenlijk wel een irritant probleem, inderdaad. Bij Windows/SQL Server is het zelfs heel eenvoudig om alle servers op te vragen door middel van een betrekkelijk simpele API call. (NetServerEnum) Ik heb op [url=http://www.experts-exchange.com/Programming/Programming_Languages/Delphi/Q_20734389.html]Experts Exchange[/url] al iets vergelijkbaars gevraagd betreffende SQL Server wat wel interessant kan zijn. Ik heb daarna nog een [url=http://www.experts-exchange.com/Programming/Programming_Languages/Delphi/Q_20734570.html]tweede vraag[/url] geplaatst die meer Oracle-specifiek is, maar wel weer voor Windows systemen. De oplossing hier is vrij simpel: gewoon de tnsnames.ora op je systeem opzoeken en uitlezen. (parsen) Dan weet je meteen met welke servers je eventueel kunt verbinden. Maar helaas biedt Oracle geen methode om automatisch Oracle-databases te detecteren binnen een netwerk. Dit heeft ook een beetje met beveiliging te maken omdat als databases zo eenvoudig op te sporen zijn, deze dus ook eenvoudig aan te vallen zijn door crackers. Als de netwerk-beheerder vindt dat jij toegang mag hebben tot een Oracle database dan moet hij je dus expliciet toestemming geven. Bij SQL server is het net andersom want daar kan iedereen proberen te verbinden met de database en wordt pas tijdens het verbinden gekeken of je wel toegang hebt. Maar op zo'n moment ben je dus al half binnen.
  • Hoi Alex, Dank je voor je antwoord. Aan TNSNAMES.ora heb ik ook al zitten denken maar aangezien het over meerdere servers gaat in meerdere locaties zijn er meerdere versie van TNSnames die ook nog eens soms oude databases in zich hebben. Daarom doe ik het waarschijnlijk via de /etc/oratab per server... Daarmee moet het ook lukken. Probleem van gewiste databases blijft dan helaas wel bestaan... maar je het is beter dan niks..
  • Nog een manier gevonden: ps -ef | grep pmon Om alle draaiende instances te vinden...

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.