当前位置:首页 » 数据仓库 » 数据库恢复通常采用的方法是
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

数据库恢复通常采用的方法是

发布时间: 2023-05-02 04:39:40

㈠ 目前运用的数据恢复技术主要包括

目前运用的数据恢复技术主要包括瞬时复制技术、远程磁盘镜像技术和数据库恢复技术。
瞬时复制技术就是使计算机在某一灾难时刻自动复制数据的技术。远程磁盘镜像技术是把数据中心磁盘的数据复制到远程备份中心,在远程备份中心提供主数据中心的磁盘影像。数据库恢复技术是产生和维护一份或多份数据库数据的副本,但该技术不能复制非数据库格式的数据,所以,讲数据库复制技术与远程磁盘镜像技术配合使用,常常可以获得更为良好的效果。(希望对以后查询此问题的人有帮助!)

㈡ mysql数据库删除了怎么恢复

常见的情况:
1、如完全丢失数据库文件,用一般数据恢复方式不能恢复2、表被删除,甚至被重写,表行被删除3、索引错误,或者IAM断裂4、数据库大面损坏,可以指定任意表或者字段提取数据5、系统表损坏甚至完全损坏,可以提取指定数据

Oracle数据库恢复


1、undo,systen表空间损坏的恢复2、误delete数据的恢复,误删除表空间drop,truncate表的恢复3、各种ora-错误的恢
复4、DMP文件不能导入数据库以及LOB数据恢复等情况5、oracle数据库中数据文件出现现坏块情况下的恢复6、oracle数据库无数据库文件但
有有日志的情况下的恢复7、能够在系统表和空间文件丢失,变成0字节下完整的恢复数据8、只要没有覆盖表空间件,都有信心恢复数据。无论你是什么系统
(Windows,UNIX)等,无论什么存储设备(硬盘,磁盘阵列)


环乙木数据恢复是一家专门做手机数据恢复业务的公司,拥有先进的数据恢复认证设备,使用的几乎全部是自有技术,对于数据恢复,采用最先进的数据分析和处理
方法,对手机数据丢失的数据恢复成功率在95%以上。如果您已经多方咨询,别的手机数据恢复公司都告诉您,数据恢复无法实现。我们可以很自信地告诉您,这块工作是我们的强项。我们可以手机、硬盘、服务器、U盘、数据库数据恢复等所有手机数据,且我
们可以为大家提供大量的成功案例以供参考,让你对我们更具信心。

㈢ 一个完整的数据备份及恢复方案应包括那些

尊敬的用户您好:
常见的数据备份与恢复方法有以下几种:
1.数据备份:数据备份(Backup)是指将计算机硬盘上的原始数据(程序)复制到可移动媒体(Removable Media)上,如磁盘、磁带、光盘等,在出现数据丢失或系统灾难时将复制在可移动媒体上的数据恢复到硬盘上,从而保护计算机的系统数据和应用数据。
2.数据恢复:数据恢复(Recover)是数据备份的逆过程,即将备份的数据恢复到硬盘上的操
作。
3.数据归档:数据归档(Archive)将硬盘数据复制到可移动媒体上,与数据备份不同的是,数据归档在完成复制工作后将原始数据从硬盘上删除,释放硬盘空间。数据归档一般是对与年度或某一项目相关的数据进行操作,在一年结束或某一项目完成时将其相关数据存到可移动媒体上,以备日后查询和统计,同时释放宝贵的硬盘空间。
3.归档恢复:归档恢复(Retrieve)是数据归档的逆操作,将归档数据写回到硬盘上。
4.在线备份:在线备份(On-line backup)是指对正在运行的数据库或应用进行备份,通常对打开的数据库和应用是禁止备份操作的,然而现在的有些计算机应用系统要求24小时运转(如银行的ATM业务),因此要求数据存储管理软件能够对在线的数据库和应用进行备份。
5.离线备份:离线备份(Off-line backup)指在数据库SHUTDOWN或应用关闭后对其数据进行备份,离线
备份通常采用全备份。
6.全备份:全备份(Full backup)是备份策略的一种。执行数据全部备份操作。
7.增量备份:增量备份(Incremental backup)相对全备份而言,是备份策略的一种,只备份上一次备份后数据的改变量。
8.并行技术:并行技术(Parallelism)是指将不同的数据源同时备份/恢复到同一个备份设备/硬盘上。并行技术是考察数据存储管理软件性能的一个重要参数,有些厂商的软件只能支持并行备份,而有的厂商则可以实现并行地备份及恢复;并且,真正有效的并行技术将可以充分利用备份设备的备份速度(带宽),实现大数据量有限时间备份。
9.数据克隆:数据克隆(Clone)是实现灾难恢复的一种重要手段,通过将原始数据同时备份到两份可移动媒体上,将其中一份备份数据(Clone)转移到地理位置不同的办公室存放,在计算机系统发生重大灾难如火灾,系统连接的
备份设备和备份数据都被损坏的情况下,将重要数据在另一套系统上恢复,保障业务的正常运行。所有数据存储管理软件都提供克隆功能。

