Introduction
ความสามารถอีกอย่างของ
Oracle Database 8i ที่ทำให้หลายท่านพอใจ ก็คือ ความสามารถในเรื่อง
java ของ Oracle Database 8i ซึ่งจะมี JVM (Java Virtual Machine)
ที่เด่นในด้านรองรับการขยายระบบในอนาคต (Scalable) ประโยชน์การใช้งานที่หลากหลาย
(general-purpose java execution environment)
Oracle
JVM นั้นจะ Compliant กับ Sun java JDK specification โดยทาง Oracle
ได้ optimized ให้เหมาะสมกับ Oracle Architecture
Oracle
Java virtual machine
เปรียบเทียบ
Oracle JVM กับ JDK
Oracle8.1.5
-> JDK1.1
Oracle8.1.6
-> JDC1.2
Oracle
Java Virtual Machine Scripts
Scripts
ต่างๆ ที่ใช้ในการติดตั้ง Oracle JVM จะอยู่ภายใต้ $ORACLE_HOME/javavm/install
โดยหลักจะมีดังนี้
initjvm.sql
เป็น
Scripts หลักในการติดตั้ง JVM โดย Scripts นี้
- จะ
load Java classes ที่จำเป็นทั้งหมด
- สร้าง
Table สำหรับ CORBA namespace
- และทำการ
publishes some top-level entry points ผ่าน call specification
rmjvm.sql
Script
นี้ทำหน้าที่ลบ any trace of java usage รวมถึง core classes, user
created และ class java objects จาก Data dictionary ถ้าเรา run
Script นี้ จะเป็นการลบ java object ทุกอย่างจาก database ทั้งหมด
เว้นแต่จะมีการ Backup ไว้ก่อน
jvmu815.sql
จะ
Run Script นี้เมื่อต้องการ upgrade database จาก 8.1.5 เป็น 8.1.6
โดยที่จะเก็บ User Classes ไว้และเปลี่ยน System Class เป็นของใหม่ทั้งหมด
JVM
Installation
การ
Install Oracle Java Virtual Machine อาจทำได้โดย
1.Install
พร้อมกับการ Install Oracle Software
ในกรณีนี้
การติดตั้ง Java Virtual Machine จะสามารถกระทำได้ 2 วิธี
- Oracle8i
typical or minimal install แบบนี้จะ install JVM automatic
- Oracle8i
custom install จะ Install เมื่อถูกเลือกเท่านั้น
2.Install
ภายหลัง Install Oracle Software
ซึ่งก็สามารถทำได้
2 กรณี คือ
ในกรณีเราสร้าง
Database ใหม่
- ให้เรา
Create Database ด้วย Database Assistant และเลือก active Java
ในกรณีที่เรามี
Database อยู่ก่อนแล้ว และต้องการติดตั้ง Java Virtual Machine เพิ่มเติม
- เราต้องติดตั้ง
เองโดย run initjvm.sql scripts โดย user sys (ใช้เวลาเป็นชั่วโมงนะครับ)
ขั้นตอนการทำงาน
ของ initjvm.sql
- Create
และ load java Classes ภายใต้ Sys schema โดยใช้ CREATE or REPLACE
JAVA SYSTEM command
- Create
public synonyms สำหรับ load classes ที่จะใช้งานต่อ user อื่น
ๆ
- Create
roles ที่จะใช้งาน JAVA
- Defines
Database Startup และ shutdown Triggers
- Configurations
the JVM สำหรับ CORBA และ EJB
- สร้าง
DBMS_JAVA package โดยเรียก initdbj.sql script
- ติดตั้ง
SQLJ โดยเรียก Script ชื่อ initsqlj.sql
System
Requirements สำหรับ Oracle JVM (recommend)
| SHARE_POOL_SIZE
>= 65 MB
JAVA_POOL_SIZE
>= 50MB
50MB
free in the SYSTEM Tablespace
250MB
of rollback segment space |
ตรวจสอบการติดตั้ง
( Verify Installation )
เมื่อเรียกใช้งาน
svrmgrl/sqlplus เราจะเห็น banner ที่บอกว่า เราได้ติดตั้ง Java
Option ด้วยหรือเปล่า
Query
ล่างนี้จะเป็นการ check จำนวน java objects ที่ถูกสร้างขึ้นมา
| SELECT
count(*)
FROM
dba_objects
WHERE
object_type LIKE '%JAVA%'; |
ถ้าค่าที่
return มา < 4000 แสดงว่า การติดตั้งไม่สมบรูณ์
Query
ล่างนี้จะเป็นการตรวจสอบว่ามี java classes ที่ invalid อยู่หรือไม่
| SELECT
dbms_java.longname(name)
FROM
sys.obj$
WHERE
type# = 29 and status != 1; |
ถ้าจาก
query ด้านบน return ค่ากลับมา แสดงว่า การติดตั้ง (Installation)
ยังไม่สมบรูณ์
Reference:
(You can download from http://otn.oracle.com/ )
- Oracle8.1.6
Oracle Java Stored Procedures Developer's Guide
- Oracle
8.1.6 Oracle Java Developer's Guide
|