cs文件源码:
using CCWin;
using FastColoredTextBoxNS;
using HuiTong;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
namespace htydDataBaseMoniterTool.databaseFrm
{
public partial class dataBaseMerroy : CCSkinMain
{
public dataBaseMerroy()
{
InitializeComponent();
}
#region 修改内存
private string updateMerroy()
{
// 获取当前的程序的debug路径
// strDePath为传入merroy.bat的第一个参数,表示sql文件的路径
string strDePath = System.Environment.CurrentDirectory + "\\backUp";
// strPath为merroy.bat文件的路径
string strPath = strDePath + "\\merroy.bat";
// 新建进程
Process process = new Process();
// 向.bat文件传参,strDePath + " " + txtMerroy.Text + "M":表示传入两个参数以空格的形式隔开
ProcessStartInfo pi = new ProcessStartInfo(strPath, strDePath + " " + txtMerroy.Text + "M");
pi.UseShellExecute = false;
// 如果出不来效果可以将下面的这一行注释,并将48行的代码一并注释
pi.RedirectStandardOutput = true;
process.StartInfo = pi;
// 设置不显示cmd运行界面,为了调试方便可自行将下面的代码注释
process.StartInfo.CreateNoWindow = true;
process.Start();
process.WaitForExit();
//获取cmd窗口的输出信息
string output = process.StandardOutput.ReadToEnd();
process.Close();
return output;
}
#endregion
}
}
merroy.bat文件代码
@echo off
echo %1 %2
sqlplus / as sysdba @%1\merroy.sql %2
exit
merroy.sql文件源码
alter system set sga_max_size=&1 scope=spfile;
alter system set sga_target=&1 scope=spfile;
shutdown immediate;
startup;
exit;
merroy.bat的代码如下
@echo off
echo %1 %2
sqlplus / as sysdba @%1\merroy.sql %2
exit
说明:%1 %2表示为两个参数,再用代码调用此文件时需要传入两个参数,%1 表示merroy.sql文件的路径,%2 表示传入merroy.sql文件的参数(修改内存的大小)
merroy.sql的代码如下
alter system set sga_max_size=&1 scope=spfile;
alter system set sga_target=&1 scope=spfile;
shutdown immediate;
startup;
exit;
说明:&1 表示由merroy.bat文件传入的参数,表示要修改的内存的大小;
alter system set sga_max_size=&1 scope=spfile 表示修改sga_max_size参数;
alter system set sga_target=&1 scope=spfile 表示修改sga_target参数;
shutdown immediate 关闭数据库;
startup 启动数据库
exit 退出
备注:
1、修改oracle数据库内存实际上修改的是sga_max_size这个参数,
,在修改内存时请参照电脑内存合理修改,在修改内存后可能会
出现内存溢出不能启动oracle的情况,出现这种情况后请修改如
下文件'D:\oracle\database\SPFILEORCL.ORA'(请参照oracle
数据库的安装路径)的sga_max_size这个参数,将参数改回原来
的值或者偏小一点的值。
2、数据库查询sga_max_size和sga_target的sql语句如下:
select * from v$parameter where name like 'sga%';