解决ORA-00257: 归档程序错误。在释放之前仅限于内部连接

文章目录

          • 一、预先准备
            • 1. 现象
            • 2. 异常信息
            • 3. 分析
          • 二、解决方案
            • 2.1. 登录oracle
            • 2.2. 查看ARCHIVED LOG空间占用率
            • 2.3. 查看元空间大小
            • 2.4. 整空间上限
            • 2.5. 结果验证

一、预先准备
1. 现象

场景1:
昨天尝试通过plsqldev尝试连接oracle数据库,报错,提示ORA-00257: 归档程序错误。在释放之前仅限于内部连接

场景2:
sonarqube 数据库oracle 执行代码扫描时抛出Cannot create PoolableConnectionFactory (ORA-00257: 归档程序错误。在释放之前仅限于内部连接

2. 异常信息

在这里插入图片描述

Caused by: java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-00257: 归档程序错误。在释放之前仅限于内部连接
)at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2385)at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2110)at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1563)at org.sonar.db.profiling.NullConnectionInterceptor.getConnection(NullConnectionInterceptor.java:31)at org.sonar.db.profiling.ProfiledDataSource.getConnection(ProfiledDataSource.java:317)at org.sonar.db.DefaultDatabase.checkConnection(DefaultDatabase.java:116)... 30 common frames omitted
Caused by: java.sql.SQLException: ORA-00257: 归档程序错误。在释放之前仅限于内部连接at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:494)at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:441)at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:436)at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:546)at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:623)at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:252)at oracle.jdbc.driver.T4CTTIoauthenticate.doOSESSKEY(T4CTTIoauthenticate.java:519)at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:615)at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:688)at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:39)at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:691)at org.apache.commons.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:53)at org.apache.commons.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:291)at org.apache.commons.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2395)at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2381)... 35 common frames omitted
2022.11.02 13:12:39 WARN  web[][o.a.c.u.SessionIdGeneratorBase] Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [225] milliseconds.
3. 分析

archivedlog达到了数据库设置的空间限制

二、解决方案
2.1. 登录oracle

通过后台sqlplus登入数据库,执行命令:

[root@sonar ~]$ su - oracle
[oracle@sonar ~]$ sqlplus / as sysdba

通过查询,得知原因是archivedlog达到了数据库设置的空间限制。

2.2. 查看ARCHIVED LOG空间占用率

查看ARCHIVED LOG这一项的空间占用率已接近100%

select * from v$flash_recovery_area_usage;

在这里插入图片描述

附上:操作记录

SQL> select * from v$flash_recovery_area_usage;FILE_TYPE   PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
---------------------------------------- ------------------ --------------
CONTROL FILE            0               0				  0REDO LOG                0               0                 0ARCHIVED LOG           0               5059               99.99   FILE_TYPE   PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
---------------------------------------- ------------------------------------------- ---
BACKUP PIECE            0               0                0IMAGE COPY              0               0                0FLASHBACK LOG           0               0                0FILE_TYPE  PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
---------------------------------------- ------------------------------------------- ---
FOREIGN ARCHIVED LOG    0               0                  0
7 rows selected.
2.3. 查看元空间大小
show parameter db_recover

在这里插入图片描述

发现之前设置的空间大小为200G,查看磁盘空间,发现还有几百G空间。
附上:操作记录

SQL> show parameter db_recover;NAME    TYPE                           VALUE
------------------------------------ ---------------------------------------------------
db_recovery_file_dest                string         /u01/oracle/fast_recovery_area
db_recovery_file_dest_size           big integer    200G
SQL>
2.4. 整空间上限

使用如下命令调整空间上限:

alter system set db_recovery_file_dest_size=300G scope=both;

附上:操作记录

SQL> alter system set db_recovery_file_dest_size=300G scope=both;
System altered.
SQL>

此处我将空间上限调整为300G。
可以使用上述提到的命令验证是否修改成功。

2.5. 结果验证

修改完之后再尝试使用plsqldev连接数据库,可以连接成功了。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/523922.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

qt中根据数据解析的结果动态的创建控件并布局

引言 有时候程序中的控件的个数是无法预测的,当程序启动时,根据解析的数据动态的创建n行m列的控件,并为其布局。下面记录一下动态创建控件,并布局。 运行效果 示例 此示例主要是从json配置文件中读取参数,然后根据参…

5分钟带你了解Kafka的技术架构 | 技术头条

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!大家都知道 Kafka 是一个非常牛逼的消息队列框架,阿里的 RocketMQ 也是在 …

Mysql和Oracle 数据库操作工具类

适配Mysql和Oracle数据源 文章目录1. 适配Mysql和Oracle数据源2. 适配于Mysql数据源3. 适配Oeacle数据源1. 适配Mysql和Oracle数据源 package cn.stylefeng.guns.generator.core.util; import cn.stylefeng.guns.generator.modular.entity.DatabaseInfo; import lombok.extern…

QString类型转换为bool类型

