Oracle Datenbank
Oracle Datenbank - technische Administration für SAP Basis Berater
-
Fehlermeldung nach Systemkopie: ORA-01124 file is in use
Wenn nach einem Restore die folgende Fehlermeldung auftritt, kann dies eine ganz banale Ursache haben: SQL> recover database using backup controlfile until cancel; ORA-00283: recovery session canceled due to errors ORA-01124: cannot recover data file 1 - file is in use or recovery ORA-01110: data file 1: 'D:\ORACLE\HSL\SAPDATA1\SYSTEM_1\SYSTEM.DATA1' Es ist zu prüfen ob die Datenbank bereits geöffnet ist. Diese Situation kann zu Beispiel auftreten, wenn CONTROL.SQL im Rahmen einer SAP Systemkopie ausgeführt wurde. select status from v$instance; STATUS ------------ OPEN Dieer Fehler tritt unter Umständen auf, wenn das von ora_br_copy (siehe SAP Hinweis 784118) erzeugte CONTROL.SQL zuvor ausgeführt wurde. Dies öffnet die Datenbank. Also kein Fehler. Ist ein Recover trotzdem…
-
Dauerhafte Formatierungen in SQLPLUS setzen
In SQLPLUS müssen die Ausgaben leider sehr aufwending mit den Befehlen SET und COLUMN formatiert werden. Zudem sind diese Formatierungen nur in der aktuellen SQLPLUS Sitzung gültig. Damit bestimmte Einstellungen dauerhaft gesetzt werden können, bietet Oracle 2 Konfigurationsdateien an: $ORACLE_HOME/sqlplus/admin/glogin.sql ./login.sql Die erste ist global gültig und wird immer gelesen. Die zweite wird nur gelesen, wenn man SQLPLUS im Verzeichnis dieser Datei gestartet wird. Daher bietet sich für allgemeine Einstellungen, die für alle Benutzer gültig sein sollen, glogin.sql an. Eine von mir gewöhnlich verwendete glogin.sql sieht zum Beispiel so aus: — — Copyright (c) 1988, 2011, Oracle and/or its affiliates. ## — All rights reserved. — NAME ## — glogin.sql…
-
Beenden des Backup Mode von Datendateien / Tablespaces
Ist ein Tablespace im Backup Mode verblieben, obwohl das Backup nicht mehr läuft, so muss der Modus manuell umgesetzt werden. Zuerst gilt es herauszufinden, welcher Tablespace oder welche Datendatei im Backup Modus ist. Dazu kann wie im Artikel Oracle Backup Mode auflisten beschrieben vorgegangen werden. Meist möchte man nur die Tablespaces wissen, da brbackup und andere Tools nicht einzelne Datendateien in den Backup Modus setzen, sondern den gesamten Tablespace. Achtung: Bitte unbedingt prüfen, ob wirklich kein Backup läuft! > SELECT d.tablespace_name, b.time, b.status FROM dba_data_files d, v$backup b WHERE d.file_id = b.FILE# AND b.STATUS = ‘ACTIVE’;`TABLESPACE_NAME TIME STATUS —————- ————— ——— PSAPSR3731 15-JUL-15 ACTIVE PSAPSR3731 15-JUL-15 ACTIVE PSAPSR3731 15-JUL-15 ACTIVE…
-
Mit SQLPLUS direkt HTML Dateien erzeugen
Seit Oracle 8i gibt es eine elegante Methode mit SQL*Plus direkt HTML Code zu erzeugen. Dazu wird die HTML Ausgabe mit SET MARKUP HTML ON aktiviert. Deaktiviert wird die HTML Ausgabe mit: SET MARKUP HTML OFF SPOOL OFF SQL Statement Dieses Beispiel gibt das SQL Statement show user als HTML Datei /tmp/ts_size.htm aus. SET MARKUP HTML ON SPOOL ON – HEAD “<title>SQL*Plus Report</title> – <STYLE TYPE=’TEXT/CSS’> – <!–BODY {background: ffffc6} –> – </STYLE>” BODY “TEXT=’#FF00Ff'” – TABLE “WIDTH=’90%’ BORDER=’5′” SET ECHO OFF SPOOL /tmp/ts_size.htm show user; SPOOL OFF SET MARKUP HTML OFF SET ECHO ON Details verrät die Oracle Dokumentation: Generating HTML Reports from SQL*Plus
-
SQL*Plus Variablen definieren und verwenden
Um SQL Statements dynamischer zu gestalten, sind oft Abfragen zu generieren, deren Wert von einer Variablen abhängen. In SQL werden Variablen über das Kommando DEFINE definiert und mit &VARIABLE abgefragt. SQL Statements: SET VERIFY OFF define col=TABLESPACE_NAME select &col from dba_tablespaces;
-
Freier Speicherplatz in SAP/Oracle Tablespaces
Dieser Post erklärt die Ausgabe der Größe und des freien Speicherplatzes von Tablespaces für Oracle Datenbanken mit Hilfe von SQL Befehlen. Beschreibung Für den Oracle Datenbankadministrator ist die Information über die Größe der Tablespaces und des freien Speicherplatzes in Ihnen essentiell wichtig. Das SQL Skript erzeugt eine formatierte und sortierte Ausgabe der gesamten Größe, des freien Speicherplatzes und der Benutzung in Prozent. Hier können sie das zugehörige SQL_Skript herunterladen: ts1_free.sql SQL Statement tti "Tablespace Auslastung" col "MB frei" format 999999.99 col "MB gesamt" format 999999.99 col Tablespace format a15 select ddf.tablespace_name “Tablespace”, ddf.bytes/1024/1024 “MB gesamt”, sum(dfs.bytes)/1024/1024 “MB frei”, round((ddf.bytes-sum(dfs.bytes))*100/ddf.bytes) “Used%” from dba_free_space dfs, < div class=”command2″>(select tablespace_name, sum(bytes) bytes from…
-
Oracle Backup Mode auflisten
Die folgenden SQL Statements liefern eine Liste aller Tablespaces und der zugehörigen Datendateien, die sich im Backupmode befinden. Bitte auch den Artikel Beenden des Backup Mode von Datendateien / Tablespaces beachten. SQL> col status format a11 set line 100 tti "Active Backup Datafiles" set pagesize 100 set linesize 120 col file_name format a50 col tablespace_name format a16 select d.file_name, d.tablespace_name, b.status, b.time from v$backup b, dba_data_files d where b.status='ACTIVE' and d.file_id=b.file#; tti off Die Spalte TIME gibt an, seit wann die Datendatei in diesem Modus ist. Beispiel Ausgabe Mon May 13 Active Backup Datafiles page 1 FILE_NAME TABLESPACE_NAME STATUS TIME /oracle/HS1/sapdata2/btabi_1/btabi.data1 /oracle/HS1/sapdata3/btabd_1/btabd.data1 /oracle/HS1/sapdata2/btabd_2/btabd.data2 /oracle/HS1/sapdata4/es46ci_1/es46ci.data1 /oracle/HS1/sapdata4/es46ci_2/es46ci.data2 /oracle/HS1/sapdata2/es46cd_1/es46cd.data1 /oracle/HS1/sapdata6/es46cd_2/es46cd.data2 /oracle/HS1/sapdata3/es46cd_3/es46cd.data3 /oracle/HS1/sapdata2/btabd_3/btabd.data3 oracle/HS1/sapdata3/es46cd_4/es46cd.data4…