- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle数据库数据跨平台备份与恢复实现
Oracle数据库数据跨平台备份与恢复实现
[摘要] 从数据备份、恢复的灵活性出发,解析Oracle数据库表结构,给出了Windows环境下通过计算机VB语言对Oracle数据库的备份及恢复的实现方法和开发实例。
[关键词] Oracle 数据库 备份 恢复 跨平台 数据字典
Oracle数据库在铁路运输收入现代化管理中发挥着重要的作用,它存储着包括客运、货运、杂费等各类票据的历史数据,担负着客货票据的审核工作。因此对数据库的管理、备份,维护系统数据的安全就显得格外重要。不仅如此,如何充分地利用数据库的功能,在巨量的历史数据中快速获取我们所需数据,也是数据库管理的一项重要内容。实际工作中常常需要将数据库数据跨操作系统平台地备份和恢复,因此需要一种直观、灵活的工具软件,用于实现Oracle数据库数据在不同的平台上的备份与恢复、导出与导入。
1 传统的备份和恢复方法
Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备份是一种逻辑备份,冷备份和热备份是物理备份。
1.1 导出/导入(Export/Import)
利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。Oracle支持三种方式类型的输出,分别是:① 表方式(T方式),将指定表的数据导出。② 用户方式(U方式),将指定用户的所有对象及数据导出。③ 全库方式(Full方式),将数据库中的所有对象导出。
数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。这是一种常用的数据备份方法,但它最小的操作对象是表。而在实际工作中,经常需要以表内的某个字段(如时间字段)为条件进行操作,因此Export/Import方法就存在一定的局限性。
1.2 冷备份
冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份是将关键性文件拷贝到另外的位置的一种方法。因为它是将数据库文件完整地拷贝,因此需要占用大量的服务器资源。
1.3 热备份
热备份是在数据库运行的情况下,采用archivelog mode方式备份数据库的方法。
从以上对这三种方法的分析可以看出:操作都必须在服务器上执行,而且都是行命令方式提交。因此操作者不仅要了解数据库知识,还需熟知操作系统平台的各种命令,而且所生成的备份文件都是操作系统平台下的二进制数据文件。当数据库需要跨平台备份或移动时,以上方法就不适用了。笔者在实际工作中就遇到了这种情况。目前收入管理的操作系统平台是VMS操作系统加Oracle数据库。客货管理的各种数据库表空间都建立在这一个平台上,服务器磁盘空间就显得相对有限。而大量的历史数据又是运输收入分析的基础,因此必需将历史数据移动到其他操作系统平台上,如在Windows下建立Oracle数据库。由于Windows不能识别VMS下的数据文件,上述方法自然无法做到数据库表从VMS到Windows的移动。根据实际工作需要,笔者用计算机VB语言编制了一个工具软件,在C/S(客户端/服务器)模式下实现了一种简捷的、跨平台的数据库数据备份与恢复的方法,操作的范围大到表空间内所有的表,小至按表的字段值为操作条件,同时备份数据不仅用于数据恢复,还能够直接被再利用,如被EXCEL读取后再加工。下面笔者详细阐述该软件的设计原理及实现过程。
2 设计思路
2.1 备份
在C/S模式下运用Microsoft ActiveX数据对象(ADO)建立对Oracle数据库的连接,通过用户数据字典获取表空间内的所有表名、表的数据结构;建立一个能够按需要在程序运行过程中动态创建查询语句的模型,然后根据创建的查询条件创建数据集对象,将表名、表结构、查询条件以及数据集的所有数据导出到客户端。为了导出的数据能够兼有备份以外更多的用途,笔者使用文本文件存储备份数据,字段间使用ASC码中的TAB符间隔;
2.2 恢复
建立对Oracle数据库的连接后,判断表空间内是否存在欲恢复的表。如果有,而且数据结构与备份的数据结构一致,说明是在原数据库上恢复数据,通过SQL命令将数据导入相应的表内;如果没有,就根据表结构创建表,再将数据导入相应的表内。
由于是通过ADO连接数据库,而且备份文件存储于客户端,因此数据的导入导出不受数据库所在的操作系统平台限制,能够实现数据库数据跨平台的移动。
3 实现原理
表空间是Oracle数据库中最大的逻辑单位与存储空间单位,数据库系统通过表空间为数据
文档评论(0)