方法 直接上代码 QString str "12.345";QVariant onLineTemp str;bool isValue onLineTemp.toBool();

Spark精华问答 | Spark的计算方法是什么?

戳蓝字“CSDN云计算”关注我们哦!Spark是一个针对超大数据集合的低延迟的集群分布式计算系统,比MapReducer快40倍左右,是hadoop的升级版本,Hadoop作为第一代产品使用HDFS,第二代加入了Cache来保存中间计算结果&#xf…

qt中创建控件布局以及删除原有布局和控件

引言 当根据数据来创建控件并布局时,如果数据更新,那么之前创建的控件便需要删除后重新创建布局。该文主要说明将原来的布局和控件删除,重新创建并布局。 示例 先看一下ui文件: 下面是实现代码: void StatusViewDi…

Spring精华问答 | Spring 能帮我们做什么?

Spring框架是一个开源的Java平台,它提供了非常容易,非常迅速地开发健壮的Java应用程序的全面的基础设施支持。今天就让我们一起来看看关于Spring的精华问答吧。1Q:什么是Spring框架?A:Spring框架是一个为Java应用程序的开发提供了综合、广泛的…

qt自定义控件的样式

引言 自定义控件创建后,有时需要设置样式,下面记录一下设置样式时需要注意的点。 注意 1.设置自定义控件的样式时,需要下面的代码: void paintEvent(QPaintEvent *event) {Q_UNUSED(event);QStyleOption opt;opt.init(this);Q…

linux 上传文件 rz命令 提示command not found 解决方法

-bash: rz: command not found rz命令没找到? 执行sz,同样也没找到。 安装lrzsz: yum -y install lrzsz现在就可以正常使用rz、sz命令上传、下载数据了。 使用方法: 上传文件 rz filename下载文件 sz filename

IoT与大数据 如何激发数字营销最大潜能?

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!译者:风车云马 物联网与大数据概述物联网(IOT)简单理解,除了电…

qt中生成含有中文的json文件,读取含有中文的json文件

引言 之前将变量保存并在本地生成json文件,由于其中含有中文,导致生成的json文件出现乱码,或者就是生成的json文件没有乱码,但是读取生成的json文件时出现乱码,不能正常解析json. 示例 运行效果: 下面是…

年初新立Flag,新华三解决方案部做了点儿啥?

戳蓝字“CSDN云计算”关注我们哦!极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!人人都提及的数字化时代,企业不想方设法提升效率怎么行&#xff1f…

qt中判断文件是否存在

实现 判断一个文件是否存在 bool isExistSpecificFile(QString strPath) {if (QFile::exists(strPath)) {return true;}return false; }注意: 这里的路径strPath是指文件所在的绝对路径,即完整的文件路径。

Docker - 实战TLS加密通讯

使用说明 演示环境(centos7,docker17.06.0-ce) 创建一个文件夹 mkdir /sslcd /ssl创建ca密钥 openssl genrsa -aes256 -out ca-key.pem 4096创建ca证书 openssl req -new -x509 -days 1000 -key ca-key.pem -sha256 -subj "/CN*" -out ca.pem创建服务器私钥 open…

qt中拖动窗口widget

提要 继承与QDialog的窗口,窗口原本按住标题栏可以拖动窗口,但是设置了窗口的隐藏标题栏属性后,窗口不再能够拖动。或者继承于QWidget的窗体,不具有窗口拖动功能。 本文实现继承于窗口widget或者继承于QDialog隐藏窗口标题栏的窗…

idea gblfy常用快捷键

gblfy日常快捷键: 关键词说明idea中对应的操作CTRL左方向光标向左跳跃一个单词Editor Actions -> Move Caret to Previous WordCTRL右方向光标向右跳跃一个单词Editor Actions -> Move Caret to Next Wordmianmian方法输入main后按着(自动提示)alt/sout快速打…

qt实现窗口拖动的两种思路

提要 窗口按下鼠标不放拖动窗口移动,鼠标释放的时候,停止拖动。这个过程可以用两种方法来实现。 1.鼠标点击后,获取鼠标按下点的坐标和起初窗口左上角的坐标,用鼠标按下点的坐标减去鼠标左上角的坐标,求出这个固定值。…

Linux怎么取消ftp的匿名访问功能

编辑vsftpd.conf: vim /etc/vsftpd/vsftpd.conf修改anonymous_enableYES 为 NO 保存退出 重起服务生效: /etc/init.d/vsftpd restart

看华为生态大学 如何玩转人才生态?

戳蓝字“CSDN云计算”关注我们哦!极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!从孔子兴私学开始,千百年来,中国人在私塾中开始或完成自…

银河麒麟通过命令行安装软件没有安装上

提要 安装软件时出现: nigulasinigulasi-virtual-machine:~$ dpkg -L fcitx-frontend-qt5 | grep .so dpkg-query: 软件包 fcitx-frontend-qt5 没有被安装 使用 dpkg --info ( dpkg-deb --info) 来检测打包好的文件, 还可以通过 dpkg --contents ( dpk…