在安装以前可以在ORACLE_HOME/javavm 目录下找到readme,另外注意的是所有jvm相关的sql都必须用sys as sysdba权限.
ora-29540 oracle/plsql/net/InternetAddress
@%oracle_home%\rdbms\admin\initplsj
loadjava sys/oracle@ora8i -resolve plsql/jlib/plsql.jar
A: RATE THIS ANSWER
0
Click to Vote:
0 0 I had the exact same problem.
What version of 8.1.7 do you have? The problem may be that the plsql.jar file, provided in the 8.1.7.1 patchset,
contains an invalid TCPConnection class. The invalid class was fixed in 8.1.7.2. This does not automatically get loaded back into the database when doing an upgrade. You will need to do the following to reload the class
call dbms_java.loadjava('-resolve -force plsql/jlib/plsql.jar');
Then you need to reload the tcp and smtp modules as follows
@?/rdbms/admin/utltcp.sql
@?/rdbms/admin/prvttcp.plb
@?/rdbms/admin/utlsmtp.sql
@?/rdbms/admin/prvtsmtp.plb
This needs to be done as SYSDBA on the machine local to the database using the correct 8.1.7 Oracle Home.
HTH
817以上版本
SQL> set serverout on
SQL> exec dbms_output.put_line(utl_inaddr.get_host_address);
10.1.30.19
PL/SQL 過程已成功完成。
是这样的,我知道连到数据库的一用户的terminal,serial#,sid值,但我想知道其IP值,怎么作,另外执行exec dbms_output.put_line(utl_inaddr.get_host_address);
报错如下:ERROR at line 1:
ORA-29540: class oracle/plsql/net/InternetAddress does not exist
ORA-06512: at "SYS.UTL_INADDR", line 21
ORA-06512: at "SYS.UTL_INADDR", line 31
ORA-06512: at line 1
SELECT SYS_CONTEXT('USERENV','IP_ADDRESS') FROM DUAL;是这句??
楼上兄台写的是查找自己IP的语句,如何知道他人的
在oracle裡面,怎麼知道當前所在的機器的IP地址或機器名?麻煩大家了。
SELECT sys_context('USERENV', 'IP_ADDRESS') FROM dual;
SELECT sys_context('USERENV', 'HOST') FROM dual;
piner:
服务器(817以上):utl_inaddr.get_host_address
select host_name from v$instance;
得到机器名后,再ping 一下。
如果那台机器还连接着,这句就可以啊,
SELECT machine,terminal FROM V$SESSION WHERE sid=14
但是,如果是以前连接的session_id,是否要用触发器,或启动审计功能呢?
当前机器:
select sys_context('USERENV','IP_ADDRESS') from dual;
select sys_context('USERENV','HOST') from dual;
服务器:
select utl_inaddr.get_host_address from dual;
select utl_inaddr.get_host_name from dual;
The Jserver must be installed when you want to use "utl_inaddr"
SQL> select utl_inaddr.get_host_address(terminal) from v$session
2 where username is not null and rownum<10;
select utl_inaddr.get_host_address(terminal) from v$session
*
ERROR at line 1:
ORA-29540: class oracle/plsql/net/InternetAddress does not exist
ORA-06512: at "SYS.UTL_INADDR", line 21
ORA-06512: at "SYS.UTL_INADDR", line 33
ORA-065
12: at line 1
SQL> host oerr ora 29540
29540, 00000, "class %s does not exist"
// *Cause: Java method execution failed to find a class with the indicated name.
// *Action: Correct the name or add the missing Java class.
It's a java store procedure. Need some java class support ..
為什么我這里不行﹖
QL> select utl_inaddr.get_host_address(terminal) from v$session where SADDR='43977580';
select utl_inaddr.get_host_address(terminal) from v$session where SADDR='43977580'
ORA-29257: host FT-CMDC-163 unknown
ORA-06512: at "SYS.UTL_INADDR", line 19
ORA-06512: at "SYS.UTL_INADDR", line 40
ORA-06512: at line 1
@%