Oracle Statement Cache Test

2021. 2. 3. 14:40About IT/Database

DataSource 이용한 Connection

1. DataSource 객체에서 setImplicitCachingEnabled 메소드를 호출한다. 

    try {
        Class.forName("oracle.jdbc.OracleDriver");
    } catch (ClassNotFoundException e) {
		e.printStackTrace();
		System.exit(-1 );
    }
		 
	String sUrl = "jdbc:oracle:thin:@//192.168.0.21:1521/orcl";
	OracleDataSource sDataSource = new OracleDataSource();
		 
	sDataSource.setURL( sUrl );
	sDataSource.setUser( "test" );
	sDataSource.setPassword("test");
	sDataSource.setImplicitCachingEnabled( true );
	Connection sCon = sDataSource.getConnection();

2. Connection 객체에서 setStatementCacheSize 메소드로 Cache Size 설정한다.

((OracleConnection)sCon).setStatementCacheSize( 10 );

Default 값 확인

Connection 객체에서 getImplicitCachingEnabled, getStatementCacheSize 메소드 호출로 Default 값 확인 가능하다.

setImplicitCachingEnabled( true )로 호출했는데 getImplicitCachingEnabled() 값이 false로 나온다....

setImplicitCachingEnabled getImplicitCachingEnabled getStatementCacheSize
false false -1
true false 0

즉, setStatementCacheSize 메소드로 Cache Size를 설정해야 true로 설정된다.


User Authorization 관계

Oracle은 SET SESSION AUTHORIZATION 구문을 지원하지 않는다.