nkjmkzk.net

Virtualization, Operating System, Storage, Cloud Computing

Archive for the ‘python’ tag

PythonでOracle Databaseに接続する(cx_Oracleで)

何か半年前くらいに下書きしてたエントリを発見したのでPublishしてみることに。多分途中で切れてる気がしますがまたあとで修正すればいいや。それが気楽な個人ブログ。

pythonスクリプトからOracle Databaseに接続するための実装(モジュール)はいくつかあるようですが、検索した感じでいわゆるデファクトっぽかったのがcx_Oracleというモジュール。ドキュメント、ダウンロード先等は下記を参照ください。

僕はソースをとってきてインストールすることにしました。OSはOracle Enterprise Linux 5.1。Redhat EnterpriseLinux 5.1等でも変わらないと思います。コンパイルにはソフトウェア要件としてpython-develとOracle Databaseのクライアントライブラリがインストールされている必要があります。そしてそのライブラリがLD_LIBRARY_PATHに含まれていることが必要です。

# set | grep LD_LIBRARY_PATH

等として確認し、入っていいなければ追加しておきます。

# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/PATH/TO/LIB

まずtarボールを/opt等に保存して展開。

# tar xvfz cx_Oracle-4.4.tar.gz
# cd cx_Oracle-4.4/

そしてビルド&インストール。

# python setup.py build
# python setup.py install

これだけでOK。

あとはpythonスクリプトの中で、

import cx_Oracle

とすればcx_Oracleのモジュールがロードできるはずです。

without comments

Written by nkjm

December 6th, 2008 at 7:17 pm

Posted in Database

Tagged with ,

func package controller v1.0

突然何の脈絡もないですが、func package controllerなるものを作成しました。

ダウンロードはこちらから:fpc-1.0.zip

これはfunc (Fedora Unified Network Controller)というサーバ管理フレームワークを使っているシンプルなPythonスクリプトで、以下のようなことができます。

・大量のサーバに一括してRPMをインストールする。

・大量のサーバから一括してRPMをアンインストールする。

・大量のサーバの任意、または全てのパッケージをアップデートする。

・大量のサーバの内、任意のRPMがインストールされているサーバをしらべる。

・大量のサーバの内、任意のRPMがインストールされていないサーバをしらべる。

つまりは大量のサーバのパッケージ管理がワンライナーでできますよ、というツールです。

インストール方法や使い方などは付属のREADMEを参照下さい。こいつのインストール自体は簡単極まりないですが、そもそもfuncが使える環境でないと動かないでのBe careful.

funcがどんなものかとか全然説明してないですが、詳しくは発売中の日経Linuxのサーバ管理最強テクニックという連載の第4回、第5回(もうちょっとしたら発売)にあり。またこのサイトでも後日詳細を書こうと思います。

without comments

Written by nkjm

December 6th, 2008 at 7:16 pm

Posted in Virtualization

Tagged with ,