いっぽんの猟銃のむこうに (DAIZOじいさんとGun)

ヌルめの技術メモとか。フリーランスやってます (http://acez.jp/)

2011-10-01から1ヶ月間の記事一覧

cx_Oracleのインストール(pip編)

最近だとvirtualenv切ってPIPで入れるのがお作法的に綺麗な感じがするので、その手順をメモ。 ■前提条件 ・Pythonの比較的新しめな奴(2.5以降系) ・Oracle Instant Clinetが導入され、sqlplusでの接続確認済 ・Oracle環境変数等設定済 [oracle@oracle11g ~]$…

Oracle表領域、ユーザの追加をSQLベースで

OEMで手でポチポチやってらんねえーって時に。スクリプトとかにしておくと吉。 ・まずはSYSDBAでログイン $ sqlplus sys/test as sysdba ・表領域追加 create BIGFILE tablespace TEST_20110930 datafile '/opt/oracle/oradata/TEST_20110930.ORA' size 5000…

SYSDATEをSYSDATE()で置き換えるのはNG

結論から言うと「OracleのSYSDATEをMySQLに移行する場合はNOW()使え」ということらしい。 http://nippondanji.blogspot.com/2009/04/sysdatenow.html 以下検証ソース。 SQL> CONN / AS SYSDBA SQL> GRANT EXECUTE ON DBMS_LOCK TO SCOTT ; // 権限あげないと…

多段SSHのメモ

いつも忘れちゃうので。 scpでfumidai_serverを踏み台にhonban_serverに配置する例。 $ scp -o 'ProxyCommand ssh test@fumidai_server nc %h %p' test.data.gz sample@honban_server:~ 多段かましてコマンド叩く場合はこんな感じ。 $ ssh -o 'ProxyCommand …

Oracle11g(release2) Enterpriseを入れるときのメモ

CentOSに入れるとなんだかんだで13GBくらい食う。なのでVMの場合でも20GBくらいは確保しておいたほうがよい。 MBAだからセコセコやってたら3回くらいやり直すはめに。LVMとか切り直せばいいんでしょうけどめんどくて。 手順は以下の通りやるのがおすすめ。 h…

VMWareからVirtualBoxに乗り換える

Mac

VMWare Server(ただし1.0系統に限る)は導入も簡単で仕組みも簡単で気に入ってたんですけどWin7で動かねえしそろそろ無理目な感じですよね。 で、MBAだしVirtualBoxあたりを入れてみたんですが、標準でNATも聞いててネットワークインストールもすんなり行くの…

General error: 1449 The user specified as a definer ('test'@'10.100.%') does not exist

トリガをmysqldumpすると謎のdefinerとやらが含まれてしまい、それが原因になりimportに失敗することがある。(例のエラーメッセージのように接続元IPアドレス体系が異なるとか) じゃあどうすりゃいいの、というと、--skip-triggersオプションを指定してmys…

ストアド設定しようとしたらCannot load from mysql.proc. The table is probably corrupted

どうも5.1系から5.5系でMySQLのテーブル構造が変わるのが原因らしい。 http://readit.l8r.in/2011-06-22/mysqlcannot-load-from-mysql-proc/書いてある通りmysql_upgradeの実行で治ったんだが、サーバ自体は全部5.5系なのになんで?と思ってたら理由は古いmy…

別databaseに対してトリガをしかけることはできない

たとえばTEST1というdatabaseで、 create trigger TRIGGER_SAMPLE after UPDATE on TEST2.TESTTABLE for each row みたいなことをするとエラーになるので、無理。 「そんなことしねーよ」って普通思いますけど、やる人がいるかもわからんので。。。 というか…

ファイル中の特定文字列数をカウントする

いろいろやり方はあるけどPythonでやるのが楽ちん。 文字列読み込んでstr.count('hoge')で一発。 以下、改行文字として[#@@@@#]という頭の悪い文字列を使ったCSVデータの改行文字数=列数をカウントするサンプル。count_line.py #!/usr/bin/python import sy…

ERROR 1347 (HY000): 'DBNAME.TABLENAME' is not BASE TABLE

なんでこうなるのかはわからないが、トリガ中でデータ型が違うSQLを書くと (例: SYSDATE()をvarcharカラムに叩きこむ)このエラーが出る。 にしてもMySQLは謎のエラーメッセージが多い。

MySQLではDELETE文のfrom句で指定する表名に別名はつけられない

Oracleだとできるし、当然SELECT文の場合は問題なくできる。 なんだかよくわかんない制限。

暗黙的トランザクション

MySQLストアドがautocommit = 0にして単体で呼んだ時にはrollbackできないが、 INSERT文発行した直後だとrollbackできる、のはなんで?と質問されてわけがわからないよ(◕‿‿◕)ってなったんですが、どうもMySQL(というかInnoDB)が「INSERT文を発行するときに…

SystemError: Objects/stringobject.c:3565: bad argument to internal function

gomiなのでPythonでメモリ上にがっつり乗っけるスクリプト書いたら見慣れないエラーで落ちた。 test.py ---- str = "" while True: str += "a" * 1024 * 1024 print len(str) ----これをCentOS 5.6(64bit)上のPython 2.4.3とかで流すと 2144337920 214538649…

load dataによるBLOB型の扱い

今回のsgtでは運良く使わなかったんだけど、万が一使うことになったときのメモ。・load data infile 文で指定することはできない(と、マニュアルには書いてあるが) ・基本的にはBinary句がついたTEXT型と同じ http://www.hi-ho.ne.jp/illusia/nif/mysql_2nd_…