oracle jdbc for rdb jim murray oracle new england ...€¦ · oracle jdbc for rdb native driver...

Post on 30-May-2020

53 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Oracle Rdb Technical ForumsOracle JDBC for Rdb

Jim MurrayOracle New EnglandDevelopment Centre

Agenda

• Driver & Servers Overview• V7.1.3 release

– Multi-process server– XML configuration file– SQL/Services interface– Controller– SSL support

• Itanium• Demonstration

3

OCI C Library

OracleThin

Types of JDBC Drivers

ODBC C Library Java Sockets

Oracle Pure Java

Driver

Vender independent

Drivers written by

venderDynamic SQL

Javasoft ODBC OracleOCI rdbNative

JDBC Class Library

rdbThin

4

Oracle JDBC for RdbNative Driver

OracleRdb

Java Programnative driver

Dynamic SQL

• Purpose of this driver– Environment type Java application

and Java application as a middle tier.• JDBC call is translated to dynamic

SQL• Features

– JAVA applet can not be used.– Performance is best.

5

Types of JDBC Drivers

ODBC C Library

OCI C Library Java Sockets

Oracle Pure Java

Driver

Vender independent

Drivers written by

venderDynamic SQL

Javasoft ODBC OracleOCI OracleThin rdbNative

JDBC Class Library

rdbThin

6

Oracle JDBC for RdbThin Driver

OracleRdb

Java Programthin driver

Java Socket

Rdb Thin ServerTCP/IP

• Thin driver connects to OracleRdb via JAVA sockets usingTCP/IP

• Features– No client libraries need to be

installed.• 100% JAVA

– only TCP/IP protocol issupported.

7

Oracle JDBC for RdbThin Server

• Multi-threaded server• Listens to single port• Single process• Synchronization needed at Rdb interface

may limit concurrency

8

Thin Server (cont)

OraeRdb

Java ProgramThin DriverJava Socket

Thin Server

9

Thin Server (cont)

OraeRdb

Java ProgramThin DriverJava Socket

Thin ServerTCP/IP

10

Thin Server (cont)

OraeRdb

Java Program Thin DriverJava Socket

Thin ServerTCP/IP

Thread

11

Thin Server (cont)

OraeRdb

Java ProgramThin DriverJava Socket

Thin ServerTCP/IP

ThreadOracleRdb

12

Thin Server (cont)

OraeRdb

Java ProgramThin DriverJava Socket

Thin ServerTCP/IP

ThreadOracleRdb

Java ProgramThin DriverJava Socket

Thread

13

Oracle JDBC for RdbPool Server

• Distributes connection requests• Pool of available Thin servers• Single Node:port address• Thin Server may be local/remote to pool

server• Better concurrency• NOT connection pooling

14

Pool Server (cont)

Thin Server

OraeRdb

Java ProgramThin DriverJava Socket

Pool ServerThin Server

Thin ServerThin Server

15

Pool Server (cont)

Thin Server

OraeRdb

Java ProgramThin DriverJava Socket

Pool ServerTCP/IP

Thin ServerThin Server

Thin Server

16

Pool Server (cont)

Thin Server

OraeRdb

Java ProgramThin DriverJava Socket

Pool ServerTCP/IP

Thin ServerThin Server

Thin ServerTCP/IP

17

Pool Server (cont)

Thin Server

OraeRdb

Java Program Thin DriverJava Socket

Pool Server

TCP/IP

Thin ServerThin Server

Thin Server

18

Pool Server (cont)

Thin Server

OraeRdb

Java ProgramThin DriverJava Socket

Pool Server

TCP/IP

Thin ServerThin Server

Thin Server

OracleRdb

19

V7.1.3 release

• Multi-Process Server• XML –based configuration file• SQL/Services Manager server start and

close• More Controller features• Auto-start and keep alive with pool

servers

20

V7.1.3 release (Cont.)

• Secure Socket support (SSL)• DEC_KANJI , DEC_HANZI support is

still undergoing testing

21

Oracle JDBC for RdbMulti-Process Server

• Multi-threaded server• New sub-process started for each

connection• Single Node:port address• Better concurrency as multiple process

used, no synchronization needed

22

Multi-Process Server (cont)

OraeRdb

Java ProgramThin DriverJava Socket

Multi-Process Server

23

Multi-Process Server (cont)

OraeRdb

Java ProgramThin DriverJava Socket

Multi-Process ServerTCP/IP

24

Multi-Process Server (cont)

OraeRdb

Java ProgramThin DriverJava Socket

Multi-Process ServerTCP/IP

Global memory Executor

25

Multi-Process Server (cont)

OraeRdb

