A Dockerfile for Oracle and perl

I didn’f find a dockerfile for oracle and perl. So I did one by myself.

Quick Instructions: Create dir; Create Dockerfile (above); create oracle_test.pl (above), download the oracle files.

Build it:

docker build -t perl-oracle .

Run it:

docker run -it --rm perl-oracle

I took http://www.ecliptik.com/Containerizing-a-Perl-Script/ as the base and added the information from here: http://www.aboutmonitoring.com/install-dbd-oracle-perl-modules-in-linux/ . To get the 3 Oracle files, you need an Oracle Account and download manualy and put it in your directory.

Your directory should look like this is:

$ ls
Dockerfile
oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm
oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm
oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm
oracle_test.pl*

with the Dockerfile:

FROM ubuntu:14.04
MAINTAINER Micheal Waltz <ecliptik@gmail.com>
# see http://www.ecliptik.com/Containerizing-a-Perl-Script/

# Dockerfile by Johannes Eiseler 6/2017
# 
# How to build:
# docker build -t perl-oracle .

# How to run:
# docker run -it --rm perl-oracle
# docker run -v /c/Users/myuser/directory/you/like/to/share:/host/directory -it --rm perl-oracle

ENV DEBIAN_FRONTEND=noninteractive LANG=en_US.UTF-8 LC_ALL=C.UTF-8 LANGUAGE=en_US.UTF-8

RUN [ "apt-get", "-q", "update" ]
RUN [ "apt-get", "-qy", "--force-yes", "upgrade" ]
RUN [ "apt-get", "-qy", "--force-yes", "dist-upgrade" ]
RUN [ "apt-get", "install", "-qy", "--force-yes", \
      "perl", \
      "build-essential", \
      "cpanminus" ]
RUN [ "apt-get", "clean" ]
RUN [ "rm", "-rf", "/var/lib/apt/lists/*", "/tmp/*", "/var/tmp/*" ]

#RUN ["cpanm", "Proc::ProcessTable", "Data::Dumper" ]

COPY [ "./oracle_test.pl", "/app/oracle_test.pl" ]
RUN [ "chmod", "+x",  "/app/oracle_test.pl" ]

# now Oracle
# see http://www.aboutmonitoring.com/install-dbd-oracle-perl-modules-in-linux/

COPY [ "./*.rpm", "/app/" ]

WORKDIR /app
RUN ["apt-get", "update"]
RUN ["apt-get", "install", "libaio-dev", "libaio1" ]
RUN ["apt-get", "install", "-qy", "--force-yes", "alien" ]

RUN alien --scripts /app/oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm
RUN alien --scripts /app/oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm
RUN alien --scripts /app/oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm

RUN dpkg -i /app/oracle-instantclient12.2-basic_12.2.0.1.0-2_amd64.deb
RUN dpkg -i /app/oracle-instantclient12.2-devel_12.2.0.1.0-2_amd64.deb
RUN dpkg -i /app/oracle-instantclient12.2-sqlplus_12.2.0.1.0-2_amd64.deb

ENV PATH $PATH:$HOME/bin:/usr/lib/oracle/12.2/client64/bin
ENV LD_LIBRARY_PATH $LD_LIBRARY_PATH:/usr/lib/oracle/12.2/client64/lib
ENV ORACLE_HOME /usr/lib/oracle/12.2/client64/lib
ENV TNS_ADMIN $ORACLE_HOME/network/admin

# now perl oracle
RUN ["apt-get", "install", "-qy", "--force-yes", "libdbi-perl" ]
RUN ["cpan", "DBD::Oracle"]

# if you wan't to use it interactivly comment the next line
ENTRYPOINT [ "/app/oracle_test.pl" ]

And the perl script oracle_test.pl:

#!/usr/bin/perl

use strict;
use DBI;

#Take Env Variable
my $workdir = $ENV{'MYWORKINGDIR'};  #Takes the variables

print "Hello World\n";

#database

my $db = DBI->connect("dbi:Oracle:host=your.database.host;sid=yoursid;port=yourport","youruser/yourpassword", "") || die( $DBI::errstr . "\n" );

$db->{AutoCommit}    = 0;
$db->{RaiseError}    = 1;
$db->{ora_check_sql} = 0;
$db->{RowCacheSize}  = 16;

