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.
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.
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!]]>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
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.
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!]]>
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.
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.
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!]]>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!]]>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!]]>
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
Benutzer sperren
Benutzer können sie folgendermaßen sperren.
alter user <username> account lock
Bei Priviligen unterscheidet man zwischen
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.
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
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
Oracle liefert bereits einige vordefinierte Rollen mit
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
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
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!]]>
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
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
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
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
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
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
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 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.
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.
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
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.
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
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;
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:
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>
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>
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.
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.
Der Oracle Scheduler ermöglicht es uns, verschiedene Wartungsaufgaben zu automatisieren und für verschiedene Zeitpunkte zu planen.
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.
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;
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;
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;
Es gibt zwei verschiedene Arten von Patches
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.
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.
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!]]>
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.
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
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ü
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!]]>
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
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.
Erst, wenn Sie ein erfahrener DBA sind, werden sie irgendwann eine komplette custom-Installation durchführen, bei welcher sie also kein vorgefertigtes Template nehmen.
Unter windows erreichen wir die Kofniguration unter Start / Oracle – Ora<version>_home /configuration nad migration tools / net configuration Assistant
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)
Bevor wir zu den einzelnen installationsroutinen kommen, hier ein paar grundlegende Empfehlungen:
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.
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.
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.
Dann erstellen und konfigurieren wir eine Datenbank. Dazu öffnen wir den Databse configuration Assistant
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.
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.
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.
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!]]>