ORA-12519错误解决方案

发现是ORA-12519拒绝错误。后来发现是数据的连接池达到的极致。

具体解决方案如下:

 --首先检查process和session的使用情况,在sqlplus里面查看。

SQL> show parameter processes

NAME                         TYPE        VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes                      integer     0
db_writer_processes                  integer     6
gcs_server_processes                 integer     0
job_queue_processes                  integer     0
log_archive_max_processes            integer     2
processes                    integer     150

 

SQL> select count(*) from v$process;

  COUNT(*)
----------
       147

 

--明显process已经几乎达到了顶峰。

 

 

SQL> show parameter session

NAME                         TYPE        VALUE
------------------------------------ ----------- ------------------------------
java_max_sessionspace_size           integer     0
java_soft_sessionspace_limit         integer     0
license_max_sessions                 integer     0
license_sessions_warning             integer     0
logmnr_max_persistent_sessions       integer     1
session_cached_cursors               integer     20
session_max_open_files               integer     10
sessions                     integer     160

shared_server_sessions               integer
SQL>

 

SQL> select count(*) from v$session;

  COUNT(*)
----------
        153

--同样几乎达到顶峰。

 

--修改oracle的process和session值,加大他们最大连接数。

--oracle文档要求,SESSIONSTRANSACTIONS的初始化参数应该源于PROCESSES参数,根据默认设置SESSIONS = PROCESSES * 1.1 + 5

 

SQL> alter system set processes=300 scope=spfile;

System altered.

SQL> alter system set sessions=335 scope=spfile;

System altered.

 

--重启数据库后参数修改完成

SQL> shutdown      --如果长时间没反应可能是连接请求没又关闭,也可以使用  abort参数直接关闭

SQL> startup         --可以用 force参数   关闭当前运行数据库后正常启动。

 

 修改完毕之后,在进行压力测试的时候,问题解决。也可参考其他解决方法。


-------------------------------------------------------------------------------------------------------------

修改process的值的方法二(针对Linux系统):

先到ORACLE_BASE/admin/你的实例名/profile/目录下找到一个init.ora的文件,然后修改里面的process的值,然后将该文件拷贝到ORACLE_HOME/dbs目录下,并将文件重命名为initorcl.ora(其中的orcl为你的数据库实例名,我的数据库实例为orcl所以命名为 initorcl.ora)

用sys用户同时以sysoper身份登录sqlplus

即 sqlplus sys/sa as sysoper;

进入SQLPLUS后,先把数据库关闭,可以使用shutdown abort命令,也可以使用shutdown immediate命令,推荐使用shutdown abort命令。然后使用命令startup force即可,说白了就是重启数据库。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ORA-31011是Oracle数据库中的一个错误,表示在XML类型的数据执行操作时发生了错误ORA-19202是XML DB错误,表示在处理XML数据时发生了错误。以下是解决这两个错误的一些常见方法: 1. 确保你的XML数据是有效的:检查XML数据是否符合XML规范,确保没有语法错误或格式问题。你可以使用XML验证工具来验证XML数据的有效性。 2. 检查XML类型的列或变量的定义:确保你在数据库中正确定义了XML类型的列或变量。检查表结构或存储过程中的定义,确保与实际使用的XML数据类型匹配。 3. 检查相关权限:确保你有足够的权限来执行操作,例如访问和修改XML类型的数据。如果你没有足够的权限,联系数据库管理员获取相应的权限。 4. 检查数据库版本和补丁:某些版本的Oracle数据库可能存在已知的问题错误,可以通过升级数据库版本或应用相关的补丁来解决。确保你使用的是最新的数据库版本,并且已经应用了所有必要的补丁。 5. 检查相关配置和参数设置:有时候,特定的配置或参数设置可能会导致ORA-31011和ORA-19202错误。检查数据库配置文件(如init.ora或spfile)中的相关参数设置,确保它们正确配置。 如果以上方法无法解决问题,建议你查看具体的错误信息和错误堆栈跟踪,以便更准确地确定问题所在。你可以在Oracle文档中搜索特定的错误代码,了解更多关于该错误的信息和解决方案。另外,如果问题持续存在,建议联系Oracle支持团队获取进一步的帮助和支持。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值