my $SEL = "SELECT * FROM dual";
my $sth = $db->prepare($SEL);
$sth->execute();
 
while ( my @row = $sth->fetchrow_array() ) {
    foreach (@row) {
        $_ = "\t" if !defined($_);
        print "$_\t";
    }
    print "\n";
}
 
END {
    $db->disconnect if defined($db);
}


print "----- End of perl file ------\n"

Keywords: Dockerfile, Oracle, Perl, Running perl script connect to oracle

Aluminum Bike Phone Holder – short Test

I recently bought Banggood: GUB G-86 CNC Aluminum Alloy Bicycle Bike Phone Holder Handbar…. (Or see below for Amazon). I had 3 rides since I mounted it on my cross bike, and my opinion till now is, that it is the best phone holder, which I ever had. Had a few problems by mounting it on my handle bar, but fixed that after 3 tries (see photo). I own a iPhone 6, having placed it in a case. The claws (don’t forget to use adhesive patches) hold it perfect, and it takes really just a part of the time to fix it than with the other holders before. – I recommend it

 

Wie man den Nivea Sun Kids Schutz und Pflege Roller nachfüllt

Wie man den Nivea Sun Kids Schutz und Pflege Roller nachfüllt.
Das Eincremen von Kindern (und einem selbst) ist eine notwendige Pflicht, die zumindest ich so einfach wie möglich machen will. Letztes Jahr entdeckte ich den Nivea Sonnencrème Roller. Ich war angetan, allerdings nicht vom Preis. Da just einer leer wurde, versuchte ich mich im Nachfüllen, wie schon bei den Seifenspendern. Um es kurz machen: Es war relativ mühsam, da ich zuerst ein Schraubgewinde erwartete. Es ist aber so, dass der “Kopf” auf den Behälter gesteckt ist. Letztendlich ging es folgendermaßen: Flasche in den Schraubstock, etwas Küchenpapier zum Schutz. Dann mit meiner größten Rohrzange den Kopf abziehen. Nachgefüllt habe ich mit der Rossmann Eigenmarke. Ob der Schmierkoeffizient passt und der Roller dicht bleibt, werde ich einem Update berichten.

Update: Von den Kindern heute getestet: “Works like a charm”

Lifehack: Klickfix Minifahrradkorb selbst gemacht (wasserdicht)

OK, OK, es gibt hübschere Fahrradkörbe für das Klickfix System. Aber so praktisch? Verschliesst Handy, Smartphone, Geldbeutel und Schlüssel sicher und regenfest.

Man braucht eine Frischhaltedose, möglichst mit klick-it Verschluß, z.B. Smart lock, lock & lock oder Emsa Clip & Close. Ich habe eine mit 1,5l Volumen und möglichst ebener Seitenfläche benutzt. Natürlich noch einen Klickfix Lenkeradapter, und dann eine Adapterplatte. Die Löcher sind schnell gebohrt und die Adapterplatte schnell befestigt. – Superpraktisch.

C51 4 Bits Electronic Clock from banggood, instructions

The “C51 4 Bits Electronic Clock Electronic Production Suite DIY Kit” from banggood (link: link) is a nice kit and it is pretty forward to assemble it. Just follow the printing on the board. Only thing I did wrong was the resistance cascade. Watch for it, it is important to choose the right direction. Voltage is 3V to 6V.

After it is working you might wonder how you can set it. As the document in dropbox can’t be reached, here are the settings instructions.

Hold S2 briefly to change the display to show minutes and seconds. S1 is the mode switch and S2 is then used to select correct time. Hold S1 down for 2 seconds to set the clock. Set according to the following: A=Hour, B= Minute, C=”Chime” On/Off, D=Alarm 1 On/Off, E=Hour Alarm 1, F=Minute Alarm 1, G=Alarm 2 On/Off, H=Hour Alarm 2, I=Minute Alarm 2

IMG_2067 IMG_2070

Sauna/Schwimmbad Kilt günstig selbermachen

