C#备份Oracle代码
项目开发中,需要远程备份数据库,以下为C#远程备份数据库的代码
/// <summary>
/// 数据库备份
/// </summary>
/// <param name="fileName">dmp文件名称</param>
/// <param name="logFileName">log文件名称</param>
/// <returns>true:备份成功;false:备份失败</returns>
public static bool DBBackup(string dmpFileName, string logFileName)
{
// 返回值
bool result = false;
// 备份命令,从xml文件中获取 "/c EXP 用户名/密码@数据库服务名 FULL=Y INCTYPE=COMPLETE "
string backupCmd = MsgXml.GetConfig(XMLKey.BackupCommand.ToString());
// cmd中输入的参数内容
string arg = backupCmd + " FILE= " + dmpFileName + " LOG= " + logFileName;
try
{
// 如果dmp文件不存在,创建文件并释放
if (!File.Exists(dmpFileName))
{
File.Create(dmpFileName).Dispose();
}
// 如果log文件不存在,创建文件并释放
if (!File.Exists(logFileName))
{
File.Create(logFileName).Dispose();
}
// 开启新进程
Process process = new Process();
// 打开运行cmd
process.StartInfo.FileName = "cmd.exe";
// 要运行的命令
process.StartInfo.Arguments = arg;
// 关闭shell的使用
process.StartInfo.UseShellExecute = false;
// 重定向标准输入
process.StartInfo.RedirectStandardInput = true;
process.StartInfo.RedirectStandardError = true;
// 设置不显示cmd运行界面
process.StartInfo.CreateNoWindow = true;
// 启动进程
process.Start();
// TODO 进程条 正在备份,请稍候...
pr
相关文档:
先定义一个cursor:
Procedure P_MYPROC (
PI_PARAM VARCHAR2
)IS
VI_A&nb ......
oracle 数据库里查看表空间施用景况;
oracle表空间的事儿情况要常常查看,正常闲空比率过低的时分就应该思考增大表看空间了。查看步骤如次SQL:
步骤1:
select dbf.tablespace_name,
dbf.totalspace "总量(M)",
dbf.totalblocks as 总块数,
dfs.freespace "余下总量(M)",
dfs.freeblocks "余下块数",
(dfs.f ......
单行函数:
函数类别:
单行:返回单个结果:substr,length
多行:返回多个结果,any,all
单行的分类:
字符类,日期类,数字类,转换类,通用类
1.字符类
转换大小写:
lower:转换为小写
Select ENAME,LOWER(ENAME) from EMP
upper:转换为大写
Select upper( ......
在ORACLE中经常会碰到阻塞的情况发生,这个时候我们就需要快速的找出导致阻塞的原因,并尽快排除它,好让系统重新正常运行。
下面以死锁为例,来看看如何找出导致阻塞的会话并解决问题。
//SCOTT窗口1
SQL> select * from t2;
ID
----------
3
1
2
SQL> update t2 set i ......