Housekeeping -2

Ähnliche Dokumente
Funktion definieren Gibt Summe der Gehälter zurück. Aufruf in einem SQL-Statement

SQL and PL/SQL unleashed. Neuheiten bei Oracle 11g und Oracle 12c im Bereich SQL und PL/SQL

Prozedurale Datenbank- Anwendungsprogrammierung

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und combit GmbH Untere Laube Konstanz

Hochschule Karlsruhe Technik und Wirtschaft Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

TOP 10 Monitoring SQL Befehle

Entwicklungsumgebung für die Laborübung

Transaktionen in der Praxis. Dr. Karsten Tolle

Datenbanksysteme. Dominic Pacher. Datenbanken und Informationssysteme (DBIS) Institut für Informatik Universität Innsbruck. dbis-informatik.uibk.ac.

Übungsblatt 8- Lösungsvorschlag

Oracle und LDAP. Zugriff auf LDAP-Daten aus einer Oracle-DB. Martin Busik

Oracle 12c: Neuerungen in PL/SQL. Roman Pyro DOAG 2014 Konferenz

IT-Symposium

Struktur von PL/SQL. Oracle PL/SQL Die Programmiersprache von Oracle. Ein Beispiel. Bildschirmausgabe. Using Oracle PL/SQL.

Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel

Extracting Business Rules from PL/SQL-Code

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Kuriositäten in der Oracle-Datenbank

Labor 3 - Datenbank mit MySQL

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli MySQL-Job-Automation

Christine Hansen, Fabrizio Fresco, Patrick Malcherek

Dipl. Inf. Eric Winter. PostgreSQLals HugeData Storage Ein Erfahrungsbericht

Objektrelationale, erweiterbare Datenbanken WS 04/05

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum:

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #6. SQL (Teil 4)

SQL structured query language

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012

Geschäftslogik in der Datenbank

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

NoSQL mit Postgres 15. Juni 2015

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS XMLType. Christian Senger/Andreas Schmidt XMLType 1/32

Fortgeschrittene SQL-Techniken für APEX-Formulare und Reports

Einführung in PL/SQL

10.6 Programmier-Exits für Workitems

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS Metadaten

Advanced Queues und XML-DB Integration von Oracle in einer SOA mit Hilfe von asynchroner Kommunikation und XML-Verarbeitung

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Kostenlos aber effektiv: Performanceanalyse mit Statspack und SQL* Benedikt Nahlovsky. Performing Databases GmbH Mitterteich

WIE KANN ICH ACCESS XML FÄHIGKEITEN UNABHÄNGIG VON DER VERSION BEIBRINGEN?

Aktuelle Entwicklungen

Datenbankadministration

Update für Entwickler

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

PostgreSQL unter Debian Linux

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

Datenbanken: Prozedurales SQL

DB1 Abgabe Umsetzung der Callcenter Datenbank nach SQL von Daniel Häfliger, Dominik Süsstrunk und Reto Brühwiler

Installation MySQL Replikationsserver

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS noch einmal. XQuery... Andreas Schmidt Oracle XQuery 1/12

Portierung einer DB2/VM-Datenbank nach DB2 unter zlinux 4 Jahre später - Wie würde ich heute vorgehen?

Best of Oracle Security 2006

Geschäftslogik in die Datenbank Umstellung eines Kernbanksystems

SQL-Befehlsliste. Vereinbarung über die Schreibweise

IT-Symposium Ralf Durben. Business Unit Datenbank. ORACLE Deutschland GmbH. 1

Tapischnittstelle zum Telefon x Anbindung an den PC Zugangsdaten im CRM. Terminkalender Outlook Schnittstelle einrichten gleiche Warenwirtschaft ERP

3.17 Zugriffskontrolle

PL/pgSQL. VU Datenbanksysteme. Reinhard Pichler

Beispiel 1: Filmdatenbank

Roland Tilgner. Solution Architects & Team Coaching DEVELOPMENT. ORACLE TEXT AUS PL/SQL-SICHT Features und Möglichkeiten

Art der Info: Technische Background Info Teil 3 (April 2002)

sm-client Projekt Aktualisierungsinstruktionen von R2.x auf R3.0 Finale Version SSK / BSV eahv/iv