Einen Saunakilt kann man sich günstig und einfach selber machen. Benötigt werden ein Duschhandtuch und Druckknöpfe plus Zange zum selber machen. Aber auch Achtung: Nimmt man seinen Rock mit in die Sauna, und hat Metallknöpfe verwendet, sollte man  aufpassen, die Knöpfe nehmen die Temperatur der Sauna an!  Der Halt ist natürlich nicht so gut wie mit Klett und Gummizug und auch die Größe muss individuell für den Bauch vermessen werden. Ist aber super und auch nicht so auffällig. Dafür besser zum drauf sitzen. Für die Druckknöpfe habe ich das Set von Prym und bin bis auf den umständlichen Werkzeugwechsel zufrieden.

IMG_2055 IMG_2054

 

Wie man die K-fee Aldi Espresso Maschine öffnet

Die Maschine sieht auf den ersten Blick ziemlich undurchdringlich aus, und das ist sie auch. Nicht ganz zu unrecht: Achtung, im Inneren ist so ziemlich alles unter 230V!

OK, jetzt aber der Trick: Die Seitenwände sind zu entfernen. Dazu sind zuerst jeweils 3 Schrauben unten zu lösen. Da diese keinen Ansatz haben, entweder gelingt es mit einer Spitzzange, oder besser gleich zum Dremel greifen und jeweils einen Schlitz reinfräsen. Sind die 3 Schrauben gelöst, vorsichtig die Seitenwand aufhebeln. Ich habe dazu einen kleinen Schlitzscharubenzieher benutzt und bin vorne oben gestartet. Ganz ohne Beschädigung wird es schwierig, aber es geht.

Stichwort: Aldi Kaffeemaschine öffnen Expressi K-fee

Was man beim Kauf eines Stausaugerroboters beachten sollte

Man sollte sich keine Illusion machen: Ohne Aufräumen geht nichts. Kabel und Kleinteile mag so ein Ding nicht. Allerdings hat die Aussicht anderen (dem Roboter) bei der Arbeit zu zu schauen schon so motiviert, dass sie das Arbeiten angefangen haben.

Man sollte so ein Teil nicht spontan kaufen und sich vorher die Kriterien überlegen. Die da wären:

  • Einsatzgebiet (Teppich und/oder glatt)
  • Höhe (passt es unters Sofa? Wenn nicht frustriert das ohne Ende, weil gerade da …)
  • Reinigungsleistung (Tests von Saugkraft und Eckenreinigung; event. Tierhaare)
  • Fernbedienung (braucht man nicht unbedingt, macht aber sehr viel Laune)
  • Extras, z.B. Platz für feuchtes Microfasertuch
  • Braucht man Pylonen zum absperren von Berichen
  • Akku und Ersatzteile: verfügbar und Preis

Bei mir wurde es dieser (Ecovacs Robotics Deebot Slim) und bin bisher sehr zufrieden:

 

Tefal ActiFry YV9601 Test

Ein paar kurze Worte zur Tefal ActiFry YV9601

Als Heißluftfriteuse beworben, hat sich das Teil als erstaunlich universell herausgestellt, und ist klar bei  den gebrauchts Geräten in der Küche.  Es besteht aus einer unteren Schüssel mit Rührarm und einer oberen Ebene die optional benutzt werden kann und mechanisch mit dem Arm verbunden ist, und somit mit dreht. Beheizt wird das ganze mit Heißluft, die aber gerade so heiß ist, dass man auch Olivenöl benutzen kann. Clever.

Beschäftigt man sich etwas damit, sieht man dass man  weit mehr als die obligatorischen Pommes machen kann. Z.B. angefangen beim Brötchen aufbacken. Dies gelingt sehr gut, da durch die Drehbewegung gleichmäßiger als im Herd erhitzt werden kann. Irgendwann kommt man dahinter dass man fast alles was sonst im Herd gemacht wurde auch hiermit, oft sogar besser, schneller und sparsamer zubereitet werden kann. Auch die Zubereitung von Fleisch gelingt.

Alle wichtigen Teile können in die Spülmaschine. Bingo.

Update: Inzwischen wird 80% von dem was sonst im Ofen landet in der Actifry gemacht. Z.b.gehen auch Tiefkühl-Baguettes oder Hamburger Patties super (Beides oben). Notfalls wird das Gut vorher zerkleinert.
Update2: Knapp an einem Verbot vorbei, da süchtig machend, gehen die gebrannten Mandeln. Funktionieren 1a in dem Teil.

4,5 von 5 Punkten. Empfehlung.