Java ProgramThin DriverJava Socket

Multi-Process ServerTCP/IP

Global memoryOracleRdbExecutor

26

Multi-Process Server (cont)

OraeRdb

Java ProgramThin DriverJava Socket

Multi-Process ServerTCP/IP

Global memoryOracleRdbExecutor

Java ProgramThin DriverJava Socket

Executor

27

XML–based configurationfile

• *.CFG still supported• *.XML provides more features• Single configuration file for all servers or have

multiple configuration files – your choice• Other characteristics

– Session information– Databases– DEFAULT server characteristics

28

XML–based configurationfile (Cont)

29

XML–based configurationfile (Cont)

30

XML–based configurationfile (Cont)

SQL/Services Managerstartup

• Start/Stop server using SQL/Services$ MCR SQLSRV_MANAGE71SQLSRV> CONNECT SERVER;SQLSRV> CREATE DISPATCHERJDBCDISP NETWORK_PORT TCPIPPORT_ID 1880 PROTOCOL JDBC;SQLSRV> START DISPATCHERJDBCDISP;

JDBC :New type of

Protocol

32

Oracle JDBC for RdbController features

• Start / Stop / Open /Close / Show server• Watch server ( Trace log sent to

controller console)• Poll of active servers on network ( using

Multicast)• Stop Client – Stop all Clients – Stop

Clients in database

Controllerrdbthincontrol> show active serversActive server infoRDB$NODE : 192.168.1.100RDB$PORT : 1701RDB$STATUS : IdleRDB$SERVER_NAME : rdbthnsrv1RDB$SERVER_TYPE : RdbThinSrvRDB$SERVER_VERSION : X7.1-301 20041029 B40SRDB$SERVER_SHR_VERSION : X7.1-301 20041029 B40SRDB$SERVER_PID : 0x0118(280)RDB$ALLOWS_ANON : falseRDB$ALLOWS_BYPASS : falseRDB$NUMBER_OF_CLIENTS : 0RDB$MAX_CLIENTS : -1RDB$TRACE_LEVEL : 0RDB$LOG_FILE : nullRDB$RESTRICT_ACCESS : false

34

Auto-start & Auto-restart

• Available only in conjunction with poolserver

• Thin servers auto-start on Pool serverstartup

• Also servers close down when Pool servercloses

• Auto-restart and keep alive timer

35

Asian Character Sets

• Previously a problem asUNICODE/Asian conversion libraries onVMS not compatible with server sharedimage.

• Now using JAVA to do conversions,more character sets supported by drivers

• Still undergoing testing

36

SSL Support

• Client/Server communication may use SecureSocket Layer sockets

• New SSL type servers– RdbThinSSL– RdbThinMPSSL– RdbThinPoolSSL

• Startup may take longer – handshake takes time• You can choose security aspects of SSL

SSL support ( Cont.)

• Server needs SSL information<!-- DEFAULT Secure socket server --><server name="DEFAULTSSL" type="RdbThinSrvSSL" ssl.default="false" ssl.context="TLS" ssl.keyManagerFactory="SunX509" ssl.keyStoreType="jks" ssl.keyStore="rdbjdbcsrv.kst" ssl.keyStorePassword="CHANGETHIS" ssl.trustStore="rdbjdbcsrv.kst" ssl.trustStorePassword="CHANGETHIS“/>

RdbThinSrvSSL :New type of

Server

38

SSL support ( Cont.)

• Client needs SSL information• Use Properties block on connection

SSL support ( Cont.)Properties info = new Properties();info.put("user", user);info.put("password", password);info.put("tracelevel", traceLevel);info.put("ssl", "true");info.put("ssl.default", "false");info.put("ssl.context", "TLS");info.put("ssl.keyManagerFactory", "SunX509");info.put("ssl.keyStoreType", "jks");info.put("ssl.keyStore", "rdbjdbccli.kst");info.put("ssl.keyStorePassword", "CHANGETHIS");info.put("ssl.trustStore", "rdbjdbccli.kst");info.put("ssl.trustStorePassword", "CHANGETHIS");Connection conn = DriverManager.getConnection( “jdbc:rdbThin://bravo:1755/my_db_dir:pers",info);

40

Itanium

• Kit built with Native build of images• JAVA is JAVA is JAVA. No changes

needed for JARs• NO change needed to Oracle JDBC for

Rdb source code• Thin Server running on IA64• Thin Client running on IA64

41

DEMONSTRATIONS

42

Sneak Peek

• www.oracle.com/rdb• metalink.oracle.com• http://www.hp.com/products/openvms• Jim.murray@oracle.com

For More Information

Q U E S T I O N S

A N S W E R S&

top related