Linuxでデバイスの接続タイプがUSBかSATAかを確認する

Linux で /dev/sda デバイスの接続タイプがUSBかSATAかを確認したい。インターネットでいろいろ調べたら、以下のURLが参考になった。

bash - How to know if /dev/sdX is a connected USB or HDD? - Unix & Linux Stack Exchange

実行するコマンドは

# udevadm info --query=all --name=sda | grep ID_BUS

USBデバイスの場合は以下のメッセージが表示される。

E: ID_BUS=usb

SATAバイスの場合は以下のメッセージが表示される。

E: ID_BUS=ata

11月26日放送林先生の初耳学

林先生の白熱教室
ネット検索ばかりしてるとバカになる
1日2時間以上に本を読む必要がある

初耳学
1. Tシャツの脱ぎ方の男女差は、袖とくびれのデザインが違うから
2. 和牛の輸出先第1位はカンボジアで、中国への密輸ルートになっている
3. 漢字のとめ・はね・はらいは、文字が読めたら気にしなくて良い
4. 魚は2050年ごろ、温暖化が原因で炭酸酩酊の状態に陥り、海で迷子になり、漁獲量が激減する恐れがある
5. からくり人形の顔を真っ二つにするのは湿気による膨張やひび割れを防ぐため
6. 地下足袋の地下は直が由来か、地下の炭鉱で働く人が履いていたから、地下の漢字になった

11月19日放送林先生の初耳学

林先生の白熱教室
小中学校の友人なんで、クソみたいなもの
いじめに遭っている小中学校の学生に対する言葉です。今いじめにあっててもいじめてた人は将来出会うことはないから気にしなくていいということ
本当に大切な人だけ大切にすれば、きっと幸せになれる


初耳学
1. 燕三条駅の名前は燕の職人と三条商人のドロドロの因縁から付けられたものだった
燕三条駅は燕が先にあるかわりに駅長室は三条市にある。ICの三条燕は燕市にあるかわりに、三条が前にある
2. ホルンが後ろに音が出るのは、狩りで後にいる仲間を呼ぶために使っていたの名残
3. ティラミスはイタリア語で、Tiraは引っ張る、miは私を、sùは上に、合わせて、私を引っ張りあげてくれ、ようは私を元気づけてという意味。
4. 消費税が上がると、日本で消費税分が儲かるから、金の密輸が急増
5. 薬の室温保存は1度~30度で、常温保存は15度~25度で保管しないといけない
6. 商品表示にある滅菌はほぼ全ての菌を死滅させる、殺菌は全ての菌ではなく、ある特定の菌を殺すという意味
7. 室内の写真撮影照明の真下はNG、影が落ちて残念にうつる
8. ピアノの正式名称はグラヴイチェンバロ・コル・ピアノ・エ・フォルテ。

11月12日放送林先生が驚く初耳学

林先生の白熱教室
1. 東大生の親9割は「子の話を聞く」

初耳学
1. モネの睡蓮は逆さまで展示、気づいたのは日本人
2. 紙コップの自動販売機、かき混ぜ棒毎回洗浄、絶対味が混ざらない
3. 果実を減らしておいしくする工夫、梨は葉が30枚に実が一つというのは全国の共通ルール
4. 栗の英語はマロンではなく、chestnut(チェスナット)
5. 明治時代、手を袖に隠すのは可愛く見えると大流行

Db2で大量のデータを削除する

Db2でDELETEのSQL文を実行し、削除対象の件数が多すぎると、以下のエラーが発生してしまう。

DB21034E コマンドが、有効なコマンド行プロセッサー・コマンドでないため、 SQL
ステートメントとして処理されました。 SQL 処理中に、次のエラーが返されました。
SQL0964C データベースのトランザクション・ログがいっぱいです。 SQLSTATE=57011

インターネットで対策を調べた。

参考URL:

www-01.ibm.com

対策1ではテーブルの全データ削除、対策2-aではDb2の設定変更なので、今回は対策2-bを実施。

$ db2 "DELETE FROM (SELECT * FROM 表名 WHERE 条件 FETCH FIRST 件数 ROWS ONLY)"

元のSQLに上記の赤字を追加するだけで削除処理ができた。後シェルのループを使えば、一気に削除することが可能になる。

Db2のEXPORTで出力ファイルを圧縮かつ分割する

Db2でEXPORTを実行したら、なぜか出力ファイルシステムの制限で1GBまでのファイルしか作成できない。そのため、データ量が多いとエラーになってしまう。

EXPORTしながら圧縮かつ分割する方法を調べた。

参考URL:

dbawesome: DB2 Export and Load Using Compression & Named Pipes

TPT 14.10 output to named pipe and then gzip to fi... - Teradata Community

bash - redirect split output - Unix & Linux Stack Exchange

前提条件として、まず以下のコマンドでFIFOを作成しなければならない。

$ mkfifo /tmp/mypipe

参考URLでは一つのコンソールの中で実行できる記述もあったが、私の場合では必ず二つのコンソールの中で実行しなければならない。

また、Linuxではgzip -cコマンドが使えるが、AIXではgzip <しか使えない。

まずコンソール①からEXPORTを実行

$ db2 "EXPORT TO /tmp/mypipe OF DEL SELECT * ..."

そして、コンソール②から圧縮かつ分割を実施

$ gzip < /tmp/mypipe | split -b 1000m - output.csv.gz.

そうすると、output.csv.gz.aa、output.csv.gz.abの順に分割ファイルが作成される。

11月5日放送林先生が驚く初耳学

1. LINEは震災時、相手の状況が予測できるから既読はなくさない
2. クックパッドでは、2月のバレンタインチョコレート作りに余った生クリームの使い道として、カルボナーラの検索数が激増する
3. 日本独自のアルファベットの書き順、まずは縦、次に斜め・横の順
4. 「牛耳る」の語源はリーダーが牛の耳を執る儀式で結束を固めたことから
5. 昔、天上人の天皇は池に映った月で、お月見をされていた