中国电信提供最优质的网络通讯服务,老友换新机,网龄抵现金,百兆宽带免费体验,超清电视iTV,电信活动可以直接通过营业厅查询。

㈣ (sqlserver)如何还原一个数据库,有几种方式

您好!数据库的还原操作主要有以下几种:
一、使用SQK的企业管理器来进行图形化的还原(打开管理器在还原的数据库上右击{任务}—还原;然后在弹出的对话框中:选择要还原源文件和要还原目标的)
二、使用SQL代码还原:RESTORE DATABASE 数据库名 FROM DISK= 'F:\my.bak ' WITH REPLACE。
三、做一个作业代理:在步骤哪里加入以上代码;可以实现定时自动还原。
四、使用附加的方式;这个需要有二个文件(日志和数据文件)
五、使用其它软件进行还原。
说明:还原可以从低版本到高版本;反之则出错。

㈤ sql server 2000 数据库恢复

第一种方法:直接拷贝:%SQL
SERVER
2000%\MSSQL\Data(如:C:\Program
Files\Microsoft
SQL
Server\MSSQL\Data)
下所有的文件到目标机器的相应位置下,在
目标机器的SQL
SERVER
2000中选择数据库附加即可
第二中方法:使用数据库备份,再还原到目标机器上
第三种方法:直接使用数据导入导出(DTS)即可(这样的方式会丢失数据的主键,视图,存储过程等信息,只会有数据传输)

㈥ 怎么修复数据库 修复数据库坏块方法

