oracle 11g真心伤不起,一启动占了内存接近1G!搞得win 7启动进入桌面就黑屏一会才醒过来。
于是想了个办法,先在360中全部禁止开机启动,也可在控制面板--管理工具-服务中将其全部禁止,并改为手动,需要时才开启,不过这样挺麻烦,可以写个批处理文件来开启或者关闭服务。
要是只用oracle自带的sql*plus的话,只要启动第7个OracleServiceORCL即可
要是使用PL/SQL Developer第三方工具的话,第6个监听服务也要开启,
第二个服务OracleDBConsoleorcl是进入基于web的EM必须开启的,其余服务很少用
OracleOraDb11g_home1ClrAgent服务
PL/SQL 存储过程和函数在与 Oracle 数据库相同的进程中运行,并且存储在 Oracle 内部。 另一方面,.NET 存储过程在外部进程中运行,.NET 代码将被编译成“.NET 程序集”,后者是存储在文件系统中的动态链接库 (DLL) 文件(通常存储在与数据库相同的机器上)。 .NET 程序集将被加载到一个名为 extproc.exe 的“CLR 宿主”外部进程中并在其中运行,该进程由名为 <OracleHomeName>ClrAgnt 的 Windows 服务衍生而来。 当执行 .NET 存储过程调用时,Oracle
将与这个外部进程通信,传入参数并检索结果。 这种通信将由 Oracle 多线程代理体系结构来处理。 对于最终用户而言,.NET 存储过程调用看起来与任何其他类型的存储过程调用没有什么区别。 实际上,您可以从能够调用 PL/SQL 或 Java 存储过程的任何环境中调用 .NET 存储过程。
////////////////////////////////////////////////////////////////////////
Start Oracle 11g Service.bat
@echo off
echo 确定要启动Oracle 11g服务吗?
pause
net start "OracleOraDb11g_home1TNSListener"
net start "OracleServiceORCL"
net start "OracleDBConsoleorcl"
echo 启动Oracle 11g服务完成,请确认有没有错误发生。
Pause
注:若不是以管理员身份运行会提示系统错误 5,拒绝访问。
Stop Oracle 11g Service.bat
@echo off
echo 确定要停止Oracle 11g 服务吗?
pause
net stop "OracleDBConsoleorcl"
net stop "OracleServiceORCL"
net stop "OracleOraDb11g_home1TNSListener"
echo 停止Oracle 11g服务完成,请确认有没有错误发生。
Pause
这样就可以在要启用oracle时使用批处理启动一些服务,用完就用另外个文件关闭其服务,减少oracle占用系统资源的时间。