当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 用户自定义的数据库修复

MSSQL
在SQL Server 2005数据库中更改数据架构
建立适当的索引是实现查询优化的首要前提
巧用一条SQL 实现其它进制到十进制转换
处理SQL Server 2000的命名实例和多实例
解析:怎样掌握SQL Server中的数据查询
教你轻松掌握常用的子句、关键词和函数
如何获取SQL Server数据库元数据的方法
分析SQL Server中数据库的快照工作原理
汇总数据库备份 还原 压缩与数据库转移的方法
完全讲解 使用MSCS建立SQL Server集群
SQL Server 2005 内置工具建审查系统
在SQL Server计算机上运行病毒扫描软件
教你如何升级SQL Server数据库系统
SQL Server中处理空值时涉及的三问题
教你为SQL Server数据库构造安全门
在SQL Server中编写通用数据访问方法
针对SQL Server中业务规则链接的分析
运行SQL Server的计算机间移动数据库
怎样在不同版本SQL Server中存储数据
认识那些被忽略的SQL Server注入技巧

MSSQL 中的 用户自定义的数据库修复


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 103 ::
收藏到网摘: n/a

一、  自动应用重做日志
1、  利用SET  AUTORECOVERY命令自动应用重做日志
完成对数据文件的修复操作
SQL>STARTUP  MOUNT; 启动实例并加载数据库
SQL>SET  AUTORECOVERY  ON 启用重做日志自动应用功能
SQL>RECOVER  DATABASE 恢复指定表空间、数据文件或整个数据库
SQL>ALTER  DATABASE  OPEN; 完成恢复后打开数据库

2、  利用RECOVERY  AUTOMATIC命令自动应用重做日志
完成对数据文件的修复操作
SQL>STARTUP  MOUNT; 启动实例并加载数据库
SQL>RECOVER  AUTOMATIC  DATABASE
SQL>ALTER  DATABASE  OPEN; 完成恢复后打开数据库

二、             不归档模式下的数据库介质恢复

1、  将数据库恢复到原来的位置上
SQL>SHUTDOWN  IMMEDIATE 如果数据库仍然处于打开状态,关闭数据库;
将数据库文件恢复到原来的位置上,利用最近一次建立的一致性完全备份对整个数据库进行恢复,必须对所有的数据文件与控制文件进行修复;
SQL>RECOVER  DATABASE  UNTIL  CANCEL
SQL>CANCEL
SQL>ALTER  DATABASE  OPEN RESETLOGS;将当前重做日志顺序号设置为1。

2、  将数据库恢复到新的位置上
SQL>SHUTDOWN  IMMEDIATE 如果数据库仍然处于打开状态,关闭数据库;
 将数据库文件恢复到新的位置上,利用最近一次建立的一致性完全备份对整个数据库进行恢复,必须对所有的数据文件与控制文件进行修复; 对初始化参数文件中的CONTROL_FILES参数进行编辑,使它执行保存在新位置中修复后的控制文件;
SQL>STARTUP  MOUNT
如果修复后的数据库文件处于新的位置,必须利用ALTER  DATABASE RENAME  FILE语句对控制文件进行修改,使它指向新位置中修复后的数据文件。如:
SQL>ALTER  DATABASE  RENAME  FILE  ‘I:\ora9i\oradata\system01.dbf’  TO  ‘K:\oracle\oradata\system01.dbf’;
SQL>RECOVER  DATABASE  UNTIL  CANCEL
SQL>CANCEL
SQL>ALTER  DATABASE  OPEN RESETLOGS;将当前重做日志顺序号设置为1。

三、             归档模式下的完全介质恢复

1、  关闭状态下的完全恢复
SQL>SHUTDOWN  ABORT(如果数据库处于打开状态,将它强行关闭)
将数据文件恢复到原来的位置上,如果介质故障无法排除,需要将数据文件恢复到其它位置上;
利用备份修复丢失或损坏的数据文件,也可利用ALTER  DATABASE  CREATE  DATAFILE 语句重建一个空白的数据文件替换对视或损坏的数据文件;
SQL>STARTUP  MOUNT
如果修复后的数据文件不在原来的位置上,需要使用ALTER  DATABASE  RENAME  FILE …TO …语句在控制文件中更新它们的信息
SQL>SELECT  name,status  FROM  V$DATAFILE;查询数据文件的名称和状态
SQL>ALTER  DATABASE  DATAFILE … ONLINE;将脱机数据文件改未联机
SQL>RECOVER  DATABASE  或 SQL>RECOVER  TABLESPACE  users
或 SQL>RECOVER  DATAFILE  ‘I:\ora9i\oradata\users0.dbf;
SQL>ALTER  DATABASE  OPEN;