Firebird がどれぐらい流行ってるか調べた [RDBMS]
Ubuntu 9.04 で kinterbasdb3.3 をソースからビルド [RDBMS]
http://nakagami.blog.so-net.ne.jp/2009-05-09 のときに、 KInterbasDB 3.2 をパッケージからインストールしてソースを修正したが、 3.3.0 をソースからインストールしている人をたまたま発見したのでメモっておく
http://mapopa.blogspot.com/2009/02/firebird-python-howto-on-ubuntu-wget.html
$ sudo apt-get install python-dev firebird2.1-dev
をすれば kinterbasdb をソースからインストールできる、ということ。
http://mapopa.blogspot.com/2009/02/firebird-python-howto-on-ubuntu-wget.html
$ sudo apt-get install python-dev firebird2.1-dev
をすれば kinterbasdb をソースからインストールできる、ということ。
Firebird の DB に接続しているユーザーを知る [RDBMS]
http://forums.devshed.com/firebird-sql-development-61/query---find-count-of-active-connections-191785.html
http://groups.yahoo.co.jp/group/Firebird-jp-general/message/2133?threaded=1&expand=1
いつか使うかどうかわからんけど、たまたま発見したのでメモ。
ちなみに、 isc_database_info() で ODS の major/minor バージョンを知ることもできる。
http://groups.yahoo.co.jp/group/Firebird-jp-general/message/2133?threaded=1&expand=1
いつか使うかどうかわからんけど、たまたま発見したのでメモ。
ちなみに、 isc_database_info() で ODS の major/minor バージョンを知ることもできる。
Firebird 使用事例とセマフォ数の調整 [RDBMS]
Firebird News http://www.firebirdnews.org/?p=3028 経由
http://sourceforge.net/mailarchive/message.php?msg_name=4A424646.2090904%40gmx.net
使用事例は、あまり聞けないのでメモっておく(以下超訳)
Linux kernel 2.4 + Firebird 2.0.x から、サーバー入れ替えに伴い Linux kernel 2.6 + Firebird 2.1.2 に入れ替えた。
昔、 高負荷の環境で Kenel 2.6 + Firebird だと多くのトラブルに見舞われたので、 Kernel 2.4 のままにしてたんだけど・・・(平均して 75~150 コネクションが張られててピーク時に 300 以上になる。データベースサイズは 20G 越え。7つの異なるアプリケーション PHP/Java/Win32 native から使われ、10~30 分かかる長いトランザクション処理もあり)今回はすこぶる調子いい。
変更したのは、firebird.conf の LockSemCount のデフォルト 250 を 1024 に変えたとこくらい。デフォルトのままだと "Fatal lock manager error: semop failed (acquire), errno: 22" と出ちゃう。
投稿では、Super Server か Classic Server か書いてないけど内容からして Classic Server ですな。Kernel パラメータのセマフォ設定については書いてないけど、↓ここらに書いてある。
http://pmakowski.ibphoenix.fr/post/2009/03/05/From-the-support-list
win32 native の意味がよくわからんけど、ODBC ドライバのことかな?
そういえば、セマフォ不足については以前僕も FreeBSD 環境で悩んだことがあった。
高負荷ってわけじゃなく、 PostgreSQL を同時に立ち上げてたのと、初期状態のセマフォ数が少なすぎるのが原因。
http://nakagami.blog.so-net.ne.jp/2006-09-13
http://sourceforge.net/mailarchive/message.php?msg_name=4A424646.2090904%40gmx.net
使用事例は、あまり聞けないのでメモっておく(以下超訳)
Linux kernel 2.4 + Firebird 2.0.x から、サーバー入れ替えに伴い Linux kernel 2.6 + Firebird 2.1.2 に入れ替えた。
昔、 高負荷の環境で Kenel 2.6 + Firebird だと多くのトラブルに見舞われたので、 Kernel 2.4 のままにしてたんだけど・・・(平均して 75~150 コネクションが張られててピーク時に 300 以上になる。データベースサイズは 20G 越え。7つの異なるアプリケーション PHP/Java/Win32 native から使われ、10~30 分かかる長いトランザクション処理もあり)今回はすこぶる調子いい。
変更したのは、firebird.conf の LockSemCount のデフォルト 250 を 1024 に変えたとこくらい。デフォルトのままだと "Fatal lock manager error: semop failed (acquire), errno: 22" と出ちゃう。
投稿では、Super Server か Classic Server か書いてないけど内容からして Classic Server ですな。Kernel パラメータのセマフォ設定については書いてないけど、↓ここらに書いてある。
http://pmakowski.ibphoenix.fr/post/2009/03/05/From-the-support-list
win32 native の意味がよくわからんけど、ODBC ドライバのことかな?
そういえば、セマフォ不足については以前僕も FreeBSD 環境で悩んだことがあった。
高負荷ってわけじゃなく、 PostgreSQL を同時に立ち上げてたのと、初期状態のセマフォ数が少なすぎるのが原因。
http://nakagami.blog.so-net.ne.jp/2006-09-13
Firebird のバックアップ(ssh 経由とか) [RDBMS]
http://levosgien.net/2009/06/17/tunnelling-a-firebird-backup-with-ssh/
$ gbak -b [-v] XXX.XXX.XXX.XXX:database backup.fbk -user SYSDBA -password masterkey
これで、リモートのデーターベースのバックアップをローカルに取れる
$ gbak -b [-v] -service XXX.XXX.XXX.XXX:service_mgr database /path/to/backup.fbk -user SYSDBA -password masterkey
リモートのデータベースのバックアップを別のリモートのマシンにとれる(らしい)
$ ssh -C -f user@XXX.XXX.XXX.XXX -L 3052:localhost:3050 -N
でトンネルを作って
$ gbak -b [-v] localhost/3052:database backup.fbk -user SYSDBA password masterkey
で ssh でバックアップができる(のか?)
$ gbak -c [-v] backup.fbk database -user SYSDBA -password masterkey
でリストア。1.0 とオプションが変わってる。そのうち直したい↓なぁ。
http://www005.upp.so-net.ne.jp/nakagami/Memo/Firebird.html
$ gbak -b [-v] XXX.XXX.XXX.XXX:database backup.fbk -user SYSDBA -password masterkey
これで、リモートのデーターベースのバックアップをローカルに取れる
$ gbak -b [-v] -service XXX.XXX.XXX.XXX:service_mgr database /path/to/backup.fbk -user SYSDBA -password masterkey
リモートのデータベースのバックアップを別のリモートのマシンにとれる(らしい)
$ ssh -C -f user@XXX.XXX.XXX.XXX -L 3052:localhost:3050 -N
でトンネルを作って
$ gbak -b [-v] localhost/3052:database backup.fbk -user SYSDBA password masterkey
で ssh でバックアップができる(のか?)
$ gbak -c [-v] backup.fbk database -user SYSDBA -password masterkey
でリストア。1.0 とオプションが変わってる。そのうち直したい↓なぁ。
http://www005.upp.so-net.ne.jp/nakagami/Memo/Firebird.html
Django の Firebird backend (20090606 version) [RDBMS]
Once, I wrote Django firebird backend
http://nakagami.blog.so-net.ne.jp/2009-03-12-2
But it is not good work on Django subverion trunk today. (Target is moving !)
So I catch it up. ( Thanks Maxi )
http://www005.upp.so-net.ne.jp/nakagami/Download/django-firebird_20090606.zip
I hope it works on Django 1.1 release.
Django の Firebird バックエンドを以前書いたんだけど、Django の trunk コードで動かなくなってたよ。えーん。
仕方がないので、現在の trunk で動くようにしてみた。 1.1 release でも動くといいな。
http://nakagami.blog.so-net.ne.jp/2009-03-12-2
But it is not good work on Django subverion trunk today. (Target is moving !)
So I catch it up. ( Thanks Maxi )
http://www005.upp.so-net.ne.jp/nakagami/Download/django-firebird_20090606.zip
I hope it works on Django 1.1 release.
Django の Firebird バックエンドを以前書いたんだけど、Django の trunk コードで動かなくなってたよ。えーん。
仕方がないので、現在の trunk で動くようにしてみた。 1.1 release でも動くといいな。
Firebird をインストール(Ubuntu 9.04) [RDBMS]
Ubuntu 6.10 の時の自分メモがこれ↓
http://nakagami.blog.so-net.ne.jp/2007-04-18-1
そして、Ubuntu 9.04 + Firebird2.1.1 がこれ↓
https://help.ubuntu.com/community/Firebird2.1
ここにはないけど、 kinterbasdb をインストールするのには
sudo ap-get install python-kinterbasdb
これだと、kinterbasdb3.2 + Firebird 2.1 の組み合わせで動かないので、
/usr/lib/python-support/python-kinterbasdb/python2.6/kinterbasdb/__init__.py の 209行目をコメントアウト
https://firebird.svn.sourceforge.net/svnroot/firebird/qa/trunk/kinterbasdb/__init__.py
Firebird 2.1.2 ready という話がこれ
http://www.firebirdnews.org/?p=2801
(追記)
classic (firebird-2.1-classic) をインストールした場合、
sudo update-inetd --enable gds_db
でデーモンを起動する
http://nakagami.blog.so-net.ne.jp/2007-04-18-1
そして、Ubuntu 9.04 + Firebird2.1.1 がこれ↓
https://help.ubuntu.com/community/Firebird2.1
ここにはないけど、 kinterbasdb をインストールするのには
sudo ap-get install python-kinterbasdb
これだと、kinterbasdb3.2 + Firebird 2.1 の組み合わせで動かないので、
/usr/lib/python-support/python-kinterbasdb/python2.6/kinterbasdb/__init__.py の 209行目をコメントアウト
https://firebird.svn.sourceforge.net/svnroot/firebird/qa/trunk/kinterbasdb/__init__.py
Firebird 2.1.2 ready という話がこれ
http://www.firebirdnews.org/?p=2801
(追記)
classic (firebird-2.1-classic) をインストールした場合、
sudo update-inetd --enable gds_db
でデーモンを起動する
Firebird error code (SQLCODE/GDSCODE)とか [RDBMS]
http://nakagami.blog.so-net.ne.jp/2008-11-04 の続き
op_reponse で返される status vector の中身
http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_60_upd_sv_fs
エラーコード(pdf ドキュメント)
http://firebird.sourceforge.net/doc/contrib/fb_1_5_errorcodes.pdf
メッセージのソースはここ(自動生成)
http://firebird.cvs.sourceforge.net/viewvc/firebird/firebird2/src/include/gen/msgs.h?view=markup
ここのプログラムで↓生成されている
http://firebird.cvs.sourceforge.net/viewvc/firebird/firebird2/src/misc/codes.epp?view=markup
op_reponse で返される status vector の中身
http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_60_upd_sv_fs
エラーコード(pdf ドキュメント)
http://firebird.sourceforge.net/doc/contrib/fb_1_5_errorcodes.pdf
メッセージのソースはここ(自動生成)
http://firebird.cvs.sourceforge.net/viewvc/firebird/firebird2/src/include/gen/msgs.h?view=markup
ここのプログラムで↓生成されている
http://firebird.cvs.sourceforge.net/viewvc/firebird/firebird2/src/misc/codes.epp?view=markup
Firebird の Wire プロトコル [RDBMS]
FirebirdNews 経由
http://www.firebirdnews.org/?p=2121
pure python な firebird ライブラリ作るために、参考になる wire protocol のドキュメントない?というような質問。
http://tech.groups.yahoo.com/group/firebird-python/message/118
仕様書的にはこれ↓。でも 2.1 で拡張された部分に対応してないよ、という返事
http://firebird.svn.sourceforge.net/svnroot/firebird/NETProvider/trunk/Documentation/FirebirdWireProtocol/FirebirdWireProtocol.pdf
僕も前に見たことあるけど、正直、これだけじゃわからんのだよねぇ。
Jaybird の src/main/org/firebirdsql/gds/impl/wire/AbstractJavaGDSImpl.java が
参考になるよ、というお返事。
http://tech.groups.yahoo.com/group/firebird-python/message/120
XDR フォーマットされてるんだけど、xdrlib ↓で Pack/Unpack できるかな。
http://www.python.jp/doc/nightly/lib/module-xdrlib.html
いずれにせよ、僕にはハードル高いが、忘れないようにメモしておく
2010/10/31 追記
FB Internals documentation
http://www.firebirdnews.org/?p=4988
http://www.firebirdnews.org/?p=2121
pure python な firebird ライブラリ作るために、参考になる wire protocol のドキュメントない?というような質問。
http://tech.groups.yahoo.com/group/firebird-python/message/118
仕様書的にはこれ↓。でも 2.1 で拡張された部分に対応してないよ、という返事
http://firebird.svn.sourceforge.net/svnroot/firebird/NETProvider/trunk/Documentation/FirebirdWireProtocol/FirebirdWireProtocol.pdf
僕も前に見たことあるけど、正直、これだけじゃわからんのだよねぇ。
Jaybird の src/main/org/firebirdsql/gds/impl/wire/AbstractJavaGDSImpl.java が
参考になるよ、というお返事。
http://tech.groups.yahoo.com/group/firebird-python/message/120
XDR フォーマットされてるんだけど、xdrlib ↓で Pack/Unpack できるかな。
http://www.python.jp/doc/nightly/lib/module-xdrlib.html
いずれにせよ、僕にはハードル高いが、忘れないようにメモしておく
2010/10/31 追記
FB Internals documentation
http://www.firebirdnews.org/?p=4988