当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: 数据库管理员应针对具体的业务要求制定详细的数据库备份与灾难恢复策略,并通过模拟故障对每种可能的情况进行严格测试,只有这样才能保证数据的高可用性。
 

 

 ·oracle数据的异地自动备份    »显示摘要«
    摘要:在大型商业应用中,数据的异地容灾备份十分重要,也必不可少。笔者根据自己的实践经验,设计了一套简洁地实现异地数据自动备份的方法,可供数据库管理人员参考。文中所有的程序都经过测试,运行良好。这里模拟的异地运行环境为一主一备两套sun solaris系统,所采用的备份方法为oracle数据库提供的标准备份:export。 相关命令 文中主要用到三个命令,这里先单独介绍一下: export: ......
    摘要:在大型数据库中,因为开发的需要,经常地需要调用procedure,开发procedure在oracle和sqlserver上因为语法不同,而有所区别,但是在调试上,都是比较的不容易,尤其是在一些错误处理上。 首先说调试:1、 对于oracle的调试,可以借助于第三方的工具,比如pl/sql developer,我在用的版本是6.0.5.926;首先对该procedure右键处理,添加“add d......


Oralce 数据库的灾难恢复

数据库管理员应针对具体的业务要求制定详细的数据库备份与灾难恢复策略,并通过模拟故障对每种可能的情况进行严格测试,只有这样才能保证数据的高可用性.数据库的备份是一个长期的过程,而恢复只在发生事故后进行,恢复可以看作是备份的逆过程,恢复的程度的好坏很大程度上依赖于备份的情况.此外,数据库管理员在恢复时采取的步骤正确与否也直接影响最终的恢复结果,本文主要针对oracle数据库可能遇到的各种故障提供了相应的恢复的方法,仅供大家参考.

l nomount(非安装)oracle只是读取ini文件中的配置信息,并初始化sga区. 【程序编程相关:Microsoft IIS畸形URL潜在

要对oracle数据库备份与恢复有清晰的认识,首先有必要对数据库的几种运行状态有充分的了解.oracle数据库的运行状态主要分为3种,他们依次为: 【推荐阅读:Microsoft Windows WM

【扩展信息:MySQL Auction "keywo

l mount(安装)oracle除了需要读取ini文件还要读取控制文件,并从中获取有关数据库的物理结构等信息.

l open(打开)数据库要检查所有文件处于同一时间点,对错误进行恢复对未完成事务回滚,并最终可以允许用户访问.

数据库的备份主要分为三种类型:冷备份;热备份;逻辑备份;

数据库的备份不是本文讨论的重点,在这里只作一个概要的介绍,oracle数据库备份主要有:

cold backup(冷备份) 主要指在关闭数据库的状态下进行的数据库完全备份,备份内容包括所有数据文件.控制文件.联机日志文件.ini文件.

hot backup(热备份) 指在数据库处于运行状态下,对数据文件与控制文件进行备份,要使用热备份必须将数据库运行在(archive log)归档方式下.

export(逻辑备份)这是最简单的备份方法,可按数据库中某个表.某个用户或整个数据库来导出,并且支持全部.累计.增量三种方式.使用这种方法,数据库必须处于打开状态,而且如果数据库不是在restrict状态将不能保证导出数据的一致性.

数据库的恢复可分为两大类:完全恢复;不完全恢复;

完全恢复指将数据库恢复到发生故障的时间点,不丢失任何数据.不完全恢复指将数据库恢复到发生故障前的某一个时间点,此时间点以后的所有改动将会丢失.如果没有特殊需求,我们建议应尽量使用完全恢复.

oracle数据库的恢复过程分两步进行,首先将把存放在重做日志文件中的所有重做运用到数据文件,之后对重做中所有未提交的事务进行回滚,这样所有数据就恢复到发生灾难那一时刻了.数据库的恢复只能在发生故障之前的数据文件上运用重做,将其恢复到故障时刻,而不能将数据文件反向回滚到之前的某一个时刻.举个例子,我们有一个2001/1/1的数据库备份,当2001/5/1使我们发现数据库中数据发生混乱,希望将数据库恢复到2001/4/30时的状态,我们只能先恢复2001/1/1的数据库备份然后在其上运用重做记录使其前滚到2001/4/30时的状态,而不能将2001/5/1的数据库向后回滚到2001/4/30.

为了系统的设计数据库的恢复方案,我们先对可能遇到的错误进行分类,oracle数据库错误主要分为5大类: 

sql语句失败

线程失败

实例失败 


...   下一页
 ·oracle大批量删除数据方法    »显示摘要«
    摘要:批量删除海量数据通常都是很复杂及缓慢的,方法也很多,但是通常的概念是:分批删除,逐次提交。 下面是删除过程,数据表可以通过主键删除,测试过delete和for all两种方法,for all在这里并没有带来性能提高,所以仍然选择了批量直接删除。 首先创建一下过程,使用自制事务进行处理: create or replace procedure delbigtab(p_tablename in ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE