DaFRK - Online Brainnailing At It's Best » Serveradministration Windows http://dafrk-blog.com Servers, Foods and Other Nerd-Stuff Thu, 20 Aug 2015 08:22:46 +0000 de-DE hourly 1 http://wordpress.org/?v=4.3 Permanentes Schleifen-Videostreaming für zu Hause und im Unternehmen http://dafrk-blog.com/?p=3175 http://dafrk-blog.com/?p=3175#comments Mon, 03 Aug 2015 08:55:01 +0000 http://dafrk-blog.com/?p=3175 Permanentes Schleifen-Videostreaming für zu Hause und im Unternehmen weiterlesen →]]> In diesem Video zeige ich Ihnen, wie Sie in einer permanenten Schleife eine Reihe von Videos über das Netzwerk streamen. Nützlich kann dies auf verschiedene Art und Weise sein.

Nehmen wir zum Beispiel einmal an, Sie arbeiten desöfteren von zu Hause aus und brauchen ab und zu etwas zum Entspannen. Wenn Sie ohnehin schon einer derjenigen sind, die wie ich hin und wieder in Youtube nach Videos suchen, wo beispielsweise schöne Kamerafahrten über die Landschaft gezeigt werden, dann können Sie solche schönen Naturbilder einfach in eine permanente Schleife packen. Somit haben Sie permanent oder on-demand auf Ihrem zweiten Bildschirm schöne Naturbilder, ohne dabei immer wieder die Videos manuell suchen und aufrufen zu müssen. Es ist irgendwann sogar so einfach, dass Sie einfach nur noch ein Desktop-Icon anklicken müssen, um zu entspannen.

Ein weiteres Nutzungsszenario ist beispielsweise, wenn Sie ein Sammler von Musikvideos sind und Ihre Musik gerne mit Video genießen würden – oder beim Hören von Musik das Cover der Band betrachten möchten. Auch dies können Sie realisieren, indem sie permanente Musikvideos oder die .mp3-Dateien mit in den IDv3-Tags integrierten Coverbildern in die playlist einfügen.

Ein weiteres Szenario wäre beispielsweise, wenn Sie Ihr Haus optisch schöner gestalten wollen und dabei mehrere In-Wall-Monitore in die Wand montieren. Sie können dann über das Netzwerk auf allen Monitoren das gleiche oder auch verschiedene Videos streamen – sowohl professionelle Kamerafahrten als auch eigene Urlaubsvideos oder Ähnliches.

Wenn Sie gerne in einem Raum trainieren oder ein eigenes Fitnessstudio betreiben, wollen Sie vielleicht gerne Motivationsvideos in Schleife abspielen, beispielsweise von Frank Medrano oder anderen professionellen Athleten. Auch das können Sie so realisieren.

Und zu guter letzt können Sie in Ihrem Unternehmen in Dauerschleife Werbevideos auf einem Fernseher in Ihren Verkäufsräumen streamen.

Streaming über Dateifreigabe und Player-Streaming

die einfachste methode, um Videos auf Schleife zu streamen, ist, eine Dateifreigabe mit allen Videos zu erstellen. Ich habe Ihnen in vergangenen Blog-Posts bereits gezeigt, wie Sie NFS- oder Samba-Freigaben erstellen.

Jetzt starten Sie einen streamingfähigen Mediaplayer, etwa den VLC Media Player. Damit Sie einen player starten können, der eine grafische Oberfläche benötigt, müssen Sie vorher eine grafische Verwaltungsmöglichkeit einrichten. Im VLC erreichen Sie die Streamingfunktion über File / Stream. Im Reiter File gehen Sie auf die Schaltfläche Add und wählen dort Ordner oder mehrere einzelne Dateien, die Sie nacheinander streamen wollen.

Nun kommt das Fenster Stream Output hoch. Zunächst werden nur die Quellmedien noch einmal aufgelistet, die gestreamt werden sollen. Klicken sie auf Next. im Fenster Destination Setup wählen sie nun ein Ziel für das Streaming. Wenn Sie hier HTTP wählen, können sich die Zielsysteme ganz einfach auf den Stream verbinden. Wählen Sie UDP, ist es möglich, nur an ganz bestimmte IP-Adressbereiche zu streamen, was vielleicht hilfreich ist, wenn Sie innerhalb eines Firmennetzwerkes streamen wollen.

Klicken sie auf die Schaltfläche Add. Wenn Sie die Kontrollbox Display locally aktivieren, wird der Stream auch auf dem Rechner des VLC Players angezeigt. In der Regel macht es keinen Sinn, den Stream auf dem Rechner anzeigen zu lassen, von welchem aus Sie den Content streamen. Ansonsten hätten Sie ja schließlich einfach nur die Dateien lokal öffnen können – ohne Streaming.

Die Transcoding-Option ist sinnvoll, wenn Sie die Videos in einer geringeren Qualität streamen können, als Sie defakto im Rohmaterial vorliegen. Dann können Sie Netzwerkbandbreite sparen, wenn Sie die Qualität Ihrer Videos herunterschrauben. Klicken Sie Next und im darauffolgenden Fenster auf Stream.

Verbinden auf Client-Seite

Auf den Zielsystemen müssen Sie sich jetzt noch auf den Stream verbinden. Dazu können Sie wieder den VLC MEdia player verwenden. Dazu gehen Sie über File / Open Network Stream…

Wenn Sie auf dem Streaming-Server als Output–Variante HTTP gewählt haben, können sie sich über http://<IP-Adresse Zielsystem>:8080 verbinden. Wenn Sie im STreaming-Server einen Custom Path angegeben haben, müssen Sie diesen angeben im Format http://<IP Adresse Zielsystem>/<custom path>:8080.

Nun sollte sich der Stream öffnen. Wenn Sie Interesse daran haben, den Stream über Ihr Smartphone oder über eine Website zu steuern, sollten Sie sich das VLC Web Interface ansehen.

Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!

]]>
http://dafrk-blog.com/?feed=rss2&p=3175 0
IT-Automatisierung: Registry-Einträge und Gruppenrichtlinien über Kommandozeile setzen. http://dafrk-blog.com/?p=3162 http://dafrk-blog.com/?p=3162#comments Fri, 31 Jul 2015 09:18:29 +0000 http://dafrk-blog.com/?p=3162 IT-Automatisierung: Registry-Einträge und Gruppenrichtlinien über Kommandozeile setzen. weiterlesen →]]> In diesem Beitrag beschäftigen wir uns damit, Gruppenrichtlinien und Registry-Werte automatisiert über die Kommandozeile zu setzen.

Das Setzen von Registry-Einträgen über die Kommandozeile ist kein Hexenwerk mehr und mittlerweile das Täglich-Brot-Geschäfts eines jeden Windows-AD-Administrators geworden. Die einfachste Variante ist die, den entsprechenden Registry-Eintrag in eine .reg-Datei abzulegen. Wenn Sie ein Referenzsystem haben, auf welchem der Registry-Schlüssel bereits mit dem gewünschten Wert belegt ist, können Sie ihn einfach aus dem Registry-Editor als .reg-Datei exportieren.

Sie importieren die .reg-Datei im Anschluss über die Kommandozeile mit

reg import <Dateiname>.reg

Wenn Sie sich eine solche .reg-Datei einmal sehen, kriegen sie auch sehr schnell raus, wie Sie .reg-Dateien von Grund auf neu erstellen, ohne einen Referenzschlüssel exportieren zu können.

Sie können jedoch auch gezielt schlüssel per Kommandozeile setzen über

reg add <Pfad zum Schlüssel> /v <schlüsselname> /t <Wertart> /d "<Wert>"

Als WerteArt können Sie einen der folgenden Parameter angeben

  • REG_DWORD (32-Bit-DWORD)
  • REG_BINARY (Binärwert)
  • REG_SZ (Zeichenfolge)
  • REG_QWORD (64-Bit-QWORD)
  • REG_MULTI_SZ (mehrteilige Zeichenfolge)
  • REG_EXPAND_SZ (ertwieterbare Zeichenfolge)

Wenn Sei versuchen, auf diese Art und Weise Registry-werte zu ändern, die sich im Zweig HKEY_CURRENT_USER befinden, werden Sie feststellen, dass das nicht so ohne Weiteres geht. Der User muss abgemeldet sein, damit Registry-Werte für seinen User-Account, die in der Datei NTUSER.DAT gespeichert werden, geändert werden können. mit einem kleinen Trick ermöglichen Sie jedoch die Änderungen.

rundll32.exe user32.dll,UpdatePerUserSystemParameters ,1 ,True

Sie können auch über die Kommandozeile den derzeitigen Wert eines Registry-Schlüssels abfragen über

reg query <Pfad zum Schlüssel> /v <Schlüsselname>

#Beispiel

reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Start Menu"

Eine Besonderheit gibt es wenn Sie Registry-Schlsüsel setzen wollen, die mit einem Backslash oder mit einem Anführungszeicehn oben („) enden. Diese müssen Sie mit einem vorangehgenden Backslash escapen und den apramter /f mit anfügen.

reg add "<Pfad" /f /v "Schlüsselname" /t <Art> /d "<Wert mit Backslash>"

Mit Hifle von Registry-Schlüsseln ist es übrigens möglich, mit sehr einfachen Mitteln bei jeder Erstanmeldung nach erzeugen eines neuen Benuzterkontos ein Skript auszuführen. Dafür müssen wir das Default User profil laden und dann einen registry hinzufügen, bei welchem der Pfad zum Skript hinterlegt wird.

reg load "HKU\ZZZ "C:\users\default\NTUSER.DAT"

reg add "HKU\ZZZ\SOFTWARe\Microsoft\Windows\CurrenTversion\RunOnce /v newUserProfile /t REG_EXPAND_SZ /d "D:\setup.cmd" /f

reg unload HKU\ZZZ

Damit ist es beispielsweise möglich, jedesmal, wenn ein neuer Active Directory User sich zum ersten mal anmeldet, eine Standardumgebung für diesen User einzurichten.

Gruppenrichtlinien

Viele Administratoren, die neu auf dem Gebiet sind, zaubern auf übelste Art und Weise mit grafischen GUI-Skriptsprachen wie AutoIt oder EasyHotKey rum, um die Mausklicks zu simulieren, die im Gruppenrichtlinieneditor notwendig sind, um bestimmte Richtlinien für Windows-Benutzer zu setzen.

In einer Active-Directory-Umgebung haben Sie es natürlich einfach, da Sie eine Vielzahl von Gruppenrichtlinien setzen können, indem Sie für eine bestimmte Organisationseinheit (OU) die Gruppenrichtlinien im Vornherein editieren und die entsprechenden User dann nur noch hinzufügen.

In einer Peer-2-Peer-Netzwerkumgebung, beispielsweise zu Hause oder in einem Kleinunternehmen, wollen Sie vielleicht auch Gruppenrichtlinien setzen. Auch das geht ziemlich einfach, sobald Sie sich vergegenwärtigt haben, dass die meisten Gruppenrichtlinien nichts anderes sind als Registry-Einträge, die gesetzt werden.

Mit dem Tool Proc Mon aus den SysInternals Utilities können Sie dann die Registry-Einträge tracken, die beim Setzen einer Gruppenrichtlinie geändert werden. Starten Sie dazu ProcMon und geben sie im Startfenster ein

Process name is mmc.exe then Include und klicken auf die schaltfläche Add.

Und danach brauchen wir noch

Operation is RegSetValue then Include und klicken wieder auf Add.

Klicken sie jetzt auf die Schaltfläche OK. Wechseln Sie nun zu Gruppenrichtlinieneditor und setzen die einstellungen, die Sie später über die Kommandozeile ändern wollen. Bevor sie die letztendlichen Einstellungen setzen, gehen Sie im Process Monitor noch auf Edit  / clear display, um alle bisher getätigten Logeinträge zu löschen. Ändern Sie jetzt die Gruppenrichtlinieneinstellung im Gruppenrichtlinieneditor und wechseln anschließend wieder in das ProcMon-Fenster. Rechtsklicken Sie auf den hinzugekommenen eintrag und wählen Sie Jump To…. Sie werdne autoamtisch im Registrierungseditor zum betroffenen Schlüssel weitergeleitet. Diesen könnten Sie nun wie weiter oben bereits beschrieben exportieren und dann als .reg-datei über die kommandozeile importieren.

 

Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!

]]>
http://dafrk-blog.com/?feed=rss2&p=3162 0
Verstecke Active Directory Objektattribute editieren mit ADSI Edit und Ldp http://dafrk-blog.com/?p=3149 http://dafrk-blog.com/?p=3149#comments Tue, 28 Jul 2015 13:33:40 +0000 http://dafrk-blog.com/?p=3149 Verstecke Active Directory Objektattribute editieren mit ADSI Edit und Ldp weiterlesen →]]> ADSIEdit

Das grafische MMC-Snap-In ADSI Edit ist ein LDAP-Objekteditor der es ermöglicht, AD-Objektattribute zu verändern, die von den gewöhnlichen Active Directory Snap-Ins zur Verwaltung von Benutzer- und Cmoputerkonten nicht angezeigt werden.

Bei einigen Windows Server-Betriebssystemen kann ADSIEdit direkt eingebunden werden. Dazu müssen Sie zunächst die adsiedit.dll registrieren.

regsvr32 adsiedit.dll

und dann einfach über Start / Ausführen / adsiedit.msc aufrufen. Wenn dies für Sie nicht funktionieren, müssen Sie erst die Server Support Tools installieren. Diese können Sie sich entweder über das Microsoft Download Center herunterladen oder von der produkt-CD installieren.

Damit das MMC funktioniert, muss der User, der das MMC einbindet, die Rechte zum Anzeigen des Active Directory Forsts haben. Anderenfalls bekommen Sei die Meldung The specified domain does not exist. Über den Menüpunkt Actions / Connect To können Sie sich auf einen der folgenden Container verbinden.

2015-07-28_15h30_50

Wenn Sie sich beispielsweise auf den Container CN=Users der Domain contoso.com verbinde wollen, geben Sie ein

cn=users,dc=contoso,dc=com

Weitere Informationen zum Tool finden Sie im Microsoft Technet-Artikel.

Ldp

Eine alternative zu ADSI Edit ist der LDAP Editro Ldp. Auch diesese Tool wird mit den Windows Server 2003 Support Tools installiert. Ldp ist kein MMC-Snap-In, sondern eine ausführbare .exe-datei, die sich dann mit einer grafischen Oberfläche präsentiert und dabei einen ähnlichen Funktionsumfang bietet wie ADSIEdit. Mehr dazu finden Sie im Microsoft Technet Artikel.

Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!

]]>
http://dafrk-blog.com/?feed=rss2&p=3149 0
Windows Active Directory: alle SPNs auflisten lassen http://dafrk-blog.com/?p=3146 http://dafrk-blog.com/?p=3146#comments Tue, 28 Jul 2015 13:16:30 +0000 http://dafrk-blog.com/?p=3146 Windows Active Directory: alle SPNs auflisten lassen weiterlesen →]]> Wenn Sie ein Microsoft Active Directory Administrator sind, sind Sie eventuell daran interessiert, alle Service Principal Names in Ihrem Active Directory Forest auflisten zu lassen, um Probleme in der Kerberos-Authentifizierung zu analysieren.

Ich persönlich bin aufgrund von Single Sign On-Problemen auf einem SAP-System unter Windows Server 2008 auf diese Problematik gestoßen und  habe hierzu im Microsoft Technet ein nettes Powershell-Skript von Peter Geelen gefunden, welches ich hiermit teilen möchte.

#Set Search

 cls

 $search = New-Object  DirectoryServices.DirectorySearcher([ADSI]“”)

 $search.filter = “(servicePrincipalName=*)”

 $results = $search.Findall()



#list results

 foreach($result in $results)

 {

        $userEntry  = $result.GetDirectoryEntry()

        Write-host "Object Name = " $userEntry.name -backgroundcolor "yellow" -foregroundcolor "black"

        Write-host "DN      =      "  $userEntry.distinguishedName

        Write-host "Object Cat. = "  $userEntry.objectCategory

        Write-host "servicePrincipalNames"

        $i=1

        foreach($SPN in $userEntry.servicePrincipalName)

        {

            Write-host  "SPN(" $i ")   =      " $SPN       $i+=1

        }

        Write-host ""

}
Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!

]]>
http://dafrk-blog.com/?feed=rss2&p=3146 0
Ein Mercurial Repository einrichten. http://dafrk-blog.com/?p=3130 http://dafrk-blog.com/?p=3130#comments Fri, 24 Jul 2015 19:05:20 +0000 http://dafrk-blog.com/?p=3130 Ein Mercurial Repository einrichten. weiterlesen →]]> Mercurial ist nun das dritte Versionskontrollsystem, welches ich auf diesem Blog behandle. In der Vergangenheit habe ich euch gezeigt, wie ihr ein Subversion- oder Git-Repository auf einem Linux-Server einrichtet und jeweils entweder von einem Linux- oder von einem Windows-Client aus auf dieses Repository zugreift. Auch für Mercurial werden dies nun so handhaben.

Als erstes installieren wir die benötigten Binaries

apt-get install mercurial meld

Nach der installation können Sie mercurial konfigurieren über die Konfigurationsdatie unter /etc/mercurial/hgrc. das sind die systemweiten Konfigurationsoptionen. userspezifische Einstelungen werdne unter ~/.hgrc gespeichert.

Sie sollten für jeden User, der an dem Repository mitarbeitet, auf dem Serve rienen User erstellen, der sein eigenes Home-Verzeichnis (~) bekommt. Der User bearbeitet dann seine jeweilige ~/.hgrc und konfiguriert diese etwa so

# Mercurial configuration file

# See hgrc(5) for more information



# User Interface settings

[ui]

username= <Vorname Nachname> <<[email protected]>> (einmal spitze klammer lassen)

editor=<editor wie beispielsweise nano oder vi>

merge=meld



# Enabled extensions

[extensions]

hgext.gpg=

hgext.convert=



# GPG extension settings

[gpg]

key=<your private gpg key>

In die Datei ~/.hgrc sollte etwas rein wie.

Jetzt erstellen wir auf dem Server ein neues Mercurial Projekt im Ordner /source/projekt

mkdir -p /source/projekt

cd /source/projekt

hg init

Wenn sich in diesem ordner bereits Dateien befinden, werden diese sofort zum REpository hinzugefügt. Wenn bestimmte Dateien ignoriert werden sollen, könnt ihr zuvor ein Pattern-File namens .hgignore schreiben, welche alle Dateien ignroeirt, die einem bestimmten Muster entsprechen. Hier ein Beispiel für eine solche Musterdatei

syntax: glob

*.orig

*.rej

*~

*.o

tests/*.err



syntax: regexp

.*\#.*\#$

Der Befehl

hg status

zeigt euch dabei alle nicht-ignorierten Dateien an.

Wenn ihr dann irgendwann einmal Manuell alle Dateien in diesem Ordner einfügen wollt, könnt ihr das folgendermaßen machen

hg add

hg commit

hg parents

Dieses Repository  könnt ihr jetzt auf einem x-beliebigen Linux-Rechner in ein Arbeitsverzeichnis auschecken. Dazu müsst ihr natürlich erst Public Key Authentication für den Linux-Cleint konfiguriert haben. Das hießt der User, als den ihr euch von eurem Linux-Client über SSH aus auf dem entfernten REpository-Server einloggen wollt, muss sich mit eurem Key anmelden können. Ist dies passiert, müsst ihr euch zuvor einmal ganz normal per SSH beim Repository-Server anmelden, damit euer SSH-Client den Repository-Server als known Host einträgt.

Auf dem Rechner, von dem aus ihr euch auf den Repository-Server anmledne wollt, müsst ihr die Datei ~/.ssh/config erstellen bzw. bearbeiten und dort folgende Konfiguration tätigen

Host <hostname des repositorys>

HostName <FQDN repository-server>

Port <SSH-Port repository Server>

User <User als den ihr euch anmelden wollt>

Der Befehl

hg clone ssh://user@<FQDN>:<Port>//pfad/zum/repository

holt die neuste Version des Repositores ab. Der befehl

hg pull

würde dann die Änderungen anderer Benutzer, die ggf. ebenfalls changes gemacht haben, zusätzlich baholen. Die eigenen Ädnerungen kann man dann mit den Änderungen der anderen User zusammenführen über

hg merge

Wenn die Änderungen zusammengeführt wurden, kann man die aktuelle, zusammengefüphrte Version des Repositories wieder hochladen mit

hg commit

Bleibt noch die Frage zu klären, wie ihr das Repository von einem Windows-Rechner aus abholt. Auch hier gehen wir davon aus, dass ihr Public Key authenticaiton für den Windows-Client aktiviert habt und euren privaten Schlüssel auf dem Windows-Rechner über pageant.exe geladen habt, wie es im verlinkten Blog-post beschrieben wird. Ihr vebrindet euch als erstes ganz normal einmal mittels putty auf den Server auf dem das Repository ist, damit putty den Host als bekannt einträgt. Als Nächstes müsst ihr euch TortoiseHg runterladen und installieren. Dann müsst ihr im Ordner %USERPROFILE%\Mercurial.ini (falls nicht vorhanden, anlegen) folgendes Eintragen.

ssh="C:\pfda\zur\plink.exe"

Jetzt erstellt ihr einen Windows-Ordner eurer Wahl, in welchen ihr die aktuelel Verison des Repositories auschecken wollt, beispielswiese C:\Source. Ölffne den Ordner, rechtsklickt in das leere Explorer-Fenster des Ordners und wählt TortoiseHg / Clone…

Im neuen Fenmster gebt ihr als Quelle folgendes ein:

ssh://<username>@<FQDN>:<Port>//<Pfad/zum/Repository>

Beachtet, dass ich hier fett hinter der Angabe des Ports zwei Schrägstriche gemacht habe. Wenn ihr nur einen einzigen Schrägstrich macht, dann sucht euer Mercurial vom Home-Verzeichnis des nutzers aus nach dem Repository. Würde ich also eingeben ssh://[email protected]:27001/source/test, würde Mercurial im Verzeichnis /home/dafrk/source/test nach dem Mercurial-Repository suchen, wo man es natürlich nicht finden wird.

 

 

Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!

]]>
http://dafrk-blog.com/?feed=rss2&p=3130 0
Oracle DBMS: User und Database Security http://dafrk-blog.com/?p=2826 http://dafrk-blog.com/?p=2826#comments Tue, 07 Jul 2015 08:59:44 +0000 http://dafrk-blog.com/?p=2826 Oracle DBMS: User und Database Security weiterlesen →]]> Authentication

Die häufigste Art, sich auf einem Oracle-System zu authentifizieren, ist die sogenannte local authentication. Hierbei werden die Zugangsdaten der Oracle DBMS-User im Oracle Data Dictionary gespeichert, also beispielsweise Passwörter, biometrische Daten o. Ä.

In größeren Unternehmen ist es jedoch gängig, sich an der Oracle datnebank über LDAP anzumelden. Hierbei können sich Benutzer über ihre Microsoft Active Directory- oder OpenLDAP-Accounts anmelden und dann über verschiedene Privilegien, die wir weiter unten kennenlernen werden, die Identität von Administratorkonten wie SYS annehmen.

Ein Datenbankparameter, den Sie wahrscheinlich niemals in Ihrer gesamten Oracle-Karriere aktivieren wollen, ist der Parameter REMOTE_OS_AUTHENT und OS_AUTHENT_PREFIX.

Die Passwörter einiger Nutzer sollten Sie sofort nach der Oracle-Installation ändern

  • SYSTEM (Intialpasswort MANAGER) und SYS (Initialpasswort CHANGE_ON_INSTALL).
  • Benutzer DBSANMP dient zur Überwachugn der Isntanz über das SNMP. Falls Sie kein SNMP einsetzen, können Sie den nutzer auch einfach sperren (siehe weiter unten)
  • Benutzer scott. Ein übungsuser, der zugriff auf eine Übungsdatenbank hat. In dieser übungsdatenbank könnten Angreifer beispielsweise Schrottdateien einfügen und somit den Speicherplatz vollschreiben. Scott ist bei neueren Oracle.Versionen jedoch standardmäßig gesperrt.

Benutzerverwaltung

Benutzer sperren

Benutzer können sie folgendermaßen sperren.

alter user <username> account lock

 

Privilegien

Bei Priviligen unterscheidet man zwischen

  • Systemprivilegien. Sien enthalten REchte auf alle bojetke eines bestimmten Typs udn generelle Rechte im System wie etwa Verbinden und Anmelden
  • objektprivilegien enthalten REchte auf bestimmte Objekte

Privilegien eignen sich zur Vergabe an einen konkreten, bestimmten User. in der Praxis jedoch vergibt amnd ie selben privilegien häufig an mehrere Nutzer, weshalb in der Praxis später Rolleng ebaut werden, die den jeweiligen nutzern dann einfach zugewiesen werden.

Einer der drei großen Pfeiler der IT-Security ist das Accounting. Es bedeutet, dass jederzeit nachvollziehbar sein muss, welche Person welche administrativen Tätigkeiten auf dem System ausgeführt hat.

dies können Sie aber nicht gewährleisten, wenn die Administration von SAP-Systemen mt den standardmäßig erstellten Administrationsusern arbeiten.

  • SYS – SYS ist sozusagen der Superuser, das Administratorkonto des Oracle DBMS. SYS ist dabei nicht nur der Superuser mit Administratorrechten, sondern auch der Besitzer des SYSTEM-TAblespace und anderer systemrelevanter Tablespaces, Tabellen und Views wie etwa dem Data Dictionary. Dadurch kann dieser User auch Änderungen am System selbst vornehmen.
  • SYSTEM – ein etwas weniger machtvoller Account. Der User System besitzt nicht wichtige Objekte wie das Data Dictionary und kann beispieslweise kein backup udn recovery oder datenbankupgrade durchführen.
  • SYSMAN

Für bestimmte Tätigkeiten brauchen Sei die Rechte des SYS Nutzers, weil Sie beispeislweise Datenbankparameter abändern müssen. Diese Rechte hat eben nur der SYS Nutzer, da nur der SYS-Nutzer Egientümer des SYSTEM-Tablespaces ist und daher nur dieser Nutzer die Datenbankparameter abändern kann. Wenn Sie sich jedoch direkt als SYS-Nutzer an der Datenbank anmelden, haben Sie wiederum das problem, dass Sie nicht nachvollziehen können, welche Person mit dem SYS-Nutzer gearbeitet und daher die Änderungen vollzogen hat.

Um dieses Problem zu adressieren, gibt es das sysdba-Privileg. Sie können in einer Oracle-Instanz Single Sign on einrichten, so dass sich beispielsweise Windows Nutzer über Active Directory oder Linux Nutzer über LDAP an der Oracle Instanz anmelden können. Wenn Sie diesen nutzern oracle-intern die Rolle SYSDBA geben, dann ist es möglich, dass sich diese Nutzer anmelden und danach ein Kommando ausführen, welches dazu führt, dass Sie zum Nutzer SYS werden. Das kommando wird in den Logs der Oracle-Instanz aufgezeichnet udn somit kann im Nachhinein nachvollzogen werden, wer sich wann als User SYS angemeldet hat.

Als erstes müssen Sie einen neuen User erstellen

create user <name> identified by <passwort>

Eventuell wollt ihr für bestimmte Tablespaces eine quota erstellen, so dass der user einen tablespace beispielsweis enicht voll schreiben kann

SQL>CREATE USER <name> profile "defaulT" identified by "<passwort>" default tablespace "users" temporary tablespace "TEMP" quota 100 M on "users" account unlock

SQL>grant "connect" to "<username>"

Eine wichtige sicherheitseinstellung ist, dass der Stndardtablespace, auf den sich User einloggen, NICHT der SYSTEM-Tablespace ist.

Zu diesem User können wir außerdem ein Profil erstellen, welches bestimmte Beschränkungen setzt, beispielsweise wie viel CPU-Power pro SEssion der User bekommt, wann sein Passwort ausläuft, wie komplex sein Passwort sein muss und wei oft ein falsches Passwort eingegbeen werden kann, bevor der Account gesperrt wird.

CREATE PROFILE "<Profilname>" LIMIT CPU_PER_SESSION DEFAULT CPU_PER_CALL DEFUALT CONNECT_TIME DEFAULT IDLE_TIME DEFAULT SESSIONS_PER_USER 1 LOGICAL_READS_PER_SESSION DEFAULT LOGICAL_READS_PER_CALL DEFAULT PRIVATE_SGA DEFAULT GOMPOSITE LIMIT DEFUALT PASSWORD_LIFE_TIME 30 PASSWORD_GRACE_TIME 30 PASSWORD_REUSE_MAX UNLIMITED PASSWORD_REUSE_TIME DEFAULT PASSWORD_LOCK_TIME UNLIMITED FAILED_LOGIN_ATTEMPTS 6 PASSWORD_VERIFY_FUNCTION DEFAULT

Dieses Priofil könnenw ri jetzt dem frisch erstellten User zuweisen.

ALTER USER "<username>" PROFILE "<profilname>"

initial könnt ihr auch jedem neuen User bereits beim erstellen ein Profil zuweisen

CREATE USER "<username>" PROFILE "<profilname>" IDENTIFIED BY "<passwort>" PASSWORD EXPIRE ACCOUNT UNLOCK GRANT "<privileg>" TO "<username>"

Wenn ihr eine Passwort-Komplexität erzwingen wollt, müsst ihr ein extra skript namens utlpwdmg.sql ausführen. Es befindet sich unter ORACLE_HOME\RDBMS\ADMIN\. Führt das Skript aus und von nun an funktioniert eine erzwungene password_complexity.

Nun stellt sich noch die Frage, welche privilegien doer rollen der Useraccount bekommen soll. Es gibt zwei spezielle Privieligen

  • SYSDBA. Nach seinem Login führt der user das kommando aus, um zum user SYS zu werden und dann auf der Datenbank alles zu tun,a lso Parameter ändern, updaten, backup und Recovery, Oracle isntanz starten und stoppen, Zugriff zu ALLEN Daten. Es wird geloggt, welcher User sich wann über seinen Useraccount zum user SYS gemacht hat, was den Anforderungen der IT-Security-Grundsäule Accounting gerecht wird.
  • SYSOPER. Nach seinem Login führt der user das Kommando aus, um zum User PUBLIC zu werden. Der user kann nur backupen, Oracle-Isntanz starten udn stoppen. Der User kann nicht updaten und hat keinen Zugriff auf Daten. Es wird geloggt, welcher User sich wann über seinen Useraccount zum user PUBLIC gemacht hat, was den Anforderungen der IT-Security-Grundsäule Accounting gerecht wird.

Wenn wir jetzt beispielsweise wollen, dass unser user das Privileg SYSDBA bekommt, geht das über

grant SYSDBA to "<username>";

Statt solcher „Userwechsel“-Privilegien können Sie auch SQL-Privilegien an einen User vergeben.

grant select on <objekt> to <username>;

grant create table on <objekt< to <username>;

Sie werden jedoch sehr schenll merken, dass das äußerst mühsam ist. Stattdessen sollten Sei solche Privilegien über Rollen regeln, die Sie dann dem einzelnen User zuweisen.

Es ist jedoch sehr schmerzhaft, Rollen über SQL zu erstellen. DAs sollten Sie wirklich über den Oralce Enterprise Manager machen, da Sie dann nicht sämtliche Privilegien auswendig wissenj müssen, die Sie eventuell in die Rolle packen wollen.

Hier für interessierte jedoch trotzdem der Weg zum Bau einer rolle über SQL

create role <rollenname>

Nun, da Sie die Rolle definiert haben, müssen Sei noch festlegen, welche Rechte in dieser rolle enthalten sein sollen. DAs geschieht etwa in folgendem Format, wenn sie festlegen wollen, welche Spalten eienr Tabelle die Rolle abfragen können soll:

grant select (<spalte1>, <spalte2>, <spalte3>) on <tabellennname> to <rollenname>

nachdem Sie die Berechtigungen für diese Rolle definiert haben, weisen Sie die Rolle noch verschiedenen Nutzern zu

grant <rollenname> to <username1>

grant <rollenname> to <username2>

Sioe können eine Rolle jedoch auch in eine andere Rolle verschachteln, so dass die eine Rolle in der anderen Rolle enthalten ist.

grant <rollenname1> to <rollenname2>

grant <rollenname2> to <username>

Sie könenn eien Rolle natürlich auch wieder von einem user entfernen

revoke <rollenname> from <username>

Wichtige privilegien sind beispielsweise

  • create session. Das Recht, sich an de rdatenbank anzumelden
  • create any table. Das recht, eine Tabelle anzulegen
  • drop any table … with admin option. Recht, tabellen oder Datensätze zu löschen und das Recht weiterzugeben
  • update (<spaltenname>) on <tabellenname>. Das Recht, die Werte von <spaltenname> in Datensäzen der Tabelle <tabellenname> zu ändern.

Oracle liefert bereits einige vordefinierte Rollen mit

  • CONNECT. Enthält das Recht, sich am System anzumelden
  • RESOOURCe. Enthlt REchte zum Anlegen von objekten und wird im Enterprise Manager genauer aufgeschlsüselt
  • DBA. ist das Recht, adminsitrativen Zugriff auf Datenbankobjekte auszuüben.

die Rollen des angemeldetne Benutzers können Sie sich folgendermaßen anzeigen lassen

select username, granted_role, admin_option from user_role_privs;

und die Default_Rollen folgendermaßen

select granted_role from user_role_privs where default_role= 'YES';

die aktiven Rollen füpr die aktuelle Sessions des Nutzers erhalten sie über

select * form session_roles;

Objektprivilegien des Nzutzers bekommen Sie über

select table_name, privilege, grantable from user_tab_privs

Jetzt noch ein kleiner Sonderfall. Nehmen wir einmal an, sie müssen an der Oracle-Instanz eine Wartung vornehmen, die es erfordert, dass die datenbank selbst nicht gemountet wird. Man würde die Instanz also im nomount-state starten lassen. Da das Passwrot für ihren User aber in der Datenbank gespeichert wird, können Sie in diesem Nomount-Stae standardmäßig nicht mit ihrem user an der Oracle-Instanz arbeiten, da Sie sich ohne gemountete Datenbank nicht anmelden können. Die Lösung kommt mit einem sogenannten Pw-File. Diese Datei speichert das Passwort in einer gehashten Binärdatei, das Passwort ist also nicht im Klartext lesbar. Das File befindet isch stnadardmäßig unter %ORACLE_HOME%\database oder %ORACLE_HOME%\dbs und heißt PWD<SID>.ora. Damit diese Atuhentifzierung funktioniert, muss der Parameter REMOTE_LOGIN_PASSWORDFILE gesetzt sein. Zur Erstellung der apsswortdatei wird dann das Tool ORAPWD genutzt. Der Oracle Database Configuration Assistnat führt das ORAPWD-Tool autoamtisch aus, wenn über den DBCA eine Datenbank erstellt wird.

Grundsätzlich ist die Möglichkeit des Logins über ein Passwortfile jedcoh ein mögliches sicherheitsleck, da es anderen nutzern erlaubt, sich über das netzwerk mit SYSDBA- oder SYSOPER-Rechten anzumelden.

alter database default_tablespace users;

Ein Privileg, auf welches Sie besonders Acht geben müssen, sit das PUBLIC-Privileg. Das Pjublic-privileg wird automatisch jedem user zugeteilt, der das Connect-Privileg hat, sich also auf dem System anmelden kann. Es gibt einige Releases der Oralce Database, bei welcher das PUBLIC-Privileg wiederum das EXECUTE-Recht beinhaltet, also das Recht, PL/SQL-Code auszuführen.

wir können schauen, auf wie welche PL/SQL-Pakete das Public-Privileg derzeit Zugriff erteilt, über

select table_name from dba_tab_privs where grantee = 'PUBLIC' and privilege = 'EXECUTE' and table_name like 'UTL%'

Es gibt in oracle ein paaar sehr sensitive PL/SQL Pakete, auf die Sie unbedingt Acht geben sollten

  • UTL_FILE – Zugriff auf Betriebssystem und Dateisystem
  • UTL_TCP – Öffne TCP Ports
  • UTL_SMTP – E-Mail-Versand
  • UTL_HTTP: Web browsen

sie können auf solche delikaten Pakete den zugriff für das Public-privileg widerrufen, indem Sie folgende Befehle ausführen

revoke execute on utl_file from public

revoke execute on utl_tcp from public

revoke execute on utl_smtp from public

revoke execute on utl_http from public

 Auditing

Um Auditing zu aktivieren müssen wir den Datenbankaprameter AUDIT_TRAIL setzen, also das Verzeichnis, in welcehs Audit-Informationen gespecihert werden sollen. Dieser Parameter kann nur bearbeitet werden, wenn die Instanz heruntergefahren ist.

Nachdem diese raprmeater gesetzt ist, können wri festlegen, was wir auditen wollen, etwa

audit select any table by access

audit select any table by session

Der Unterschied zwiscehn den beiden Optionen by access und by session ist, dass bei der by-access-Option jeder einzelne Zugriff auf Tabellen geloggt wird

Wenn der Parameter audit_trail auf DB gestzt ist, können Sie das Audit eines Benutzeraccounts einsehen über

select sql_text, priv_used, action_name from dba_audit_trail where username='<username>'

Auch wenn der Parameter audit_trail auf DB gesetzt ist, findet ihr unter Windows im Ereignis Log Einträge über Auditing-Events in Oracle.

 

Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!

]]>
http://dafrk-blog.com/?feed=rss2&p=2826 0
Oracle DBMS – ein paar grundlegende Wartungsaufgaben http://dafrk-blog.com/?p=2808 http://dafrk-blog.com/?p=2808#comments Thu, 25 Jun 2015 13:38:42 +0000 http://dafrk-blog.com/?p=2808 Oracle DBMS – ein paar grundlegende Wartungsaufgaben weiterlesen →]]> Listener und TNSNames

Ein Listener ist ein Service, der auf einem bestimmten Socket nach eingehenden Verbindungen horcht. Wenn sie auf Ihrem Server nur eine IP-Adresse haben, haben Sie meist nur einen Listener. Wenn Sie jedoch mehrere Netzwerkkarten und somit mehrere IP-Adressen auf dem Server haben, um eine höhere Ausfallsicherheit zu gewährleisten, würden Sie für jede Adresse einen extra Listener konfigurieren.

Listener starten, stoppen und Status abfragen

lsnrctl start <listenername>

lsnrctl status <listenername>

lsnrctl stop <listenername>

konfigurieren können Sie Listener entweder über den oracle Net cofniguration Assistant oder über die Datei %ORACLE_HOME%\NETWORK\ADMIN\listener.ora

Listener Services anzegien

Wir können uns alle Services anzeigen lassen, mit denen ein Listener verbunden ist

lsnrctl services

 

Listener konfigurieren

ihr könnt den Lsitener einmal über den oracle net Manager über Oralc enet configuraiton / Local / Listeners konfigurieren.

Als allerletzten Ausweg können Sie die Datei %ORACLE_HOME%\network\admin\listener.ora mit einem Texteditor bearbeiten, um den Listener zu konfigurieren.

Hinweis: wenn Sie die Oracle-Datenbank für ein SAP-System betreiben, befindet sich die Datei listener.ora unter \\sapmnt\<SAPSID>\SYS\profile\oracle, sofern die umgebungsvariable %TNS_ADMIN% gesetzt ist. ohne getzte TNS_ADMIN befindet sich die listener.ora wieder im Standardordner.

Listener absichern

Unter Oracle 9i und älter können Sie den listener folgendermaßen mit einem Passwort belegen

lsnrctl

LSNRCTL>change_password

Old passwort: 

New password: <new password>

LSNRCTL> set password

passord: <neues Passswort>

LSNRCTL> save_config

Das passwort liegt dann in der listener.ora. mit 10g können Sie die Listener-kofngiruation über den Paramer ADMIN_RESTRICTIONS_LISTENER einstellen. Ist dieser parameter auf ein, wird geprüft, ob der benutzer Schreibrechtea uf die Datei listener.ora hat. Falls ja, erlaubt er einen Zugriff auf die Listener-Konfiguration.

tnsnames

auf Clientseite, also auf dem Rechner, von dem aus Sie auf die Oracle-Datenbank zugreifen (meistens der selbe Rechner), befindet sich eine Datei tnsnames.ora, welche die Verbindungsdatena uf Cleintseite konfiguriert, mit denen versucht wird, sich auf dei Oracle-instanz zu verbinden. Diese müssen natürlich identisch sein mit den Daten, die in der listener.ora auf serverseiitge konfiguriert worden sein, insbesondere

  • die Community
  • das Protokoll (meist TCP)
  • die System-ID der oracle-Instanz
  • und der Port (meist 1521 oder 1527)

Oracle Instanz

verbinden zu einer Instanz

Eine normale Verbindung zu einer laufenden Oracle-instanz machen Sie mit

sqlplus <username>/<passwort>@<DBSID>

Das funktioneirt antürlcih nur, wenn der roacle connection idnetifier in der datei tnsnames.ora entsprechend gesetzt wird.

Eine bessere Methode ist der sogenannte SYSDBA- oder SYSOPER-connect. Diese rerfolgt immer nur auf dem Datenbankserver selbst, also nicht auf einem fremden Host, der sich auf dei Datenbank verbnden möchte. eine Vebrindung von einem solchen fremden Host ist nur nach einer speziellen konfiguration möglihc.

hierbei authentifziert sich der Nutzer nicht büer Benutzernamen und APsswort, sondern anhand der zugehörigkeit zu einer Betriebssystemgruppe, die als Oracle-Datenbankadministratorgruppe gekennzeichent ist. Die Anemldugn erfolgt heirbei über das kommando

sqlplus / as sysdba

#bzw.

sqlplus / as sysoper

oracle prüft dann, ob der Betriebssystembenutzer zur Unix-gruppe dba bzw. zur Windows-Gruppe ORA_<DBSID>_DBA gehört bzw. ORA_<DBSID>_OPER.ist dies der fall, erhält der User ufmassende Rehcte und ist an der datnebank angemeldet.

Im Gegensatz zur Benutzername/Passwort-Anmeldugn weiter oben funktioniert diese Anmeldung auch, wenn die Oracle-Datenbank offline ist, da die Anmeldedaten somit nicht im Oracle Data Dictionary stehen. Somit kann man sich auch an einer Oracle-Instanz anmelden, die gestoppt ist, um sie beispielsweise neu durchzustarten.

als drittes Verfahren gibt es das sogenannte OPS$-Verfahren. hier muss es einen Oracle-Datenbankbenutzer namens OPS$<sid>adm geben, damit man sich als Betriebssystembenutzer <sid>adm an der Datenbank anmelden kann. Der Präfix OPS$ ist dabei nicht fix, sondern wird über die Umgebingsvariable os_authent_prefix bestimmt. Die Verbindung wird dann aufgebaut über

sqlplus /

Oralce sucht dann in der tabelle DBA_USERS nach einem OSP$-Benutzer. ist dieser vorhadnen, darf sich der Betriebssystembenutzer, der in dieses Schema passt, anmelden. Damit diese Art dder anmeldung auch von einem anderen Host funktioniert als auf dem, auf welchem die Oracle-Instanz läuft, msus die Umgebungsvairable remote_os_authent auf TRUE gesetzt sein.

die OPS$-Anmeldung funktioniert nur, wenn die Oracle-instanz online ist, da Informationen aus der Datenbank abgerufen werden müssen.

sie könenn alle OPS$-Benutzer einer Oracle-Instanz anzeigen lassen über

select USERNAME from DBA_USERS where USERNAME like 'OPS$%';

Einen OPS$-user können Sie ntsprechend so anlegen

cerate user "OPS$<OS-Username>" default tablespace <default_tablespace> temporary tablespace PSAPTEMP identified by externally;

 

welchen Status hat die datenbank?

Wenn sie nach dem Login über sqlplus die meldung bekommen

conntected to an idle instance

dann ist die Instanz gestoppt.

Wenn diese Meldung nicht kommen, läuft die Instanz. Um den Status der Datenbank abzufragen, führen Sei das SQL-Statement aus:

select status from v$instance;

Die Datenbank kann heirbei den Status nomount, mount oder open haben. Welche bedeutung der jeweilige Status hat, lernen Sie weiter unten.

Welche Version aht die datenbank?

select * from v$version;

 

instanz stoppen

Zum Stoppen einer instanz gibt es verschiedene Methoden

  • Normal. Die instanz bleibt bestehen,d bis alle bestehenden Verbindungen geschlossen sind. Sauberste, aber langsamste Methode, um eine Datenbank herunterzufahren
  • immediate. Killt alle bestehenden Verbindungen und rollt nicht durchgelaufene Transaktion einfach zurück
  • Transactional. Killt alle Verbindungen ohne lafuende Transkationen. Verbindungen mitlafuenden Transaktionen werden jedoch laufen gelassen, bis diese Transaktionen durchgelaufen sind. Erst dann wird die Instanz beendet.
  • Abort. Die dreckigste methode zum Stoppen. Kein Rollback und kein Beenden von Sessions, einfach „Strom aus“ sozusagen. Sollte wirklich die allerletzte Option sein, um die Datenbank-Instanz zu stoppen.
shutdown <Option>

#Beispiel

shutdown immediate

Alternativ können Sei die instanz unter Windows auch über die Oralce MMC stoppen, indem sie im Knoten Console Root / Oracle Managed objects / computers / <hostname>  / datbases / <Datenbankname> rechtsklicken und dort den Kontextmenüpunkt Startup/shutdown options wählen.

 

Instanz starten

Es gibt verscheidene Modi, um eien Oracle-Instanz zu starten

  • nomount. es wird nur die Instanz gestartet und der SGA-speichebreich wird zugeweisen und freigehalten.
  • mount es wird außerdem anhand des control files inklusive redo logs gemountet, aber nicht geöffnet. Das heißt die Datenbank kann beispielsweise für ein Datenbank-Recovery genutzt, aber nicht beschrieben oder gelesenw erden.
  • open. Die Datenbank wird zusätzlich geöffnet und kann produktiv genutzt werden.

Sie können eine Oracle-Datenbank entweder gleich in den einsatzbereiten Zustand bringen über

startup open

oder Schritt für Schritt, das ginge beispieslweise über

startup nomount

alter database mount;

alter database open;

Eine Weitere option ist startup force. startup force ist sozusagen ein sehr schneller, aber dreckiger neustart. startup force ist eine Kombination aus den beiden kommandos shutdown abort und startup open. Diesen Befehl soltlen Sie aber nur dann ausführen, wenn Sie sehr wenig Zeit haben.

Parameterwerte anzeigen

Wie Sie aus den theoretischen Grundlagen wissen, bedient sich eine Oracle-Instanz diverser Konfigurationsparameter, die sie entweder in der PFILE- oder in der SPFILE-Datei speichern können.

Es gibt verschiednee arten von Parametern

  • static initialization parameter. Änderungen an diesem APremater greifen nur, wenn man nach der Änderung die Oracle-instanz neu startet
  • dynamic initialization paremter. Änderungen an diesem Paramter greifen sofort, nachdem man ihn geändert hat und ie Oracle-instanz äluft
  • Basic Parameter. Diese sind die 30 wichtigsten Parameter, die jeder DBA kennen sollte
  • Advanced Parameter. sind abhängig von der Edition der Oracle Database, die installiert ist. sie sollten nur getweaked werden, wenn der oracle support oder der Support des Anwendungsssystems es empfiehlt.

Sie können scihd ie Werte von Parametern anzeigen lassen über

show parameter <parametername>;

Alternativ können Sie sich auch in den oracle enterprise Manager einloggen und dort im Menü navigieren nach Server / Database Configuration / initialzation Parameters. Dort können Sie dann in die Liste den Namen des Parameters eingeben und sich dessen Werte anzeigen lassen. In dem Bildschirm haben Sie zwei Regsiterakrten. Die Registerkarte Current zeigt Ihnen alle Parameter, die derzeit in der Arbeitsspeicherkopie des SPFILES gesetzt sind, und die Registerkarte SPFILE zeigt Ihnen die Parameter, die derzeit hart in das SPFILE auf der festplatte geschrieben sind.

Über die View V$PARAMETEr können Sie sich anzeigen lassen, welche Parameter statisch und welche dynamsich sind.

SQL>select ISSYS_MODIFIABLE, ISSSES_MODFIIABLE from V$PARAMETER where NAME='<Parametername>';
ISSYS-MODIFIABLE Erklärung
FALSE Parameter ist statisch
IMMEDIATE Parameter ist dynamisch
DEFERRED Parameter ist dynamisch, Änderung wird aber nur für neue Sessions aktiv, nciht für alte.

wenn die Spatle ISSES_MODIFIABLE auf FALSE steht, kann der Parameter nicht über eine einzelne Session gesetzt werden (siehe weiter unten).

Auch wenn Sei das SPFILE in eienm Texteditor ansehen können, sollten Sie im SPFIEL keien Änderungen vornehmen. Jede manuelle Änderung an der SPFILE-Datei führt dazu, dass diese nicht mehr gelesen werden kann.

Wenn die Paraemter desweiteren nicht über das SPFILE, sondern über das obsole PFILE im klartext gepflegt werden, können Sie das PFILE öffnen. Es nennt sich initOra<DBSID>.ora udn kann mit jedem beliebigen Texteditor geöffnet werden.

Parameter setzen

Wie Sie aus den theoretischen Grundlagen wissen, bedient sich eine Oracle-Instanz diverser Konfigurationsparameter, die sie entweder in der PFILE- oder in der SPFILE-Datei speichern können.

es gibt verschiedene Arten von Paraemtern

  • normale Parameter bestimmten Egienschaften der datenbank
  • underscore-Parameter beginnen mti einem Unterstrich. sie sind nur für notfälle gedacht und sollten nru auf explizite Anweisung von Oracle oder vom Hersteller der Anwendungssoftware gesetzt werden, die die oracle-Datenbank nutzt
  • events sind flags, die das Verhalten der Datenbank verändern oder Trace-/Debug-informationen sammeln, wenn ein bestimmtes Ereignis eintritt. Acuh sie soltlen nur bei expliziter Empfehlung gesetzt werden.

Das PFILE ist eine Textdatei und kann daher mit einem gewöhnlcihen Texteditor bearbeitet werden. Das SPFILE ist eine Binärdatei und kann nur noch mti dem SQLPlus-Kommando ALTER SYSTEM SET geändert werden. DAs ist auch gleichzeitig die zu bevorzugende Methode, da hier die Syntax der gesetzten Parameter auf Fehler überprüft wird und das SPFILE im Gegensatz zum PFILE einige angesprochene Vorteile hat.

Es gibt zwei Instanzen des SPFILES: Einaml die Version, die auf der festplatte gespeichert wird und einmal das Abbidl des SPFILES im Arbeitsspeicher. Sie können einen Parameter nur temporär setzen, dann wird dieser nur auf die Arbeitsspeicherkopie des SPFILES angewandt und verschwindet wieder, sobald die Oracle-Instanz das nächste mal neu gestartet wird. das empfiehlt sich beispielsweise zum Testen neuer Parameter. Wenn Sie einen parameter hingegen auch beim Neustart der oracle-Instanz behalten wollen, müssen Sie ihn auch auf die Festplatte schreiben.

Das temporäre Setzen im Arbeitsspeicher geht über

alter system set <parameter>=<wert> scope=mem;

Das permanente setzen geht über

alter system set <parameter>=<wert>;

#oder die beiden Befehle

alter system set <parameter>=<wert> scope=mem;

alter system set <parameter>=<wert> scope=[pfile|spfile];

Eventuell haben Sie früher nur ein PFILE über den Texteditor konfuguriert und möchten Ihre Datenbankparameter nun in das empfehlenswertere SPFILE umziehen. Das geht über folgendes Kommando

CREATE SPFILE FROM PFILE;

umgekehrt können sie natürlich auch zurückkonvertieren.

CREATE PFILE FROM SPFILE;

Sie können überprüfen, ob die oracle instanz mit dem PFILE oder SPFILE startet über

select decode(value, NULL, 'PFILE', 'SPFILE')

"Init File Type"

FROM v$parameter

where name = 'spfile'

#oder

SQL>show parameter spfile

eine Besonderheit: Parameter, die mit einem Unterstrich beginnen, setzen Sie folgendermaßen (Beispiel):

alter system set "_ktb_debug_flags"=8

sogenannte FIX-Control Parameter setzen Sie so:

alter system set "_fix_control"='<bug_number>:ON|OFF'

Einen Parameter löschen/reseten können Sie über

alter system reset <parametername>

einen APrametr nur für die aktuelle Session setzen:

alter session set <Paramter>=<Wert>

Events setzen

alter system set events '<Nummer>';

Editor definieren

Es macht sinn, einen Editor für eure SQLPlus-Statements festzulegen.

für Windows nehmt ihr beispielsweise

define_editor=notepad

#oder

define_editor=wordpad

und für Linux etwas wie beispielsweise

define_editor=vi

#oder

define_editor=vim

#oder

define_editor=nano

#oder

define_editor=sublime

#oder

define_editor=emacs

nachdem ihr diesen Befehl eignebgen habt, könnt ihr den Befehl

SQL> edit

engeben und es öffnet sich der Editor mit dem aktuellen Buffer-Inhalt. ihr könnt mit dem Editor nun euer SQL-Statement speichern und sobald ihr den Editor schließt wird das SQL-Statement aktualisiert mit dem inhalt des Editors,d as könnt ihr prüfen mit

SQL>l

Theoretisch müsstet ihr den Befehl define_editor nach ejder sqlplus-Anmeldung eingeben. Damit das jedes mal automatisch passiert, könnt ihr die Datei ORACLe_HOME\sqlplus\admin\glogin.sql bearbeiten und dort den entsprechenden Befehl eingeben.

Den inhalt des Buffers könnt ihr nun ausführen lassen über

SQL>run

#oder

SQL>/

Pagesize ändern

Wenn ihr eine Query startet, werdet ihr manchmal feststellen, dass zusammengehörige Ergebnisse meist folgendermaßén abgetrennt werden

SPALTENNAME1

----------------

Wert1

Wert2

Wert3

Wert4



SPALTENNAME1

----------------

Wert5

Wert6

Wert7

WErt8

Der Grund ist, dass Oracle die Ergebnsiausgabe in mehrere Seiten unterteilt. Oracle denkt, dass ihr nach einer bestimmten Anzahl von Zeilen wieder erneut den Spaltennamen sehen wollt, damit ihr nicht hochscrollen und nachsehen müsst, welcher Spaltenname das nochmal war. Meistens ist dies jedoch eher störend und hinderlich als nützlich. Ihr könnt das abschalten, indem ihr die Pagesize auf 0 stellt, dann kommen die Spaltennamen nur einmal. Schreibt auch dazu den Befehl

set pagesize 0

in eure glogin.sql.

Linesize ändern

Wenn ihr merkt, dass viele Abfrageergbenisse ungünstig umbrochen werden, weil SQLPlus enien automatischen zeilenumbruch einfügt, könnt ihr dies unterbinden, indem ihr die Linesize ändert

set linesize 1000

 Logdateien

Um zu sehen, ob sie derzeit vollgelaufende Redo-Logs archivieren, geben Sie ein

archive log list;

Um den Status Ihrer  logfiles einzusehen, geben Sie ein

select * from v$logfile;

select * from v$log;

 

Kontrolldateien

Kontrolldateien multiplexen

erstmal prüfen, wo die Control Files derzeit liegen

SQL>show parameter control_files;

Ihnen wir nun ausgespuckt, wo die beiden control Files gehalten werden. Eventuell werdne sie ehrausfinden, dass beide control Files auf dem selben Datenträger leigen, das wollen sie natürlich nicht.

Um die cnotrol Files nun umzusetzen, müssen Sie erst die Datenbank runterfahren.

SQL>shutdown normal

Jetzt gehen Sie zum Standort der Control Fiels, normalerwiese %ORACLE_BASE%\oradata\orcl und verschieben eines der Control Files zu einem anderen Datenträger.

Jetzt müssen Sie den Standort des zweiten Control Files umsetzen. Dazu müssen Sie de Parameter control_files im PFILE InitOra<DBSID>.ora so abändern, dass der Pafad der zweiten Datei auf den neuen Standort zeigt.

Da die Datenbank-Instanz nicht up war, mussten wir den Parameter im PFILE setzen. Wenn ihre Oracle-insatnz jedoch so konfiguriert ist, dass sie die Datenbankparameter nicht vom klartext-PFILE, sondern vom binären SPFILE liest, müssen Sei den Parameter erst noch vom PFILE in das SPFILE bekommen. Das können Sie beispeislweise machen, indem sie sich an sqlplus anmelden

$>sqlplus / as sysdba

dann das SPFILE aus dem PFILE erstellen

SQL>create spfile from pfile;

jetzt können wir die Instanz komplett neu durchstarten

SQL>startup

Datendateien der Tablespaces sowie Kontrolldateien anzeigen

Der obere zeigt alle Tablespaces und deren Data Files an, der untere die kontrolldateien

select t.name, d.name, d.bytes from v$tablespace t join v$datafile d on t.ts# = d.ts# order by t.name
select * from v$controlfile;

 Oracle Managed Files

Oracle Managed Files bedeutet, dass sich die Oracle-Instanz selbst darum kümmern, die Speicherorte und die Verwlatung der Betriebssystemdateien wie beispielsweise Datendateien, Control Files usw. zu übernehmen. Sie können jedoch weiterhin die Operationen durchführen, um diese autoamtisch gepflegten Dateien an ihre individuellen Bedürfnisse anzupassen.

Sie können prüfen, ob OMF derzeit angeschaltet ist, über

show parameter db_create

Wenn im Result keiner der Parameter mit einem Wert befüllt ist, ist OMF deaktiviert.

Anschalten über

alter system set db_create_file_dest='ORALCE_BASE\oradata\<DBSID>'

wenn Sie jetzt beispeislweise einen neuen TAbelsapce erstellen ohne einen Pfad für das Datafile anzugeben, wird unter dem oben angegeben Pfad automatisch eine neue .dbf-Datendatei erstellt.

 

Client

wenn von anderen Rechnern als dem System, auf dem die Oracle-Isntanz läuft, auf die instanz zugegriffen werden soll, muss die Oralce Client-Software heruntergeladen und installiert werden.

 Tablespaces und Datendateien

Zunächst einmal gilt es die Frage zu beantworten, warum man denn überhaupt potentiell eigene Tablespaces erstellen möchte, schließlich bringt Oracle ja bereits vordefinierte Tablespaces mit, in denen man die Daten speichern könnte. Mögliche Gründe sind etwa

  • Organisation. Wenn es mehrere Tablespaces gibt, kann es sein, dass nur einer der tablespaces ansteigt und sich bei vielen anderen die Dateninhalte nicht ndern. Das führt dazu, dass man seine Backupskripte etwa so schreiben kann, dass Tabelsapecs nur gebackupt werden, wenn sich die Datafiles geändert haben. Wenn man mehrere Tablespaces hat, muss nicht immer die gesamte Datenbank gebackupt werden, sondern nur der Tablesapce, der sich seit dem letzten Backup geändert hat. Das verringert die Zeit und die Performance, die ein Backup in Anspruch nimmt.
  • Performance. Sie können unterschiedliche Tablespaces auf unterschiedlichen Datenträgern abspeichern lassen, um die Schreib-/Lesegeschwindigkeit beider datenträger nutzen zu können.
  • sicherheit und Verwaltung. Man kann zu Tablespaces Quotas zuweisen, die bestimmte Beschränkungen zuweisen.

Beim Anlegen eines Tablespaces muss man entscheiden, ob ein temporärer oder permanenter Tablespace erstellt werden muss. temporäre Tablespaces haben eigentlich nur sinn, wenn man einen vorübergehnden arbeitsplatz braucht, auf dem man Daten zwsicehnspeichern kann.

Dann muss man noch entscheiden, ob man den Tablesapace als beschreibbar (r/w) oder als read only (r/o)  erstellen möchte. Letzteres macht beispieslweise sinn für Archivierungs-Tabelspaces.

Es gibt desweiteren verschiedene Tablespace-typen

Typ Extent-Verwaltung Inhalt Allokationsverwaltung Segmentverwaltung
1 Dictionary Permanent USER MANUAL
2 Dictionary temporär USER MANUAL
3 LMTS Pemranent SYSTEM(autoÄ) / UNIFORM MANUAL
4 LMTS pmeranent SYSTEM(auto)/UNIFORM AUTO
5 LMTS temporär UNIFORM MANUAL

Tablespace-Typ prüfen

SQL>select tablespace_name, extent_management, allocation_type, segment_space_management from dba_tablespaces;

Tablespace erstellen

CREATE SMALLFILE TABLESPACE "<tablespacename>" DATFILE '/pfad/zum/datafile.dbf' SIZE 100M

LOGGING

EXTENT MANAGEMENT LOCAL

SEGMENT SPACE MANAGEMENT AUTO

 

Tablespace offline / online nehmen

einen Tablesapce offline zu nehmen kann beispielsweise sinnvoll sein, wenn der tablesapce nur ein Archiv sein soll und nur sehr sehr selten abgefragt wird.

Einen Tablespace kann man unter anderem über den Enterprise Manager offline nehmen. Wählen Sie den betreffenden Tablesapce aus, gehen Sie auf Edit und wählen Sie bei Status den Status Offline aus und klicken auf Apply.

Tablespace Größe vergrößern

Das geht einmal über den Oracle Enterprise manager. einfach den entsprechenden Tabelspace ausählen und auf Edit gehen. Ihr könnt im darauffolgenden Fenster nun entweder ein Data File auswählen und auf Edit gehen und dort die Fil e Size hoch stellen, oder einfach ein neues Data File hinzufügen. Nach dieser Änderung dann im Enterprise Manager noch Apply drücken, um die Änderungen wirksam zu machen.

Alternativ kann man Datafiles folgendermaßen vergrößern

ALTER DATABASE DATAFILE '/pfad/zum/datafile.dbf' RESIZE <xxx>M;

Ein neues Datafile fügen Sie folgendermaßen hinzu.

ALTER TABLESPACE "<tablespacename>" ADD DATAFILE '/pfad/zum/neuen/datafile.dbf' SIZE 600M;

Man kann auch Autoextend anschalten, damit die Datafiles sich autoamtisch vergrößern, wenn sie volllaufen.  Der folgende Befehl vergörßert ein volles Datafile immer um 20 MegaByte.

ALTER DATABASE DATAFILE '/pfad/zum/datafile.dbf' AUTOEXTEND ON NEXT 20M

den Status der Tablespaces fragen Sie folgendermaßen ab

select * from v$tablespace;

Ist z. B. nützlich, wenn man ein Backup auf das Datafile gestartet hat und das Backup nicht beendet wurde, also der tablespace nicht in aus dem Backup-status zurückversetzt wurde.

TAblespace-status abfragen

select * from v$tablespace;

Datendateien-Status abfragen

select * from v$datafile;

Tablespace umbenennen

alter tablespace <alter Name> rename to <neuer name>

Reorganisation

Bei der reorgnaistiaon werden Tabellen neu organisiert, also von Grund auf neu erstellt und verschoben. Der Hauptgrund für eine Reorganisation ist die rückgewinnung von Festplattenspeicher, wenn es beispieslweise viele nicht ganz vollgeschriebene Extents gibt, da einige Datensätze aus den TAbellen gelöscht wurden, oder durhcd ei simple Reduzierung der Größe von Datendateien, wenn diese nach einer Archivierung nicht mehr so groß sein müssen. Ein weiterer Grund könnt die Umstellung des Tablespace-Typs, oder nach einer migration / nach einem Datenbank-Upgrade, falls sich technologische Ansätze in der neuen Datnebank unterscheiden.

Bei einer Online-Reorganisation werden die Segmente innerhalb der datnebank vershcoben, ohne dass es heirbei zu Locks kommt. Man kann also weiterhin auf die Objekte in der Datenbank zugreifen und mit ihr arbieten. Bei einer Offline-Reorganisation wird das Objekt jedocha us der datnebank exportier,t gelöscht und dann wieder neu importiert. DEer anchteil bei einer Online-Reorganisation ist, dass alle zu reorganisierten bojekte während der reorganiastion zweimal vorhanden sein müssen, was einen hohen platzbefdarf ausmacht.

Alerting

Das Oracle AlterLog leigt unter ORACLE_BASE\diag\rdbms\dbname\<dbsid>\trace\alert_<DBSID>.log

Das Log liegt im .xml-Format vor.

Das Oracle Atuoamtic diagnostic Repository liegt in dem parameter DIAGNOSTIC_DEST.  Meistens liegen wichtige Alerts unter ORACLE_BASE\dia\rdbms\orcl\orcl\alert sowie ORACLE_BASE\dia\rdbms\orcl\orcl\trace.

Sie finden Alert messages außerdem im enterprise Manager unter Home, wenn Sei anch unten scrollen bis zum Alerts-Punkt.

Sie können acuh in sqlplus das diagnostic repository abfragen.

select * from v$diag_info

 User Management

Eigentlich sollte es äußerst selten vorkommen, dass Sie als DBA irgendwas mit Usern zu tun haben werden. Denn meistens läuft die Datenbank ja als Datenhaltungskomponenten für einen anwendungsserver, der seine eigene Userverwaltung mitbringt und selbst immer den selben Datenbankuser benutzt, um mit der Datenbank zu kommunizieren. Dennoch schadet es nicht, sich mit den Tätigkeiten auseinander zu setzen.

Alle User anzeigen, die online sind.

select username, account_status from dba_users where account_status like 'OPEN%';

den Status der useraccounts anzeigen, z. B. ob ihr konto expired & locked ist

select * from dba_users;

 Netzwerkkonfiguration

Im Dedidacted Server Mode bekommt jeder User einen eigenen Hintergrundprozess mit einem PGA-Speicherbereich. Im Shared Server mode gibt es nur einen einzigen Prozess und es laufen alle User-Environments nicht in enem extra PGA-Bereich, sondern alle User-Environments liegen im SGA.

Vorteile an Shared:

 

Nachteile an Shared:

  • der Oracle RMAN braucht dedizierte Verbindungen pro User, die ja im shared User Modus fehlen.

tnsnames

tnsnames.ora ist eine Datei, welche die Verbindungseinstellungen für das SQL*Plus Skript auf Clientseite konfiguriert. das heißt diese Datei konfiguriert die verbindungen des Kommandozeilentools SQL*Plus, mit dem wir uns auf eine Oracle-Instanz aufschalten können. Die Einstellungen in dieser Datei sind im klartext beschrieben und können auch mit einem Texteditor gesetzt werden. die einfache Möglichkeit diese einstellungen zu setzen ist aber der oracle Network Configuration Assistant.

EZ Connect

EZ Connect is tein roacle-eigenes produkt, nach dessen installation man sich sehr einfach auf eine Oracle-Instanz verbinden kann

CONNECT username/<pw>@<hostname>:<port>/<dbname>

SQL-Skripte

Man kann vordefinierte SQL-Befehle in einer .sql-Datei abspeichern und diese dann über sql-plus so ausführen, als würde man sie gerade hintereinander über die Tastatur eingeben.

Zum ausführen von .sql-Skripten geben Sie ein

@<Pfad zur .sql-Datei>

 

Optimizer Statistics

Die Statistiken des Optimizers werden vom oralce Query Optimizer genutzt, um Ablaufpläne für SQL-Queries zu optimieren, so dass der optimalste ablaufplan für verschiedene SQL-Operationen genutzt wird. Es empfiehlt sich also aus perofrmancegründen, den optimizer zu pflegen.

ein wesentlicher Datenbankparameter für die Statisitiken ist der APrmeter STATISTICS_LEVEL. Dieser steht standardmäßig auf TYPICAL.

Um  Statistiken über objekte zu sammeln, führen wir beispielsweise einen Befehl aus wie

analyze table <user>.<tabelle> compute statistics;

Jetzt haben wir statistische Werte über diese Tabelle gesammelt. Beispielsweise können wri uns jetzt die Anzahl der Datensätze / Zeilen in dieser tabelle anzeigen lassen über

select num_rows from dba_tables where table_name='<TABELLE>';

Da jetzt über diese Tabelle ständig die Anzahl der Datensätze verfügbar ist, kann Oracle besser entscheiden, welchen Ausführungsplan es verwenden soll,w enn auf diese Tabelle beispielsweise ein SELECt-Statement ausgeführt wird. Wenn ein neuer Datensatz in die Tabelle eingefügt wird, werden die Statistiken leider nicht gleich autoamtishc aktualsiiert.

execute dbms_stats.gather_table_stats('<username>'.'<tabelle>');)

Erst jetzt ist die Anzahl der Datensätze aktualisiert.

Diese Gathering-Methode sollte nun regelmäßig ausgefüjhrt werden, damit die Statistiken ohne unser Zutun automatisch aktualsieirt werden. Das geschieht über einen Atuaomted maintenance Task frü das optimizer Statistiscs gathering.

Automatic workload Repository AWR  MMON, Baselines und Snapshots udn ADDM

Mit dem Automatic Wrokload repository können wir Snapshots oderBaselines erstellen. Snapshots sind Statistiken der Oracle-Instanz zu einem bestimmten Zeitpuinkt. Diese Statistiken entahtlen beispielsweise die aktuelle Wartezeit auf eien Atnwort zu einen SQL-Befehl, die Nutzung von CPU und Arbeitsspeicher durchd ie Oracle-Instanz, den Speicherverbrauch und die Größe der einzlenen Caches im Arbeitsspeicher der Oracle-Isntanz usw.

Eine Baseline ist ein paar von Snapshots, welches der Administrator als „NOrmalwert“ ausgewählt hat. Das bedeutet diese beiden Snapshots zeigen an, wie sich die Oracle Datenbank normalerweise im Zeitraum zwischen zwei Snapshots verhält. Es ist möglich, alle zukünftigen Snapshots dieser Baseline gegenüberzustellen, um daraufhin zu erkennen, welche Werte sich im Vergleich zur Baseline verschlechtert bzw. verbessert haben. Mit den Snapshots des AWRs ist es also möglich, perofrmanceanalysen über die Oralce-Instanz zu machen.

wir wollen jetzt mal eine AWR Baseline erstellen

exec dbms_workload_repository.create_snapshot;

Im Enterprise Manager können wri einen Snapshot erstellen über Server / Staitsitsc amnagement /( automatic workload Repository / Snapshots / Create.

Das AWR ist sozusagen der Statistiklieferant einer Oracle-Instanz. Wenn der AWR das Messgerät ist, dann ist der ADDM der Doktor der Oracle-Instanz. Der ADDM nimmt einen Snapshot aus dem AWR und führt automatische Analysen durch. Beispielsweise sucht er nach Verantwortlichen SQL-Statements, die für eine möglciherweise hohe Auslastung der Oracle-Instanz verantwortlich sind, und gibt Vorschläge für ein sauberes Memory Sizing für die Oracle-Instanz.

Oracle Scheduler

Der Oracle Scheduler ermöglicht es uns, verschiedene Wartungsaufgaben zu automatisieren und für verschiedene Zeitpunkte zu planen.

MMOn

MMON ist zuständig für die alarmierung.

Der erste Task, um Warnungen und Alerts auch per E-Mail zu empfangen, sit Oracle auf einen SMTP-Server zu verweisen. DAs geht im Oralce enterprise Manager rechts oben über Setup / Notification methods. Hier können  wir dann die Daten des SMTP-Servers hinterlegen.

Indexes

einen index erstellen

Ein Index wird für eine Tabelle erstellen, also msus zuerst eine Tabelle erstellt sein, auf die der Index aufbaut. Danach kann man den index erstellen über

create index test_index on <tabellenname>(<spaltenname primärschlüssel>);

Wenn ein Index invalid ist und repariert werden muss

select objecT_name, object_type from dba_objects where status = 'INVALID';

Indexes neu bauen

alter index <name> rebuild;

Views

Zum erstellen einer View brauchen wir natürlich erstmal eine Tabelle. Views sidn ja, wie wir aus dem Theorieteil bereits wissen, nichts anderes, als abgespeicherte SQL-Statements. Deswegen müssen Sie auch das SQL-Statement parat haben, mit der Sie die View erstellen wollen. DAnach können Sie die Viwe erstellen über

create view <name> as <SQL-Statement>;

 

Wenn eine View invalid ist und repariert werden muss

select objecT_name, object_type from dba_objects where status = 'INVALID';

Views reparieren

alter view <name> compile;

Procedures

euine Prozedur kann man erstellen über

create procedure <name> as 

begin

<Code>

end;

Wenn eine Procedure invalid ist und repariert werden muss

select objecT_name, object_type from dba_objects where status = 'INVALID';

Procedurs reparieren

alter procedure nl_add_emp compile;

 Oracle Patchen

Es gibt zwei verschiedene Arten von Patches

  • interm. Ein Hotfix, der oft auf eine sehr spezielle Version von Oracle zugeschnitten ist, also meistens nicht auf eine weite Reichweite von Oracle-Versionen anwendbar ist. Behebt meistens nur eines oder wenige Probleme. Die Hotfixes werden meistens nicht voll getestet udn können ab und zu auch zu Fehlern führen, weshalb nach dem anwendnen eines Hotfixes erst getetstet werden sollte, bevor man ihn auf das produktivsystem anwendet.
  • Ciritical Patch Update (CPU): werden alle drei Monate released, können auf eine weite Reichweite von verschiedenen Oracle-Versionen angewendet werden und adressieren viele Probleme.

Zunächst können Sie einen Patch Advisor ausführen. Dieser führt vorher einige Abhängigkeitschecks durch um sicherzustellen, dass das System dazu in der Lage ist, den Patch überhaupt anzunehmen.

Sie könne den Patch Advisor über den Oralce Enteprrise manager mittels software and Support / aptch Advisor ausführen. Dies funktioniert natürlcih nur, wenn Sie ienen Oracle Supportvertrag abgeschlossen haben und daher Support von Oracle bekommen.

Patchen mit gleichbleibendem Oracle Home

Als erstes invoken wir Opatch mit

cd ORACLE_HOME\OPatch

SQL>opatch lsinventory

Wir wenden den APtch an

SQL>opatch <Pfad zur Patchdatei>

sie könen einen APtch auch über den ROacle Enterprise Manager über Software and Supportt / Apply Patch anwnenden.

Characterset

Den aktuellen Cahraceterset einer Datenbank kann man folgendermaßen überprüfen

select VALUE from V$NLS_PARAMETERS where PARAMETER='NLS_CHARACTERSET';

Bei Non-Unicode SAP-Systemen unter einer Oracle Datenbank Version 8 oder neuer wird immer WE8DEC eingesetzt, auf einem unicode-System wird immer UTF8 verwendet.

Troubleshooting

Die erste Maßnahme ist immer

tnsping <servicename bzw. dbname>

dies testet die verbindung auf die Oracle instanz / DB und zeigt einige Parameter an.

 

 

 

 

Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!

]]>
http://dafrk-blog.com/?feed=rss2&p=2808 0
Cygwin aufsetzen http://dafrk-blog.com/?p=2801 http://dafrk-blog.com/?p=2801#comments Thu, 25 Jun 2015 09:46:44 +0000 http://dafrk-blog.com/?p=2801 Cygwin aufsetzen weiterlesen →]]> Was ist Cygwin?

Cygwin ist eine emulierte Linux-Shell-Umgebung, die unter Windows installiert werden kann. Wenn Sie Cygwin auf Ihrem Windows-System installieren, können Sie Windows-shell-Kommandos ausführen, um beispielsweise Dateioperationen auf Ihre Windows-Dateien und -Ordner auszuführen.

Das ist beispielsweise dann nützlich, wenn Sie auf einem Linux- oder Unix-System umfangreiche Skripte geschrieben haben, um alltägliche Aufgaben wie das Verwalten einer Datenbank, Backups usw. automatisiert haben. Normalerweise müssten Sie auf dem Windows-System nun die selben Skripte neu schreiben, da die Linux-Shell-Befehle nicht kompatible zur Windows PowerShell sind, die sie wahrscheinlich zu diesem Zweck verwenden wollen.

Dank Cygwin jedoch können Sie die Skripte, die Sie auf dem Linux-/Unix-System verwenden, auch auf dem Windows-Server einsetzen.

Installation

Die Installation ist ziemlich einfach. Downlaod Sie Cygwin von www.cygwin.com/install.html. Laden Sei die passende Setup-Datei für Ihre Prozessor-Architektur herunter und führen Sie die Installationsroutine aus.

Sie können den Installer in der Regel einfach durchklicken. Anpassungen sind nur notwendig, wenn Sie aus irgendeinem Grund Probleme haben sollten. Bei der Auswahl der zu installierenden Packages können Sie grundsätzlich einfach All verwenden. In der Regel wäre das allerdings für Ihre Zwecke ein wenig Overkill. Wenn Sie ein erfahrener Administrator sind, wollen Sie eventuell explizit auswählen, welche Komponenten sie installieren wollen. Empehlenswerte Komponenten sind beispielsweise

  • Devel / gcc-core – zum Kompilieren und erstellen von Unix-Utilities auf Cygwin
  • Devel / make
  • Net / openssl – zur Konfiguration udn Erstellung von SSL-Zertifikaten
  • Net / openssl-devel
  • Net / libopenssl
  • net / openssh – falls Sie einen SSH-Server auf dem Rechner haben wollen, um ihre Linux-Befehle auf diesem Server über das Netzwerk auszuführen
  • Net / ssh2-lib
  • Editors / vim – damit Sie einen brauchbaren Editor mitgeliefert haben
  • Net / SCP – zum Übertragen von Dateien
  • Net / LFTP

Nach der installation  müssen Sie noch Umgebungsvariablen auf Ihrem System setzen. Fügen Sie den pfad zu Cygwin in ihre PATH-Variable hinzu. Meistens sit dies der Pfad C:\cygwin\bin oder C:\cygwin64\bin

Bereits jetzt können Sie eine Windows-Eingabeaufforderung öffnen und dort beispielsweise Linux-Komamndos wie ls, cp oder mv eingeben.

Nach der Instajllation startet Ihr ein Cygwin-Terminal einfach über das Startmenü

2015-08-03_20h40_51

Wenn ihr euch dann im Terminal befindet, werdet ihr feststellen, dass es nicht so einfach ist, dass ihr auf eure normalen Windows-Ordner zugreift. viel mehr erstellt cygwin seine eigenen Ordner unterhalb von C:\cygwin86 oder C:\cygwin64. Die dort enthaltenen Ordner findet ihr dann auch in eurem cygwin-Terminal wieder, wenn ihr euch in das Wurzelverzeichnis (/) begebt. Ihr könnt jedoch von eurem Windows-Rechner aus Dateien in diese Verzeichnisse reinschieben und dann von eurem cygwin-Terminal aus darauf zugreifen – probiert es einfach mal aus.

Und schlussendlich könnt ihr dann letzten Endes doch auf eure Windows-ordner zugreifen. Wechselt einfach mal in das verzeichnis /cygdrive/. Dort findet ihr alle eure Windows-Laufwerksbuchstaben und darunter wiederum die Daten auf euren Datenträgern. ihr könnt also ohne weiteres mit den Dateien in eurer Windows-Umgebung arbeiten.

 

 

Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!

]]>
http://dafrk-blog.com/?feed=rss2&p=2801 2
Oracle DBMS: Eine neue Datenbank von null auf erstellen. http://dafrk-blog.com/?p=2796 http://dafrk-blog.com/?p=2796#comments Wed, 24 Jun 2015 14:15:52 +0000 http://dafrk-blog.com/?p=2796 Oracle DBMS: Eine neue Datenbank von null auf erstellen. weiterlesen →]]> Bevor Sie eine Oracle-Datenbank erstellen können, müssen Sie die Oracle-Serversoftware installieren. Wie das geht, habe ich Ihnen in diesem Post gezeigt.

Erstellen von Datenbanken

manuell

Bevor man eine Oracle-Datenbank erstellt, sollte man zuvor die Größe der Datenbank, die Anzahl der tablespaces und die Redo Log Files geplant haben. Dabei sollte amn immer 1 oder 2 Jahre in die zukunft planen.

Dazu gehören beispielsweise die Konfiguration des Speicherplatzes. Auf diese Thematik bin ich im theoriepost zum Oracle DBMS schon etwas eingegangen. Zu planen gibt es hier sachen wie die Verteilung der Redo Logs Dateien, Control Dateien und Tablespaces-Datendateien auf die verschiedenen Speichermedien, die Technologie der Speichermedien wie beispielsweise SAN, RAID, LVM usw. Desweiteren gilt es das Einsatzszenario der Datenbank zu planen, etwa OLTP oder OLAP usw.

hier eine kleine Beispielsplanung

Datenbankname und SID

SID myicadb
DB_NAME myicadb

Tablespaces

Tablespace Name Datafile Size
system /u01/oracle/oradata/myica/sys.dbf 500 M
users /u01/oracle/oradata/myica/usr.dbf 100M
undotbs /u01/oracle/oaradata/myica/undo.dbf 100M
temp /u01/oracel/oradata/myica/temp.dbf 100M
index_data /u01/oracle/oradata/myica/indx.dbf 100M
sysaux /u01/oracle/oradata/myica/sysaux.dbf 100M

Logfiles

Logfile Group Member Size
Group 1 /u01/oracle/oradata/myica/log1.ora 50M
Group 2 /u01/oracle/oradata/myica/log2.ora 50M
CONTROL FILE /u01/oracle/oradata/myica/control.ora
PARAMETER FILE /u01/oracle/dbs/initmyicadb.ora

Das Parameter file kommt unter Unix in das Berezcihnis ORACLE_HOME/dbs und unter Wnidows in ORACLE_HOME/database.

Desweiterne muss etnscheiden werden, welche größe der Parameter DB_BLOCK_SIZE bekommen soll. gängig sind 4K oder 8K

Jetzt erstellenw ri die datenbank. Dazu loggen wir uns in den oracle account und machen die Verzeichnisse für die Datenbank

mkdir /u01/oracle/oradata/myica

mkdir /u01/oracle/oradata/myica/bdump

mkdir /u01/oracle/oradata/myica/udump

mkdir /u01/oracle/oradata/myica/recovery

Nun erstellenw ir da parameter file indem wir das Standardtemplate init.ora kopieren und dann die benötigten APrameter setzen.

cd /u01/oracle/dbs

cp init.ora initmyicadb.ora

vi initmyicadb.ora

DB_NAME=myicadb

DB_BLOCK_SIZE=8192

CONTROL_FILES=/u01/oracle/oradata/myica/control.ora

UNDO_TABLESPACE=undotbs

UNDO_MANAGEMENT=AUTO

SGA_TARGET=500M

PGA_AGGREGATE_TARGET=100M

LOG_BUFFER=5242880

DB_RECOVERY_FILE_DEST=/u01/oracle/oradata/myica/recovery

DB_RECOVERY_FILE_DEST_SIZE=2G

# die folgende APrameter werden nur in Oracle-Versionen 10g und früher benötigt

BACKGROUND_DUMP_DEST=/u01/oracle/oradata/myica/bdump

USER_DUMP_DEST=/u01/oracle/oradata/myica/udump

Jetzt setzen wir die ORACLE_SID umgebungsvariable und starten die Instanz

export ORACLE_SID=myicadb

sqlplus

enter User: / as sysdba

SQL>startup nomount

jetzt erstellen wir die datenbank

create database myicadb



datafile '/u01/oracle/oradata/myica/sys.dbf' size 500 M

sysaux datafile '/u01/oracle/oradata/myica/sysaux.dbf' size 100M

undo tablespace undotbs

datafile '/u01/oracle/oaradata/myica/undo.tbf' size 100M

logfile

group 1 '/u01/oracle/oradata/myica/log1.ora' size 50M,

group 2 '/u01/oracle/oaradata/myica/log2.ora' size 50M;

Bei Fehlern kann man die Datei alert_myicadb.log im Verzeichnis BACKGROUND_DUMP_DEST zu Rate ziehen. Vor erneutem Probieren sollte man alle Dateien in /u01/oracle/oradata/myica löschen.

Jetzt wurde die datenbank erstellt, gemountet und geöffnet. Wir erstellen nun  zusätzliche Tablespaces

SQL>create tablespace users datafile '/u01/oracle/oradata/myica/usr.dbf' size 100M;

SQL>create tablespace index_data datafile '/u01/oracle/oradata/myica/indx.dbf' size 100M;

jetzt installieren wri die Data dictionaries

SQL>@/u01/oracle/rdbmbs/admin/catproc.sql

jetzt installieren wir die procedural option

SQL>@/u01/oracle/rdmbs/admin/catproc.sql

Jetzt ändern wir die Passwörter für die Accounts sysi und system.

SQL>alter user sys identified by myica;

SQL>alter user system identified by myica;

Jetzt erstellen wir wieter euser accounts.

SQL>create user scott default tablespace users identified by tiger quota 10M on users;

SQL>grant connect to scott;

Jetzt fügen wir die Datenbank noch in die Datei listener.ora hinzu und starten den Listener neu

cd /u01/oracle/network/admin

vi listener.ora
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
             (ADDRESS =(PROTOCOL = TCP)(HOST=200.200.100.1)(PORT = 1521))
    )
  )
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME =/u01/oracle)
      (PROGRAM = extproc)
    )
    (sid_desc =
       (sid_name=orcl)
       (oracle_home=/u01/oracle)
    )
#Add these lines
    (sid_desc =
       (sid_name=myicadb)
       (oracle_home=/u01/oracle)
    )

  )
lsnrctl stop

lsnrctl start

über den DBCA

Unter Windows erreichen sie den DBCA über Start / Oracle – Ora<Version>_home / Configuration and migration tools / datbasae Confiugration Assistant. altenraitv können Sie einfach in einer eingabeaufforderung dbca eintippen.

Unter Linux befinet sich das Tool im bin-Ordner des oralce-Home-Directories, unter welchem Sie die oracle-Instanz installiet haben, also beispeislweise /u01/oracle/<version>/bin.

  • Im ersten Bildschirm des DBCA klciekn wir auf next
  • danach wählen wir Create a Database
  • jetzt müssen wir ein tempalte auswählen. Für eien Grundinstallation sollte heir meist general purpose or Transaction processing gewählt werden, ebenfalsl ist dies das beste Template für OLTP-Datenbanken. Das Data Warehouse-Template ist das beste für OLAP-Datenbanken.

Erst, wenn Sie ein erfahrener DBA sind, werden sie irgendwann eine komplette custom-Installation durchführen, bei welcher sie also kein vorgefertigtes Template nehmen.

  • jetzt sollen wir den Datenbanknamen und die SID angeben. Als Globale Database Name gibt man normalerweise den Namen der Datenbank + die Domain an, also beispielsweise orcl.<deineName>.com
  • als nächstes werden wir gefrag,t ob wir das Web Access control utility, auch enterprise amnager, nutzen wollen. Diese option aktiviert zu lassen ist empfohlen.
  • wir werden darauf higneweisen, dass wir einen Lsitener konfigurieren müssen.

    Unter windows erreichen wir die Kofniguration unter Start / Oracle – Ora<version>_home /configuration nad migration tools / net configuration Assistant

    • wir licken auf Lstiener Configuration
    • Add
    • Defualt Lsitener
    • als Network protocols wählen wir TCP und IPC
    • Port Number lassen wir auf 1521. in einer produktivumgebung sollten Sei hingegen eventuell einen alternativen Port konfigurieren.
    • da wir IPC kofniguriert haben, müssen wir einen Schlüssel angeben. Zum Testen können Sie heir etwas simples wie beispielsweise ipc nutzen.
    • No – wir wollen keinen weiteren Listener konfigurieren.
  • zurück im DBCA gehen wir auf den Reiter atuoamtic maintenance Tasks und lassen den Haken bei Enable automatic maintenance tasks drin
  • wir sollen nun administrative Passwörter vergeben.
  • wir werden nun gefragt wo die datnebankfiles gespeichert werden sollen udn welchent yp von speicher wir nutzen wollen. Wir können entweder das normale Dateisystem nuten oder das Autoamtic Stroage Management. Für die Grundinstallation wählen wir Dateisystem.
  • flash recovery area lassen wir an. Das ist die Standardarea für unsere Backups. Ebenfalls archivieren wir die Archivierung.
  • Sample Schema lassen wir in der Regel aus. Die option ist sinnvoll,w enn Sie ein Entwickler sind, da sie dort einen TAblespace EXAMPLE mit Beispieldatensätzen bekommen.
  • jetzt habenw ri ein Fenster mit vier Registerkarten. In der Registerkarte Memory legen Sie die maximalgröße von SGA und PGA fest, die Sie beide im theoriepost kenenngelernt haben.

    in der dritten Registerkarte sollten Sei unicdoe wählen, wenn ihre Datenbank internationale Zeichensätze untrstützen soll.

    in der regsiterkarte Connection mode bekommen Sie die Auswhal zwischen Dedicated server mode (verbruacht mehr RAM, ist aber etwas sicherer)

  • das nächste fenster behandelt die speicheorrte unserer redo log groups,l datafiles und control files. Vorerst sollten Sei das einfach nur durchklicken und später genauer konfigurieren. Denn wie im Theorie-Teil bereits behandelt, sollten Sei die Redo Logs über mehrere Datenträger verteilen
  • nun aktivieren wir im letzten Fenster noch die Haken bei Create Database und Save as a Databsae template oder als Alternative Generate Databse creation Script.
  • Nun klicken wir weiter und der DBCA erstellt unsere Datenbank.
Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!

]]>
http://dafrk-blog.com/?feed=rss2&p=2796 2
Oracle DBMS – Grundinstallation http://dafrk-blog.com/?p=2784 http://dafrk-blog.com/?p=2784#comments Wed, 24 Jun 2015 12:19:00 +0000 http://dafrk-blog.com/?p=2784 Oracle DBMS – Grundinstallation weiterlesen →]]>  Editionen von Oracle
  • Enterprise Edition. Sozusagen dei Vollversion. bietet sämtlcihe Features der oracle DB
  • Standard Edition. ist bsechränkt auf maximal 4 CPU Sockets auf dem Mainboard, bietet außerdem Real Application Clustering
  • Std Edition One. Beschrnktt auf maximal 2 CPU sockets auf dem Mainboard und kostet 180 USD/User
  • Express: kostenlose Version zum Entwickeln, Testen und Lernen. Außerdem ist die Express Version eine gute Wahl, wenn man freie Software, die auf einer Oracle-Datenbank aufsetzt, verbreiten möchte.

Installation von Oracle

Bevor wir zu den einzelnen installationsroutinen kommen, hier ein paar grundlegende Empfehlungen:

  • zum Betrieb einer Oracle Database braucht man mindestens 1 GB an freier RAM-Kapazität
  • der virtuelle RAM oder auch Swap sollte die doppelte Größe des RAMs einnehmen
  • ihr braucht mindestens 6 GB freien Speicherplatz auf der festplatte

 

Zusätzlich zu diesen hier geschilderten grundstzlcihen Schritten sollten sie bei jeder installation den zugehörigen installation Guide für das verwendete Betriebssystem lesen. Diesen finden Sie über eine Google Suche nach Oracle online Documentation Library und dort dann unter installing and Upgrading.

unter Windows

In der Regel wird Oracle als DVD ausgeliefert. In dieser DVD befindet sich die Setuproutine unter database\setup.exe. Daraufhin öffnet sich kurz eine Eingabeaufforderung, die darüber informiert, dass der Oracle Unviersal Installer gestartet wird. dieser wird dafür in ein Temp-Verezichnis kopiert.

  • Im ersten Fenster wird nach einer e-Mail-Adresse gefragt, die man ignorieren kann.
  • Im nächsten Fenster empfiehlt sich grundsätzlich die Option Create or configure database. Aus Übungszwecken werden wri die zweite Option Install database software only auswählen.
  • in diesem Tutorial werden wir noch kein Oracle-Cluster aufsetzen, sondern lediglich eine einzige Systeminstanz. Deswegen wählen wir die erste Option Single Instance databse installation.
  • Als nächstse sollen wir eine Sprache auswählen – diese Auswahl ist ziemlich einfach zu treffen.
  • danach soll die zu installierende Edition ausgewählt werden.
  • Als nächstes sollt ihr die Base-Directory und das Software-Installatiosnverzeichnis angeben. Dabei ist es empfehlenswert, nicht das C:\-Laufwerk zu verwenden.
  • Im nächsten Fesnter erhalten Sie eine Zusamemnfasung. Mit einem Klick auf Finish starten Sie die installation.

damti wäre die Installation an sich erstmal abgeschlossen. Als nächstes müssen wir den Oracle Listener konfigurieren. Konfigurieren wir diesen nicht, kann eine Cleintanfrage zu einer datenbankverbndung nicht beantwortet werden. Diesen finden wir im Startemenü unter Oracle – OraDB<Releasenummer>_Home1 – Confiugration and Migration – Net Configuration Assistant.

  • Im erste Fesnter wählen wir Listener Configuration
  • da noch kein Listener konfiguriert wurde, wählen wir im näcshten fenster Add, um einen neuen Listener anzulegen.
  • Den Standardnamen LISTENER im nächsten fenster können wir so lassen
  • Im nächsten Fenster wählenw ir als protkoll TCP
  • und im nächsten Fenster nutzen wir den Standard-TCP-port 1521
  • Da wir derzeit nur einen einzigen Listener konfiugrieren wollen, wählenw ir m nächsten Fenster No.
  • die Listener konfiguration ist vollständig.

Dann erstellen und konfigurieren wir eine Datenbank. Dazu öffnen wir den Databse configuration Assistant

  • im ersten Fenster wählen wir Create a Database
  • im nächsten fenster wählenw ir die Standardoption Operational Purpose of transaction Processing
  • wir vergeben einen global Databse name. Da wir nur eine einzige system-Instanz erstellt haben und keinen Cluster, ist der Global Database Name identisc mit der SID. Standardäßig wird hier oft ORCL eingegeben.
  • Im nächsten fenster lassen wir erstmal alles auf Standard
  • Im nächsten Fenster lassen wird ie Option Use Diuffrente Administrative Passwords aktiviert – es sei denn, Sie wollen für alle Accounts das selbe haben.
  • Im nächstne Fenster stellenw ri sicher, dass im feld Storage Type die Option File System aktiviert ist. Wir nutzen auch die standardoption use database file locations.
  • Im nächsten Fenster müssenw ir eine recovery area angeben. für usnere Zwecke reicht hier erstmal die Stndardoption.
  • Im nächsten Fehlern wäre es aus Lernzwecken zu empfeheln, Sample Schemas zu aktivieren. In Produktivumgebungen übersprügnt man diese option.
  • Im nächsten Fenster lassen wir in diesem Fall alles so, wie es ist.
  • Wir kommen zur Konfiguration des Databse Storage.
  • wir aktivieren die Checkbox Create Database. mit Finish starten wir die Erstellung.

Als nächstes müssen wir einen SErvice Name konfigurieren. Wenn ein Cleint versucht, sich mit der datenbank zu identifizieren, wirddiese durch einen Servicenamen identifiziert. Das geht ebenfalls über den Net configuration Assistant.

  • im Hauptmenü wählen wir diesmal configure local service name
  • da wir noch keinen Servicename konfiguriert haben, wählen wri im nächsten fenster Add
  • als Service name geben wir den Computer / Host Namen des Rechners, auf dem wir den Datenbankserver installieren, an. Wenn die IP-adresse immer fix ist, kann man hier auch die IP eingeben.
  • als Protokoll wählenw ri wieder TCP
  • wir geben den Hostnamen des Rechners ein und nutzen wieder den STandard-TCP-Port 1521
  • wir wählen Yes, perform a test
  • wenn jetzt ein fehler kommt liegt es darin, dass Oracle versucht hat, sich mit seinem Standardpasswort einzuloggen. Mit dem Button Change Login geben wir das Passwort ein, welches wir zuvor festgelegt haben, und gehen auf Next.
  • Der test wird nun erfolgreich sein und wir müssen wir den Net Service Name eingeben.
  • wir wollen keinen weiteren net service name konfigurieren, also no
  • Konfiguration fertig

Jetzt öffnenw ir die Datenbank um zu  überprüfen, ob aleles läuft. dazu im startmenü auf Oracle – OraDB<releasenummer>_Home1 – Databse control – <Service name>. Es öffnet sich ein Browserfenster, indem wir unsere Logindaten eingeben sollen.

unter Linux

als erstes erstellen wir benötigte user und gruppen

groupadd -g 501 oinstall

groupadd -g 502 dba

groupadd -g 503 oper

useradd -u 502 -g oinstall -0 dba,oper oracle -o -p oracle

dann öffnenw ridie sysctl.confg mit dem vi und fügen das folgende hinzu:

kernel.shmall = 2097152

kernell.shmmax = 2147483648

kernel.shmni = 4096

kernel.sen = 250 3200 100 128

net.core.rnen_default = 4194304

net.core.rnen_max = 4194304

net.core.wnen_default = 262144

net.ipv4.ip.loca.port_range = 9000 65500

fs.file-max = 6815744

net.core.wnen_max = 1048576

fs.aio-max-nr = 1048576

dann gehen wir mit dem vi in die datei /etc/security/limits.conf, scrollen dort nach ganz unten und fügen über # End of file folgendes ein

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

Jetzt erstellenw ri die groba struktur, in dei wir unser oracle installieren wollen, und setzen entsrpecehnde rechte

mkdir /opt/oracle

mkdir /u01

chown -R oracle:oinstall /u01

chmod -R 775 /u01

chown -R oracle:oinstall /opt/oracle

chmod -R 775 /opt/oracle

cd /bkup

chwon -R oracle:oinstall database

chmod -R 775 database

für den User oracle müssen wir jetzt ncoh einige Umgebungsvariablen setzen, damit das ganze hin haut

su oracle

vi /home/oracle/.bash_profile

PATH=$PATH:$HOME/bin

export PATH

export TMP=/tmp

export TMPDIR=$TMP

export ORACLE_HOSTNAME=<your_hostname>

export ORACLE_UNQNAME=<your_hostname>

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export ORACLE_SID=<your_hostname>

export PATH=/usr/sbin:$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib/lib:/usr/lib:/usr/lib64

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib

export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/opatch

Jetzt müssen wir Abhängigkeiten installieren

binutils

compat-libstdc++

compat-libstdc++ (32 bit)

elfutils-libelf

elfutils-libelf-devel

gcc

gcc-c++

glibc

glibc (32 Bit)

glibc-common

glibc-devel

glibc-devel (32 Bit)

glibc-headers

ksh

libaio

libaio (32 Bit9

libaio-devel

libaio-devel (32 Bit)

libgcc

libgcc (32 Bit)

libgonp

libstdc++

make

numactl-devel

sysstat



Nun können wir die installation im Home-Ordner von oracle starten. Dort kopieren wir die inhalte der DVD oder des download-paketes in den Ordner databse und führen die datei ./runInstaller.sh aus.

Die installation können wir durchklicken. Nach der grafischen ionstallation führen sie das skript /u01/app/oraInventory/oraInstRoot.sh  sowie /u01/app/oracle/product/11.1.0/db_1/root.sh aus, falls diese nicht schon autoamtisch vom installationsterminal ausgeführt werden sollten.

Installation über ein Response File

Wenn Sie irgendwann einmal aus welchem Grund auch immer die Oracle installation nicht über die GUI, sondern vorgeskriptet über die Kommandozeile ausführen wollen, dann können Sie sich eine Antwortdatei basteln, welche die Antworten afu die Fragen gibt, die der Oracle Universal installer in der GUI normalerweise stellen würde, und die installation auf Kommandoebene starten.

./runInstaller.sh -silent -responsefile <Dateiname>

Die einfachste Möglichkeit, eine Antwortdatei zu erstellen, ist bei der Erstinstallation über den OUI die Optionen abspeichern zu lassen und sich die Datei aufzuheben.

Erste Nacharbeiten nach der installation

Als erste Aktion nach der installation der Software erstellen Sie eine neue Oracle Datenbank. Wie das geht, zeige ich Ihnen in diesem Post

Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!

]]>
http://dafrk-blog.com/?feed=rss2&p=2784 0