Kategorie-Archiv: Datenbanken und Datenhaltung

Disk Backup vs Tape Backup und andere Tertiärspeicher

Wenn Sie als Systemadministrator oder IT-Architekt irgendwann mit der Thematik der Backup- und Recovery-Planung Ihrer IT-Systeme in Kontakt kommen, kommen Sie an der Frage des passenden Mediums für ein Backup nicht vorbei. Dieser Post befasst sich mit der Analyse verschiedener Backup-Szenarien aus Business-Sicht. Wenn Sie als Privatanwender anch einem passenden, kostengünstigen Backup-Medium sind, bietet dieser Post von mir eine Antwort auf Ihre Frage. In diesem Beitrag gehe ich davon aus, dass Cloud-Lösungen wie Amazon Cloud Drive für Sie nicht in Frage kommen, da Ihr Unternehmen mit sensiblen Daten arbeitet.

Die grundlegende Frage ist die. Sie haben ihre produktiven Daten, mit denen Ihr System arbeitet, erst einmal grundsätzlich auf einem sogenannten Primärspeicher installiert. das heißt, wenn Sie beispielsweise ein Datenbankmanagementsystem nutzen, liegen die Daten dieser Datenbank in den Datendateien dieses DBMS, welche beispielsweise auf Ihrem System unter C:\oracle\data liegen.

Sie wollen sich und Ihr Unternehmen nun gegen das Risiko schützen, dass die Daten durch Anwender- oder Systemfehler korrupt werden oder der Primärdatenträger, auf welchem die Dateien liegen, ausfällt.

Das erste was Sie machen werden ist also, die Daten in regelmäßigen Abständen auf einen zweiten Datenträger gleich welcher bescahffenheit – ob nun DVD, zweite Festplatte, Blu Ray etc. – überspielen. das problem an der Sache ist, dass von der Minute an, an der das Backup abgeschlossen ist, alle danach gespeicherten Daten bis zum nächsten Backup verloren gehen, wenn vor dem nächsten Backup ein Datenträgerausfall oder eine Dateikorruption passiert. Deswegen gehen immer mehr Softwarelösungen und Unternehmen dazu über, immer die aktuellen Dateiänderungen auf einen zweiten Datenträger zu synchronisieren. Das bedeutet: Sie haben zusätzlich zur Hauptsicherung der Daten auf einem zweiten Datenträger eine fortlaufende Sicherung aller Daten, die sich seit der letzten Hauptsicherung geändert haben. Somit gehen zwischen zwei Hauptsicherungen die Änderungen nicht verloren, da sie sich immer auf mindestens zwei Datenträgern befinden. Ein gutes Beispiel frü dieses Konzept ist das Redo-Log-Mirroring einer Oracle-Datenbank. während Sie in den Hauptsicherungen die aktuellen Datendateien der Oracle-Datenbank auf einen zweiten Datenträger überspielen, werden alle nach dieser Hauptsicherung erfolgenden Änderungen beständig auf zwei Datenträgern gespiegelt. Das detailleirte Konzept habe ich in diesem Beitrag zum oracle DBMS erklärt.

Hinweis: Die Fachliteratur bezeichnet oft den Arbeitsspeicher eines Systems als Primärspeicher. Wenn ich in diesem Beitrag von Primärspeicher rede, beziehe ich mich auf den primären Datenträger, auf dem ursprünglich die Produktivdaten gespeichert werden, also beispielsweise die Festplatte, auf der das Datenbankmangementsystem installiert ist.

Disk Backup vs Tape Backup und andere Tertiärspeicher weiterlesen →

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!

Oracle DBMS: User und Database Security

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.

Oracle DBMS: User und Database Security weiterlesen →

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!

Oracle DBMS – ein paar grundlegende Wartungsaufgaben

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.

Oracle DBMS – ein paar grundlegende Wartungsaufgaben weiterlesen →

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!

Oracle DBMS: Eine neue Datenbank von null auf erstellen.

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.

Oracle DBMS: Eine neue Datenbank von null auf erstellen. weiterlesen →

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!

Oracle Zertifizierungen kurz erklärt

Die Oracle-Zertifizierung, die Sie erwerben wollen, ist abhängig von dem rpodukt, welches Sie im Produktivbetrieb einsetzen wollen bzw. für welches Sie tätig werden wollen.

Das Hauptprodukt von Oralce ist natürlich die Oracle Datenbank, das Flaggschiff des Oracle-Unternehmens. Die Grundzertifizierung in der Oracle Databse nennt sich Oracle Certified Associate  (OCA). Um ein OCA zu werden, muss man zunächst eines der folgenden Examen bestehen:

  • 1Z0-007 introduction to Oracle 9i SQL
  • 1Z0-047 Oracle Database SQL expert
  • 1Z0-051 Oracle Database: SQL Fundamentals I (empfohlen)

Diese Examen sollen garantieren, dass Sie als Anwärter auf den OCA das ausreichende Basisverständnis mitbringen, um die Prüfung zum OCA

  • 1Z0-052 Oracle Database: Administration I

anzutreten und zu bestehen.

Nachdem Sie eventuell den OCA bestanden haben, gibt es für Sie die Möglichkeit, die Leiter noch weiter emporzuklettern. Dazu gibt es die Möglichkeit, den Oracle Certified Professional (OCP) zu machen. Dazu müssen Sie zuvor Ihre prüfung zum OCA gemacht haben und ein Training bei einem oracle-zertifizierten Bildungsträger machen. Dieses Training bereitet Sie auf das Examen

  • 1Z0-053 Oracle Database 11g: Administration II

vor. Mit Abschluss dieser Zertifizierung erhalten Sie den OCP.

Wenn Sie nun noch meisterhafter in der Administration der Oracle Database werden wollen, können sie Ihre Zertifizierung zum Oracle Certified Master machen. Dazu müssen Sie zuvor das Examen zum OCP bestanden haben und dieses mal zwei verschiedene Vorbereitungskurse zum OCM machen. Leider habe ich keine Ahnung, wie dann das abschließende Examen aussieht.

 

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!