반응형
Oracle JDBC Thin Client 식별자 변경
Oracle에 연결할 때 JDBC 드라이버는 Oracle에 대한 "JDBC Thin Client"(v$session에서는 '프로그램'으로 표시)로 인식합니다.v$session에도 이에 사용할 수 있는 'ClientInfo' 열이 있지만 항상 비어 있습니다.
Oracle에 연결되는 서로 다른 애플리케이션(같은 호스트에서 실행되므로 v$session의 'machine' 열이 모두 동일)을 식별해야 하는데, Oracle JDBC Thin Client 드라이버가 자신을 식별하는 방법을 변경할 수 있습니까(예: 애플리케이션 이름을 입력할 수 있습니다)?
아니면 추천할 만한 방법이 있습니까?한 가지 제한 사항은 내부적으로 연결 설정을 처리하는 일부 응용 프로그램에 대해 Struts 내에서 이 작업을 수행한다는 것입니다.
java.util.Properties props = new java.util.Properties();
props.setProperty("password","mypassword");
props.setProperty("user","myusername");
props.put("v$session.osuser", System.getProperty("user.name").toString());
props.put("v$session.machine", InetAddress.getLocalHost().getCanonicalHostName());
props.put("v$session.program", "My Program Name");
DriverManager.registerDriver (new oracle.jdbc.OracleDriver());
Connection conn=
DriverManager.getConnection("jdbc:oracle:thin:@myhostname:1521:mysid", props);
SQL>select username,osuser,program,machine
from v$session
where username = 'ROB';
USERNAME OSUSER PROGRAM MACHINE
--------- ----------- ------------------ -----------
ROB rmerkw My Program Name machine
애플리케이션 수준에서 다음 방법을 사용하여 v$session에서 client_info, 모듈 및 작업을 설정할 수 있습니다.
dbms_application_info.set_client_info
dbms_application_info.set_module
dbms_application_info.set_action
오라클 기능도 있습니다.
dbms_application_info.set_client_info('Client Info');
v$session에서 ClientInfo 열을 설정합니다.
언급URL : https://stackoverflow.com/questions/1612657/change-oracle-jdbc-thin-client-identifier
반응형
'programing' 카테고리의 다른 글
스프링 부트:이 리소스에 액세스하려면 전체 인증이 필요합니다. (0) | 2023.07.05 |
---|---|
Spring Data JPA에서 페이지 생성 (0) | 2023.07.05 |
스풀 명령:SQL 문을 파일로 출력하지 않음 (0) | 2023.07.05 |
SQL Server 데이터베이스에 auto_increment 기본 키를 추가하려면 어떻게 해야 합니까? (0) | 2023.07.05 |
로컬 커밋되지 않은 변경사항과 출처를 구분하는 방법 (0) | 2023.07.05 |