6. Datenintegrität. Integritätsbedingungen

Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis

Objektrelationale und erweiterbare Datenbanksysteme

IV. Datenbankmanagement

Oracle: Abstrakte Datentypen:

Multimedia im Netz. Übung zur Vorlesung. Ludwig-Maximilians-Universität Wintersemester 2010/2011

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Views in SQL. 2 Anlegen und Verwenden von Views 2

Performance Tuning

SQL-Vertiefung. VU Datenbanksysteme. Reinhard Pichler

Datenbanksysteme I Datenbankprogrammierung Felix Naumann

MySQL Cluster und MySQL Proxy

Zeitlich abhängig von OWB?

PostgreSQL Wartungsstrategien

Modul 122 VBA Scribt.docx

Andrea Held. Motivation ILM: Definition und Strategien Lösungen für Oracle Datenbanken. Empfehlungen

Update für Entwickler

Oracle 10g Flashback. Andrea Held

Einleitung. SPFILE und INIT.ORA. Umgang mit SPFILE und INIT.ORA. Petra Knöbl

Unterabfragen (Subqueries)

Fortgeschrittene SQL-Techniken für APEX-Formulare und -Reports

UEB. Übungen zum Seminar 4053

Themen des Kapitels. 2 Grundlagen von PL/SQL. PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren. 2.1 Übersicht. Grundelemente von PL/SQL.

Referentielle Integrität

Cassandra Query Language (CQL)

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Einrichten der TSM-Backup-Software unter dem Betriebssystem Ubuntu

Automatisierte Datenmigration mit dynamischen SQL

In Tabelle 2.1 sehen Sie das Ergebnis beider Ausführungen auf meiner Maschine.

Einrichten der TSM-Backup-Software unter dem Betriebssystem Ubuntu/Debian

