天天看点

oracle上安装Java库出现的问题及解决

 今天在51cto上看到一篇文章是将oracle运用java存储过程的,于是想去试

试看,因为之前没有试过,觉得特新鲜。结果在执行initjvm.sql的时候出

错了,停在那里很久,中途有事情出去了一下,回来的时候发现执行不成

功,报了ora-1653: unable to extend table sys.idl_ub1$ by 1024 in

tablespace system这个错误。去看了看alert文件发现如下提示

oracle上安装Java库出现的问题及解决
oracle上安装Java库出现的问题及解决
oracle上安装Java库出现的问题及解决

提示说我的system表空间的容量不够大,所以我查了一下我的system表空间

的利用情况,发现如下问题:

oracle上安装Java库出现的问题及解决
oracle上安装Java库出现的问题及解决

通过上图发现原来我的system表空间容量不足了,只剩下3.81m。

于是就从过以下语句对system表空间进行设置,设置为自动扩展。

select tablespace_name,file_name,bytes,autoextensible from dba_data_files;

再次执行一下

initjvm.sql(home/oracle/product/10.2.0/db_1/javavm/install/)。这

次我们又发现了一个新的问题,不过和之前的问题一样是临时表空间容量不足了。

ora-01652: unable to extend temp segment by 128 in tablespace tempts1

我试着去查看临时表空间的利用率。通过以下sql语句完成:

select d.tablespace_name,space "sum_space(m)",blocks sum_blocks, 

used_space "used_space(m)",round(nvl(used_space,0)/space*100,2) "used_rate(%)",

nvl(free_space,0) "free_space(m)"

from 

(select tablespace_name,round(sum(bytes)/(1024*1024),2) space,sum(blocks) blocks

from dba_temp_files

group by tablespace_name) d,

(select tablespace_name,round(sum(bytes_used)/(1024*1024),2) used_space,

round(sum(bytes_free)/(1024*1024),2) free_space

from v$temp_space_header

group by tablespace_name) f

where  d.tablespace_name = f.tablespace_name(+)

发现了如下的情况:

oracle上安装Java库出现的问题及解决

汗!没想到临时表空间满了。此时通过google获得了很多的解决办法。我通

过新增临时数据文件来扩展临时表空间的大小。

alter tablespace tempts1 add tempfile '/home/oracle/mustang/temp02.dbf' size 500m;

再次看到临时表空间的容量,发现已经正常了。

再次运行initjvm.sql...........成功了!!

另外在实验中还遇到一个问题,就是不知道为什么在提示说system表空间不

足之后,我试着去shutdown数据库,发现数据库关不了。提示是说ora-

01012:not logg on。

ora-01089: immediate shutdown in progress - no operations are permitted

在切换用户时提示说 connect the idle instance。但是在用shutdown

abort关闭时却提示说areadly running。上网查过才知道原来这个是由于

session数太多了,超过了session限制数,于是采用了下面的方法进行kill

session。(这里有请各位大牛指点一下为什么session数会飙升的呢?)

ps -ef|grep ora_dbw0_$oracle_sid

kill  -9 pid(pid为你session的进程号)

之后就可以正常使用了

oracle上安装Java库出现的问题及解决

     以上只是个人的解决方案,不知道对还是不对,希望大牛们多多喷水。祈求进步,哈哈!