ora_28500错误是不是客户端进不去

ora_28500错误是不是客户端进不去,第1张

ORA-12518: 错误 客户端连接不上

解决方案:

第一步:process和session改大

检查process和session

a)本机使用连接到oracle,查看process进程数:

select count() from v$process; –取得数据库目前的进程数。

select value from v$parameter where name = ‘processes’; –取得进程数的上限。

b)查看session会话数:

select count() from v$session; –取得数据库目前的会话数。

select value from v$parameter where name = ‘sessions’; –取得会话数的上限。

查看当前process和sessions是否接近上限值。若接近,可以将其增大。

调整这两个参数值大小。

a) 修改process值

alter system set processes=800 scope=spfile; –将process值改大

b) 修改session值

alter system set sessions=1200 scope=spfile; –将sessions值改大

3 备份pfile,重启oracle

a) 修改完成后,备份pfile

create pfile from spfile; –从spfile(运行时配置)创建pfile(系统配置)

生成的文件在$ORACLE_HOME/dbs/下边 和spfile在同一个目录下

举例 windows

D:\app\Administrator\product\1120\dbhome_1\database

如果启动有问题的话,可以这样启动,一般不会有问题,放心大胆改吧

startup pfile=’D:\app\Administrator\product\1120\dbhome_1\database\initora’;

c) 重启oracle

Windows下可以在服务里面直接重启服务。

问题描述 在通常的三层构架下 客户通过Browser请求Web服务器查询数据库 而查询结果是上千条甚至是上百万条记录 要求查询结果传送到客户端浏览器并分页显示

考虑因素

Web服务器的资源消耗 包括 内存(用来存储查询结果) 数据库相关资源(数据库连接对象 ResultSet对象等等)

DB服务器资源的消耗 包括游标 会话等等

网络开销 包括与数据库建立会话 传输查询结果等等

JDBC中的几个重要Class:

A ResultSet object maintains a cursor pointing to its current row of data Initially the cursor is positioned before the first row The next method moves the cursor to the next row and because it returns false when there are no more rows in the ResultSet object it can be used in a while loop to iterate through the result set

ResultSet是直接在数据库上建立游标 然后通过ResultSet的行位置定位接口来获得指定行位置的记录 当用户通过get方法获取具体纪录的内容时 ResultSet才从数据库把所需数据读到客户端

Oracle的ResultSet实现似乎会在本地缓存用户读取过的数据 导致内存消耗会随读取数据的增加而增加 这样 如果一次查询并读取海量数据 即使读出数据后马上丢弃(比如直接写入文件) 内存消耗也会随查询结果的增加而递增

The RowSet interface extends the standard java sql ResultSet interface A RowSet object may make a connection with a data source and maintain that connection throughout its life cycle in which case it is called a connected rowset A rowset may also make a connection with a data source get data from it and then close the connection Such a rowset is called a disconnected rowset A disconnected rowset may make changes to its data while it is disconnected and then send the changes back to the original source of the data but it must reestablish a connection to do so

RowSet是JDBC 中提供的接口 Oracle对该接口有相应实现 其中很有用的是 oracle jdbc rowset OracleCachedRowSet OracleCachedRowSet实现了ResultSet中的所有方法 但与ResultSet不同的是 OracleCachedRowSet中的数据在Connection关闭后仍然有效

解决方案一 直接使用ResultSet来处理

从ResultSet中将查询结果读入collection 缓存在>

1、首先,我们打开PLSQL工具连接到需要进行数据比对的ORACLE数据库。

2、登录成功后,点击工具(tool)选择匹配用户结构(compare user objects)我们先匹配数据表结构以防止匹配数据时造成数据无法修改的风险。

3、在d出的界面中选择我们需要匹配的数据表,点击目标会话(target session)输入需要匹配数据的对应数据库用户名密码,点击ok连接成功后单击匹配数据(compare)。

4、如果数据表结构有差异在d出的界面会显示数据库中表结构的差异,并形成相关的升级sql语句,数据表匹配只考虑源数据库中没有的表或列,查看sql语句是否为我们想要匹配的,如果是点击确认匹配,数据库表结构匹配完成。

5、登录成功后,点击工具(tool)选择匹配表数据(compare table data)。

6、如果是点击确认匹配,数据库表数据匹配完成。

以上就是关于ora_28500错误是不是客户端进不去全部的内容,包括:ora_28500错误是不是客户端进不去、Java中的大量数据查询、oracle 查看表结构,表里的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10181058.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存