快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → 解决oracle服务占用内存过高的问题

解决oracle服务占用内存过高的问题

时间:2022-09-15 10:56:37人气:作者:快盘下载我要评论

方法一:修改Oracle最大占用内存

通常我们在自己电脑上搭建项目环境时,都免不了要安装Oracle。不管你硬件多强悍,都会发现,Oracle服务一旦启用,内存立马吃紧。笔者内存8G,启动一个VS,启动一个Eclipse,启动一个虚拟机,开一个Tomcat,再开一个PL/SQL,内存基本就耗去了一大半。再启用Oracle服务,内存马上飙升五六百兆,程序便会频繁出现假死。

解决oracle服务占用内存过高的问题

其实这是因为安装Oracle时,为了均衡电脑性能和数据库性能,默认内存大小为物理内存的1/8,自身内存比较大时,oracle所占的内存也会变大。而通常,我们自己的环境并不需要分配那么大的内存来支持Oracle,这种情况下,我们可以通过修改sga值来减少系统中oracle占用内存过大问题。

用dba身份进入oracle,本人使用sqlplus修改(sqlplus sys/密码 as sysdba),若使用PL/SQL,可以在Command Window执行:

(1)show parameter sga; --显示内存分配情况

(2)alter system set sga_max_size=200m scope=spfile; --修改占用内存的大小

数据库

修改后重启Oracle服务,再查看资源管理器,Oracle占用资源便会降至200M以下。不过如此修改所付出的代价就是数据库性能的下降,因此修改时不宜调得太小。

方法二:不用时关闭Oracle服务

Oracle启动之后占用了大量内存。所以解决这个问题就是关闭oracle的一些开机启动服务就可以。等你用oracle的时候在手动开启就可以了。下面我们就一起来具体看一下如何去关闭和开启oracle服务程序

一:右击我的电脑—》服务,找到如下的几个服务程序:

Oracle

把上面几个服务程序通通关闭。然后设置启动方式为手动启动。如果你想用oracle的时候在启动这几个服务就可以了。

二:利用脚本的形式关闭和打开服务

建立“打开或关闭oracle服务.bat”,添加如下代码:

@echo off
title Oracle服务管理
cls
color 2f
goto MENU
:MENU
cls
echo. =-=-=-=-=Oracle服务管理=-=-=-=-=
echo.
echo. 1 开启服务
echo.
echo. 2 关闭服务
echo.
echo. 3 退 出
echo.
echo. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
echo. 请输入选择项目的序号:
set /p ID=
if "%id%"=="1" goto cmd1
if "%id%"=="2" goto cmd2
if "%id%"=="3" exit
echo 请输入正确序号!&ping -n 2 127.1>nul&goto MENU
:cmd1
echo.
echo 开启Oracle服务中...
net start|findstr /i /c:"OracleDBConsoleorcl">nul&&set k=1||set k=0
if %k%==0 (net start "OracleDBConsoleorcl")
net start|findstr /i /c:"OracleOraDb10g_home1iSQL*Plus">nul&&set k=1||set k=0
if %k%==0 (net start "OracleOraDb10g_home1iSQL*Plus")
net start|findstr /i /c:"OracleOraDb10g_home1TNSListener">nul&&set k=1||set k=0
if %k%==0 (net start "OracleOraDb10g_home1TNSListener")
net start|findstr /i /c:"OracleServiceORCL">nul&&set k=1||set k=0
if %k%==0 (net start "OracleServiceORCL")
echo.
echo Oracle服务已经成功开启...
echo.
pause
exit
:cmd2
echo.
echo 关闭Oracle服务中...
net start|findstr /i /c:"OracleDBConsoleorcl">nul&&set k=1||set k=0
if %k%==1 (net stop "OracleDBConsoleorcl")
net start|findstr /i /c:"OracleOraDb10g_home1iSQL*Plus">nul&&set k=1||set k=0
if %k%==1 (net stop "OracleOraDb10g_home1iSQL*Plus")
net start|findstr /i /c:"OracleOraDb10g_home1TNSListener">nul&&set k=1||set k=0
if %k%==1 (net stop "OracleOraDb10g_home1TNSListener")
net start|findstr /i /c:"OracleServiceORCL">nul&&set k=1||set k=0
if %k%==1 (net stop "OracleServiceORCL")
echo.
echo Oracle服务已经成功关闭...
echo.
pause
exit

注意:记得手动更改具体服务名称!

运行这个文件,你就可以看到如下界面:

SQL

相关文章

  • 一步步带你设计MySQL索引数据结构

    一步步带你设计MySQL索引数据结构,想想我们生活中的例子,比如新华字典,我们有一个目录,目录根据拼音排序,内容包含了汉字位于字典中具体的的页码。聪明的你肯定也想到了,我们也可以借鉴这种思想,建立一个MySQL的目录,叫做“索引”。...
  • 影刀连接Mysql数据库

    影刀连接Mysql数据库,影刀配置连接mysql数据库基础版...

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。