重建Oracle表空间专业技术指导

数据库 Oracle
这里介绍在大多数情况下,重建Oracle表空间是不可能及太辛苦的工作.方法是倒备份及做介质恢复.如果您的系统运行在NOARCHIVELOG模式下,则只有丢失的数据在online redo log中方可被恢复。

之前介绍过Oracle表空间恢复,这里在向大家详细介绍重建Oracle表空间之前,首先让大家了解下用户表空间的错误,然后全面介绍重建Oracle表空间。

错误:

在启动数据库时出现ORA-01157,ORA-01110或操作系统级错误例如ORA-07360,在关闭数据库(使用shutdown normal或shutdown immediate) 时将导致错误ORA-01116,ORA-01110以及操作系统级错误ORA-07368

以下有两种解决方案:

1.用户的表空间可以被轻易地重建
即最近导出的对象是可用的或表空间中的对象可以被轻易地重建等.在这种情况下,最简单的方法是offline并删除该数据文件,删除表空间并重建Oracle表空间以及所有的对象.
svrmgrl> startup mount
svrmgrl> alter database datafile 'filename' offline drop;
svrmgrl> alter database open;
svrmgrl> drop tablespace tablespace_name including contents;
重建Oracle表空间及所有对象.

2.用户的表空间不能够被轻易地重建
在大多数情况下,重建Oracle表空间是不可能及太辛苦的工作.方法是倒备份及做介质恢复.如果您的系统运行在NOARCHIVELOG模式下,则只有丢失的数据在online redo log中方可被恢复。步骤如下:
1)Restore the lost datafile from a backup
2)svrmgrl> startup mount
3)svrmgrl> select v1.group#,member,sequence#,first_change#
◆from v$log v1,v$logfile v2
◆where v1.group#=v2.group#;
4)如果数据库运行在NOARCHIVELOG模式下则:
svrmgrl> select file#,change# from v$recover_file;
如果 CHANGE# 大于最小的FIRST_CHANGE#则数据文件可以被恢复。
如果 CHANGE# 小于最小的FIRST_CHANGE#则数据文件不可恢复。 恢复最近一次的全备份或采用方案一.
5)svrmgrl> recover datafile filename;
6)确认恢复成功
7)svrmgrl> alter database open resetlogs;

3.只读表空间无需做介质恢复,只要将备份恢复即可.唯一的例外是:
◆表空间在***一次备份后被改为read-write 模式
◆表空间在***一次备份后被改为read-only 模式
◆在这种情况下,均需进行介质恢复

【编辑推荐】

  1. Oracle密码过期与profile的使用方法
  2. Oracle密码丢失解决方案两则
  3. 六步了解Oracle表空间状态
  4. Oracle用户权限的创建及分配
  5. Oracle用户权限及角色管理浅谈
责任编辑:佚名 来源: 博客园
相关推荐

2009-12-29 18:46:41

Silverlight

2010-05-17 17:13:09

Subversion端

2009-10-22 16:25:53

Oracle UNDO

2010-05-17 14:11:35

Subversion

2022-01-26 07:18:57

oracle临时表空间数据库

2010-05-18 11:13:54

Subversion使

2010-01-11 18:12:57

VB.NET使用MS

2010-09-01 17:21:26

无线局域网

2010-05-17 17:33:31

Subversion1

2010-05-18 09:07:14

Subversion安

2010-05-19 11:07:49

TortoiseSVN

2010-05-18 11:34:08

2011-11-26 13:03:49

投影仪行情

2010-05-24 09:24:18

SVN服务器搭建

2010-05-18 16:56:03

Tortoise Su

2010-05-18 16:45:42

Tortoise Su

2010-05-17 15:53:25

Subversion服

2010-05-17 08:56:44

2009-10-26 16:13:29

Oracle使用UND

2009-10-29 16:57:05

Oracle传输表空间
点赞
收藏

51CTO技术栈公众号