Test-Drive: Quest - LiteSpeed Engine for Oracle -- 03. Feb 2009 @ 14:25
Die Firma Quest hat vor wenigen Tagen die Software LiteSpeed Engine for Oracle veröffentlicht. Hierbei handelt es sich um eine RMAN Erweiterung. Die LiteSpeed Engine bietet vorallem Kompremierung von Backup-Pieces und Verschlüsselung. Die nachfolgenden Zeilen geben einen Überblick zu Installation und Konfiguration.
Schritt 1 - Download
Eine Test-Version (30 Tage Laufzeit) kann von der Quest-Homepage nach einer Registierung heruntergeladen werden.
Schritt 2 - Installation
Um die Software installieren zu können, benötigt man das Package sharutils (Shell Archive Utilities). Beim verwendeten Fedora 9 war dieses Package noch nicht intalliert.
# rpm -q sharutils sharutils-4.6.3-2.fc9.x86_64 # yum install sharutils
Anschließend kann die Quest-Software selbst installiert werden, die Installation erfolgt als Oracle-User nicht als root! Die üblichen Oracle Umgebungs-Variablen ($ORACLE_HOME) müssen passend gesetzt sein.
$ bash LiteSpeedEngineforOracle_110168.sh install
Die Software wird direkt ins entsprechende ORACLE_HOME unter $ORACLE_HOME/Quest/LEO installiert.
Schritt 3 - RMAN Konfiguration
Damit die LiteSpeed Engine richtig mit RMAN zusammenarbeitet muss sie im RMAN entsprechend konfiguriert werden:
$ rman RMAN> connect target / RMAN> CONFIGURE CHANNEL DEVICE TYPE sbt PARMS='SBT_LIBRARY=/opt/oracle/ora10g/Quest/LEO/libleo64.so';
Schritt 4 - Backup durchführen
Ein Backup könnte dann wie folgt durchgeführt werden:
RMAN> backup device type sbt database format='leo://level=4://tmp/backup_%U.leo';
Die LiteSpeed Engine verfügt mit leo auch über ein Kommandozeilen-Werkzeug, hiermit lassen sich z.B. Informationen über kompremierte Backup-Pieces anzeigen:
$ leo stat backup_2nk8dgql_1_1.leo /tmp/backup_2nk8dgql_1_1.leo Raw size (bytes) 597164032 Compressed size (bytes) 115510927 Compression ratio 80.66% Compression level 4 Encryption type None Start time Fri 27 Feb 2009 10:47:49 AM CET End time Fri 27 Feb 2009 10:48:27 AM CET Real time (sec) 37.68 User CPU time (sec) 17.21 System CPU time (sec) 0.66 Written by LEO version 1.1.0.168 Method RMAN DBNAME B08 DBID 229074788 Filetype Datafile
Oracle Database Control - User Defined Metrics -- 29. Jan 2009 @ 16:00
Die Web-Oberfläche Database Control zur Verwaltung einer Oracle Datenbank Instanz bietet die Möglichkeit eigene benutzerdefinierte Metriken (UDM - User Defined Metrics) anzulegen. Möchte man eine Reihe von eigenen Metriken in verschiedenen Instanzen verwalten, wird dies über die Web-Oberfläche schnell mühsam.
In diesem Fall bietet es sich an, die von der Web-Oberfläche im Hintergrund erzeugte XML-Datei selbst zu editieren. Die XML-Datei befindet sich im Pfad $ORACLE_HOME/INSTANZNAME/sysman/emd/collection und nennt sich oracle_database_ORACLESID.xml.
Wird die XML-Datei von Hand editiert ist besonders darauf zu achten das die Struktur der Datei erhalten bleibt. Als Beispiel für einen entsprechenden Eintrag wird die Anzahl Zeilen der Tabelle EMP stündlich ermittelt, die Warn-Schwelle liegt bei einem Wert von 10:
<!-- this file is generated by collector -->
<targetcollection TYPE="oracle_database" NAME="B05">
...
<CollectionItem NAME="BLOG_TEST">
<Schedule>
<IntervalSchedule INTERVAL="1" TIME_UNIT="Hr"/>
</Schedule>
<MetricColl NAME="SQLUDM">
<Condition COLUMN_NAME="NumValue" WARNING="10" MESSAGE="%Message%">
<KeyColumn COLUMN_NAME="ID">BLOG_TEST</KeyColumn>
</Condition>
<ItemProperty NAME="ID">BLOG_TEST</ItemProperty>
<ItemProperty NAME="sqlstmt">select count(*) from scott.emp</ItemProperty>
<ItemProperty NAME="UserName">system</ItemProperty>
<ItemProperty NAME="password" ENCRYPTED="TRUE">de3503b8b5736253</ItemProperty>
<ItemProperty NAME="valuetype">NUMBER</ItemProperty>
</MetricColl>
</CollectionItem>
</TargetCollection>
Werden in einem Unternehmen viele Datenbank Instanzen auf unterschiedlichen Server eingesetzt, empfiehlt sich der Einsatz von Oracle Grid Control als großer Bruder zu Database Control. Hier lassen sich beliebigviele Oralce Instanzen zentral verwalten.
Oracle DataPump via PL/SQL - DBMS_DATAPUMP -- 15. Jan 2009 @ 10:32
Oracle DataPump hat sich bei vielen Anwendern aufgrund seiner Vorteile als Import/Export-Werkzeug durchgesetzt. Neben den Werkzeugen impdp und expdp lässt sich die DataPump auch via PL/SQL steuern. Hierzu dient das Package DBMS_DATAPUMP. Die Verwendung für einen Schema-Export zeigt folgendes Beispiel:
DECLARE
v_DPHandle_n NUMBER;
v_TimeStamp_vc VARCHAR2(15);
v_JobName_vc VARCHAR2(30);
v_DumpFilename_vc VARCHAR2(50);
v_LogFilename_vc VARCHAR2(50);
v_JobStatus_vc VARCHAR2(50);
v_SchemaName_vc VARCHAR2(8) := 'SCOTT';
-- dieses Oracle-Verzeichnis muss evtl. vorher angelegt werden
--
-- CREATE OR REPLACE DIRECTORY DPUMP_TEST_DIR AS '/tmp';
--
-- evtl. muessen auch Schreib-/Lese-Rechte gesetzt werden
--
-- GRANT READ, WRITE ON DIRECTORY DPUMP_TEST_DIR TO orauser;
--
v_DumpDir_vc VARCHAR2(20) := 'DPUMP_TEST_DIR';
BEGIN
v_TimeStamp_vc := TO_CHAR(sysdate, 'YYYYMMDD-HH24MISS');
v_JobName_vc := v_TimeStamp_vc || '_' || v_SchemaName_vc;
-- wichtig ist der Platzhalter %U, je nach Parallelitaet werden so
-- mehrere Dump-Files erzeugt
v_DumpFilename_vc := v_SchemaName_vc || '_' || v_TimeStamp_vc || '_%U.dmp';
v_LogFilename_vc := v_SchemaName_vc || '_' || v_TimeStamp_vc || '.log';
-- Datapump-Job oeffnen
v_DPHandle_n := DBMS_DATAPUMP.open(
operation => 'EXPORT',
job_mode => 'SCHEMA',
job_name => v_JobName_vc
);
-- Dump-File fuer den Job definieren
DBMS_DATAPUMP.add_file(
handle => v_DPHandle_n,
filename => v_DumpFilename_vc,
directory => v_DumpDir_vc
);
-- Log-File definieren
DBMS_DATAPUMP.add_file(
handle => v_DPHandle_n,
filename => v_LogFilename_vc,
directory => v_DumpDir_vc,
filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE
);
-- welches Schema soll exportiert werden?
DBMS_DATAPUMP.metadata_filter(
handle => v_DPHandle_n,
name => 'SCHEMA_EXPR',
value => '= ''' || v_SchemaName_vc || ''''
);
-- Parallelitaet auf 4 setzen
DBMS_DATAPUMP.SET_PARALLEL(
handle => v_DPHandle_n,
degree => 4
);
-- eigene Eintraege im Log-File sind moeglich
DBMS_DATAPUMP.LOG_ENTRY(
handle => v_DPHandle_n,
message => '---> Schema Export via PL/SQL'
);
-- Job starten
DBMS_DATAPUMP.start_job(v_DPHandle_n);
-- auf das Job Ende wird normalerweise nicht gewartet
-- mit WAIT_FOR_JOB laesst sich dies aber bei Bedarf
-- realisieren
DBMS_DATAPUMP.WAIT_FOR_JOB(
handle => v_DPHandle_n,
job_state => v_JobStatus_vc
);
END;
/
Ein allgemeiner Hinweis zu Oracle DataPump:
DataPump-Prozesse laufen immer auf dem Oracle-Server!
Dies hat in der Praxis folgende Auswirkungen:
- Der Betriebssystem-Benutzer, dem die Oracle-Server Prozesse zugeordnet sind, braucht Schreib-Rechte auf dem gewünschten Export-Verzeichnis (läuft die Datenbank-Instanz als Windows-Dienst und dem Benutzer LocalSystem ist kein Schreiben auf Netzwerk-Shares möglich, da dieser Benutzer keine Netzwerk-Shares sieht)
- Es gibt keinen Client-/Server-Modus (z.B. Export eines Schemas von einem entfernten Oracle Server über einen lokalen Oracle Client)
Weihnachtsgrüße 2008 -- 23. Dec 2008 @ 11:40
Mit 2008 geht ein weiteres erfolgreiches Jahr zu Ende. Dafür möchten wir uns bei allen Kunden und Partnern bedanken und wünschen frohe Weihnachten und einen guten Start ins Neue Jahr.
Dieses Jahr lagen unsere Arbeitsschwerpunkte in den Bereichen:
- Oracle Backup&Recovery
- Oracle Performance / SQL-Tuning
- Oracle Datenbankentwicklung mit PL/SQL und Pro*C
Trotz Finanzkrise blicken wir sehr optimistisch in das Jahr 2009 und planen bereits einige interessante Neuerungen.
Using Mozilla Weave -- 30. Jul 2008 @ 12:30
Notebooks are usefull things, you can take them with you and your office is where ever you are. I am currently switching to a new notebook and that is sometimes a little bit painful. It takes days to get all software and settings to work as it was on the old one. You know what I mean?
Over the last years I started to use IMAP for mails and subversion for code and other snippets to put most of the things I need to a central server. But I have found no solution for bookmarks and stuff like that. Yea, I know, there are several online services where you can store bookmarks and share them with other people. For security reasons I want to store my bookmarks on my own servers.

For that purpose Mozilla Weave is exactly what I am looking for! It is a Mozilla Firefox Plugin and stores bookmarks, browsing history or saved passwords on an WebDAV Server. Mozilla also provides an public WebDAV service and currently they have reached their account limit and do not allow new registrations. But if you are going to use your own WebDAV server you can still download the XPI package from that location.
I configured Apache as a WebDAV server like that:
Alias /webdav/ "/var/www/webdav/" <directory /var/www/webdav> DAV on AuthType Basic AuthName "WebDAV Storage" AuthUserFile /etc/httpd/passwd/passwd.dav require user frank Options Indexes </Directory>
After installing the weave plugin you have to change the settings of the WebDAV server to use:
