详解C#完成Oracle数据库镜像与还原

详解C#完成Oracle数据库镜像与还原

ID:38100867

大小:167.50 KB

页数:6页

时间:2019-05-24

详解C#完成Oracle数据库镜像与还原_第1页
详解C#完成Oracle数据库镜像与还原_第2页
详解C#完成Oracle数据库镜像与还原_第3页
详解C#完成Oracle数据库镜像与还原_第4页
详解C#完成Oracle数据库镜像与还原_第5页
资源描述:

《详解C#完成Oracle数据库镜像与还原》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、详解C#完成Oracle数据库镜像与还原对于C#相关开发技巧,51CTO向您推荐《C#实用基础教程》和《体验VisualStudio2008展望2010》专题来更深入的理解。开发工具:VisualStudio2008C#,Oracle管理工具对操作系统进行备份和还原也许是最常用的。实际业务环境升级后,因多方面原因存在严重问题,这时很可能需要还原到升级前的状态。因此数据库建立备份并能进行还原就很有意义。本文是一个使用C#(VisualStudio2008)结合Oracle客户端完成还原点的建立与恢复的完整例子。明确还原目标在建立还原点时,首先要明确还原对象,我们所提及的还原并不是简单地对数据库

2、某个时间点整个数据库的备份与还原,因为在升级后发生的实际业务数据是不能进行还原的。会引起重要问题的主要是程序,在数据库中体现在包、函数和存储过程以及与流程相关的参数、方案等核心字典数据与界面层的一致性。而具体业务中产生的数据如收费项目、收费明细等,是不能进行还原的,明确还原目标后,问题的解决就有方向性了。要建立还原点,首先要了解数据库中关键对象的存放位置,对于包、函数等可以在Oracle的数据库视图user_source中找到。备份:建立还原对象列表在建立C#的工程之后,今天我们利用配置文件app.config.xml,设定了相应的“导出对象”,“Oracle连接”等内容,如图001:这样参

3、数就可以在CONFIG中进行调整了。在进行备份时,我们首先要取得相关的程序列表,下面的语句可以找到我们需要的导出对象:1.selectdistinctus.name,us.typefromuser_sourceuswhereus.typein('PROCEDURE','FUNCTION','PACKAGE','PACKAGEBODY'); 可以使用configurationAppSettings来取得配置文件中的设置,如导出对象、数据库连接、回滚目录,如:1.ls_configs=(string)(configurationAppSettings.GetValue("导出对象",typeof

4、(string))); 首先针对“导出对象”所定义的串进行拆分,ls_typeinfo存放需要导出的类型,并建立Oracle的数据库连接,再根据需要取得数据查询结果:2.ls_querysql="SelectdistinctUs.Name,us.typeFromUser_SourceUswhereus.typein("+ls_typeinfo+")orderbyus.Name,us.Type"; 3.OracleCommand1.CommandText=ls_querysql; 4.OracleCommand1.CommandType=CommandType.Text;//如何解析comma

5、ndText的值 5.OracleDataReadermyReader=OracleCommand1.ExecuteReader(CommandBehavior.CloseConnection); 6.while(myReader.Read())//使用OracleDateReader前进到下一条记录 通过循环,获得信息列表存放到对象列表listPrcInfo中,它包括两个项目,分别就是:对象名strName,对象类别strType。备份:有进度地产生各个对象体生成了对象列表后,再根据每个对象名和对象类别来读取内容,相对来说就比较简单,只要使用以下方法:7.ls_querysql = " S

6、elect us.line, us.text From User_Source Us 8.where us.name = '" + listPrcInfo[i].strName +"' 9.and us.type='"+listPrcInfo[i].strType+"' 10.order by us.line "; 11.OracleCommand1.CommandText = ls_querysql; 12.OracleCommand1.CommandType = CommandType.Text;//如何解析commandText的值 来读取对象的程序内容,并按照我们在CONFIG中所对

7、应的各种文件扩展名来保存文件:注意,由于我们数据库程序需要使用SQLPLUS来进行导入,因此最后一行我们需要写入结束标志符,即“/”符号,它的最后内容是这样的:由于表的导出我们依赖数据库的导出功能,只要使用exp命令导出指定的字典表即可。即与具体业务无关的核心字典表,如功能列表、参数列表、菜单项目等,基本上使用类似于以下的命令结构即可完成:1.exp.exe his3/his3@mytest file=d:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。