Database JUNKY

MySQL,MariaDBを中心としたブログです

DB2

DB2のバックアップ&リストア

DB2のバックアップ&リストアについての備忘録です。以下のケースの場合の想定で作成されたものになります。 " データベースをオンラインバックアップで取得している。 " データベースのバックアップにログを含めている。 上記条件に当てはまらない場合は、…

DB2 でIDENTITY列(オートインクリメント列)を含むテーブルをSQLで抽出する方法

DB2のデータのEXPORT AND LOAD時、カラムにIDENTITY列(オートインクリメント)が存在する場合、ロードはエラーになってしまいます。その場合、LOADのオプションで、identityoverrideを指定することで、IDENTITY列を上書きロードしてくれるのですが、対象の…

MySQLでEXPORT(INTO OUTFILE)したCSVファイルを他DB(IBM DB2)にインポートする方法

MySQLのデータをエクスポートして、他DBMSにデータをインポートする際にツールを使わない場合、たぶん・・なんですが、CSVをというフォーマットを介してデータ移行をするかと思っているのですが、そこで必ず引っかかってくるのが3つあり 1. データベースの…

MySQL: CSVエクスポートをリモートでも対応にする方法 (windows)

毎回毎回、それをやろうとすると、ん?あれ?って思う、MySQLの謎仕様、それがエクスポートコマンドです(汗

MySQL: 文字列の結合に||(パイプ)を利用できるようにする方法

MySQLで文字列結合を利用する場合、concat関数しか使えないと思っておりましたが、他者DBMSのように、パイプ(||)で表現することが可能なことを発見してしまいました。 知らなかった・・。

MySQL: VIEW表を利用してORACLEやDB2のシノニムっぽいものを実現する方法

ちょっと仕事の関係で、とあるデータベースからIBM DB2からMySQLに移行する案件があり、その中で、 一部のデータベースがFEDEARATIONのみで構成されている特殊なものがあり、一応このままでMySQLの FEDERATION構成に移行したのですが。。。なんか気持ち悪い…

DB2のインデックスの使用状況

chikunaiです。 昔を思い出してDB2のチューニングの記事を書きます。 プログラミングでSQLができた頃合いから、テーブルにどうインデックスを付けるか、チューニング作業が始まります。 db2advisで指摘されるものをそのまま付けようものなら、テーブルがイン…

CENTOS 5系にDB2 EXPRESS-C 8.2をコマンド(CUI)インストールする!!

しばらくibm db2に触らない期間が続き、あれ?どんなデータベースなんだっけ?(汗)という状態に陥ったため、インストールからデータベースを作成するところまでをまとめてました。しかしながら、ただインストールするのはつまらないので、以下の試練を自分…

MySQL: 意外と知らない?障害発生時の復旧方法について

障害発生!!!どうする!?でも・・MySQLだと、レプリケーション(スレーブ→マスターの昇格))でほぼなんとかなっちゃうのであまり使われることはないとは思いますが、実はロードフォワード(roll forward)回復もできちゃうんすよwwというほぼ僕のメモで…

MySQL5.5 Semisynchronous Replicationを試してみる ~構築編

MySQLの強力なレプリケーションが、さらに強力になりました!!通常の非同期レプリケーションに加え、新たに半同期レプリケーション(Semisynchronous Replication)が追加になったわけです。非同期ですら充分満足のいく機能だったのに、半同期が追加された…

CASEと共通表式を応用した集計SQL

本来は、SQLでやるんじゃなくて、テーブルの設計とかプログラミングの過程で設定するのがベストだと思うのだけれども、急な調査でたとえば、「現在登録されているユーザーで各キャリアの分布をすぐとってほしい」なんて依頼があったらこんな形でSQLを発行す…

MySQL データを横に倒して表示させるSQL

どうタイトルをつければよいのやら悩んだ。。けど以下のようなデータを、横に並べて一覧、結果を返すことをするには、SQLでこう書くのだよっていうサンプルです。IBM DB2を利用しているときも悩みましたが、MySQLはもっと悩みました。

REDHAT5.4にDB2 8.2をインストールする方法

REDHAT5.4にDB2 ver8 をコマンドでインストールする際の注意。いやー。ひどく苦労した。もともとDB2の8.2は、REDHAT5系の存在を知らない時期にリリースされているものなのでインストール時に色々直さなければいけないところがあります。

CENTOS5系でのDB2express-c 8.2 GUIインストール手順

現行で出回っている、IBMのDB2はバージョンの9.7かと思います。新しいもの好きな僕には出たらすぐ入れたいという気持ちもあるのですが、9.7と8.2のexpress editionの違いで、個人的に大きいのが、利用可能メモリの制約なのです。 DB2 8.2 express editionの…

キャッシュを開放するコマンド(vm.drop_caches)

DB2、いや、データベースを稼動しているサーバでふと物理メモリを見ると、「うわ!こんなにメモリを食いつぶしている」なんてことありますよね。 例えば、DB2ですと、上限を設定しているはずなのに、上限以上のメモリを食っているなど(汗)、この現象が、DB…

DB2:オンラインバックアップ&リダイレクトリストア&ロールフォワードの三段技

IBM DB2にオンラインバックアップからリダイレクトリストアを実施し、更にアーカイブログからロールフォワード回復する手順をまとめました、この手法は、障害からの復旧のみならずデータベースの移動にも役立ちます。

DB2 CLIトレースを使って原因究明

過去に、プログラムからDB2のエラーメッセージを取得できないことがありました。 SQL1585N 十分なページ・サイズを持つ SYSTEM TEMPORARY 表スペースが存在しません。 上のエラーは、一時表スペースの作り忘れです(バカ丸出し)。プログラムからはこのエラ…

改行を含むCSVファイルをインポートする方法

改行文字を含むCSVデータをテーブルにインポートする方法 DB2間のIMPORT&EXPORTであれば、IXFファイルで行うことで一発解決なのですが、色々なシステムが 絡んできますと、そういうわけにいかなくなります。なにが言いたいかというと、ORACLEから、DB2とか…

もしかしたら役に立つかもしれない、SQLで加工するDB2コマンド集

役にたつかな?-。たたないかなー?と 思いつつ、DB2でSQLを利用し、DB2ユティリティーのコマンドを生成するSQLを作ってみました。 EXPORT文 DB2のデータを、CSVや、IXFファイルに吐き出す処理をSQLで作ってみました。今回はDEL形式(CSV)です。EXPORTユテ…

データベースのバージョンを調べるには?

データベースの現在のバージョンを調べる方法を、postgres,db2,oracle,sqlserver をメモしました。 それぞれの、DBMSのバージョンを調べるコマンドまたはSQLは以下のとおりです。

リターンコードを取得してDB2コマンドを制御する方法

データベースの日々の運用の中で、たとえば、バックアップがあったり、データベースの計画再起動があったり、もしくは計画停止があったり 色々とそういうケースがあると思います。たとえば、linuxや、windowsでそれらの運用を行った場合、cronにそれらのコマ…

HA環境を構築する。(HADR)

DB2 HADRを構築する手順を記載しました。当手順は、VER 9.5で作成されたものですが、V8.XでもV9.7でも同様の手順で行えます。

DB2 V9.5を手動でアンインストールしてみよう! for Linux

DB2 EXP-Cも、V9.7になりました。既存のV9.5をアンインストールして、新しいバージョンを入れたいと思います。 Windowsのアンインストールはわかるものの、実は、LinuxでDB2を「完全に」アンインストールする方法ってみなさまあまり知らないのでは ないでし…