Connecting VisualVM to Oracle JVM
Has anyone had any success connection to the database JVM using Visual VM.
I've started the jmx agent using dbms_java.start_jmx_agent, and am able to connect with jconsole without problems, but when I try to connect with VisualVM, I get an error message java.lang.NumberFormatException: For input string: "(PID=5044;SID=248)"
I've taken a look at the VisualVM code and the problem appears to be that when VisualVM reads the virtual machine name, it gets something like (PID=X;SID=Y)@SERVERNAME. Visual VM then takes everything before the @ in that name string and attempts to convert it to an integer.
Versions:
Oracle Database 11gR2 running on Windows.
Oracle VisualVM 1.3.2
For background, I'm trying to profile a Java procedure which is running much slower inside the DB than outside of it.
A quick fix might be to 'rename' the java virtual machine for the database session in question, but I can't find a way to do that? Any ideas?
Many thanks,
James
I never solved this. but did find a very crude workaround. Here it is in case anyone has a similar problem .
The reason I needed visualVM was to profile some slow running code within the DB. The best I could do in the end was to use jconsole and repeatedly use the EmitStackTrace mbean option. Using this it is possible to build a picture of which methods the JVM is spending most of its time in.
The problem by the way was that one method was not being compiled by the JIT compiler, so it was always being interpreted. Fortunately that method wasn't essential to the process and by avoiding it, performance improved to the same, (actually very slightly faster) than the standard JVM /JRE.
James
Similar Messages
-
Hello Community,
Related to this post: https://forums.oracle.com/message/4800072
I thought I'd start a new thread since I can't comment the one above.
1) I have visualvm *32 install
2) Monitoring a 64 bit jvm app locally
3) Changed "visualvm.conf" jdk home to 64 bit 1.7
4) I still get the same issue.
Summary
Version:
1.3.5 (Build 121105); platform 20120926-d0f92ba97f49
System:
Windows 7 (6.1) Service Pack 1, amd64 64bit
Java:
1.7.0_04; Java HotSpot(TM) 64-Bit Server VM (23.0-b21, mixed mode)
Vendor:
Oracle Corporation, http://java.oracle.com/
Environment:
Cp1252; en_US (visualvm)
User directory:
C:\Users\trx\AppData\Roaming\VisualVM\1.3.5
Cache directory:
C:\Users\trx\AppData\Local\VisualVM\Cache\1.3.5
Clusters:
C:\visualvm_135\platform
C:\visualvm_135\visualvm
C:\visualvm_135\profiler
Any thoughts on resolving this issue?
Thanks in advance.
TRXHi,
as you can see, you are running VisualVM on 32bit JVM
1.6.0_20; Java HotSpot(TM) Client VM (16.3-b01, mixed mode, sharing)
You don't need to unistall 32bit JVM. Just tell VisualVM to use tour 64bit JVM.
One way is to use --jdkhome command-line switch.
visualvm_13\bin\visualvm.exe --jdkhome <path_to_64bit_JVM>
If you want to change it permanently, you can edit
visualvm_13\etc\visualvm.conf
uncomment and edit netbeans_jdkhome entry to point to your 64bit JVM.
HTH,
Tom -
Java multithreading support in Oracle JVM
Dear all,
I have some questions and observations regarding multithreading support in Oracle JVM. I have some java code that is stored in the database and is multithreaded (in separate threads I run a plsql procedure that does a lot of precessing). If I run the code with my standalone JVM it works like a charm, everything gets executed in separate threads. But if I store the code in the database and run it (with the custom JVM Oracle implemented for the server) it does not do any threading, all I have is a single thread that runs everything sequentially.
The logic is this: using JDBC I create a connection, get a parameter (number of threads) and then launch the threads (each thread creates its own connection and runs the plsql procedure). No resource is shared (I have no synchronized code, I do not yield).
My question is: does Oracle JVM supports multithreading or not? If yes, how to achieve it? Maybe there is something handled in JDBC? (although my code useses JDBC is not multithreaded) If this is not possible with java, do you now how to run something (oracle function, procedure) concurrently with PLSQL? (I tried with DBMS_JOBS but it does not work on all my databases and our DBAs discourage the use of them). Performing multithreading my launching different sqlPlus processes is not an option (as we have no security standard regarding the authentication -> connection is made by specifying in clear text the user and password).
I wanted to use java because is more simple, secure (the connection is already established as the classes are stored in the database) and easy to maintain (until now we use different scripts which run on Unix and Windows and this leads to double work).
The Oracle versions I use are 10g and 11g.
Thank you all very much for your time
Just the best,
Dondon wrote:
My question is: does Oracle JVM supports multithreading or not? If yes, how to achieve it? Maybe there is something handled in JDBC? (although my code useses JDBC is not multithreaded) If this is not possible with java, do you now how to run something (oracle function, procedure) concurrently with PLSQL? (I tried with DBMS_JOBS but it does not work on all my databases and our DBAs discourage the use of them). Performing multithreading my launching different sqlPlus processes is not an option (as we have no security standard regarding the authentication -> connection is made by specifying in clear text the user and password).
(Obviously the other post answers your question.)
If I am reading that correctly then you have a management issue - not a technological one.
You have a task to complete, presumably doing it efficiently is something that the company wants.
And you have two alternatives both of which the DBAs are not allowing you to use.
So at that point it is up to management to insist that the DBAs provide specific technological reasons (not hand waving) why those solutions are not suitable. And they should also be required to provide the outline of an alternative that is suitable.
Besides that you might consider why your solution cannot be implemented entirely in a single threaded PL/SQL routine. The fact that is harder is not a reason when the point of the excercise is to create something that is more efficient. -
Increase Scope of Custom variables in Oracle JVM
We on our project are facing the following problem, any suggestions to work around this would be appreciated :
We our using Oracle 9i JVM for development
Our Sample problem flow is as follows :
A package PKG1 has three procedures PROC1/PROC2/PROC3
A java class JC1 is invoked by a procedure PROC1 - JC1 is running under oracle JVM.
JC1 does the task of mapping a custom user defined java object to an oracle collection and invokes a procedure PROC2 (we are using thin client connection object in JAVA by means of simple JDBC calls to connect to the database.) which takes the oracle collection as input parameter and does processing over it.
A procedure PROC3 does the task of calling PROC1 and then tries to access global variables defined in the package set by PROC2 , which comes out as a failed operation throwing the error as:
ORA-06531: Reference to uninitialized collection
The reason for the above behavior is : In the parent oracle session invoked by PROC1 the class JC1 opens another child database session for PROC2 and thus values set in the child thread are not visible to the parent.
Required support: Is there a means for setting up of some property in ORACLE or Java which can enforce the JAVA CLASS to use its parent / invoking oracle session or if there is any other approach to overcome the above situation.Anand,
I believe the Java in the Oracle Database forum is more appropriate for your question.
You said:
The reason for the above behavior is the parent oracle session opens
another child database session
How do you do this? And why? And what evidence makes you certain that this is the problem?
Good Luck,
Avi. -
JDBC connection error to ORACLE in JSP
To connect to the Oracle database (using java server pages), we have installed the oracle client on web server box during the installation, it has installed jdbc classes also. We have put this classes in the Environment variable - path and class path. We have also put the same in class path of JVM (virtual server -> java tab -> configure jvm attributes) also. Still the connectivity with database is not getting established!!
The Error is mentioned below : (from error log file)
"[08/Oct/2002:17:19:51] info ( 309): Internal Info: loading servlet /test/doctor8.jsp
// doctor8.jsp is the page, where we try to connect to the database. (the same page used to be working fine with our previous web server.)
[08/Oct/2002:17:20:04] info ( 309): JSP: JSP1x compiler threw exception
org.apache.jasper.JasperException: Unable to compile class for JSPNote: sun.tools.javac.Main has been deprecated.
C:\iPlanet\Servers\https-web_test.wellcarehmo.com\config\..\ClassCache\_jsps\_test\_doctor8_jsp.java:31: Ambiguous class: java.beans.Statement and java.sql.Statement
Statement st=null;
^
C:\iPlanet\Servers\https-web_test.wellcarehmo.com\config\..\ClassCache\_jsps\_test\_doctor8_jsp.java:123: Class <<ambiguous>>Statement not found in =.
st=con.createStatement();
^
C:\iPlanet\Servers\https-web_test.wellcarehmo.com\config\..\ClassCache\_jsps\_test\_doctor8_jsp.java:123: Incompatible type for =. Can't convert java.sql.Statement to <<ambiguous>>Statement.
st=con.createStatement();
^
C:\iPlanet\Servers\https-web_test.wellcarehmo.com\config\..\ClassCache\_jsps\_test\_doctor8_jsp.java:125: Class <<ambiguous>>Statement not found in void _jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse).
rs=st.executeQuery(strSql);
^
4 errors, 1 warning
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:284)
at com.iplanet.server.http.servlet.NSServletEntity.load(NSServletEntity.java:252)
at com.iplanet.server.http.servlet.NSServletEntity.update(NSServletEntity.java:173)
at com.iplanet.server.http.servlet.NSServletRunner.Service(NSServletRunner.java:416)
[08/Oct/2002:17:20:04] warning ( 309): Internal error: Failed to get GenericServlet. (uri=/test/doctor8.jsp,SCRIPT_NAME=/test/doctor8.jsp)org.apache.jasper.JasperException: Unable to compile class for JSPNote: sun.tools.javac.Main has been deprecated.
C:\iPlanet\Servers\https-web_test.wellcarehmo.com\config\..\ClassCache\_jsps\_test\_doctor8_jsp.java:31: Ambiguous class: java.beans.Statement and java.sql.Statement
Statement st=null;
You are declaring a variable st of type Statement and the compiler can't figure out whether you mean a java.beans.Statement or java.sql.Statement. Change your declaration to fully qualify the one you want:
java.sql.Statement st = null ; // for example -
Oracle Team?? EJBean Problem on Oracle JVM
Hi,
I am using Jdeveloper3.1 and Oracle8.1.6 for my application. I could deploy and run the EJB on Oracle JVM without any problems. But when I am trying to connect to the Database it is giving me the null value instead of 'Y' or 'N'. The same EJbean I used as the USEBEAN in JSP and it is giving me correct results. I tried to debug and I found it is not getting the connection.I am giving the example I tried.
1. EJB
package EJBSample;
import java.rmi.RemoteException;
import javax.ejb.*;
import java.sql.*;
public class ValidateBean implements SessionBean {
String UId;
String PWd;
Connection conn;
Statement st;
public ValidateBean() {
public void setUId(String UId) throws RemoteException {
this.UId=UId;
public void setPWd(String PWd) throws RemoteException {
this.PWd=PWd;
public String getUId() throws RemoteException {
return UId;
public String getPWd() throws RemoteException {
return PWd;
public String validate() throws RemoteException {
String flg = null,login = null,pass = null;
try{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); flg = "Before Conn..."; conn = DriverManager.getConnection("jdbc:oracle:thin:@pcgamingit4:1521:Everest","scott","tiger"); flg = "After Conn..."; st = conn.createStatement(); String str = "select * from CRM_WRK_LCTN where LOGINID='"+UId+"'"; ResultSet rs = st.executeQuery(str);
while(rs.next()){
login = (String) rs.getString("LOGINID");
if(login.equals(UId)){
pass = (String) rs.getString("PASSWORD");
break;
if( (UId.equals(login)) && (PWd.equals(pass)))
flg="Y";
else
flg="N";
st.close();
conn.close();
}catch(Exception e){ }
return flg;
public void ejbCreate() throws RemoteException, CreateException {
public void ejbActivate() throws RemoteException {
public void ejbPassivate() throws RemoteException {
public void ejbRemove() throws RemoteException {
public void setSessionContext(SessionContext ctx) throws RemoteException {
2. Client:
package EJBClient;
import java.sql.*;
import java.util.*;
import javax.naming.*;
import oracle.aurora.jndi.sess_iiop.*;
public class ValidateClient {
public static void main(String[] args) {
String ejbUrl = "sess_iiop://localhost:2481:Everest/test/Validate";
String username = "scott";
String password = "tiger";
// Setup the environment
Hashtable environment = new Hashtable();
// Tell JNDI to speak sess_iiop
environment.put(javax.naming.Context.URL_PKG_PREFIXES, "oracle.aurora.jndi");
// Tell sess_iiop who the user is
environment.put(Context.SECURITY_PRINCIPAL, username);
// Tell sess_iiop what the password is
environment.put(Context.SECURITY_CREDENTIALS, password);
// Tell sess_iiop to use credential authentication
environment.put(Context.SECURITY_AUTHENTICATION, ServiceCtx.NON_SSL_LOGIN);
// Lookup the URL
EJBSample.ValidateHome homeInterface = null;
try {
System.out.println("Creating an initial context");
Context ic = new InitialContext(environment);
System.out.println("Looking for the EJB published as 'test/Validate'");
homeInterface = (EJBSample.ValidateHome) ic.lookup(ejbUrl);
catch (ActivationException e) {
System.out.println("Unable to activate : " + e.getMessage());
e.printStackTrace();
System.exit(1);
catch (CommunicationException e) {
System.out.println("Unable to connect: " + ejbUrl);
e.printStackTrace();
System.exit(1);
catch (NamingException e) {
System.out.println("Exception occurred!");
System.out.println("Cause: This may be an unknown URL, or some" +
" classes required by the EJB are missing from your classpath.");
System.out.println("Suggestion: Check the components of the URL," +
" and make sure your project includes a library containing the" +
" EJB .jar files generated by the deployment utility.");
e.printStackTrace();
System.exit(1);
// That's it!
try {
System.out.println("Creating a new EJB instance");
EJBSample.Validate remoteInterface = homeInterface.create();
remoteInterface.setUId("mallik");
remoteInterface.setPWd("malli");
System.out.println("Calling EJBSample.Validate methods...\n");
// Method calls go here!
String str = remoteInterface.validate();
// e.g.
// System.out.println(remoteInterface.foo());
System.out.println("...done!");
System.out.println(str);
catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
3. Result:
EJBClient.ValidateClient
Creating an initial context
Looking for the EJB published as 'test/Validate'
Creating a new EJB instance
Calling EJBSample.Validate methods...
...done!
Before Conn...
Can you please tell me the problem. I have wasted 2 days on this.
Mallik.
nullYou're running this EJB in iAS, right?
You have to grant JAVAUSERPRIV to the user running your EJBs so that it is allowed to open a JDBC Thin socket out of the JVM to the backend database.
null -
Need to connect to upgraded Oracle EBS R12 version from R11. The current ODI set up is pointing to R11, Can i use the same connection to point to R12? Please hele experts...
Rp1. in physical connections part can i use the same work schema
2. Can i use same contexts created or do i need to create everything as new and then try?
Thanks,
Rp.
Hi,
As you mentioned that you just upgraded the database, so the data is same and schema is same you can connect with the same work schema.
Yes, you can use the same contexts , but need to do Reverse Engineering for your new database.
And about data server, i think you also have no need to create new data server, if hostname,sid and port etc are same as these were with R11(consult with your DBAs regarding it) -
How can i connect asp to oracle db
how can i connect asp to oracle db
when i go to odbc to make dsn the message say " the oracle(tm) client and networking components were not found thes components are supplied by oracle corporation and are part of the oracle version7.3 or greater client software installation
you will be unable to use this driver until thess components have been installed "
where can i get oracle(tm) and how can what is all steps to make asp connect to oracle db
thanks for you .Probably best to ask the Windows specific lists that best fits your problem:
ODBC: http://forums.oracle.com/forums/forum.jsp?id=763957
.NET Data Provider: http://forums.oracle.com/forums/forum.jsp?id=1015160
Oracle Objects for OLE: http://forums.oracle.com/forums/forum.jsp?id=763961
Oracle Objects for OLE and Wizards: http://forums.oracle.com/forums/forum.jsp?id=763961
Mike. -
How do I avoid re-entrant problems in Oracle JVM
I have a Java program called LanguageFunctions. This Java program has several methods that translate the data within a String or CLOB. I want to use this Java program as a stored procedure, and specifically the methods as Oracle functions. I want this function to be accessed simultaneously without either re-entrant, lock or performance concerns. I want to be able to use the functions something like this:
SELECT TO_CHINESE(VARCHARCOL1) FROM DUAL;
SELECT TO_FINISH(CLOBCOL1) FROM DUAL;
I am having trouble understanding the Java requirements for these methods. I am greatly concerned about multi-user usage and issues with re-entrant code. Does this have to be a static class? If not, how when and where does it get instantiated (I hope not for every invocation of the function)? How to I avoid having one user accidentally changing the data within the method when executed in parallel?
BTW: I have successfully moved these into the Oracle JVM, and executed them as a single user. My main concern is the re-entrant code issues.
ThanksThanks for the reply, I meant no disrespect, I was just trying to be a little funny...
I did read that any method that you want to use as an Oracle function must be static. So I understand that as a given. However, the class I am converting uses static Class variables. You can see this in the example as the textOut variable.
When two users are accessing this function in parallel, I could see the following series of events ocurring, and it is my concern. There is only one textOut, and I believe it can be modifed by both functions simultanesouly with unexpected results. I'm assuming my for loop is set to x < 2.
SessionA issues: SELECT TO_DANISH('HELLO') FROM DUAL;
A --> textOut = ""
A --> textOut = "HELLO"
A --> textOut = "HELLOxy"
A --> textOut = "HELLOxyxy"
SessionB issues: SELECT TO_DANISH('GOODBYE') FROM DUAL;
B --> textOut = ""
A --> textOut = "xy"
B --> textOut = "GOODBYE"
A --> textOut = "GOODBYExy"
Session A returns: "GOODBYExy" (expected "HELLOxyxy")
B --> textOut = "GOODBYExyxy"
B --> textOut = "GOODBYExyxyxy"
Session B returns: "GOODBYExyxyxy" (expected "GOODBYExyxy")I'm I correct in my assumption that this is an issue? If so, what type of programm architecture would be best to use to manage this? I've tried to provide a simple working example of the issue, but the program that I'm working on actually alters the contents of textOut (as a static Class variable) in 5 or 6 different methods, including one method using recursion. I know I may need to make changes to the program architecture to make it work properly in a multi-user environment as an Oracle function. I'm just a little confused on what the appropriate architecture is. Once again any help is appreciated!
Joel -
Connecting to an Oracle database after clicking on a foi
Does anyone know how or have any examples on how to connect to an oracle database after clicking on a 'feature of interest' in MapViewer? I want to be able to click on a 'feature of interest' on the map, and have a list of records from an oracle table displayed using the identified key of the foi. I am able to create the feature of interest, and add the event listener for 'mouse click', but am unsure how to connect to the database at this point. I have been able to connect to the database in a different jsp, but not from here. Thank you.
1. Create a JSP page that does the database query. It should take the foi id as an input parameter.
2. In the foi mouse click listener, display the JSP page in iframe. The iframe can be placed outside the map or inside the info window. The function should do something like this.
function myClickListener(point, foi)
mapview.displayInfoWindow(point, "<iframe id='my_iframe_id' frameborder=0 width=300px height=400px />", 300, 400) ;
var myIframe = document.getElementById("my_iframe_id") ;
myIframe.src = "http://myhost/myjsp?key=" + foi.id ;
} -
Error in connect to database2EETW169 no connect possible: "DBMS = ORACLE
Dear All,
I am facing probem in sarting the sap after system copy.
Database is up and running .Please find the logs
There error it can connect to database
r3trans log
This is r3trans version 6.09 (release 640 - 26.10.04 - 15:45:42).
unicode enabled version
2EETW169 no connect possible: "DBMS = ORACLE --- dbs_o
ra_tnsname = 'TAT'"
r3trans finished (0012).
trc file: "dev_disp", trc level: 1, release: "640"
Wed Jul 22 20:03:18 2009
kernel runs with dp version 128000(ext=102000) (@(#) DPLIB-INT-VERSION-128000-UC)
length of sys_adm_ext is 524 bytes
systemid 560 (PC with Windows NT)
relno 6400
patchlevel 0
patchno 43
intno 20020600
make: multithreaded, Unicode
pid 552
***LOG Q00=> DpSapEnvInit, DPStart (00 552) [dpxxdisp.c 1100]
shared lib "dw_xml.dll" version 43 successfully loaded
shared lib "dw_xtc.dll" version 43 successfully loaded
shared lib "dw_stl.dll" version 43 successfully loaded
shared lib "dw_gui.dll" version 43 successfully loaded
Wed Jul 22 20:03:23 2009
WARNING => DpNetCheck: NiAddrToHost(1.0.0.0) took 5 seconds
***LOG GZZ=> 1 possible network problems detected - check tracefile and adjust the DNS settings [dpxxtool2.c 3886]
MtxInit: -2 0 0
DpSysAdmExtInit: ABAP is active
DpSysAdmExtInit: JAVA is not active
DpShMCreate: sizeof(wp_adm) 10528 (1316)
DpShMCreate: sizeof(tm_adm) 2780232 (13832)
DpShMCreate: sizeof(wp_ca_adm) 24000 (80)
DpShMCreate: sizeof(appc_ca_adm) 8000 (80)
DpShMCreate: sizeof(comm_adm) 290000 (580)
DpShMCreate: sizeof(vmc_adm) 0 (372)
DpShMCreate: sizeof(wall_adm) (38456/34360/64/184)
DpShMCreate: SHM_DP_ADM_KEY (addr: 04540040, size: 3192688)
DpShMCreate: allocated sys_adm at 04540040
DpShMCreate: allocated wp_adm at 04541B58
DpShMCreate: allocated tm_adm_list at 04544478
DpShMCreate: allocated tm_adm at 045444A0
DpShMCreate: allocated wp_ca_adm at 047EB0E8
DpShMCreate: allocated appc_ca_adm at 047F0EA8
DpShMCreate: allocated comm_adm_list at 047F2DE8
DpShMCreate: allocated comm_adm at 047F2E00
DpShMCreate: allocated vmc_adm_list at 04839AD0
DpShMCreate: system runs without vmc_adm
DpShMCreate: allocated ca_info at 04839AF8
DpShMCreate: allocated wall_adm at 04839B00
MBUF state OFF
EmInit: MmSetImplementation( 2 ).
<ES> client 0 initializing ....
<ES> InitFreeList
<ES> block size is 1024 kByte.
Using implementation flat
<EsNT> Memory Reset disabled as NT default
<ES> 2456 blocks reserved for free list.
ES initialized.
rdisp/http_min_wait_dia_wp : 1 -> 1
***LOG CPS=> DpLoopInit, ICU ( 2.6.1 2.6 4.0) [dpxxdisp.c 1462]
***LOG Q0K=> DpMsAttach, mscon ( RFCLTEST) [dpxxdisp.c 9736]
Wed Jul 22 20:03:24 2009
CCMS: Initalizing shared memory of size 60000000 for monitoring segment.
CCMS: start to initalize 3.X shared alert area (first segment).
DpMsgAdmin: Set release to 6400, patchlevel 0
MBUF state PREPARED
MBUF component UP
DpMBufHwIdSet: set Hardware-ID
***LOG Q1C=> DpMBufHwIdSet [dpxxmbuf.c 1025]
DpMsgAdmin: Set patchno for this platform to 43
Release check o.K.
Wed Jul 22 20:04:04 2009
ERROR => W0 (pid 2956) died [dpxxdisp.c 12187]
ERROR => W1 (pid 2080) died [dpxxdisp.c 12187]
my types changed after wp death/restart 0xbf --> 0xbe
ERROR => W2 (pid 3556) died [dpxxdisp.c 12187]
my types changed after wp death/restart 0xbe --> 0xbc
ERROR => W3 (pid 2604) died [dpxxdisp.c 12187]
my types changed after wp death/restart 0xbc --> 0xb8
ERROR => W4 (pid 4024) died [dpxxdisp.c 12187]
ERROR => W5 (pid 3816) died [dpxxdisp.c 12187]
my types changed after wp death/restart 0xb8 --> 0xb0
ERROR => W6 (pid 2820) died [dpxxdisp.c 12187]
my types changed after wp death/restart 0xb0 --> 0xa0
ERROR => W7 (pid 1448) died [dpxxdisp.c 12187]
my types changed after wp death/restart 0xa0 --> 0x80
DP_FATAL_ERROR => DpWPCheck: no more work processes
DISPATCHER EMERGENCY SHUTDOWN ***
increase tracelevel of WPs
killing W0-2956 (SIGUSR2)
ERROR => DpWpKill(2956, SIGUSR2) failed [dpxxtool.c 2468]
killing W1-2080 (SIGUSR2)
ERROR => DpWpKill(2080, SIGUSR2) failed [dpxxtool.c 2468]
killing W2-3556 (SIGUSR2)
ERROR => DpWpKill(3556, SIGUSR2) failed [dpxxtool.c 2468]
killing W3-2604 (SIGUSR2)
ERROR => DpWpKill(2604, SIGUSR2) failed [dpxxtool.c 2468]
killing W4-4024 (SIGUSR2)
ERROR => DpWpKill(4024, SIGUSR2) failed [dpxxtool.c 2468]
killing W5-3816 (SIGUSR2)
ERROR => DpWpKill(3816, SIGUSR2) failed [dpxxtool.c 2468]
killing W6-2820 (SIGUSR2)
ERROR => DpWpKill(2820, SIGUSR2) failed [dpxxtool.c 2468]
killing W7-1448 (SIGUSR2)
ERROR => DpWpKill(1448, SIGUSR2) failed [dpxxtool.c 2468]
NiWait: sleep (10000 msecs) ...
NiISelect: timeout 10000 ms
NiISelect: maximum fd=1597
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Wed Jul 22 20:04:14 2009
NiISelect: TIMEOUT occured (10000 ms)
dump system status
Workprocess Table (long) Wed Jul 22 14:34:14 2009
========================
No Ty. Pid Status Cause Start Err Sem CPU Time Program Cl User Action Table
0 DIA 2956 Ended no 1 0 0
1 DIA 2080 Ended no 1 0 0
2 UPD 3556 Ended no 1 0 0
3 ENQ 2604 Ended no 1 0 0
4 BTC 4024 Ended no 1 0 0
5 BTC 3816 Ended no 1 0 0
6 SPO 2820 Ended no 1 0 0
7 UP2 1448 Ended no 1 0 0
Dispatcher Queue Statistics Wed Jul 22 14:34:14 2009
===========================
--------++++--
+
Typ
now
high
max
writes
reads
--------++++--
+
NOWP
0
3
2000
10
10
--------++++--
+
DIA
5
5
2000
5
0
--------++++--
+
UPD
0
0
2000
0
0
--------++++--
+
ENQ
0
0
2000
0
0
--------++++--
+
BTC
0
0
2000
0
0
--------++++--
+
SPO
0
0
2000
0
0
--------++++--
+
UP2
0
0
2000
0
0
--------++++--
+
max_rq_id 13
wake_evt_udp_now 0
wake events total 9, udp 8 ( 88%), shm 1 ( 11%)
since last update total 9, udp 8 ( 88%), shm 1 ( 11%)
Dump of tm_adm structure: Wed Jul 22 14:34:14 2009
=========================
Term uid man user term lastop mod wp ta a/i (modes)
Workprocess Comm. Area Blocks Wed Jul 22 14:34:14 2009
=============================
Slots: 300, Used: 1, Max: 0
--------++--
+
id
owner
pid
eyecatcher
--------++--
+
0
DISPATCHER
-1
WPCAAD000
NiWait: sleep (5000 msecs) ...
NiISelect: timeout 5000 ms
NiISelect: maximum fd=1597
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Wed Jul 22 20:04:19 2009
NiISelect: TIMEOUT occured (5000 ms)
Shutdown server ...
DpJ2eeDisableRestart
DpModState: buffer in state MBUF_PREPARED
NiBufSend starting
NiIWrite: write 110, 1 packs, MESG_IO, hdl 3, data complete
MsINiWrite: sent 110 bytes
MsIModState: change state to SHUTDOWN
DpModState: change server state from STARTING to SHUTDOWN
Switch off Shared memory profiling
ShmProtect( 57, 3 )
ShmProtect(SHM_PROFILE, SHM_PROT_RW
ShmProtect( 57, 1 )
ShmProtect(SHM_PROFILE, SHM_PROT_RD
DpWakeUpWps: wake up all wp's
Stop work processes...
Stop gateway
killing process (2004) (SOFT_KILL)
Stop icman
killing process (932) (SOFT_KILL)
Terminate gui connections
[DpProcDied] Process lives (PID:2004 HANDLE:1576)
waiting for termination of gateway
NiWait: sleep (1000 msecs) ...
NiISelect: timeout 1000 ms
NiISelect: maximum fd=1597
NiISelect: read-mask is NULL
NiISelect: write-mask is NULL
Wed Jul 22 20:04:20 2009
NiISelect: TIMEOUT occured (1000 ms)
[DpProcDied] Process died (PID:2004 HANDLE:1576)
[DpProcDied] Process died (PID:932 HANDLE:1568)
DpHalt: cancel all lcom connections
MPI CancelAll 2 -> 0
MPI DeleteAll 2 -> 0
NiIMyHostName: hostname = 'RFCLTEST'
AdGetSelfIdentRecord: > <
AdCvtRecToExt: opcode 60 (AD_SELFIDENT), ser 0, ex 0, errno 0
AdCvtRecToExt: opcode 4 (AD_STARTSTOP), ser 0, ex 0, errno 0
DpConvertRequest: net size = 163 bytes
NiBufSend starting
NiIWrite: write 562, 1 packs, MESG_IO, hdl 3, data complete
MsINiWrite: sent 562 bytes
send msg (len 110+452) to name -, type 4, key -
detach from message server
***LOG Q0M=> DpMsDetach, ms_detach () [dpxxdisp.c 9962]
NiBufSend starting
NiIWrite: write 110, 1 packs, MESG_IO, hdl 3, data complete
MsINiWrite: sent 110 bytes
MsIDetach: send logout to msg_server
MsIDetach: call exit function
DpMsShutdownHook called
NiSelClear: removed hdl 3 from selectset
MBUF state OFF
AdGetSelfIdentRecord: > <
AdCvtRecToExt: opcode 60 (AD_SELFIDENT), ser 0, ex 0, errno 0
AdCvtRecToExt: opcode 40 (AD_MSBUF), ser 0, ex 0, errno 0
AdCvtRecToExt: opcode 40 (AD_MSBUF), ser 0, ex 0, errno 0
blks_in_queue/wp_ca_blk_no/wp_max_no = 1/300/8
LOCK WP ca_blk 1
make DISP owner of wp_ca_blk 1
DpRqPutIntoQueue: put request into queue (reqtype 1, prio LOW, rq_id 19)
MBUF component DOWN
NiBufClose: clear extensions for hdl 3
NiBufSetStat: bufstat of hdl 3 changed from OK to OFF
NiICloseHandle: shutdown and close hdl 3 / socket 1580
MsIDetach: detach MS-system
EsCleanup ....
***LOG Q05=> DpHalt, DPStop ( 552) [dpxxdisp.c 8495]
Good Bye .....
Regards,Hi,
Yes it is running and in r3trans log error
[dboci.c ,00000] *** ERROR => OCI-call 'OCISessionBegin' failed: rc = 1017
4 ETW000 4210 0.068739
4 ETW000 [dbsloci. ,00000] *** ERROR => CONNECT failed with sql error '1017'
4 ETW000 27 0.068766
4 ETW000 [dev trc ,00000] Try to connect with default password 155 0.068921
4 ETW000 [dev trc ,00000] Connecting as SAPTST/<pwd>@TST on connection 0 ...
4 ETW000 23 0.068944
4 ETW000 [dev trc ,00000] Assigning username to user session 01DF23E0 16 0.068960
4 ETW000 [dev trc ,00000] Assigning password to user session 01DF23E0 24 0.068984
4 ETW000 [dev trc ,00000] Starting user session (con_hdl=0,svchp=01DE8C0C,srvhp=01DE9814,usrhp=01DF23E0)
4 ETW000 27 0.069011
4 ETW000 [dboci.c ,00000] *** ERROR => OCI-call 'OCISessionBegin' failed: rc = 1017
4 ETW000 1521 0.070532
4 ETW000 [dbsloci. ,00000] *** ERROR => CONNECT failed with sql error '1017'
4 ETW000 24 0.070556
4 ETW000 [dblink ,00419] ***LOG BY2=>sql error 1017 performing CON [dblink#1 @ 419]
4 ETW000 4668 0.075224
4 ETW000 [dblink ,00419] **LOG BY0=>ORA-01017: invalid username/password; logon denie*d [dblink#1 @ 419]
4 ETW000 25 0.075249
2EETW169 no connect possible: "DBMS = ORACLE --- dbs_ora_tnsname = 'TST'"
REgards, -
Fails to connect to the Oracle yum public server
Hello,
I would like to connect to the Oracle public yum server so I can install packages from the Oracle Linux via a yum client for my RHEL 5.4
I am trying to download and copy the appropriate yum configuration file in place, by running the following commands as root:
Oracle Linux 5
# cd /etc/yum.repos.d
# wget http://public-yum.oracle.com/public-yum-el5.repo
--2011-10-29 15:53:41-- http://public-yum.oracle.com/public-yum-el5.repo
Resolving public-yum.oracle.com... 141.146.44.34
Connecting to public-yum.oracle.com|141.146.44.34|:80... failed: Connection timed out.
Retrying.
It disabled the Linux firewall by /etc/init.d/iptables stop but it still doesn't help.
Thank you.feverlove wrote:
--2011-10-29 15:53:41-- http://public-yum.oracle.com/public-yum-el5.repo
Resolving public-yum.oracle.com... 141.146.44.34
Connecting to public-yum.oracle.com|141.146.44.34|:80... failed: Connection timed out.This has nothing to do with the firewall (which only blocking incoming traffic, not outgoing traffic by default) and all to do with your routing. You have DNS properly configured, but you need to double-check your default gateway and other settings to make sure you can connect to a server on the internet directly. If you need to use a proxy server to make connections, you will have to configure that as well. -
File read/write in Oracle JVM
Are there any known issues around file read/write in Oracle JVM. I finally got around the issue of getting the error that says no permission is there by giving <<ALL FILES>> option, but still I don't see a file being created. Any help is appreciated.
Code:
try{
fwriter = new PrintWriter(new FileOutputStream("debugLog.txt",true));
} catch (IOException ioe) {
System.err.println("IO Exception for Output File" + ioe.getMessage());
Thanks.
-MujibA couple of suggestions:
1. (Please don't be offended...) I assume you have some stuff like:
fwriter.println("hello");
fwriter.flush();
fwriter.close();
in your try block?
2. Try catching FileNotFoundException and SecurityException also.
3. Try providing a full path on the file just to make sure it's not buried somewhere odd.
John H. -
ORACLE JVM (8.1.5 - 9.0.1)를 수동으로 설치하기
제품 : ORACLE SERVER
작성날짜 : 2002-09-27
Oracle JVM (8.1.5 - 9.0.1)를 수동으로 설치하기
==============================================
Purpose
v 8.1.5, 8.1.6, 8.1.7 and 9.0.1에서 Oracle JVM의 모든 구성 요소
를 설치하기 위해 실행해야 하는 sql script들을 설명하고,
JVM이 성공적으로 설치되었는지 test program으로 확인해 봅니다.
주의 : 이 script들은 반드시
SYS 또는 INTERNAL 로 실행되어야만 합니다.
'initjvm.sql' script는 JVM을 설치하기위해 필요합니다.
그리고 그 외에 추가되는 script들은 각각에 설명된 추가적인
기능을위해 실행되어야 하는 script들입니다.
("--"표시로 주석 처리가 되어 있습니다.)
설치에 앞서 점검해야 할 사항
다음은 권장되는 사항입니다.
SHARED_POOL_SIZE >= 65 MB
JAVA_POOL_SIZE >= 50 MB
SYSTEM tablespace내에 50 MB 이상의 free space
250 MB 이상의 rollback segment space
주의 : 위 사항이 만족되지 않거나 부족한 경우 다음 에러가 발생하거나
script실행 도중 hang이 걸릴 수 있습니다.
ORA-3113 : end-of-file on communication channel
ORA-4030 : out of process memory when trying to allocate %s bytes
ORA-4031 : unable to allocate bytes of shared memory
Explanation
Oracle JVM을 수동으로 설치하기
JVM version 8.1.5를 위한 script
initjvm.sql 만 실행해 주면 됩니다.
-------- Script jvm_install_815.sql start ------------------
-- Setup a database for running Java and the ORB
spool initjvm.log
start @$ORACLE_HOME/javavm/install/initjvm.sql
spool off
-------- Script jvm_install_815.sql end ------------------
JVM version 8.1.6를 위한 script
-------- Script jvm_install_816.sql start ------------------
-- Setup a database for running Java and the ORB
spool initjvm.log
start @$ORACLE_HOME/javavm/install/initjvm.sql
spool off
-- Initializes Java library needed by PL/SQL
spool initplsj.log
start @$ORACLE_HOME/rdbms/admin/initplsj.sql
spool off
-- Load AQ/JMS jar files into the database
spool initaqjms.log
start @$ORACLE_HOME/rdbms/admin/initaqjms.sql
spool off
-- Load RepAPI server classes and publish 'repapi' obj
spool initrepapi.log
start @$ORACLE_HOME/rdbms/admin/initrepapi.sql
spool off
-------- Script jvm_install_816.sql end ------------------
Scripts needed for JVM version 8.1.7
8.1.7에는 새로운 Java API와 component들이 추가되어
수행해야 하는 script들이 더 많습니다.
-------- Script jvm_install_817.sql start ------------------
-- Setup a database for running Java and the ORB
spool jvminst.log
start @$ORACLE_HOME/javavm/install/initjvm.sql
spool off
-- Loads xml components into the JServer
spool initxml.log
start @$ORACLE_HOME/oracore/admin/initxml.sql
spool off
-- loads the XMLSQL Utility (XSU) into the database
spool catxsu.log
start @$ORACLE_HOME/rdbms/admin/catxsu.sql
spool off
-- JIS (OSE) installation
spool init_jis.log
start @$ORACLE_HOME/javavm/install/init_jis.sql
spool off
-- Turn on JAccelerator (ncomp) for JIS
spool jisja.log
start @$ORACLE_HOME/javavm/install/jisja.sql
spool off
-- Adds the set of default end points to the server
-- with hardcoded values for the admin service
spool jisaephc.log
start @$ORACLE_HOME/javavm/install/jisaephc.sql
spool off
-- Load PLSQL Gateway Servlet jar files into the database
spool initplgs.log
start @$ORACLE_HOME/rdbms/admin/initplgs.sql
spool off
-- Install Oracle JSP
spool initjsp.log
start @$ORACLE_HOME/jsp/install/initjsp.sql
spool off
-- Turn on JAccelerator for JSP libs
spool jspja.log
start @$ORACLE_HOME/jsp/install/jspja.sql
spool off
-- Initializes Java library needed by PL/SQL
spool initplsj.log
start @$ORACLE_HOME/rdbms/admin/initplsj.sql
spool off
-- Load AQ/JMS jar files into the database
spool initjms.log
start @$ORACLE_HOME/rdbms/admin/initjms.sql
spool off
-- Load RepAPI server classes and publish 'repapi' obj
spool initrepapi.log
start @$ORACLE_HOME/rdbms/admin/initrepapi.sql
spool off
-- loads sql, objects, extensibility and xml related java
spool initsoxx.log
start @$ORACLE_HOME/rdbms/admin/initsoxx.sql
spool off
-- Configure OSE defauls admin Web Service
spool jisaep.log
start @$ORACLE_HOME/javavm/install/jisaep admin 8080 9090
spool off
-------- Script jvm_install_817.sql end ------------------
JVM version 9.0.1 을 설치하기 위한 script
Using the database configuration assistant, follwoing scripts will be
executed:
-- Setup a database for running Java and the ORB
SQL>@$ORACLE_HOME/javavm/install/initjvm.sql;
-- INITialize (load) XML components in JServer
SQL>@$ORACLE_HOME/xdk/admin/initxml.sql;
-- Loads NCOMP'ed XML Parser
SQL>@$ORACLE_HOME/xdk/admin/xmlja.sql;
-- loads the XMLSQL Utility (XSU) into the database.
SQL>@$ORACLE_HOME/rdbms/admin/catxsu.sql;
-- install the Oracle Servlet Engine (OSE)
SQL>@$ORACLE_HOME/javavm/install/init_jis.sql <$ORACLE_HOME>;
-- Adds the set of default end points to the server
-- with hardcoded values for the admin service
SQL>@$ORACLE_HOME/javavm/install/jisaephc.sql <$ORACLE_HOME>;
-- turn on J Accelerator
SQL>@$ORACLE_HOME/javavm/install/jisja.sql <$ORACLE_HOME>;
-- register EJB/Corba Dynamic Registration Endpoint
SQL>@$ORACLE_HOME/javavm/install/jisdr.sql 2481 2482;
-- init Java server pages @$ORACLE_HOME@$ORACLE_HOME@$ORACLE_HOME
SQL>@$ORACLE_HOME/jsp/install/initjsp.sql;
-- turn on J Accelerator for JSP libs
SQL>@$ORACLE_HOME/jsp/install/jspja.sql;
-- script used to load AQ/JMS jar files into the database
SQL>@$ORACLE_HOME/rdbms/admin/initjms.sql;
-- load RepAPI server classes and publish 'repapi' obj
SQL>@$ORACLE_HOME/rdbms/admin/initrapi.sql;
-- loads sql, objects, extensibility and xml related java
SQL>@$ORACLE_HOME/rdbms/admin/initsoxx.sql;
-- Loads appctxapi.jar for JavaVm enabled Database.Called by jcoreini.tsc
SQL>@$ORACLE_HOME/rdbms/admin/initapcx.sql;
-- script used to load CDC jar files into the database
SQL>@$ORACLE_HOME/rdbms/admin/initcdc.sql;
-- Loads the Java stored procedures as required by the
-- Summary Advisor.
SQL>@$ORACLE_HOME/rdbms/admin/initqsma.sql;
--Initialize sqlj type feature in 9i db
SQL>@$ORACLE_HOME/rdbms/admin/initsjty.sql;
--load java componenets for AQ HTTP Propagation
SQL>@$ORACLE_HOME/rdbms/admin/initaqhp.sql;
Test program으로 JVM test해보기
Java Stored Procedure 만들기
다음과 같은 순서로 Java Stored Procedure를 만들어 봅니다.
1. Java program을 만듭니다.
2. program을 database로 loading합니다.
3. Java program을 SQL (PL/SQL Wrapper)로 publish합니다.
4. SQL 또는 PL/SQL에서 만든 Java program을 호출합니다.
Step 1: Java program을 만듭니다.
======
EchoInput.java
public class EchoInput {
public static void main (String[] args){
for (int i=0; i<args.length;i++)
System.out.println(args);}}
Step 2: program을 database로 loading합니다.
======
UNIX prompt상에서 다음을 실행합니다:
% loadjava -u scott/tiger -v -r EchoInput.java
또는 SQL*Plus에서는 다음과 같이 할 수도 있습니다:
CREATE OR REPLACE JAVA SOURCE NAMED "EchoInput" AS
public class EchoInput { public static void main (String[] args) {
for (int i=0; i<args.length;i++) System.out.println(args[i]);}}
Step 3: Java program을 SQL (PL/SQL Wrapper)로 publish합니다.
======
SQL 또는 PL/SQL에서 만든 Java program을 호출하기 위해서는
Java program을 SQL (PL/SQL Wrapper)로 publish해야 합니다.
이과정을 PL/SQL Wrapper를 만든다고도 합니다.
일단 published/wrapped가 되면 SQL 또는 PL/SQL을 통해 호출될 수
있습니다.
예제 :
create or replace procedure echo_input (
s1 varchar2, s2 varchar2, s3 varchar2)
as language Java
name 'EchoInput.main(java.lang.String[])';
Step 4: SQL 또는 PL/SQL에서 만든 Java program을 호출합니다.
======
call dbms_java.set_output(5000);
call echo_input('It', 'works', 'now!');
주의 : SQL*Plus에서 실행할 경우 먼저 'set serveroutput on'을
해주시기 바랍니다.
결과 화면
SQL> set serveroutput on
SQL> call dbms_java.set_output(5000);
Call completed.
SQL> call echo_input('It', 'works', 'now!');
It
works
now!
Call completed.
SQL>
Example
Reference Documents제품 : ORACLE SERVER
작성날짜 : 2002-09-27
Oracle JVM (8.1.5 - 9.0.1)를 수동으로 설치하기
==============================================
Purpose
v 8.1.5, 8.1.6, 8.1.7 and 9.0.1에서 Oracle JVM의 모든 구성 요소
를 설치하기 위해 실행해야 하는 sql script들을 설명하고,
JVM이 성공적으로 설치되었는지 test program으로 확인해 봅니다.
주의 : 이 script들은 반드시
SYS 또는 INTERNAL 로 실행되어야만 합니다.
'initjvm.sql' script는 JVM을 설치하기위해 필요합니다.
그리고 그 외에 추가되는 script들은 각각에 설명된 추가적인
기능을위해 실행되어야 하는 script들입니다.
("--"표시로 주석 처리가 되어 있습니다.)
설치에 앞서 점검해야 할 사항
다음은 권장되는 사항입니다.
SHARED_POOL_SIZE >= 65 MB
JAVA_POOL_SIZE >= 50 MB
SYSTEM tablespace내에 50 MB 이상의 free space
250 MB 이상의 rollback segment space
주의 : 위 사항이 만족되지 않거나 부족한 경우 다음 에러가 발생하거나
script실행 도중 hang이 걸릴 수 있습니다.
ORA-3113 : end-of-file on communication channel
ORA-4030 : out of process memory when trying to allocate %s bytes
ORA-4031 : unable to allocate bytes of shared memory
Explanation
Oracle JVM을 수동으로 설치하기
JVM version 8.1.5를 위한 script
initjvm.sql 만 실행해 주면 됩니다.
-------- Script jvm_install_815.sql start ------------------
-- Setup a database for running Java and the ORB
spool initjvm.log
start @$ORACLE_HOME/javavm/install/initjvm.sql
spool off
-------- Script jvm_install_815.sql end ------------------
JVM version 8.1.6를 위한 script
-------- Script jvm_install_816.sql start ------------------
-- Setup a database for running Java and the ORB
spool initjvm.log
start @$ORACLE_HOME/javavm/install/initjvm.sql
spool off
-- Initializes Java library needed by PL/SQL
spool initplsj.log
start @$ORACLE_HOME/rdbms/admin/initplsj.sql
spool off
-- Load AQ/JMS jar files into the database
spool initaqjms.log
start @$ORACLE_HOME/rdbms/admin/initaqjms.sql
spool off
-- Load RepAPI server classes and publish 'repapi' obj
spool initrepapi.log
start @$ORACLE_HOME/rdbms/admin/initrepapi.sql
spool off
-------- Script jvm_install_816.sql end ------------------
Scripts needed for JVM version 8.1.7
8.1.7에는 새로운 Java API와 component들이 추가되어
수행해야 하는 script들이 더 많습니다.
-------- Script jvm_install_817.sql start ------------------
-- Setup a database for running Java and the ORB
spool jvminst.log
start @$ORACLE_HOME/javavm/install/initjvm.sql
spool off
-- Loads xml components into the JServer
spool initxml.log
start @$ORACLE_HOME/oracore/admin/initxml.sql
spool off
-- loads the XMLSQL Utility (XSU) into the database
spool catxsu.log
start @$ORACLE_HOME/rdbms/admin/catxsu.sql
spool off
-- JIS (OSE) installation
spool init_jis.log
start @$ORACLE_HOME/javavm/install/init_jis.sql
spool off
-- Turn on JAccelerator (ncomp) for JIS
spool jisja.log
start @$ORACLE_HOME/javavm/install/jisja.sql
spool off
-- Adds the set of default end points to the server
-- with hardcoded values for the admin service
spool jisaephc.log
start @$ORACLE_HOME/javavm/install/jisaephc.sql
spool off
-- Load PLSQL Gateway Servlet jar files into the database
spool initplgs.log
start @$ORACLE_HOME/rdbms/admin/initplgs.sql
spool off
-- Install Oracle JSP
spool initjsp.log
start @$ORACLE_HOME/jsp/install/initjsp.sql
spool off
-- Turn on JAccelerator for JSP libs
spool jspja.log
start @$ORACLE_HOME/jsp/install/jspja.sql
spool off
-- Initializes Java library needed by PL/SQL
spool initplsj.log
start @$ORACLE_HOME/rdbms/admin/initplsj.sql
spool off
-- Load AQ/JMS jar files into the database
spool initjms.log
start @$ORACLE_HOME/rdbms/admin/initjms.sql
spool off
-- Load RepAPI server classes and publish 'repapi' obj
spool initrepapi.log
start @$ORACLE_HOME/rdbms/admin/initrepapi.sql
spool off
-- loads sql, objects, extensibility and xml related java
spool initsoxx.log
start @$ORACLE_HOME/rdbms/admin/initsoxx.sql
spool off
-- Configure OSE defauls admin Web Service
spool jisaep.log
start @$ORACLE_HOME/javavm/install/jisaep admin 8080 9090
spool off
-------- Script jvm_install_817.sql end ------------------
JVM version 9.0.1 을 설치하기 위한 script
Using the database configuration assistant, follwoing scripts will be
executed:
-- Setup a database for running Java and the ORB
SQL>@$ORACLE_HOME/javavm/install/initjvm.sql;
-- INITialize (load) XML components in JServer
SQL>@$ORACLE_HOME/xdk/admin/initxml.sql;
-- Loads NCOMP'ed XML Parser
SQL>@$ORACLE_HOME/xdk/admin/xmlja.sql;
-- loads the XMLSQL Utility (XSU) into the database.
SQL>@$ORACLE_HOME/rdbms/admin/catxsu.sql;
-- install the Oracle Servlet Engine (OSE)
SQL>@$ORACLE_HOME/javavm/install/init_jis.sql <$ORACLE_HOME>;
-- Adds the set of default end points to the server
-- with hardcoded values for the admin service
SQL>@$ORACLE_HOME/javavm/install/jisaephc.sql <$ORACLE_HOME>;
-- turn on J Accelerator
SQL>@$ORACLE_HOME/javavm/install/jisja.sql <$ORACLE_HOME>;
-- register EJB/Corba Dynamic Registration Endpoint
SQL>@$ORACLE_HOME/javavm/install/jisdr.sql 2481 2482;
-- init Java server pages @$ORACLE_HOME@$ORACLE_HOME@$ORACLE_HOME
SQL>@$ORACLE_HOME/jsp/install/initjsp.sql;
-- turn on J Accelerator for JSP libs
SQL>@$ORACLE_HOME/jsp/install/jspja.sql;
-- script used to load AQ/JMS jar files into the database
SQL>@$ORACLE_HOME/rdbms/admin/initjms.sql;
-- load RepAPI server classes and publish 'repapi' obj
SQL>@$ORACLE_HOME/rdbms/admin/initrapi.sql;
-- loads sql, objects, extensibility and xml related java
SQL>@$ORACLE_HOME/rdbms/admin/initsoxx.sql;
-- Loads appctxapi.jar for JavaVm enabled Database.Called by jcoreini.tsc
SQL>@$ORACLE_HOME/rdbms/admin/initapcx.sql;
-- script used to load CDC jar files into the database
SQL>@$ORACLE_HOME/rdbms/admin/initcdc.sql;
-- Loads the Java stored procedures as required by the
-- Summary Advisor.
SQL>@$ORACLE_HOME/rdbms/admin/initqsma.sql;
--Initialize sqlj type feature in 9i db
SQL>@$ORACLE_HOME/rdbms/admin/initsjty.sql;
--load java componenets for AQ HTTP Propagation
SQL>@$ORACLE_HOME/rdbms/admin/initaqhp.sql;
Test program으로 JVM test해보기
Java Stored Procedure 만들기
다음과 같은 순서로 Java Stored Procedure를 만들어 봅니다.
1. Java program을 만듭니다.
2. program을 database로 loading합니다.
3. Java program을 SQL (PL/SQL Wrapper)로 publish합니다.
4. SQL 또는 PL/SQL에서 만든 Java program을 호출합니다.
Step 1: Java program을 만듭니다.
======
EchoInput.java
public class EchoInput {
public static void main (String[] args){
for (int i=0; i<args.length;i++)
System.out.println(args);}}
Step 2: program을 database로 loading합니다.
======
UNIX prompt상에서 다음을 실행합니다:
% loadjava -u scott/tiger -v -r EchoInput.java
또는 SQL*Plus에서는 다음과 같이 할 수도 있습니다:
CREATE OR REPLACE JAVA SOURCE NAMED "EchoInput" AS
public class EchoInput { public static void main (String[] args) {
for (int i=0; i<args.length;i++) System.out.println(args[i]);}}
Step 3: Java program을 SQL (PL/SQL Wrapper)로 publish합니다.
======
SQL 또는 PL/SQL에서 만든 Java program을 호출하기 위해서는
Java program을 SQL (PL/SQL Wrapper)로 publish해야 합니다.
이과정을 PL/SQL Wrapper를 만든다고도 합니다.
일단 published/wrapped가 되면 SQL 또는 PL/SQL을 통해 호출될 수
있습니다.
예제 :
create or replace procedure echo_input (
s1 varchar2, s2 varchar2, s3 varchar2)
as language Java
name 'EchoInput.main(java.lang.String[])';
Step 4: SQL 또는 PL/SQL에서 만든 Java program을 호출합니다.
======
call dbms_java.set_output(5000);
call echo_input('It', 'works', 'now!');
주의 : SQL*Plus에서 실행할 경우 먼저 'set serveroutput on'을
해주시기 바랍니다.
결과 화면
SQL> set serveroutput on
SQL> call dbms_java.set_output(5000);
Call completed.
SQL> call echo_input('It', 'works', 'now!');
It
works
now!
Call completed.
SQL>
Example
Reference Documents -
Problem in connecting netbeans with oracle 10g express edition
hi friends... i need help in connecting the database with netbeans..... in netbeans, under services option... i have a option for database... but am not getting any drop-down while right clicking to add a new database... i tried in both netbeans6.9 and netbeans7... what should i do to connect netbeans7 to oracle 1og express edition.... pls help me friends.... pls do reply
First of all, I think your dot... button is broken, it keeps repeating which makes it SO much harder to read your post.
Secondly, I suggest you take your question to the Netbeans mailing lists. This is a Java programming forum, not a technical support forum for the hundreds of tools available to support Java programming.
http://netbeans.org/community/lists/index.html
Maybe you are looking for
-
Anyone know how InDesign (or other CS4 software can interact with a Mainframe computer?
We print a lot of form letters, tax forms etc off of our main frame. Sometimes in large quantities. Currently we are using a prgram called Elixir Design Pro tools to get the jobs done via the maineframe. Is there any way that we can somehow incorpora
-
I had to reinstall Mountain Lion 10.8.2 on my iMac. Now when I try to open iPhoto i get a pop up saying my photo library was created by a newer version. Did I miss an update or what
-
How to open a file with a link ?
I am using servlets to design an application. The application supports uploading and downloading of .DOC and .RTF files. My problem is that I am opening an uploaded file via a link. OPen File The above is also working fine and opens the file in the I
-
Project Management Layout Integration?
i was trying to print my year view on a piece of paper and find this cannot be done without doing a screenshot. also, the conventional calendar layout is not good for me and i would like more OPTIONS such as a linear left to right yearly view or a li
-
Srcpac. Making packages with dash in the name.
Last time I've rebuild program with dash in the name (gtk-smooth-engine). After modify my srcpac.conf: conf_gtk-smooth-engine=('#./configure --prefix=/usr#./configure --prefix=/usr --enable-gtk-1 --enable-gtk-2#' "#depends=('gtk2'#depends=('gtk2' 'gt