oracle

SQLだけで数独を解く。

Oracle RDBMS 11gR2 - Solving a Sudoku using Recursive Subquery Factoring - AMIS Oracle and Java Blog Oracleの公演資料を見ていたらOracleだけで数独を解けると書いてあったのだがなぜ解けるのか分からなかったので解析してみた。対象のSQLなんだけど…

SERVEROUTPUTの暗黙のLTRIMを制御する

SERVEROUTPUTはデフォルト状態だと暗黙的にLTRIMしてしまうので、いやなら set serveroutput on format wrappedとしましょう。formatの指定は WRAPPED 行サイズを超過する場合に文字ベースで折り返しを行なう。 WORD_WRAPPED 行サイズを超過する場合に単語ベ…

DB2の「Select for update」は「With RS」か「カーソル」を使わないと有効にならない。

DB2のロックの仕組みはDB2を使っている人には当たり前なのかもしれないのですが、Oracle使いにとってはかなり異様な仕様になっています。 そんなななかで今日また新しい驚きを得たのでメモ。なんとDB2の「Select for update」は「With RS」か「カーソル」を…

log file sync とlog file parallel write

久々にOracleをいじったりしていたのですが、やっぱりOracleは楽しいですね。 Oracleのことを考えているだけで幸せな気分になります。 log file syncとlog file parallel writeの違い この違いどっちも似たようにログ関連で出てくる待機イベントですが何が決…

ORA-01034とORA-27101エラーでOracleインストールユーザー以外でログインできない

RH上にOracle入れていたら、oracleユーザーでは問題なく動くんだけど他のユーザーで稼動させようとしたらORA-27101がでてうごかない事象が発生。 SQL> conn hoge/hoge ERROR: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exis…

Oracle11g入れてみた

11gを検証マシンに入れてみた。 OracleExを入れていたのでアンインストールしてからいれたんだけど、アンインストール後に再起動せずにそのまま11g入れたらとりあえず動いたんだだけど、Exのサービスが消えてなくてその後マシン再起動した瞬間にOSごとハング…

OracleMix

OracleのSNSなんてあったのか。しらなかった。そして早速登録した。 これでOracleのあ〜んな話やこ〜〜んな話でうはうは盛り上がれるんですね><http://www.oracle.com/technology/global/jp/mix/attractive.html Welcome | Oracle Community

既存テーブルからCreate文を作るPL/SQL

現行で動いているテーブルからCreate文を作りたいな〜とおもってもあんまりいい方法が無い。 ダンプファイルでshow=yにしてCreate文を抽出 OEMで見る と案はあるのだが1の場合整形された奇麗なSQLになってないし、2の場合1つ1つしか確認できない。 あるスキ…

OracleでNULLと''(空文字)の違いについて考える。

Oracle9iだけNULLと''(空文字)の定義が変わっています。 8iから9iになった時に一度検証した事が有るんですが、それを10gでやってみたら仕様が元に戻っていて驚いた。 検証プログラム DECLARE a VARCHAR2(8) := NULL; b CHAR(8) := NULL; BEGIN a := ''; b :=…

コンパイルエラーのプロシージャをリコンパイルする

すんごく久々に業務でOracleしてるよ!うれしくてわくわくするね。という訳で現在ステータスが無効になっているプロシージャをりコンパイルするSQL SET HEAD OFF SET TRIMSPOOL ON SET FEED OFF SPOOL Recompile.sql select 'ALTER ' || DECODE(OBJECT_TYPE,…

EclipseのOracle用プラグイン「jOra」を使ってみた。

Oracle大好きなのに仕事でDB2しか触らせてもらえない僕がオラクル用エクリプスプラグインjOraをつかってみたよ! インストール DLはここから http://jora.luenasoft.de/ んで解凍してエックンにぶち込む。 使ってみる。 「Window」「ShowView」「jOra」から…

表領域の未使用領域と空き領域とエクステントの解放について

会社の人に聞かれたのでちょっと纏め。表領域等の一度取得されたエクステントはDELETEでデータを消しただけでは解放されず未使用領域になるだけです。なのでHWMはそのままです。 HWMがそのままなのでDBA_FREE_SPACEとかで見ても容量変わりません。(DELETEじ…

オラクルサミット2007にいってきました。

オラクルサミット行ってきました。オラクル30周年&Oracle11gということで気合いの入ったイベントでした。 因みにOracle11はRealCustomerReleaseということでお客様のバリューを一番に考えたリリースらしい。 大規模データウエアハウスにおけるチューニング…

本番機のデータを適当に抜いてきたい時

OracleならSAMPLE関数を使えばすぐ出来ちゃうんですがこのSAMPLE関数、副問い合わせに使用できなかったりTBLに別名付けると動かなかったりちょっと融通が効きません。 そこで自分で強引にサンプリングする方法を考えてみる。 一応SAMPLE関数の例 これでテー…

複数のテーブルにキーが存在しない事を確かめるSQL

データメンテ等でそのキーに紐づくデータがあるか無いか確認したいことがあります。こんな時にどんなSQLで確認したらいいかについて考えてみました。検証環境 OS WINXP CPU PEN4 MEM 2G DB Oracle10g (10.2.0.1) 検証用TBL STR1 CHAR(8) *ユニークインデッ…