Datumsangaben, enthält mindestens Jahr, Monat, Tag

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel Michael Kluge (michael.kluge@tu-dresden.

Kapitel 3 Datenintegrität

Transkript:

Housekeeping -1

Housekeeping -2

Housekeeping -3

Housekeeping -4

Housekeeping -5

Housekeeping -6

Weitere Ordner unter $ORA_CRS_HOME/log/crs: log : Verzeichnis für CRS Resourcen die dazukommen, neu gestartet werden, oder herausgenommen werden init: Core Dumps Housekeeping -7

Housekeeping -8

Stichwörter: Aufräumen im Dateisystem Housekeeping -9

Stichwörter: Aufräumen im Dateisystem Housekeeping -10

Das ganze als Datenbank-Job: DECLARE oracle_home VARCHAR2(256); diag_path VARCHAR2(256); minutes NUMBER:=0; PROCEDURE adrci_job( job_name IN VARCHAR2, cmd IN VARCHAR2) IS BEGIN dbms_scheduler.create_job( job_name => job_name, job_type => 'EXECUTABLE', job_action => oracle_home '\adrci.exe ', start_date => SYSTIMESTAMP, auto_drop => TRUE, enabled => TRUE); COMMIT; END; BEGIN dbms_system.get_env('oracle_home',oracle_home); SELECT replace(substr(value,instr(value,'diag')+5),'\','\\') INTO diag_path FROM v$diag_info WHERE name='adr Home'; adrci_job('adrci_job1','exec="set homepath ' diag_path '; purge -age ' minutes ' -type trace"'); adrci_job('adrci_job2','exec="set homepath ' diag_path '; purge -age ' minutes ' -type incident"'); -- Derzeit funktioniert alle Werte >0 nicht (20.2.2010) adrci_job('adrci_job3','exec="set homepath ' diag_path '; purge -age ' minutes ' -type alert"'); END; / Stichwörter: Aufräumen im Dateisystem Housekeeping -11

Housekeeping -12

Hinweis: Ein SELECT liefert die Speicherdauer für die verschiedenen Homes: SELECT adr_home,shortp_policy,longp_policy FROM V$DIAG_ADR_CONTROL; Housekeeping -13

'####################################################### ' ### VBA Routine zum Löschen von Trace-Dateien ' ### Geschrieben von Marco Patzwahl, MuniQSoft GmbH ' ### (c) 2005 und 2006 Version 1.0 ' ### Aufrufsyntax: del_trac.vbs <pfad> <tage> ' ### Löscht alle Trace-Dateien im Ordner <pfad> ' ### die aelter als <tage> sind ' ### Beispiel: del_trace.vbs D:\oracle\admin\o10g\udump 21 Dim ofso Set ofso = Createobject("Scripting.FileSystemObject") Dim ostartfolder Dim ofolder Dim ofile Dim dkilldate Dim dkilldays Set Args = WScript.Arguments sstartfolder=args(0) dkilldays=args(1) 'Const STARTDIR = "D:\oracle\admin\o10g\udump" 'Const KILLDATE = "21" dkilldate = CDate(Now() - CInt(dKillDays)) Set ostartfolder = ofso.getfolder(sstartfolder) For Each ofile In ostartfolder.files If ofile.datecreated < DKillDate and Mid(oFile.name,Len(oFile.name)- 3) = ".trc" Then ofile.delete True End If Next Stichwörter: Aufräumen im Dateisystem Housekeeping -14

Stichwörter: Aufräumen im Dateisystem Housekeeping -15

CREATE OR REPLACE TYPE ms_file_type AS OBJECT (path VARCHAR2(512),file_name VARCHAR2(256),fsize NUMBER,ftype VARCHAR2(32)); / CREATE OR REPLACE TYPE ms_file_tab_type AS TABLE OF ms_file_type; / CREATE OR REPLACE FUNCTION ms_file_check(f_path IN VARCHAR2) RETURN ms_file_tab_type PIPELINED IS PRAGMA AUTONOMOUS_TRANSACTION; v_file_t ms_file_tab_type:=ms_file_tab_type(ms_file_type(null,null,null,null)); ns VARCHAR2(1024); v_dir VARCHAR2(1024):=f_path; v_file UTL_FILE.FILE_TYPE; v_exists BOOLEAN; v_len NUMBER:=1; v_bs NUMBER; v_os_sl CHAR(1):='/'; BEGIN IF instr(v_dir,v_os_sl)=0 THEN -- Betriebssystem prüfen (UNIX/Win) v_os_sl:='\'; --'Slash wechseln END IF; DBMS_BACKUP_RESTORE.SEARCHFILES(v_dir, ns); -- Verzeichnis incl Unterordner einlesen FOR r IN ( SELECT fname_krbmsft AS name FROM x$krbmsft) LOOP -- Temporäres Directory anlegen für utl_file EXECUTE IMMEDIATE 'CREATE OR REPLACE DIRECTORY ORA_TMP_DIR AS ''' substr(r.name,1,instr(r.name,v_os_sl,-1)-1) ''''; v_file := UTL_FILE.FOPEN('ORA_TMP_DIR', r.name, 'r'); -- Größe der Datei einlesen UTL_FILE.FGETATTR('ORA_TMP_DIR', r.name, v_exists, v_len, v_bs); v_file_t(1).path:=substr(r.name,1,instr(r.name,v_os_sl,-1)-1); v_file_t(1).file_name:=substr(r.name,instr(r.name,v_os_sl,-1)+1); v_file_t(1).fsize:=v_len; IF instr(v_file_t(1).file_name,'.')>0 THEN v_file_t(1).ftype:=substr(v_file_t(1).file_name,instr(v_file_t(1).file_name,'.')+1,32); ELSE v_file_t(1).ftype:=null; END IF; PIPE ROW (v_file_t(1)) ; UTL_FILE.FCLOSE(v_file); END LOOP; EXECUTE IMMEDIATE 'DROP DIRECTORY ORA_TMP_DIR'; END; / SELECT * FROM table(ms_file_check('d:\oracle\diag\rdbms\o112\o112\trace')) order by fsize desc SELECT * FROM table(ms_file_check('d:\oracle\diag\rdbms\o112\o112')) where ftype in ('trc','trm','log') order by fsize desc Housekeeping -16

Housekeeping -17

Housekeeping -18

Stichwörter: Enterprise Manager Housekeeping -19

Stichwörter: Enterprise Manager Housekeeping -20

Stichwörter: Installations-Logs Housekeeping -21

Housekeeping -22

Housekeeping -23

Housekeeping -24

Housekeeping -25

Stichwörter: Audits Housekeeping -26

Weiteres Beispiel: Alle 48 Stunden Purge Job Starten: DECLARE att NUMBER := dbms_audit_mgmt.audit_trail_all; pje NUMBER := dbms_audit_mgmt.purge_job_enable; BEGIN dbms_audit_mgmt.create_purge_job( audit_trail_type=>att, audit_trail_purge_interval=>48, audit_trail_purge_name=>'audit_purge', use_last_arch_timestamp => TRUE); --dbms_audit_mgmt.set_purge_job_interval('audit_purge', 7*24); dbms_audit_mgmt.set_purge_job_status('audit_purge', pje); dbms_audit_mgmt.drop_purge_job('audit_purge'); END; / Stichwörter: Audits Housekeeping -27

Housekeeping -28

Housekeeping -29

Stichwörter: Scheduler Logs Housekeeping -30

Stichwörter: Scheduler Logs Housekeeping -31

Hinweis: Sie können die Speicherdauer wieder kontrollieren durch: SELECT retention FROM dba_hist_wr_control; Housekeeping -32

Hinweis: Sie können auch die Lebensdauer des Tasks manuell einstellen (hier 3 Tage): BEGIN DBMS_ADVISOR.SET_TASK_PARAMETER ( task_name =>'MY_TASK', parameter =>' DAYS_TO_EXPIRE', value=>3); END; / Housekeeping -33

Housekeeping -34

REM Statspack komplett aufräumen (Löschen) DECLARE t_n VARCHAR2(30); BEGIN FOR r IN (select table_name FROM dba_tables WHERE owner='perfstat' AND table_name NOT IN ('STATS$IDLE_EVENT','STATS$LEVEL_DESCRIPTION','STATS$STATSPACK_PARA METER', 'STATS$DATABASE_INSTANCE','STATS$SNAPSHOT','STATS$TEMP_SQLSTATS')) LOOP BEGIN t_n:=r.table_name; EXECUTE IMMEDIATE 'TRUNCATE TABLE perfstat.' t_n ' DROP STORAGE'; EXECUTE IMMEDIATE 'ALTER TABLE perfstat.' t_n ' ENABLE ROW MOVEMENT'; EXECUTE IMMEDIATE 'ALTER TABLE perfstat.' t_n ' SHRINK SPACE'; EXCEPTION WHEN OTHERS THEN dbms_output.put_line(' Fehler bei Reorg in Tabelle:' t_n ':' sqlerrm); END; END LOOP; DELETE FROM STATS$SNAPSHOT; DELETE FROM STATS$DATABASE_INSTANCE; COMMIT; END; Stichwörter: Statspack Housekeeping -35

Hinweis: Sie können natürlich auch Snapshots aus einem bestimmten Bereich löschen: Snapshots manuell löschen. Hier im Beispiel von 22-32 BEGIN DBMS_WORKLOAD_REPOSITORY.drop_snapshot_range ( low_snap_id => 22, high_snap_id => 32); END; / Stichwörter: Snapshots Housekeeping -36

Beispiel-Select: SELECT distinct ref_owner_1 '.' ref_name_1,ref_type_1,ref_owner_2 '.' nam e_2 '(' type_1 ')',ref_name_2,ref_type_2 FROM ( select owner owner_1,name name_1,type type_1,referenced_owner ref_owner_1,referenced_name ref_name_1,referenced_type ref_type_1 from dba_dependencies where owner='scott' and referenced_type='table' and type='trigger' order by 1,2) t1 FULL OUTER JOIN ( select owner owner_2,name name_2,type type_2,referenced_owner ref_owner_2,referenced_name ref_name_2,referenced_type ref_type_2 from dba_dependencies where owner='scott' and referenced_type='table' and type='trigger' order by 1,2) t2 ON (owner_1=owner_2 and name_1=name_2) where ref_owner_1 ref_name_1<>ref_owner_2 ref_name_2 order by 1,2; Housekeeping -37

Housekeeping -38

Housekeeping -39

Housekeeping -40

Housekeeping -41