{"id":9609,"date":"2018-04-26T12:17:31","date_gmt":"2018-04-26T10:17:31","guid":{"rendered":"http:\/\/www.b.shuttle.de\/hayek\/hayek\/jochen\/wp\/blog-en\/?p=9609"},"modified":"2018-04-26T12:17:31","modified_gmt":"2018-04-26T10:17:31","slug":"perls-dbdoracle-vs-debian","status":"publish","type":"post","link":"https:\/\/wp.jochen.hayek.name\/blog-en\/2018\/04\/26\/perls-dbdoracle-vs-debian\/","title":{"rendered":"Perl&#8217;s DBD::Oracle vs Debian"},"content":{"rendered":"<ul>\n<li><a href=\"https:\/\/metacpan.org\/pod\/DBD::Oracle\">https:\/\/metacpan.org\/pod\/DBD::Oracle<\/a><\/li>\n<li><a href=\"https:\/\/metacpan.org\/release\/DBD-Oracle\">https:\/\/metacpan.org\/release\/DBD-Oracle<\/a><\/li>\n<\/ul>\n<p>For accessing an Oracle DB server from a client computer (w\/o its own Oracle DB server installation) you need &#8220;<em>Oracle Instant Client<\/em>&#8221; (a set of packages of installables for various computer architectures, supplied by Oracle for free):<\/p>\n<ul>\n<li><a href=\"http:\/\/www.oracle.com\/technetwork\/database\/database-technologies\/instant-client\/\">http:\/\/www.oracle.com\/technetwork\/database\/database-technologies\/instant-client\/<\/a><\/li>\n<\/ul>\n<p>You won&#8217;t find <em>Oracle Instant Client<\/em> for Debian (outside your organisation or company), but &#8230;:<\/p>\n<ul>\n<li><a href=\"http:\/\/Jochen.Hayek.name\/wp\/blog-en\/2018\/04\/23\/oracle-instant-client-vs-debian\/\">http:\/\/Jochen.Hayek.name\/wp\/blog-en\/2018\/04\/23\/oracle-instant-client-vs-debian\/<\/a><\/li>\n<\/ul>\n<p>I.e. before installing DBD::Oracle these components of Oracle Instant Client must already be installed:<\/p>\n<ul>\n<li><em>basic <\/em>resp. <em>basiclite<\/em><\/li>\n<li><em>devel<\/em><\/li>\n<li><em>sqlplus<\/em><\/li>\n<\/ul>\n<p>How to install DBD::Oracle?<\/p>\n<ol>\n<li>the &#8220;<em>CPAN way<\/em>&#8221; using a C compiler (gcc) etc<\/li>\n<li>as a readymade OS (i.e. Debian) package<\/li>\n<\/ol>\n<p>Of course there are organisational reasons, that enforce the installation as readymade OS package.<\/p>\n<p>DBD::Oracle for Debian is named <em>libdbd-oracle-perl<\/em>, here you find for which Debian version it is available and a lot more details:<\/p>\n<ul>\n<li><a href=\"https:\/\/tracker.debian.org\/pkg\/libdbd-oracle-perl\">https:\/\/tracker.debian.org\/pkg\/libdbd-oracle-perl<\/a><\/li>\n<\/ul>\n<p>If you are using a version of Debian like Jessie, that is not listed there, i.e. your version of Debian is not supported, you may want to create your own <em>libdbd-oracle-perl<\/em> through <em>backporting<\/em> the Debian <span style=\"text-decoration: underline\">Sid<\/span> &#8220;source package components&#8221;.<\/p>\n<p>This certainly involves using a C compiler (gcc) etc, but it in the end it creates a Debian package, that you can distribute within your organisation (resp. company).<\/p>\n<p>How to retrieve the source package?<\/p>\n<p>Retrieving the source package, the &#8220;<em>dget<\/em>&#8221; approach (<strong>preferred<\/strong>): go to the <em>versioned links<\/em> section, choose the <em>.dsc<\/em> link for the latest version, use dget on it, as suggested by the hint popping up, while you hover over the <em>.dsc<\/em> link.<\/p>\n<p>Retrieving the source package, the &#8220;<em>if using dget failed<\/em>&#8221; approach: go to the <em>general \/ source<\/em> link:<\/p>\n<ul>\n<li><a href=\"https:\/\/packages.debian.org\/src:libdbd-oracle-perl\">https:\/\/packages.debian.org\/src:libdbd-oracle-perl<\/a><\/li>\n<\/ul>\n<p>Choose the <span style=\"text-decoration: underline\">sid<\/span> link:<\/p>\n<ul>\n<li><a href=\"https:\/\/packages.debian.org\/source\/sid\/libdbd-oracle-perl\">https:\/\/packages.debian.org\/source\/sid\/libdbd-oracle-perl<\/a><\/li>\n<\/ul>\n<p>Download the 3 files listed there:<\/p>\n<ul>\n<li><code>*.dsc<\/code><\/li>\n<li><code>*.orig.tar.*<\/code><\/li>\n<li><code>*.debian.tar.*<\/code><\/li>\n<\/ul>\n<p>Run this command line on the .dsc file downloaded right before:<\/p>\n<p><code>$ dpkg-source --extract libdbd-oracle-perl_VERSION.dsc<\/code><\/p>\n<p>This created a source tree.<\/p>\n<p>You will now adapt the source tree to your needs (if necessary). Maybe <code>dpkg-buildpackage<\/code> will make you return to this phase.<\/p>\n<p>Quite possibly you can now just run the next step within that source tree:<\/p>\n<p><code>$ dpkg-buildpackage --build=any,all --unsigned-source --unsigned-changes<\/code><\/p>\n<p>resp.:<\/p>\n<p><code>$ dpkg-buildpackage -b -us -uc<\/code><\/p>\n<p>Congratulations, you created your own <code>libdbd-oracle-perl_*.deb<\/code>.<\/p>\n<ul>\n<li><em>a Debianized Perl CPAN package: backporting from Debian Sid<\/em> (a related article of mine)<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>https:\/\/metacpan.org\/pod\/DBD::Oracle https:\/\/metacpan.org\/release\/DBD-Oracle For accessing an Oracle DB server from a client computer (w\/o its own Oracle DB server installation) you need &#8220;Oracle Instant Client&#8221; (a set of packages of installables for various computer architectures, supplied by Oracle for free): http:\/\/www.oracle.com\/technetwork\/database\/database-technologies\/instant-client\/ You won&#8217;t find Oracle Instant Client for Debian (outside your organisation or company), but &#8230;: [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false,"_share_on_mastodon":"0"},"categories":[821,623],"tags":[907,1205],"class_list":["post-9609","post","type-post","status-publish","format-standard","hentry","category-oracle-db","category-the-perl-programming-language","tag-backporting","tag-oracle-instant-client"],"share_on_mastodon":{"url":"","error":""},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/paO0kP-2uZ","jetpack_likes_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/posts\/9609","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/comments?post=9609"}],"version-history":[{"count":0,"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/posts\/9609\/revisions"}],"wp:attachment":[{"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/media?parent=9609"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/categories?post=9609"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/tags?post=9609"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}