修复数据库坏块
dbv
你也可以用dbv工具看一下你现在其他的数据文件有没有还有坏块的
dbv file='yourfilename'
恢复方法:
当Oracle数据库出现坏块时,Oracle会在警告日志文件(alert_SID.log)中记录坏块的信息:
ORA-01578: ORACLE data block corrupted (file # 7, block # )
ORA-01110: data file : '/oracle1/oradata/V920/oradata/V816/users01.dbf'
其中,<AFN>代表坏块所在数据文件的绝对文件号,代表坏块是数据文件上的第几个数据块
出现这种情况时,应该首先检查是否是硬件及操作系统上的故障导致Oracle数据库出现坏块。在排除了数据库以外的原因后,再对发生坏块的数据库对象进行处理。
1.确定发生坏块的数据库对象
SELECT tablespace_name,
segment_type,
owner,
segment_name
FROM dba_extents
WHERE file_id =
AND between block_id AND block_id+blocks-1;
2.决定修复方法
如果发生坏块的对象是一个索引,那么可以直接把索引DROP掉后,再根据表里的记录进行重建;
如果发生坏块的表的记录可以根据其它表的记录生成的话,那么颤中可以直接把这个表DROP掉后重建;
如果有数据库的备份,则恢复数据库的方法来进行修复;
如果表里的记录没有其它办法恢复,那么坏块上的记录就丢失了,只能把表中其它数据坏上的记录取出来,然后对这个表进行重建。
3.用Oracle提供的DBMS_REPAIR包标记出坏块
exec DBMS_REPAIR.SKIP_CORRUPT_BLOCKS('','');
4.使用Create table as select命令将表中其它块上的记录保存到另一张表上
create table corrupt_table_bak
as
select * from corrupt_table;
5.用DROP TABLE命令删除有坏块的表
drop table corrupt_table;
6.用alter table rename命令恢复原来的表
alter table corrupt_table_bak
rename to corrupt_table;
7.如果表上存在耐洞伍索引,则要重建表上的索引
PART2
2014.7.22研究恢复数据库坏块:
Oracle调用标准C的系统函数,对数据块进行读写操作,因此,坏块是有可能由以下几种原因产生:
硬件的I/O错误
操作系统的I/O错误或缓冲问题
内存或paging问题
磁盘修复工具
一个数据文件的一部分正在被覆盖
Oracle试图访问一个未被格式化的系统块失败
数据文件部分溢出
Oracle或者操作系统的bug
遇到“ORA-01578:ORACLE data block corrupted”错误
处理方法:1.rman的recover命令可以在数据库保持open状态下只恢复受损的数据块
2.如果没有备份,万不得已之下也可以采用DBMS_REPAIR包的存储过程将受损坏块隔离,同时尽可能地挽救部分数据。
rman backup命令也是检查坏数据块的好工具 一旦读取ORA-19566 即可有问题
此时可用backup validate tablespace user观察详细的信息,可查看到坏块数与跟踪文件
grep‘corrupt’/u01/app/oracle/diag/rdbms/br/br/trace/**.trc
恢复数据块:rman》recover datafile 5 block 203;
批量恢复受损的数据块:recover corruption list;
数据块坏块昌或一号坏块,需要做:
run{
sql 'alter database datafile 5 offline';
restore datafile 5;
recover datafile 5;
sql'alter database datafile 5 online'
}
使用exp/imp恢复
在这种情况下肯定会造成数据的丢失,在这种情况下应采取将数据导出然后重建表再进行导入的方法,来尽量恢复损坏数据块中的数据,但是在有坏块的情况下是不允许导出的,如下命令:Exp test/test file=t.dmp tables=t;
导出命令在执行中会报ORA-01578错误,在这错误提示中会提示那个文件号的文件以及这个文件中的哪个块被损坏,如:ORA—01578:ORACLE 数据块损坏(文件号 4,块号 35)
针对以上的提示首先查询那些对象被损坏:
Select tablespace_name,segment_type,owner,segment_name From dba_extents Where file_id=4 and 35 between block_id and block_id+blocks-1;
如果被损坏的块是索引,通常可以通过索引重建来解决,如果损坏的是数据(segment_type为table),那么通过设置如下内部事件使得Exp操作跳过坏块。
Alter session set events=’10231 trace name context forever,level 10’;
然后重新执行导出命令,导出相关的表,然后执行Drop Table命令删除相关表,之后重建表最后导入数据。
使用DBMS_REPAIR恢复
用DBMS_REPAIR当然也会丢失数据。这里不做详细的介绍,有兴趣的可以查看oracle的在线文
3、使用dbms_repair包进行坏块处理
1)首先建立repair_table,用于存放dbms_repair.check_object检测出来的坏块信息
SQL> declare
2begin
3dbms_repair.admin_tables
4(table_name => 'REPAIR_TABLE',--表名
5table_type => dbms_repair.repair_table,
6action => dbms_repair.create_action,
7tablespace => 'USERS');--用于指定该表存放的表空间
8end;
9/
PL/SQL 过程已成功完成。
SQL> col owner format a10
SQL> col object_name format a20
SQL> col object_type format a20
SQL> select owner, object_name, object_type
2from dba_objects
3where object_name like '%REPAIR_TABLE';
OWNEROBJECT_NAMEOBJECT_TYPE
---------- -------------------- --------------------
SYSREPAIR_TABLETABLE
SYSDBA_REPAIR_TABLEVIEW
Oracle自动创建了一个DBA_REPAIR_TABLE视图。
2)使用dbms_repair.check_object进行坏块检测
SQL> set serveroutput on size 100000;
SQL> declare
2rpr_count int;
3begin
4rpr_count := 0;
5dbms_repair.check_object(
6schema_name => 'SYS',--指定对象模式,也就是对象的所有者
7object_name => 'TEST',--指定对象名,也就是表名
8repair_table_name => 'REPAIR_TABLE',
9corrupt_count => rpr_count);
10dbms_output.put_line('repair block count: '
11||to_char(rpr_count));
12end;
13/
repair block count: 4
PL/SQL 过程已成功完成。
SQL> select object_name, block_id, corrupt_type, marked_corrupt,
2corrupt_description, repair_description
3from repair_table;
OBJECT_NAMEBLOCK_ID CORRUPT_TYPE MARKED_COR
-------------------- ---------- ------------ ----------
CORRUPT_DESCRIPTION
-------------------------------------------------------------------------------
REPAIR_DESCRIPTION
-------------------------------------------------------------------------------
TEST196148 TRUE
mark block software corrupt
TEST206148 TRUE
mark block software corrupt
TEST236148 TRUE
mark block software corrupt
TEST316148 TRUE
mark block software corrupt
通过运行dbms_repair.check_object,将坏块信息存放到了repair_table表中,其中有个字段marked_corrupt,用于标识该块是否被标识为坏块,当被标识为true时,即该块被标识为坏块。其中这一步跟oracle文档中的描述有点进入,根据oracle文档,当执行完dbms_repair.check_object时,并不会进行坏块标识,也就是marked_corrupt列的值应该为false,而只有当执行dbms_repair.fix_corrupt_blocks过程后才会进行坏块标识。
3)使用dbms_repair.fix_corrupt_blocks进行坏块标识
SQL> declare
2fix_block_count int;
3begin
4fix_block_count := 0;
5dbms_repair.fix_corrupt_blocks (
6schema_name => 'SYS',
7object_name => 'TEST',
8object_type => dbms_repair.table_object,
9repair_table_name => 'REPAIR_TABLE',
10fix_count => fix_block_count);
11dbms_output.put_line('fix blocks count: ' ||
12to_char(fix_block_count));
13end;
14/
fix blocks count: 0
PL/SQL 过程已成功完成。
我们可以见到到fix blocks count=0,即在上一步进行check_object时已经进行了坏块标识了,这一步其实可以省略。(不过没有测试过!)

㈦ 怎么修复已经损坏的SQL数据库

有两种方法,一种方法使用mysql的check table和repair table 的答升sql语句,另一种方法是使用MySQL提供的多个myisamchk, isamchk数据检测恢复工具。

前者使用起来比较简便。推荐使用。

1、check table 和 repair table 登陆mysql 终端: mysql -uxxxxx -p dbname check table tabTest;

如果出培斗现的结果说Status是OK,则不用修复,如果有Error,可以用: repair table tabTest; 进行修复,修复之后可以在用check table命令来进行检查。

在新版本的phpMyAdmin里面也可以使用清中老check/repair的功能。

2. myisamchk, isamchk 其中myisamchk适用于MYISAM类型的数据表,而isamchk适用于ISAM类型的数据表。

这两条命令的主要参数相同,一般新的系统都使用MYISAM作为缺省的数据表类型,这里以myisamchk为例子进行说明。

当发现某个数据表出现问题时可以使用: myisamchk tablename.MYI 进行检测,如果需要修复的话,可以使用: myisamchk -of tablename.MYI 关于myisamchk的详细参数说明,可以参见它的使用帮助。

需要注意的时在进行修改时必须确保MySQL服务器没有访问这个数据表,保险的情况下是最好在进行检测时把MySQL服务器Shutdown掉。

2、另外可以把下面的命令放在你的rc.local里面启动MySQL服务器前: [ -x /tmp/mysql.sock ] && /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI 。

其中的/tmp/mysql.sock是MySQL监听的Sock文件位置,对于使用RPM安装的用户应该是/var/lib/mysql/mysql.sock,对于使用源码安装则是/tmp/mysql.sock可以根据自己的实际情况进行变更,而pathtochk则是myisamchk所在的位置,DATA_DIR是你的MySQL数据库存放的位置。

需要注意的是,如果你打算把这条命令放在你的rc.local里面,必须确认在执行这条指令时MySQL服务器必须没有启动!

最后检测修复所有数据库(表)。

㈧ Oracle 数据库的备份与恢复都有哪几种方法

一、逻缉备份:exp/imp 导出导入
二、用户管理的备份恢复:1、冷备份,正常关闭数据库,操作系统拷贝整个数据库文件。
2、热备份,在数据库开启时,把要备份的数据文件改为bakcup状态
联机拷贝文件。
三、rman管理的备份恢复

㈨ 讲SQL Server数据库的几种恢复模式

恢复模式说明了工作丢失的风险,能否恢复到时点? SQL Server数据库有三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式。 相对于简单恢复模式而言,完整恢复模式和大容量日志恢复模式提供了更强的数据保护功能。这些恢复模式都是基于备份事务日志来提供完整的可恢复性及在最大范围的故障情形内防止丢失工作。通常,数据库使用完整恢复模式或简单恢复模式。 下面对三种恢复模式做一个比较: 恢复模式 日志备份 恢复点 优点 缺点 解决方案及建议 简单(Simple) 无日志备份。 自动回收日志空间以减少空间需求,实际上不再需友庆要管理事务日志空间。 最新备份之后的更改不受保护。在发生灾难时,这些更改必须重做。只能恢复到备份的结尾。 简单恢复模式可最大程悄告早度地减少事务日志的管理开销,因为不备份事务日志。 如果数据库损坏,则简单恢复模式将面临极大的工作丢失风险。数据只能恢复到已丢失数据的最新备份。 在简单恢复模式下,备份间隔应尽可能短,以防止大量丢失数据。简单恢复模式并不适合生产系统,因为对生产系统而言,丢失最新的更改是无法接受的。在这种情况下,我们建议使用完整恢复模式。 完整(Full) 需要日志备份。 理论上可以恢复到任意时点。 数据文件丢失或损坏不会导致丢失工作。 此模式完整记录所有事务,占用大量空间。 大容量(Bulk-logged) 需要日志备份。 如果在最新日志备份后发生日志损坏或执行大容量日志记录操作,则必须重做自该上次备份之后所做的更改。 可以恢复到任何备份的结尾。不支持时点恢复。 该模式是完整恢启雀复模式的附加模式,允许执行高性能的大容量复制操作。通过使用最小方式记录大多数大容量操作,减少日志空间使用量。 比完整模式节省日志存储空间。 对于某些大规模大容量操作(如大容量导入或索引创建),暂时切换到大容量日志恢复模式可提高性能并减少日志空间使用量。由于大容量日志恢复模式不支持时点恢复,因此必须在增大日志备份与增加工作丢失风险之间进行权衡。 注意: 1. 适合于数据库的恢复模式取决于数据库的可用性和恢复要求。 2. 在完整恢复模式和大容量日志恢复模式下,必须进行日志备份。