2013年4月11日木曜日

[Oracle]V$SESSIONに接続元を識別する情報を格納する方法

JDBCでOracleデータベースに接続した場合に、セッション情報を確認するビュー(V$SESSION)のPROGRAM列に任意の値を設定する方法。

OracleDataSourceの接続プロパティに対して、キー:v$session.program、値:接続元を示す値を設定することで、任意の値をV$SESSIONのPROGRAM列に表示出来る。
※デフォルト(thin接続の場合)の場合、'JDBC Thin Client'と表示される。

実装例

この例の場合、PROGRAM列には「任意の値」が表示される。
dataSource.setURL("jdbc:oracle:thin:@localhost:1521:hoge");
dataSource.setPassword("hoge");
dataSource.setUser("hoge");
Properties properties = new Properties();
// v$session.programをキーにして、クライアントを識別する値を設定する。
properties.setProperty("v$session.program", "任意の値");
dataSource.setConnectionProperties(properties);