Posts

Achtung: force und create view

Unter Oracle 10gR2 lässt sich ein ORA-07445 reproduzierbar erzeugen, indem eine fehlerhafte View (unterschiedliche Zeilen in Header und select) per force erstellt wird. Bsp.: create or replace force view tst (name, vorname, gebdat, ort) as select name, vorname, gebdat from kunden;

ASM-Diskgroups verwalten

Allgemeines Begriffe: Wenn hier von einer Disk auf ASM-Seite die Rede ist, meint dies eine LUN (Logical Unit/Logisches Laufwerk) auf MSA-Seite. ASM kann mehrere Disks zu einer DiskGroup zusammenfassen. Eine Übersicht über den aktuellen Aufbau der ASM-DiskGroups und der aktuellen ASM-Konfiguration bzw. von laufenden Konfigurationsprozessen liefert das Skript asm_group.sh Alle unten aufgeführten SQL-Befehle in sqlplus mit ASM-Umgebung/SID. Neue RAW-Devices in DiskGroups einbinden Vorarbeiten - Zum Einbinden der neuen RAW-Devices auf OS-Ebene siehe: http://frankschmidt.blogspot.com/2006/04/asm-mit-raw-devices-unter-linux.html Bekannte RAW-Devices anzeigen: column path format a15; select name, path, group_number from v$asm_disk; Neues RAW-Device zu Diskgroup hinzufügen: alter diskgroup DATA add disk '/dev/raw/raw5' rebalance power 11; Power 0 - 11, 11 ist maximale Rebalance-Geschwindigkeit; 0 bitte nicht benutzen. Nach Absetzen des Befehls kehrt gleich der sqlplus-Prompt zurück, di...

Ungenutzte Indizes finden

siehe Link: http://www.dba-oracle.com/oracle_tips_unused_indexes.htm

Apex: BLOB direkt im Report anzeigen (alter Weg)

Um direkt im Report ein Bild (als BLOB in der Tabelle gespeichert) anzuzeigen sind folgende Schritte nötig: 1) Tabelle mit Blob-Spalte bauen: CREATE TABLE UV_VERZEICHNIS ( VERID NUMBER(14) NOT NULL, PNR NUMBER(8), VNAME VARCHAR2(100 CHAR), NNAME VARCHAR2(100 CHAR), BLOB_ID NUMBER, BLOB_CONTENT BLOB, BLOB_FILENAME VARCHAR2(4000 CHAR), MIME_TYPE VARCHAR2(4000 CHAR), CONSTRAINT UV_VERZEICHNIS_PK PRIMARY KEY (VERID) ); 2) PL-Proc zum Anzeigen des BLOB schreiben: CREATE OR REPLACE procedure UNTERSCHRIFTEN.uv_blob_download -- Purpose : Anzeige einer BLOB-Bild-Datei (p_file in number) as v_mime varchar2(255); v_length number; v_file_name varchar2(2000); Lob_loc BLOB; BEGIN select mime_type, blob_content, substr(blob_filename, instr(blob_filename, '/') +1) ,dbms_lob.getlength(blob_content) into v_mime,lob_loc,v_file_name,v_length from uv_verzeichnis where blob_id = p_file; -- -- set up HTTP header -- -- use an NVL around the mime type and -- if it is a null set it to application/octect...

Tabellen / Indizes in anderen Tablespace umziehen

Umzug von Objekten in anderen TS - Update 21.07.2020 - Um für Wartungsarbeiten einen TS „leer“ zu räumen, sind bisweilen alle Objekte aus diesem TS in einen anderen TS umzuziehen. Manuell ist das sehr mühsam – schneller geht’s mit dynamischem SQL: a) Per SQL eine Liste von SQL-Befehlen erzeugen b) Diese Liste am Block ausführen 1) Der einfache Fall: Grundsätzlicher Umzugsbefehl: alter table move tablespace ; alter index rebuild tablespace ; Wichtig: zuerst Umzug der Tabellen, dann Umzug der Indizes! select 'alter table 'owner'.'table_name' move tablespace ;' from dba_tables where TABLESPACE_NAME = 'Y' select 'alter index 'owner'.'index_name' rebuild tablespace ;' from dba_indexes where TABLESPACE_NAME = 'Y' 2) Tabellen mit LOB-Spalten: Syntax: ALTER TABLE foo MOVE LOB(lobcol) STORE AS (TABLESPACE new_tbsp); /* Bsp.:ALTER TABLE mupsys.INQUIRY MOVE LOB(DESCRIPTION) STORE AS ( TABLESPACE MUPSYS ENABLE STO...

back online

Nach 9 Monaten Projektarbeit auf C-Level geht's ab nächstem Jahr wieder an neue alte Aufgaben. In diesem Sinne: Allen ein erfolgreiches Jahr 2008!

Kalenderwoche (KW) aus Datum bestimmen

ungeprüft mal übernommen: Lt. ISO/DIN liegt der 4. Jan IMMER in KW01 eines Jahres. Anhand dieses Musters sollten sich alle Kalenderwochen ableiten lassen. Wenn 04.Jan ein Montag -> dann 03.Jan in KW 53 Wenn 04.Jan ein Sonntag -> dann ist der 29.12. ein Montag und gehört bereits zur KW 01.