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

45
Oracle Rdb Technical Forums Oracle JDBC for Rdb Jim Murray Oracle New England Development Centre

Upload: others

Post on 30-May-2020

50 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

Oracle Rdb Technical ForumsOracle JDBC for Rdb

Jim MurrayOracle New EnglandDevelopment Centre

Page 2: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

Agenda

• Driver & Servers Overview• V7.1.3 release

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

• Itanium• Demonstration

Page 3: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

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

Page 4: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

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.

Page 5: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

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

Page 6: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

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.

Page 7: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

7

Oracle JDBC for RdbThin Server

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

may limit concurrency

Page 8: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

8

Thin Server (cont)

OraeRdb

Java ProgramThin DriverJava Socket

Thin Server

Page 9: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

9

Thin Server (cont)

OraeRdb

Java ProgramThin DriverJava Socket

Thin ServerTCP/IP

Page 10: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

10

Thin Server (cont)

OraeRdb

Java Program Thin DriverJava Socket

Thin ServerTCP/IP

Thread

Page 11: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

11

Thin Server (cont)

OraeRdb

Java ProgramThin DriverJava Socket

Thin ServerTCP/IP

ThreadOracleRdb

Page 12: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

12

Thin Server (cont)

OraeRdb

Java ProgramThin DriverJava Socket

Thin ServerTCP/IP

ThreadOracleRdb

Java ProgramThin DriverJava Socket

Thread

Page 13: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

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

Page 14: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

14

Pool Server (cont)

Thin Server

OraeRdb

Java ProgramThin DriverJava Socket

Pool ServerThin Server

Thin ServerThin Server

Page 15: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

15

Pool Server (cont)

Thin Server

OraeRdb

Java ProgramThin DriverJava Socket

Pool ServerTCP/IP

Thin ServerThin Server

Thin Server

Page 16: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

16

Pool Server (cont)

Thin Server

OraeRdb

Java ProgramThin DriverJava Socket

Pool ServerTCP/IP

Thin ServerThin Server

Thin ServerTCP/IP

Page 17: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

17

Pool Server (cont)

Thin Server

OraeRdb

Java Program Thin DriverJava Socket

Pool Server

TCP/IP

Thin ServerThin Server

Thin Server

Page 18: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

18

Pool Server (cont)

Thin Server

OraeRdb

Java ProgramThin DriverJava Socket

Pool Server

TCP/IP

Thin ServerThin Server

Thin Server

OracleRdb

Page 19: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

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

Page 20: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

20

V7.1.3 release (Cont.)

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

still undergoing testing

Page 21: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

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

Page 22: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

22

Multi-Process Server (cont)

OraeRdb

Java ProgramThin DriverJava Socket

Multi-Process Server

Page 23: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

23

Multi-Process Server (cont)

OraeRdb

Java ProgramThin DriverJava Socket

Multi-Process ServerTCP/IP

Page 24: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

24

Multi-Process Server (cont)

OraeRdb

Java ProgramThin DriverJava Socket

Multi-Process ServerTCP/IP

Global memory Executor

Page 25: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

25

Multi-Process Server (cont)

OraeRdb

Java ProgramThin DriverJava Socket

Multi-Process ServerTCP/IP

Global memoryOracleRdbExecutor

Page 26: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

26

Multi-Process Server (cont)

OraeRdb

Java ProgramThin DriverJava Socket

Multi-Process ServerTCP/IP

Global memoryOracleRdbExecutor

Java ProgramThin DriverJava Socket

Executor

Page 27: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

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

Page 28: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

28

XML–based configurationfile (Cont)

Page 29: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

29

XML–based configurationfile (Cont)

Page 30: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

30

XML–based configurationfile (Cont)

Page 31: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

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

Page 32: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

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

Page 33: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

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

Page 34: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

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

Page 35: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

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

Page 36: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

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

Page 37: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

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

Page 38: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

38

SSL support ( Cont.)

• Client needs SSL information• Use Properties block on connection

Page 39: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

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);

Page 40: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

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

Page 41: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

41

DEMONSTRATIONS

Page 42: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

42

Sneak Peek

Page 43: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

• www.oracle.com/rdb• metalink.oracle.com• http://www.hp.com/products/openvms• [email protected]

For More Information

Page 44: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment

Q U E S T I O N S

A N S W E R S&

Page 45: Oracle JDBC for Rdb Jim Murray Oracle New England ...€¦ · Oracle JDBC for Rdb Native Driver Oracle Rdb Java Program native driver Dynamic SQL •Purpose of this driver – Environment