Hilfreiche Linemode Skripte
von Ulrike Schwinn, ORACLE Deutschland B.V. & Co KG
Die mitgelieferten Skripte im Verzeichnis $ORACLE_HOME/rdbms/admin bieten schon seit jeher DBAs und Entwickler
eine zusätzliche Unterstützung bei ihrer Arbeit. Sie stehen automatisch nach jeder Installation im Verzeichnis
rdbms/admin zur weiteren Verwendung zur Verfügung. Nur wie findet man genau das Skript, das einem die richtige
Unterstützung bietet?
Eine Dokumentation aller Skripte existiert nicht. Man kann sich an den Namen der Skripte orientieren, da sie mit
sprechenden Namen aufgelistet sind und kann die Kurzeinleitung im Skript nachlesen. Das ist mühselig und kostet Zeit.
Sucht man beispielsweise ein Skript, um einen AWR Difference Report für alle Instanzen zu generieren, listet man am
besten zuerst alle Skripte mit Präfix "awr"auf und arbeitet sich langsam über die Kurzeinleitungen vor. Manchmal
weiß man auch gar nicht, dass ein einfaches Skript existiert, um bestimmte Aufgaben schnell und einfach zu
erledigen. Ein Beispiel wäre das Skript utlrp.sql, das alle invaliden Packages re-kompiliert.
Daher bietet dieser Tipp einen Überblick über wichtige Skripte einschließlich einer Kurzbeschreibung.
Dieser Überblick kann in der ersten Veröffentlichung nicht vollständig sein. Daher wird er
sicherlich von Zeit zu Zeit erweitert werden.
Bevor mit der Auflistung der einzelnen Skripte gestartet wird, soll eine globale Einführung in die Namensgebung
gegeben werden. Wie oben schon angesprochen, beinhalten die Namen eine Abkürzung der Funktionalität. Alle Skripte, die zum Beispiel das
Präfix "dbms" bzw. "prvt" haben, stellen das Package
Interface zur Verfügung - prvt steht dabei für die private interne (wrapped) Darstellung des Package Bodys. Sie müssen in der Regel nicht mehr vom DBA ausgeführt werden, da die Packages nach der
Installation zur Verfügung stehen. Die Skripte mit Präfix "cat" sind Skripte für den Oracle Katalog und können
zusätzliche Tabellen und Views anlegen bzw. auch löschen. Skripte, die mit "utl" für utility beginnen, helfen zusätzliche
Funktionen zu implementieren bzw. zusätzliche Analysen durchzuführen.
Utility Skripte
Hier finden Sie eine kurze Auflistung aller Skripte mit Präfix "utl".
Was bedeuten die einzelnen Skripte? In der folgende Aufzählung wird eine Auswahl interessanter Skripte beschrieben.
- utlchain.sql
- Erzeugt Hilfstabelle CHAINED_ROWS zur Speicherung von Chained Rows
- CREATE TABLE Recht erforderlich
- Voraussetzung zur Verwendung von ANALYZE TABLE LIST CHAINED ROWS
- utlxplan.sql
- Erzeugt Hilfstabelle PLAN_TABLE um die Ausgabe des EXPLAIN PLAN Kommandos zu speichern
- CREATE TABLE Recht erforderlich
- Hilfreiche Formatierungen über utlxpls.sql bzw. utlxplp.sql sind möglich
- utlxplp.sql
- Gibt die gespeicherten EXPLAIN PLAN Informationen aus
- Zusätzliche parallel query Informationen werden dabei berücksichtigt
- utlxpls.sql
- Gibt die gespeicherten EXPLAIN PLAN Informationen aus
- Es werden KEINE parallel query Informationen ausgegeben
- utlsyxsz.sql
- Speicherplatz-Berechung des SYSAUX Tablespace
- Fordert Werte für Retention Zeit, Anzahl der DB Tabellen usw. an
- Kann auch mit aktuellen Werte-Einstellungen der Datenbank arbeiten
- utlrcmp.sql
- Erzeugt das zusätzliche Package UTL_RECOMP um invalide PL/SQL Module, Java Klassen usw. zu rekompilieren
- UTL_RECOMP.RECOMP_SERIAL steht zur seriellen Rekompilierung zur Verfügung
- UTL_RECOMP.RECOMP_PARALLEL steht zur parallelen Rekompilierung zur Verfügung
- Angabe von Schema oder Parallelitätsgrad ist möglich
- utlrp.sql
- Rekompiliert automatisch invalide PL/SQL Module, Java Klassen usw. im parallelen Modus
- Gibt einen Report über mögliche Fehler aus
- Empfohlen nach Upgrade oder nach Patchanwendungen
- utllockt.sql
- Gibt die Sessions (Session ID) in einer Baumstruktur aus, die auf einen Lock warten
- Gibt die Locks an, auf die gewartet wird
- Es wird temporär eine Tabelle für die Anzeige erzeugt
- utlsampl.sql
- Erzeugt User SCOTT mit den wohlbekannten Tabellen EMP, DEPT, BONUS und SALGRADE
- Existierender User SCOTT und die Tabellen werden vorher gelöscht
- utlmail.sql und prvtmail.sql
- Erzeugt PL/SQL Package UTL_MAIL um das Senden von Emails zu ermöglichen
- EXECUTE Rechte zur Nutzung müssen noch nachträglich vergeben werden
Skripte für Tuning Reports (ASH, AWR etc.)
Auch hier soll zuerst ein Überblick über einige Skripte gegeben werden.
Die Skripte, die das Kürzel "awr" beinhalten, können zum Generieren eines AWR Reports im Text oder HTML
Format verwendet werden. Das Kürzel "addm" steht für ADDM Reports, "ash" für die entsprechenden ASH Reports.
- awrrpt.sql
- Erzeugt eine AWR Ausgabe für die Single Instance Nutzung
- Es ist die Zeitangabe (Anzahl Tage) für die Anzeige der Snapshots und die Auswahl der Snapshots erforderlich
- Vergleichbares Skript ist awrrpti.sql - i steht hierbei für input (Eingabemodus), das allerdings eine Eingabe von DBID und Instance ID erfordert
- awrddrpt.sql
- Erzeugt einen AWR Difference Report - auch Workload Repository Compare Periods Report -
unter Angabe von 2 Paaren von Snpshots
- Es ist die Zeitangabe (Anzahl Tage) für die Anzeige der Snapshots und die Auswahl der Snapshots für jedes
Snapshot-Paar erforderlich
- Der Buchstabe d steht für difference
- Vergleichbar mit awrddrpti.sql, das eine Eingabe von DBID und Instance ID erfordert
- awrgrpt.sql
- Erzeugt einen Workload Repository RAC (Global) Report
- Es ist die Zeitangabe (Anzahl Tage) für die Anzeige der Snapshots und die Auswahl der Snapshots erforderlich
- Der Buchstabe g steht für global
- Vergleichbar mit awrgrpti.sql, das eine Eingabe von DBID und Instance ID erfordert
- addmrpt.sql
- Erzeugt einen ADDM Analysis Report für jedes Paar von AWR Snapshots
- Vergleichbar mit addmrpti.sql, das eine Eingabe von DBID und Instance ID erfordert
- Der Report steht im Unterschied zu den AWR Reports nur in Textform zur Verfügung
- ashrpt.sql
- Erzeugt einen ASH Report
- Es ist eine Zeitangabe (absolut oder relativ) und die Zeitdauer erforderlich
Hinweis: Für die Nutzung dieser Skripte ist die Lizenzierung des Diagnostics Packs notwendig.
Eine lizenzfreie Alternative zu den AWR Reports bietet die Nutzung von STATSPACK Reports. Bei der manuellen Installation wird ein User
PERFSTAT mit zusätzlichen Tabellen und Packages angelegt. Die Nutzung ist ähnlich wie bei AWR Reports: Es werden
Snapshots erzeugt und danach können Reports generiert werden.
Folgende Liste gibt einen Überblick über wichtige Statspack Skripte:
- spdoc.txt: Dokumentation der Statspack Technologie
- spcreate.sql: Installation
- spreport.sql: Instance Health Report
- sprepsql.sql: High Load SQL Analyse unter Angabe des Hash Values
Catalog Skripte
- catxdbdbca.sql
- Ändert die Ports für FTP und HTTP im laufenden Betrieb
- Kann als SYS oder XDB user verwendet werden
- catqm.sql
- Erzeugt Tabellen und Views, die für XDB Nutzung nötig sind
- Muss als SYS verwendet werden
- Erfordert mindestens die Eingabe von XDB Passwort, Default Tablespace und TEMP Tablespace
- catnoqm.sql
- Löscht Tabellen und Views, die für XDB Nutzung nötig sind
- Muss als SYS verwendet werden
Skripte für die Nutzung von DBFS
Das Oracle Database Filesystem (auch DBFS) ist eine Technologie ab 11g Release 2, die eine Datenbank basierte
Standardfilesystem-Schnittstelle für Dateien und Directories zur Verfügung stellt. Die Inhalte werden dabei in
Datenbanktabellen gespeichert.
Eine fertige Implementierung, den Oracle Securefile Store, bringt die Datenbank bereits mit. Die PL/SQL-Implementierung ist bereits
vorhanden; mit einem SQL-Skript werden die nötigen Tabellen in einem frei wählbaren Datenbankschema erstellt. Auf
die Dokumente kann anschließend beliebig entweder über die Dateisystem-Sicht oder über die SQL-Sicht zugegriffen werden.
Folgende Skripte werden dazu verwendet.
- dbfs_create_filesystem.sql
- Legt ein Database Filesystem mit Standardparametern in einem Datenbankschema an
- Erfordert die Rolle DBFS_ROLE
- dbfs_create_filesystem_advanced.sql
- Legt ein Database Filesystem mit individuellen Parametern in einem Datenbankschema an
- Ermöglicht die Eingabe von Parametern zur Partitionierung, Komprimierung und Verschlüsselung
- Erfordert die Rolle DBFS_ROLE
- dbfs_drop_filesystem.sql
- Löscht ein Database Filesystem
Mehr zu diesem Thema bzw. zu weiteren Themen rund um die Datenbank lesen Sie in den nächsten Ausgaben ...
Zurück zur Community-Seite
|