ORA-12514 解决方法

ORA-12514 解决方法场景:修改oracle系统参数之后,数据库重启,客户端报ORA-12514错误,其实这只是表象,实际并非Listener的问题。SELECT*FROMV$RESOURCE_LIMIT根据

大家好,又见面了,我是你们的朋友全栈君。

场景:修改oracle系统参数之后,数据库重启,客户端报 ORA-12514 错误,其实这只是表象,实际并非Listener的问题。

SELECT * FROM V$RESOURCE_LIMIT

根据服务器内存的实际情况,设置对应的参数

alter system set sga_max_size=8G scope=spfile;
alter system set sga_target=8G scope=spfile;
alter system set pga_aggregate_target=4G scope=spfile;
alter system set undo_retention=10080 scope=spfile;
alter system set db_files=1000 scope=spfile;
alter system set processes=2000 scope=spfile;
alter system set session_max_open_files=2000 scope=spfile;
alter system set open_cursors=2000 scope=spfile;
alter system set db_recovery_file_dest_size=100G scope=spfile;

如果修改了PGA或者SGA,则一定要有下面这两行,保证 memory_target = SGA + PGA
alter system set memory_max_target=12G scope=spfile;
alter system set memory_target=12G scope=spfile;

 

因为如果漏了这两个参数的设置,数据库启动会失败,并且导致客户端在连接数据库的时候报 ORA-12514,从而误引导你去检查 TNSListener 的设置,本人就深受其害!!!!!

另一个要吐槽的地方是,windows环境下的oracle服务,在系统服务里面重新启动数据库,表面上服务重启成功了,是那种很快一闪而过的启动,而且oracle.exe进程也起来了,但就是死活访问不了数据库,也看不到任何错误信息,只看到让你越查越迷惑的ORA-12514错误。

<span role="heading" aria-level="2">ORA-12514 解决方法

 

建议使用sqlplus进行数据库的重启,这样可以看到很多有价值的信息。

<span role="heading" aria-level="2">ORA-12514 解决方法

 

解决方法其实很简单:

  • 根据当前系统已经设置生效的spfile建立pfile文件

  create pfile =’d:\initora11g.ora’ from spfile;

<span role="heading" aria-level="2">ORA-12514 解决方法

<span role="heading" aria-level="2">ORA-12514 解决方法

 

  • 修改生成的pfile中 memory_target = pga_aggregate_target + sga_max_size,然后根据修改之后的pfile生成 spfile

    create spfile from pfile = ‘d:\initora11g.ora’;

      startup 到此问题就解决了


 

<span role="heading" aria-level="2">ORA-12514 解决方法

 

查看设置之后的参数

show parameter target;

<span role="heading" aria-level="2">ORA-12514 解决方法

另外如果报错: ORA-00845: MEMORY_TARGET not supported on this system
则说明是内存超出服务器物理内存数量,修改之后再生成spfile即可

注:
spfile 是二进制文件,不能编辑
pfile 是文本文件,可以手动编辑
因此先生成pfile,编辑修改之后再生成系统启动时默认的spfile

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154577.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月1日 下午6:00
下一篇 2022年7月1日 下午6:00


相关推荐

  • oracle查看视图定义语句_Oracle视图

    oracle查看视图定义语句_Oracle视图本节介绍 Oracle 视图 视图是 Oracle 数据库中的一个重要组件 Oracle 视图教程列表按照下面的教程了解更多关于 Oracle 视图 创建视图 使用 CREATEVIEW 语句创建一个新的视图 删除视图 使用 DROPVIEW 语句从数据库中删除视图 可更新的视图 讨论如何创建可更新的视图 内联视图 了解如何使用内联视图来简化复杂的查询并将几个单独的查询压缩为一个查询 WITHCH

    2026年3月20日
    2
  • 中国有嘻哈——押韵机器人

    中国有嘻哈——押韵机器人本文出自天外归云的博客园 押韵机器人简介近来群里看到有人谈起押韵机器 突然想起好多年前的回忆 心血来潮写了一个押韵机器人 可以识别韵脚 比较韵脚 词汇列表按韵脚分类 经测试 目前对多音字支持不好 比如唠嗑 唠叨 这种就识别会出错 欢迎大家继续测试 有问题反馈给我 拼音识别基于 pypinyin 库实现 具体用法详见其 github 押韵机

    2026年3月20日
    2
  • Linux 内存管理

    Linux 内存管理Linux 内存管理为什么需要内存管理设想一下 CPU 要是直接操作内存的物理地址 那么想要在内存中同时运行两个程序是不可能的 因为第一个程序在一个地址写入一个新值会覆盖第二个程序相同地址上的数据 操作系统为了解决这个问题 避免了两个程序都对绝对物理地址的引用 操作系统为每个进程分配了独立一套虚拟地址 至于虚拟地址是怎么映射到物理地址 对于进程来说是透明的 程序要访问虚拟地址时 由操作系统转换成不同的物理地址 不同进程运行时 写入的是不同的物理地址 这样就不会冲突了 如何管理内存针对虚拟地址空间

    2026年3月17日
    2
  • cubieboard使用资料

    cubieboard使用资料cubieboard 制作可以启动的sdhttps://github.com/shmily/CubieboardcubieboardFEDORA镜像:http://zenit.senecac.on.ca/wiki/index.php/Fedora_ARM_Secondary_ArchitectureSUNXI官方网站:http://linux-sunx

    2022年7月22日
    13
  • pycharm切换conda虚拟环境

    pycharm切换conda虚拟环境1 进入 setting 选择解释器 gt showAll2 点击右边的 号 3 选择 Existingenvi gt 点击省略号 4 选择 conda 环境目录 在 annaconda 安装目录的 envs 下面 进入环境文件夹后选择 python 即可 5 选择好后 一路点击 ok 直到 setting 界面 选择好刚载入的环境解释器 确认即可

    2026年3月27日
    2
  • 【n8n教程】:创建你的第一个工作流

    【n8n教程】:创建你的第一个工作流

    2026年3月15日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号