DB

最近のOSS-DBの冗長化機能

OSS-DBの代表格、MySQLとPostgreSQL。最新の安定バージョンはそれぞれMySQLha5.5、PostgreSQLでは9.0だが、どちらも新機能に関する情報がユーザ会MLやWebだけでなくようやく書籍としても出始めている。開発担当者、インフラ担当者どちらにとっても重要な新機…

Oracle PFILE/SPFILEの優先順序

よく忘れてしまうので、Oracleのインスタンスパラメータを設定するPFILE(初期化パラメータファイル)、SPFILE(サーバパラメータファイル)の読み込み順序に関するメモ。初期化パラメータファイルの格納場所は以下の通り。 UNIX :$ORACLE_HOME/dbs Windows :%…

DBサーバの場合のLinuxチューニング

今回はLinux上でPostgreSQLやMySQLなどのDBMSを使う場合のLinuxカーネルチューニングについて。共有メモリ(shmallやshmmax)については設計時にもれなく設定の確認などをしている場合がほとんどだと思うが、それ以外のTipsとして、今回はLinuxのメモリオーバ…

max_join_sizeパラメータに関するメッセージについて

前回(MySQL table_cacheの設定に関して)に引き続き、MySQLネタ。自宅システム内の32bit Linuxプラットフォーム上のMySQLで、mysqld_safeのログに気になるメッセージ。今回はこの件について考える。ポイントとなるパラメータはmax_join_size。これは、一回の…

MySQL table_cacheの設定に関して

久しぶりにMySQLネタ。今回はtable_cacheの設定に関するお話。 table_cacheの意味と仕組み まずはじめにtable_cacheの意味をおさらい。table_cacheは1度開かれたテーブルをメモリ上に維持しておき、再利用することでテーブルを開くことによる負荷を低減する…

psql接続時に対話でパスワードを入力しない

psql経由でSQLを実行するときに、対話でのパスワード入力をせずにワンライナーで行いたい。pg_hba.confの設計・設定次第だが、trust以外の設定(md5等)ではpsql接続時にパスワード入力を求められる。手動操作やJDBC接続時などは問題ないが、Linuxプラットフォ…

IPv6無効化環境でのPostgreSQL起動

IPv6を無効化したLinuxプラットフォーム(CentOS 5.3)上で、RPMインストールしたPostgreSQLサービスを起動すると、以下のようなメッセージが /var/lib/pgsql/pgstartup.log に出力されてしまう。 LOG: could not create IPv6 socket: Address family not supp…

PostgreSQL参考書籍

最近仕事でPostgresSQLを使う場面が増えてきたので、改めて勉強し直し。8.X系になって以前と変わっているパラメータなども多いため、詳細設計やチューニングをするにあたって重宝している本を紹介。なかなかの良書です。PostgreSQL完全機能リファレンス作者:…

CentOS5にyumでPostgreSQL8.3をインストールする

CentOS 5系のOSで、yumを使い標準のままPostgreSQLのインストールを行うと、PostgreSQL 8.1.11がインストールされる。エンジンの改良が行われて高速に動作すると言われる 8.3 や最新の 8.4 を利用したい時は、 tar.gz でソースを持ってきてコンパイルする方…

Oracle 11gようやくキャッチアップ再開

まだまだ仕事では11gよりも10gを使う場合の方が多いのだが、11gもそろそろ本格的にキャッチアップ。10gからの変更箇所の確認だけではちょっと面白くないので、久々に本を買ってみた。個人的には資格には全く興味がないものの、今年はサーバ・ネットワークと…

MySQLでオートコミットを無効化する

MySQLのMLで質問が飛んできていたので、レスついでにblogにも書いておく。MySQLではInnoDBやNDB Clusterなどのストレージエンジンでトランザクションをサポートする。この際、Oracleなどに慣れた人からするとトランザクションのオートコミット(autocommit)で…

MySQL Clusterでディスクベーステーブル

前回(MySQL Clusterの導入)に引き続き、今回はMySQL Clusterでディスクベースでのテーブルを作成してみる(長らく記事をアップできずすいませんorz)。MySQL Clusterは元々オンメモリにテーブルとインデックスデータを格納するが、この場合は物理メモリサイズ…

perrorでMySQLエラーメッセージ確認

MySQLではperrorというツールが付属しており、これを使ってMySQLが出力するエラーコードの意味を確認することができる。Oracleではこれに似たツールとして「oerr」というものがあるので、これについては後日ブログにアップしておこうと思う(⇒参考:oerrでOra…

MySQL Clusterの導入

久しぶりのblog更新。以外にWeb上の記事が少ないこともあって、今回はMySQL Clusterについて触れたいと思う。一通りの機能を解説するのには時間がかかりそうなので、数回に分ける予定。今回はまずは基本的な特徴の紹介と構築手順について。今後は最近機能拡…

DB物理設計の際によく読む本

DBの物理設計をはじめ、DB関連の作業をするときに比較的読む本を紹介。なかなかよいです。 Oracle物理設計 『プロとしてのOracle物理設計入門 増補改訂版』は増補改訂版になって、レプリケーションやRACに関する記載が追記された。『Oracle逆引き大全606の極…