`
F.B.I
  • 浏览: 8312 次
  • 性别: Icon_minigender_1
  • 来自: 基地
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

流行3大数据库备份、还原的处理

阅读更多
备份是每个系统必须做的一个很重要的事:也许你有你的好的处理方式,你的也许是针对整个数据库的备份(oracle,mysql,sqlserver)都提供了解决方法。我目前的需求并不是备份整个数据库
而是单张表,而且不修改任何东西流行的3大数据库要通用:

一、 mysql对单表备份的方案:

     1、很简单的方法:select * from 表名into outfile 备份文件;
     2、
          Runtime rt = Runtime.getRuntime();           
            Process child = rt
                    .exec("mysqldump -u用户 -p密码 数据库 表名-c -t --default-character-set=utf-8");

         得到文件流以后自己处理生成备份文件
         InputStream in = child.getInputStream();          
             
二、sqlserver2000的单表备份方案:

      1、建立第三张表作为备份表(个人认为这个比较难以维护,比如涉及到自动定时备份和手动备份,这张表的数据不可能无限期大,也要做处理的)

         所以个人了解2000对单表备份没有好的处理方案 

三、oracle单表备份方案:

      1、exp lrp/lrp@local_ora file=e:/moninorlog.dmp tables=(MONINOR_LOG) query=\\\"where create_datetime>to_date('2009-01-01 22:33:33','YYYY-MM-DD HH24:MI:SS') and          

create_datetime<to_date('2009-07-20 22:33:33','YYYY-MM-DD HH24:MI:SS')\\\"" 



四、总结

    在3大数据库不修改任何东西通用的前提下,那就是靠数据库封装对不同数据库的操作有以下解决方案:

     1、建立第三张表作为备份表,然后具体的去维护这张表

     2、利用元数据


  我选择了第2种解决方案代码在附件里

ps:如果你有好的解决方案,小弟很想认真的请教,谢谢分享
分享到:
评论
16 楼 songhuagao 2009-12-20  
create table XXX as select * from XXX
15 楼 tomcatacec 2009-12-19  
postgresql?
14 楼 F.B.I 2009-12-18  
jonahliu 写道
怎么没有DB2?
这个结合数据库写个脚本就好吧,为什么非要通用呢?



在别人手底下干事,你以为你说了算,我都提过好几次了。
13 楼 F.B.I 2009-12-18  
zouguibao 写道
WebConst这个类是哪个包里的啊,怎么找不到呢



这只是常量的东西,估计你都没看懂,没认真看,虽然是很平常的东西。
12 楼 jonahliu 2009-12-18  
怎么没有DB2?
这个结合数据库写个脚本就好吧,为什么非要通用呢?
11 楼 l28554768 2009-12-18  
我和楼主的想到一起去了....备份的时候,采用这几种还真不错,我在实际项目中,还真用到了,不过我采取的是自动备份,自己写一个bat文件,通过windows自带的任务计划可以实现自动备份.
不过现在oracle10g,自带有一个备份的功能,不知道有没有人试过.
10 楼 zouguibao 2009-12-18  
WebConst这个类是哪个包里的啊,怎么找不到呢
9 楼 F.B.I 2009-12-18  
曾经de迷茫 写道
备份单个表,随便找个数据库工具就能搞定啊。
推荐一下DbVisualizer

第一:DbVisualizer只是一个工具吧,但我要做到手动和自动备份两种
第二:一个软件给用户,用户就是傻子,太复杂的东西他是不知道弄的
8 楼 曾经de迷茫 2009-12-18  
备份单个表,随便找个数据库工具就能搞定啊。
推荐一下DbVisualizer
7 楼 F.B.I 2009-12-18  
houzhe11 写道
我跑不起来,能发个完整的给我跑起来吗?

/**
* 备份数据
*  
* @param jdbcDataSource数据源  tableName表 columnName 导出字段列名 whereColumn条件字段 startTime开始时间 endTime结束时间 dirString目录 fileString文件
*  
* @return result 操作结果信息
* @throws IOException
* @throws SystemException
* @throws Exception
*
*/
public int backupTable(ComboPooledDataSource jdbcDataSource,
String tableName, String[] columnName, String whereColumn,
String startTime, String endTime, String dirString,
String fileString) throws IOException, SystemException


这不是有注释吗,这个应该能看懂吧,我很相信的认为
6 楼 houzhe11 2009-12-18  
我跑不起来,能发个完整的给我跑起来吗?
5 楼 novembersky 2009-12-18  
通用的话,直接jdbc去查不行么?我觉得用rdbms的备份接口未必效率高多少啊。想oracle的exp,数据加载方式还是走传统路径的,跟直接查询原理一样。
4 楼 F.B.I 2009-12-18  
logicgate 写道
oracle 10g往后的版本用expdp性能上比较好,exp已经out了。不过表小的话就无所谓了。


这里的重点是谈 oracle sqlserver mysql 表的通用备份和还原解决方法


如果谁有好的解决方案,欢迎共同提高。
3 楼 logicgate 2009-12-18  
oracle 10g往后的版本用expdp性能上比较好,exp已经out了。不过表小的话就无所谓了。
2 楼 swen00 2009-12-17  
收藏下先,多谢分享
1 楼 F.B.I 2009-12-17  
没人做声,那就是认为有更好的办法,大家都不要知识独吞,谢谢

相关推荐

    数据库备份与还原

    数据库备份与还原是IT领域中一个至关重要的环节,特别是在企业级应用中,数据的安全性和完整性是业务持续运行的基础。在数据库系统遭受意外故障、硬件损坏、软件错误或恶意攻击时,能够快速恢复到正常状态至关重要。...

    Thinkphp数据库备份和还原

    在开发和管理基于...总的来说,Thinkphp提供了灵活的数据库备份和还原机制,无论是使用内置工具还是第三方扩展,都能满足大多数开发需求。理解这些机制并结合最佳实践,将有助于保障你的Web应用数据的安全与稳定。

    mysql数据库备份还原类.rar

    本压缩包"mysql数据库备份还原类.rar"提供了两个PHP类文件,dbback.class.php和upfile.class.php,它们可能用于实现MySQL数据库的自动备份和恢复功能。 1. **数据库备份**: - 备份原理:通常,MySQL数据库的备份...

    DB2 数据库备份还原

    "DB2 数据库备份还原" DB2 数据库备份还原是数据库管理中非常重要的一部分,本文将详细讲解 DB2 数据库备份还原的操作过程,包括使用 DB2 控制中心和命令行方式进行备份和还原。 使用 DB2 控制中心备份数据库 ...

    数据库备份还原数据库备份还原.doc

    数据库备份与还原 数据库备份是指将数据库中的数据复制到外部存储设备或文件中,以便在需要时恢复数据库的原始状态。数据库备份是数据库管理的重要部分,可以防止数据丢失和数据库崩溃。 在 SQL Server 中,数据库...

    通用数据库备份还原---升级版

    通用 数据库 备份 还原 升级版通用 数据库 备份 还原 升级版通用 数据库 备份 还原 升级版通用 数据库 备份 还原 升级版通用 数据库 备份 还原 升级版通用 数据库 备份 还原 升级版通用 数据库 备份 还原 升级版通用...

    数据库的备份与还原

    #### 一、数据库备份的重要性 数据库备份是数据库管理中的一个重要环节,旨在保护数据安全,防止数据丢失。通过定期备份,可以在遇到意外情况(如硬件故障、软件错误或人为误操作等)时,快速恢复数据至备份时的状态...

    数据库备份及还原Java源码

    数据库备份与还原是IT行业中非常重要的环节,尤其是在企业级应用中,数据的安全性和一致性是系统稳定运行的关键。这里我们讨论的“数据库备份及还原Java源码”是一个基于Swing开发的客户端程序,专用于MySQL数据库的...

    C# MySQL数据库备份还原

    C# MySQL数据库备份还原 C# MySQL数据库批量备份还原工具是使用C#语言开发的一个数据库备份还原工具,主要用于对MySQL数据库进行批量备份和还原操作。该工具使用了Process类来操作cmd.exe,调用mysqldump.exe来执行...

    SqlServer2000数据库备份还原工具

    本文将详细阐述如何使用SQL Server 2000进行数据库备份和还原,并介绍一款名为"数据库备份还原.exe"的实用工具,以简化这一过程。 一、SQL Server 2000数据库备份 1. 备份类型: - 完全备份:备份整个数据库,...

    SqlServer数据库的备份与还原

    因此,在执行备份还原操作前,建议进行充分的测试,确保操作流程正确无误,并在生产环境中遵循最佳实践。 上述操作涵盖了SqlServer数据库备份与还原的基本知识点,包括手动备份的步骤、自动备份的配置、还原操作...

    C#数据库备份还原(源代码)

    总结,C#数据库备份还原源代码实例是一个实用的工具,可以帮助开发者实现自动化备份和恢复流程。强制中断数据库MSSQL连接的功能则为处理紧急情况或优化资源利用提供了额外的支持。通过对这些知识点的理解和应用,IT...

    数据库备份还原源代码

    本文将深入探讨“数据库备份还原”的概念、重要性、常见方法以及源代码实现。 首先,数据库备份是保护数据免受意外丢失或损坏的关键步骤。这可能包括硬件故障、软件错误、人为误操作、病毒攻击或者自然灾害等不可...

    vb 数据库备份还原!

    在VB(Visual Basic)开发环境中,数据库的备份与还原是重要的数据管理任务,尤其是在...通过深入理解和实践这些代码,你将能够熟练地在VB环境中进行SQL Server 2000的数据库备份和还原操作,保障数据的安全和完整。

    sql2005数据库备份还原工具

    本文将详细探讨“SQL2005数据库备份还原工具”的设计思想、实现方式以及实际应用,同时提供C#编程语言的源代码分析。 首先,备份是数据安全的第一道防线。SQL Server 2005提供了多种备份类型,包括完整备份、差异...

    数据库备份还原附数据库连接类

    总的来说,这个项目提供了一个完整的解决方案,涵盖了数据库备份和还原的关键步骤,同时考虑了大数据库的处理。通过使用PHP,它允许在Web环境中方便地实现这些功能,为开发者提供了便利。在实际应用中,可以根据具体...

    Mysql数据库备份还原工具

    "Mysql数据库备份还原工具"就是这样一个实用程序,它简化了MySQL数据库的备份和恢复过程。 首先,让我们详细了解MySQL数据库备份的重要性。数据库备份是为了防止数据丢失,这可能由于硬件故障、软件错误、人为操作...

Global site tag (gtag.js) - Google Analytics