jdbc连接oracle12519,oracle 连接异常 (ERR=12519)(ERROR_STA

show parameter processes 查看连接参数

select count(*) from v$session; 当前连接数

java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=169869568)(ERR=12519)(ERROR_STACK=(ERROR=(CODE=12519)(EMFI=4))))  at oracle.jdbc.dbaccess.DBError.throwSqlException

这样的问题,先前我让他检查一下程序,他说已确定程序没什么问题。后来我也和他们一起检测过程序,确实程序是没有问题的。这时我想到了可能是数据库连接数的问题

在这个文件的processes=150我们把这个值改为260之后就没问题了!但是要注意的是:用户最大连接数跟你的硬件配置有关,所以要谨慎

当然还有其他两种修改的方式:

第一种方法:

在 Oracle 企业管理器例程-->会话中可以查看当前连接到数据库的详细信息

第二种方法:

SQLPLUS下运行:alter system set processes=250 scope=spfile;

其他:

ORACLE的连接数(sessions)与其参数文件中的进程数(process)有关,它们的关系如下:

sessions=(1.1*process+5)

但是我们增加process数时,往往数据库不能启动了。这因为我们还漏调了一个unix系统参数:它是/etc/system/ 中semmns,这是unix系统的信号量参数。每个process会占用一个信号量。semmns调整后,需要重新启动unix 操作系统 ,参数才能生效。不过它的大小会受制于 硬件 的内存或ORACLE SGA。范围可从200-2000不等。

semmns的计算公式为:SEMMNS > processes + instance_processes + system processes = 数据库参数processes的值 instance_processes = 5(smon,pmon,dbwr,lgwr,arch)

system=系统所占用信号量。

系统所占用信号量可用下列命令查出:#ipcs -sb

其中列NSEMS显示系统已占用信号量。

其它一些跟连接有关的参数,如 licence_max_sessions, licence_sessions_warning 等默认设置都为零,也就是没有限制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用以下方式在 shell 脚本中通过 JDBC 连接 Oracle 数据库: 1. 首先,需要下载并安装 Oracle JDBC 驱动程序,然后将其添加到 CLASSPATH 中。 2. 在 shell 脚本中使用以下命令来连接 Oracle 数据库: ```bash #!/bin/bash # 设置 Oracle 数据库连接参数 export ORACLE_SID=ORCL export ORACLE_HOME=/usr/lib/oracle/11.2/client64 export LD_LIBRARY_PATH=$ORACLE_HOME/lib export PATH=$PATH:$ORACLE_HOME/bin # 连接 Oracle 数据库 java -classpath path/to/ojdbc.jar:path/to/yourapp.jar your.package.Main ``` 其中,`path/to/ojdbc.jar` 是 Oracle JDBC 驱动程序的路径,`your.package.Main` 是包含 JDBC 连接代码的 Java 类的完整路径。 3. 在 Java 类中,使用以下代码来连接 Oracle 数据库: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Main { public static void main(String[] args) { Connection conn = null; try { // 加载 Oracle JDBC 驱动程序 Class.forName("oracle.jdbc.driver.OracleDriver"); // 创建连接 String url = "jdbc:oracle:thin:@//localhost:1521/ORCL"; String user = "username"; String password = "password"; conn = DriverManager.getConnection(url, user, password); // 执行 SQL 查询 // ... } catch (ClassNotFoundException e) { System.err.println("无法加载 Oracle JDBC 驱动程序"); e.printStackTrace(); } catch (SQLException e) { System.err.println("无法连接Oracle 数据库"); e.printStackTrace(); } finally { // 关闭连接 try { if (conn != null) { conn.close(); } } catch (SQLException e) { System.err.println("无法关闭数据库连接"); e.printStackTrace(); } } } } ``` 其中,`url` 是 Oracle 数据库的连接字符串,`user` 和 `password` 是连接 Oracle 数据库所需的用户名和密码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值