oracle内存占用过高和修改不当无法启动oracle实例的解决办法
今天,在自己机器上装了oracle 12c,发现Oracle的服务Oracle RDBMS Kenel Executable (OracleServiceORCL)占用内存高达5G,本人电脑内存才16G。如此高的占用率,真让人心疼。于是就对Oracle的内存进行调整。具体办法如下:
1. 在cmd命令中输入如下命令启动sqlplus:
sqlplus /nolog
2. sql启动后,连接数据库,命令如下:
conn / as sysdba;
3. 如果是oracle 11g以后版本,可以修改MEMORY_MAX_TARGET的值来设置自己想要内存值,我这里设置为1024M。
alter system set memory_max_target=1204M scope=SPFILE;
4. 关闭数据库实例
shutdown immediate
5.启动Oracle实例,基于spfile里面设置情况。
startup
注意事项:
1)MEMORY_MAX_TARGET是MEMORY_TARGET的最大阈值,MEMORY_TARGET是Oracle使用机器内存的总量,默认值为0,即由oracle自动根据机器内存来分配,MEMORY_TARGET = SGA_TARGET + PGA_AGGREGATE_TARGET,当SGA_TARGET和PGA_AGGREGATE_TARGET都设置为0时,Oracle会自动根据MEMORY_TARGET对两者进行内存分配。
2)如果更改过SGA_TARGET和PGA_AGGREGATE_TARGET的值,请用下面语句将其恢复0。记得不太清楚的,可以通过show parameter命令来查看内存的情况。
ALTER SYSTEM SET SGA_TARGET =0 SCOPE = SPFILE;
ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 0 SCOPE = SPFILE;
show parameter命令例子如下,注意下面命令的sga可以换成target或者memory来查看memory_max_target和memory_target的值。
show parameter sga;
3)如果是oracle 10g,不支持MEMORY_MAX_TARGET和MEMORY_TARGET这两个参数,内存的调整可以通过sga_target或sga_max_size来手动设置实现,注意sga_target必须要小于等于sga_max_size,否则oracle库会运行不起来。
alter system set sga_max_size=1024m scope=spfile;
alter system set sga_target=1024m scope=spfile;
有时候犯糊涂设置错了,导致数据库实例运行不起来的话,可以通过从二进制配置文件spfile来创建pfile的文本文件,来手动修改解决,在由pfile重建spfile文件。例如我将sga_max_size和sga_target都设置为512M,就启动不起来了,启动时,错误为ORA-00821: Specified value of sga_target 512M is too small, needs to be at least 636M,这时候,可以通过下面四部解决。
(1). 在sqlplus里面由spfile创建pfile文件,为了方便,自定义pfile的存放目录为“e:\\ini.ora.temp”,不指定会默认为spfile同目录,本人在windows上的12c目录为"{oracle安装目录}\product\12.2.0\dbhome_1\database”目录下的SPFILEORCL.ORA,文件名遵循格式spfile${SID}.ora。
create pfile='e:\\ini.ora.temp' from spfile;
(2). 因为pfile为文本文件,用文本应用程序打开你指定的路径文件来进行编辑,修改sga_max_size和sga_target为0,保存文件。
(3).由pfile来重建spfile文件
create spfile from pfile='e:\\ini.ora.temp';
(4).默认基于新的spfile,启动Oracle实例。
startup
一些可能用到的其他命令:
显示spfile的文件存放路径:
show parameter spfile;
显示pfile的文件存放路径:
show parameter pfile;
oracle内存占用过高和修改不当无法启动oracle实例的解决办法的更多相关文章
- 修改oracle内存占用
修改oracle内存占用 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # su oracle $cd $ORACLE_HOM ...
- 通过修改my.ini配置文件来解决MySQL 5.6 内存占用过高的问题
打开后台进程发现mysql占用的内存达到400+M. 修改一下my.ini这个配置文件的配置选项是可以限制MySQL5.6内存占用过高这一问题的,具体修改选项如下: performance_schem ...
- CLR Profile解决内存占用过高
CLR Profile解决内存占用过高的问题 炮哥:"嘿,哥们,忙啥呢,电脑卡成这逼样." 勇哥:"在用CLR Profile工具分析下FlexiPrint的内存占用情况 ...
- Spring cloud开发内存占用过高解决方法
https://blog.csdn.net/wanhuiguizong/article/details/79289986 版权声明:本文为博主原创文章,转载请声明文章来源和原文链接. https:// ...
- Window下MySql 5.6 安装后内存占用很高的问题
Window下MySql 5.6 安装后内存占用很高的问题 刚刚准备玩一把mysql,初学者 环境是window 7和window sever 2008, mysql是最新的5.6, 发现的问题是安装 ...
- MySQL 5.6内存占用过高解决方案
距离MySQL 5.6正式发布已经有比较长的时间了,目前Oracle官网上的最新GA版本MySQL server也为5.6.但reizhi在安装配置后却发现其内存占用居高不下,无论如何调整cach ...
- [转帖]Linux中buff/cache内存占用过高解决办法
Linux中buff/cache内存占用过高解决办法 https://www.cnblogs.com/rocky-AGE-24/p/7629500.html /proc/sys/vm/drop_cac ...
- 一个神奇的bug:OOM?优雅终止线程?系统内存占用较高?
摘要:该项目是DAYU平台的数据开发(DLF),数据开发中一个重要的功能就是ETL(数据清洗).ETL由源端到目的端,中间的业务逻辑一般由用户自己编写的SQL模板实现,velocity是其中涉及的一种 ...
- [2017-08-09]一则使用WinDbg工具调试iis进程调查内存占用过高的案例
最近遇到一个奇葩内存问题,跟了三四天,把Windbg玩熟了,所以打算分享下. 症状简介 我们团队的DEV开发环境只有一台4核16G的win2012r2. 这台服务器上装了SqlServer.TFS(项 ...
随机推荐
- PHP spl_autoload和class_exsits使用技能
本文章的PHP使用版本:5.4.7 PHP建议使用: spl_autoload_register 那么写了一种实现 文件路径 core core.php ChildrenClass.php Paren ...
- fenby C语言 P32
a[0] a[0][0] a[0][1] a[0][2] a[1] a[1][0] a[1][1] a[1][2]//一维数组 int a[2][3]//二维数组int (*p)[3]=a; #inc ...
- phpstorm 2016.2.2 激活
2016年7月14日 phpstorm 推送2016.2 更新 2016年10月25日phpstorm 推送2016.2.2 更新 2016年11月24日phpstorm 推送2016.3 更新 下面 ...
- Java 向数组中添加一个元素
方法 一般数组是不能添加元素的,因为他们在初始化时就已定好长度了,不能改变长度. 向数组中添加元素思路: 第一步:把 数组 转化为 集合 list = Arrays.asList(array); 第二 ...
- 学习笔记56_WebServices
1.Web services,就是新建项,选择Web服务: 2. 然后可以用Winform来调用webServices: 然后添加“服务引用”,,命名空间可以自己填. 3. 直接 new ,然后调用就 ...
- 【TCP/IP网络编程】:03地址族与数据序列
上一篇文章介绍了套接字的创建过程,这篇文章主要讨论分配给套接字的IP地址和端口号的相关知识. IP地址和端口号 IP(Internet Protocol,网络协议)地址是收发网络数据而分配给计算机的值 ...
- 20190820 Tue 集训总结&NOIP模拟 27
低谷度过了? 但是skyh阿卡了,还是反衬出我的辣鸡. T1知道要sort,却忘了判重,正解不如暴力分高,555. T2成功化出正解柿子,然后化过头了,化出了无法DP的柿子. 果然不够强,大神们一眼就 ...
- restapi(9)- caching, akka-http 缓存
restapi作为前后端交互的枢纽:面对大批量的前端请求,需要确保回复的及时性.使用缓存是一项有效工具.我们可以把多数前端请求的回复response存入缓存,特别是一些需要大量计算才能获取的回复值,更 ...
- 【Java实践】Kettle从一次实验说起
一,安装Kettle 1,关于简易安装Kettle 第一次接触kettle(以前只是听过罢了),摸索了几天,在mac源码安装失败,转而快速安装.在mac上安装最新版kettle并成功启动代码如下: ☁ ...
- Spring Boot 2.X(十六):应用监控之 Spring Boot Actuator 使用及配置
Actuator 简介 Actuator 是 Spring Boot 提供的对应用系统的自省和监控功能.通过 Actuator,可以使用数据化的指标去度量应用的运行情况,比如查看服务器的磁盘.内存.C ...