Oracle

Oracle 11g 新機能 virtual仮想列と結果キャッシュ

新機能のvirtual仮想列について。 virtual仮想列 式を指定して仮想列を定義する事が可能。 create table test ( c1 number, c2 number, c3 as (c1 + c2) virtual ) virtualキーワードを指定することにより、c3カラムはc1とc2が加算された値が自動的に移入さ…

jdbcでoracleの起動・停止する方法

これは本当にすごい!!!! ojdbc6.jar(ojdbc5.jarでも可能)を使うとJDBC経由でoracleのstartup, shutdownが可能になります。 僕が試したのは、oracle9iのDBに対してojdbc6.jarを使用してDBの起動・停止。 Database : oracle9i Java : 1.6.0_02 JDBC : ojdb…

JDBCドライバのリポジトリは?

OracleのJDBCドライバを使いたいのでpom.xmlを書こう! まずは、定番 MVN Repository で検索。 "oracle" で検索http://mvnrepository.com/search.html?query=oracleでそこから、使いたいJDBCドライバを見つけて...http://mvnrepository.com/artifact/com.ora…

Oracle9i x WindowXP SP2 ではまる点

WindowsXP SP2にインストールしてあるOracle9iには,外部から接続出来なくてはまります. 外部から,telnetやtnspingで接続確認も出来ない(>_ 外部からOracleに接続出来るようにするには3つの設定が必要です. 1.tsnnames.oraの編集SERVERを専用サーバ(DEDIC…

Oracleでlimit offsetもどき

postgreSQLにはlimit offsetがあり時には非常に便利な機能。Oracleの場合、ROWNUMを使って似たような事が出来ます。Oracleにおいて、HOGEテーブルの検索結果の中から最初の10件を取得したい場合は select * from HOGE where rownum <= 10;または select * fr…

column名

今日のOracleメモ。 あるスキーマに存在する全テーブル内で hoge というカラムを持つテーブル一覧が知りたい という事で以下のSQLで取得 select table_name from user_tab_columns where column_name = 'hoge';ここで期待していた該当テーブルが取得出来ない…

Changing XML DB Default Ports

ポート : 8080はtomcat等で使用したいので、XML DB のデフォルト使用ポートを変更。 SQL> call dbms_xdb.cfg_update(updateXML( 2 dbms_xdb.cfg_get() 3 , '/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()' 4 , 8081)) 5 / Call complete…

sqlplusのpromptで気分転換

sqlplus用にlogin.sqlを作成してプロンプトで気分転換。プロンプトにログインユーザ名を表示したい場合login.sqlを column user new_value uid1 select user from dual; set sqlprompt '&uid1>' プロンプトを好きな文字にする場合login.sqlを set sqlprompt …

drop column

8iにおいて alter table 表名 drop aolumn 列名 COMPATIBLEパラメータが、8.1.0.0.0以上じゃないと使用できない...追記: ORA-00406: COMPATIBLEパラメータは、string以上必要です。 原因: COMPATIBLE初期化パラメータは、操作ができるほど高くありません。…

sqlplusのsqlcodeをshの終了コードへ返す

test.sh #!/bin/sh $ORALE_HOME/bin/sqlplus /nolog @hoge.sql SQLCODE=$? if [ $SQLCODE -ne 0 ]; then echo "ERROR!!! sqlcode[$SQLCODE]" exit -1 fihoge.sql conn user/password@foo select aaaaaaaaaaaaaaaaaaaaaa; exitこのhoge.sqlだと、test.shのSQL…

ちょっとチェックSQL

誰がどんなSQL使ってるのかなー select username ,osuser ,machine ,terminal ,program ,sid ,serial# ,status ,sql_address ,sql_text from v$session s ,v$sqltext q where type = 'USER' and s.sql_address = q.address order by s.sid, s.serial#, q.pie…

memo

毎回、忘れてしまうためにメモ select * from NLS_DATABASE_PARAMETERS where PARAMETER = 'NLS_NCHAR_CHARACTERSET' or PARAMETER='NLS_CHARACTERSET'

merge文

http://www.atmarkit.co.jp/fdb/rensai/sqlclinic11/sqlclinic11_1.html 1年前は、おぉ!と思ったものの実案件ではあまり使ってなかったり…

SQL

データの中の日付項目 hoge_date で、2004年でかつ5日のものだけ取り出したい 2004/10/05 2004/01/05 とか select hoge, foo from test_table where extract(year from hoge_date) = 2004 and extract(day from hoge_date) = 5

SQL

セッション一覧取得 コネクションプーリングの確認の為、ちょっとSQLのメモ select to_char(logon_time, 'yyyy/mm/dd hh24:mi:ss') as logontime ,username ,status ,machine ,osuser ,terminal ,program ,sid ,serial# ,sql_address from v$session where t…