2011-01-01から1年間の記事一覧
こんな感じの。 http://el.jibun.atmarkit.co.jp/fatalstaynight/大丈夫なのかこれ、って常に心配しながら書いてます。 お目通し頂けますと幸いです。 あ、服は自前です。
最近だとvirtualenv切ってPIPで入れるのがお作法的に綺麗な感じがするので、その手順をメモ。 ■前提条件 ・Pythonの比較的新しめな奴(2.5以降系) ・Oracle Instant Clinetが導入され、sqlplusでの接続確認済 ・Oracle環境変数等設定済 [oracle@oracle11g ~]$…
OEMで手でポチポチやってらんねえーって時に。スクリプトとかにしておくと吉。 ・まずはSYSDBAでログイン $ sqlplus sys/test as sysdba ・表領域追加 create BIGFILE tablespace TEST_20110930 datafile '/opt/oracle/oradata/TEST_20110930.ORA' size 5000…
結論から言うと「OracleのSYSDATEをMySQLに移行する場合はNOW()使え」ということらしい。 http://nippondanji.blogspot.com/2009/04/sysdatenow.html 以下検証ソース。 SQL> CONN / AS SYSDBA SQL> GRANT EXECUTE ON DBMS_LOCK TO SCOTT ; // 権限あげないと…
いつも忘れちゃうので。 scpでfumidai_serverを踏み台にhonban_serverに配置する例。 $ scp -o 'ProxyCommand ssh test@fumidai_server nc %h %p' test.data.gz sample@honban_server:~ 多段かましてコマンド叩く場合はこんな感じ。 $ ssh -o 'ProxyCommand …
CentOSに入れるとなんだかんだで13GBくらい食う。なのでVMの場合でも20GBくらいは確保しておいたほうがよい。 MBAだからセコセコやってたら3回くらいやり直すはめに。LVMとか切り直せばいいんでしょうけどめんどくて。 手順は以下の通りやるのがおすすめ。 h…
VMWare Server(ただし1.0系統に限る)は導入も簡単で仕組みも簡単で気に入ってたんですけどWin7で動かねえしそろそろ無理目な感じですよね。 で、MBAだしVirtualBoxあたりを入れてみたんですが、標準でNATも聞いててネットワークインストールもすんなり行くの…
トリガをmysqldumpすると謎のdefinerとやらが含まれてしまい、それが原因になりimportに失敗することがある。(例のエラーメッセージのように接続元IPアドレス体系が異なるとか) じゃあどうすりゃいいの、というと、--skip-triggersオプションを指定してmys…
どうも5.1系から5.5系でMySQLのテーブル構造が変わるのが原因らしい。 http://readit.l8r.in/2011-06-22/mysqlcannot-load-from-mysql-proc/書いてある通りmysql_upgradeの実行で治ったんだが、サーバ自体は全部5.5系なのになんで?と思ってたら理由は古いmy…
たとえば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…
なんでこうなるのかはわからないが、トリガ中でデータ型が違うSQLを書くと (例: SYSDATE()をvarcharカラムに叩きこむ)このエラーが出る。 にしてもMySQLは謎のエラーメッセージが多い。
Oracleだとできるし、当然SELECT文の場合は問題なくできる。 なんだかよくわかんない制限。
MySQLストアドがautocommit = 0にして単体で呼んだ時にはrollbackできないが、 INSERT文発行した直後だとrollbackできる、のはなんで?と質問されてわけがわからないよ(◕‿‿◕)ってなったんですが、どうもMySQL(というかInnoDB)が「INSERT文を発行するときに…
gomiなのでPythonでメモリ上にがっつり乗っけるスクリプト書いたら見慣れないエラーで落ちた。 test.py ---- str = "" while True: str += "a" * 1024 * 1024 print len(str) ----これをCentOS 5.6(64bit)上のPython 2.4.3とかで流すと 2144337920 214538649…
今回のsgtでは運良く使わなかったんだけど、万が一使うことになったときのメモ。・load data infile 文で指定することはできない(と、マニュアルには書いてあるが) ・基本的にはBinary句がついたTEXT型と同じ http://www.hi-ho.ne.jp/illusia/nif/mysql_2nd_…
Oracleのdmpファイルは上位互換はあるが下位互換はないので、11gのexpコマンドで10gに接続してdmp吐こうとすると怒られる。 かといって今更RHEL4(CentOS4)入れて10g入れて、、、なんてやってらんない。 そんなときにdmpを吐くだけならXEを入れてみるのもあり…
Oracleのように特定のカラムが更新された場合のトリガ、というのは設定することができない。(MySQL 5.5) 下行でいえば、OF [XXXX]の部分。 create trigger TRI_TEST after UPDATE OF [XXXX] on TEST for each row どこのカラムでもレコードが更新されたら強…
ビッグサイズ表領域を使うのが手っ取り早い。 create BIGFILE tablespace TEST_BIGSIZE datafile '/opt/oracle/oradata/TEST_BIGSIZE.ORA' size 50000M AUTOEXTEND ON next 100M maxsize unlimited segment space management AUTO; EnterpriseManagerからも…
Oracleで予約語をカラム名に使うには以下のように" " でくくる。 SQL> select MAX("mode") from TEST; MAX("MODE") ----------- 1ちなみにMySQLの場合は``でくくる。そもそも予約語なんだから最初から使うなよって感じがしますが。
個人的なメモ。基本的には以下の通りなんですけど、 http://logic.moo.jp/memo.php/archive/492nkfはsudo brew install nkfで入れるのが楽ちんです。 あとフィルタの追加がわかりづらいんですけど、空白の列をクリックすると追加できます。拡張子ごとっての…
まず、UTF-8とSJISで文字コードを変換したときに化けやすい文字、ってのがある。 http://ja.wikipedia.org/wiki/Unicode#.E6.B3.A2.E3.83.80.E3.83.83.E3.82.B7.E3.83.A5.E3.83.BB.E5.85.A8.E8.A7.92.E3.83.81.E3.83.AB.E3.83.80.E5.95.8F.E9.A1.8Cそんなか…
(Oracle Instantclient Version 10.2.0.4 の場合です)相変わらず変なコツがいるので。まず32bit版を落とす。解凍してライブラリに別名をつける $ ln -s libclntsh.dylib.10.1 libclntsh.dylib $ ln -s libocci.dylib.10.1 libocci.dylib 環境変数の設定~/.ba…
パスフレーズ付きの秘密鍵は~/.ssh/にちゃんと置いてあるんだけど あえてそれを使わずにログインしたいときに。 ssh -F ~ test@192.168.1.1 という感じで、-Fオプションつけてニセのコンフィグファイル指定するといける。 うさんくせえですがメモ。
SELECT MAX_POINT INTO max_point FROM TEST WHERE id = 1; 以上のような何の変哲もないSQLだが、max_pointの値が強制的にNULLになる。 MySQLのテーブル名やカラム名は大文字小文字区別するが、 ストアドプロシージャに関しては別らしい。大はまりしました。…
TESTパッケージ内のファンクションを呼び出すには以下のようにしとくのが無難。 set serveroutput on declare arg1 VARCHAR2(200); arg2 VARCHAR2(200); result NUMBER; begin result := TEST.TESTFUNC(arg1, arg2); DBMS_OUTPUT.PUT_LINE(arg1); DBMS_OUTPU…
自分用メモ。 innodb_buffer_pool_size = 120000M //適当 innodb_data_file_path = ibdata1:1G:autoextend:max:200G innodb_autoextend_increment=64 innodb_flush_method = O_DIRECT innodb_log_buffer_size = 20M innodb_flush_log_at_trx_commit = 1 // d…
select COL_NAME from TABLE_NAME where COL_NAME in (select COL_NAME from TABLE_NAME group by COL_NAME having count(*) > 1); お好みでdistinctをつけたりしても風流。
トリガとか設定したいときに。rootユーザで入って($mysql -u root) UPDATE mysql.user SET Super_priv='Y' WHERE user='test_user'; 確認は SELECT user, Super_priv FROM mysql.user WHERE user='test_user'; こんなかんじで。
まあなんとなくそんな気はしてた。 別途貼りつけてやんないとダメ。