数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

数据库备份与恢复测试(8)


发布日期:2020年04月25日
 
数据库备份与恢复测试(8)

######################################################################################

# []回滚段恢复 #

######################################################################################

参见

################################

# []正常shutdown回滚数据文件丢失

# 有备份回滚段恢复

################################

SQL> startup

ORACLE 例程已经启动

Total System Global Area bytes

Fixed Size bytes

Variable Size bytes

Database Buffers bytes

Redo Buffers bytes

数据库装载完毕

数据库已经打开

SQL> archive log list

数据库日志模式 存档模式

自动存档 启用

存档终点 C:\oracle\oradata\testdb\archive

最早的概要日志序列

下一个存档日志序列

当前日志序列

SQL> select us# name status$ from undo$;

US# NAME STATUS$

SYSTEM

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

已选择

SQL> select SEGMENT_NAMESTATUS from dba_rollback_segs;

SEGMENT_NAME STATUS

SYSTEM ONLINE

_SYSSMU$ ONLINE

_SYSSMU$ ONLINE

_SYSSMU$ ONLINE

_SYSSMU$ ONLINE

_SYSSMU$ ONLINE

_SYSSMU$ ONLINE

_SYSSMU$ ONLINE

_SYSSMU$ ONLINE

_SYSSMU$ ONLINE

_SYSSMU$ ONLINE

已选择

RMAN> backup format c:\noarch_%s%pbak database;

启动 backup 于

使用通道 ORA_DISK_

通道 ORA_DISK_: 正在启动 full 数据文件备份集

通道 ORA_DISK_: 正在指定备份集中的数据文件

在备份集中包含当前的 SPFILE

备份集中包括当前控制文件

输入数据文件 fno= name=C:\ORACLE\ORADATA\TESTDB\SYSTEMDBF

输入数据文件 fno= name=C:\ORACLE\ORADATA\TESTDB\UNDOTBSDBF

输入数据文件 fno= name=C:\ORACLE\ORADATA\TESTDB\INDXDBF

输入数据文件 fno= name=C:\ORACLE\ORADATA\TESTDB\USERSDBF

输入数据文件 fno= name=C:\ORACLE\ORADATA\TESTDB\TOOLSDBF

通道 ORA_DISK_: 正在启动段

通道 ORA_DISK_: 已完成段

段 handle=C:\NOARCH_BAK comment=NONE

通道 ORA_DISK_: 备份集已完成 经过时间:::

完成 backup 于

RMAN>

RMAN>

RMAN> copy current controlfile to c:\currcontctl;

启动 copy 于

使用通道 ORA_DISK_

通道 ORA_DISK_: 已复制当前的控制文件

输出文件名=C:\CURRCONTCTL

完成 copy 于

RMAN> exit

恢复管理器完成

SQL> create table arch (status varchar()) tablespace users;

表已创建

SQL> alter system switch logfile;

系统已更改

SQL> insert into arch select ok from dba_objects;

已创建

SQL> commit;

提交完成

SQL> insert into arch select * from arch;

已创建

SQL> /

已创建

SQL> /

已创建

SQL> /

已创建

SQL> commit;

提交完成

SQL> alter system switch logfile;

系统已更改

SQL> insert into arch select no from dba_objects;

已创建

SQL> commit;

提交完成

SQL> select GROUP#SEQUENCE#archived STATUS from v$log;

GROUP# SEQUENCE# ARC STATUS

NO CURRENT

YES ACTIVE

NO ACTIVE

SQL> shutdown >>这里是正常shutdown所以会做检查点当前的数据文件不需要恢复状态

数据库已经关闭

已经卸载数据库

ORACLE 例程已经关闭

~~~~~~~~~~~~~~~~~~~~~~~~

模拟删除UNDOTBSDBF

这时其他文件都是一致性的

只需要UNDOTBSDBF恢复

~~~~~~~~~~~~~~~~~~~~~~~~

删除UNDOTBSDBF

还原一个UNDOTBSDBF的备份

SQL> startup

ORACLE 例程已经启动

Total System Global Area bytes

Fixed Size bytes

Variable Size bytes

Database Buffers bytes

Redo Buffers bytes

数据库装载完毕

ORA: 文件 需要介质恢复

ORA: 数据文件 : C:\ORACLE\ORADATA\TESTDB\UNDOTBSDBF

SQL> recover database ;

完成介质恢复

SQL> alter database open;

数据库已更改

SQL> select count(*)status from arch group by status;

COUNT(*) ST

no

ok

################################

# []shutdown abort(或者使用了别的老的数据文件)

# 回滚数据文件丢失有备份回滚段恢复

# 数据库没有活动事务

################################

也能完全恢复

~~~~~~~~~~~~~~~~~~~~~~

虽然是abort但是只是需要做一个检查点

将数据写到数据文件中但这部分数据直接

在在线日志中可以拿到了只需要前滚

不需要进行回滚

~~~~~~~~~~~~~~~~~~~~~~

################################

# []shutdown abort(或者使用了别的老的数据文件)

# 回滚数据文件丢失有备份回滚段恢复

# 数据库有活动事务

################################

SQL> startup

ORACLE 例程已经启动

Total System Global Area bytes

Fixed Size bytes

Variable Size bytes

Database Buffers bytes

Redo Buffers bytes

数据库装载完毕

数据库已经打开

SQL> archive log list

数据库日志模式 存档模式

自动存档 启用

存档终点 C:\oracle\oradata\testdb\archive

最早的概要日志序列

下一个存档日志序列

当前日志序列

RMAN> backup format c:\noarch_%s%pbak database;

启动 backup 于

使用通道 ORA_DISK_

通道 ORA_DISK_: 正在启动 full 数据文件备份集

通道 ORA_DISK_: 正在指定备份集中的数据文件

在备份集中包含当前的 SPFILE

备份集中包括当前控制文件

输入数据文件 fno= name=C:\ORACLE\ORADATA\TESTDB\SYSTEMDBF

输入数据文件 fno= name=C:\ORACLE\ORADATA\TESTDB\UNDOTBSDBF

输入数据文件 fno= name=C:\ORACLE\ORADATA\TESTDB\INDXDBF

输入数据文件 fno= name=C:\ORACLE\ORADATA\TESTDB\USERSDBF

输入数据文件 fno= name=C:\ORACLE\ORADATA\TESTDB\TOOLSDBF

通道 ORA_DISK_: 正在启动段

通道 ORA_DISK_: 已完成段

段 handle=C:\NOARCH_BAK comment=NONE

通道 ORA_DISK_: 备份集已完成 经过时间:::

完成 backup 于

RMAN>

RMAN>

RMAN> copy current controlfile to c:\currcontctl;

启动 copy 于

使用通道 ORA_DISK_

通道 ORA_DISK_: 已复制当前的控制文件

输出文件名=C:\CURRCONTCTL

完成 copy 于

RMAN> exit

恢复管理器完成

SQL> create table arch (status varchar()) tablespace users;

表已创建

SQL> alter system switch logfile;

系统已更改

SQL> insert into arch select ok from dba_objects;

已创建

SQL> commit;

提交完成

SQL> insert into arch select * from arch;

已创建

SQL> /

已创建

SQL> /

已创建

SQL> /

已创建

SQL> commit;

提交完成

SQL> alter system switch logfile;

系统已更改

SQL> insert into arch select no from dba_objects; 这里没有commit

已创建

提交完成

SQL> select GROUP#SEQUENCE#archived STATUS from v$log;

GROUP# SEQUENCE# ARC STATUS

NO CURRENT

YES ACTIVE

NO ACTIVE

SQL> shutdown abort>>这里是正常shutdown所以会做检查点当前的数据文件不需要恢复状态

数据库已经关闭

已经卸载数据库

ORACLE 例程已经关闭

~~~~~~~~~~~~~~~~~~~~~~~~

模拟删除UNDOTBSDBF

这时其他文件都是一致性的

只需要UNDOTBSDBF恢复

~~~~~~~~~~~~~~~~~~~~~~~~

删除UNDOTBSDBF

还原一个UNDOTBSDBF的备份

SQL> startup

ORACLE 例程已经启动

Total System Global Area bytes

Fixed Size bytes

Variable Size bytes

Database Buffers bytes

Redo Buffers bytes

数据库装载完毕

ORA: 文件 需要介质恢复

ORA: 数据文件 : C:\ORACLE\ORADATA\TESTDB\UNDOTBSDBF

SQL> recover database ;

完成介质恢复

SQL> alter database open;

数据库已更改

SQL> select count(*)status from arch group by status;

COUNT(*) ST

ok

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

i如果有活动的事务那么恢复回滚表空间时

在前滚后后滚时要读自己回滚段里的数据

而自己的数据文件已经损坏了所以就不允许的

所以在mount前将初始化参数

rollback_segments=(system)

_corrupted_rollback_segments=(rbsrbsrbs……)

I测试中回撤表空间数据文件恢复跟常规表空间恢复一样

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

################################

# []shutdown abort(或者使用了别的老的数据文件)

# 回滚数据文件丢失没有备份回滚段恢复

# 数据库有活动事务

################################

SQL> create table arch (status varchar()) tablespace users;

表已创建

SQL> alter system switch logfile;

系统已更改

SQL> insert into arch select ok from dba_objects;

已创建

SQL> commit;

提交完成

SQL> insert into arch select * from arch;

已创建

SQL> /

已创建

SQL> /

已创建

SQL> /

已创建

SQL> commit;

提交完成

SQL> alter system switch logfile;

系统已更改

SQL> insert into arch select no from dba_objects;

已创建

SQL> shutdown abort

ORACLE 例程已经关闭

SQL>

丢失undo文件

SQL> startup mount;

ORACLE 例程已经启动

Total System Global Area bytes

Fixed Size bytes

Variable Size bytes

Database Buffers bytes

Redo Buffers bytes

SQL> alter database datafile C:\ORACLE\ORADATA\TESTDB\UNDOTBSDBF offline;

数据库已更改

SQL> alter database open;

数据库已更改

SQL> select US#NAMEts#STATUS$FLAGS from undo$ where STATUS$ <> ;

US# NAME TS# STATUS$ FLAGS

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

SQL> select count(*) from arch; 这里表是不能读取一致性了

select count(*) from arch

*

ERROR 位于第 行:

ORA: ????????

ORA: ???? : C:\ORACLE\ORADATA\TESTDB\UNDOTBSDBF

SQL> shutdown

数据库已经关闭

已经卸载数据库

ORACLE 例程已经关闭

SQL>

编辑INITtestdb_undoORA

*undo_management=AUTO

*undo_retention=

*undo_tablespace=UNDOTBS

_allow_resetlogs_corruption=true

_corrupted_rollback_segments=(_SYSSMU$_SYSSMU$_SYSSMU$_SYSSMU$_SYSSMU$_SYSSMU$_SYSSMU$_SYSSMU$_SYSSMU$_SYSSMU$_SYSSMU$)

_offline_rollback_segments=true

SQL> startup pfile=C:\oracle\ora\database\INITtestdb_undoORA;

ORACLE 例程已经启动

Total System Global Area bytes

Fixed Size bytes

Variable Size bytes

Database Buffers bytes

Redo Buffers bytes

SQL> alter database open;

数据库已更改

SQL> select count(*) from arch;

COUNT(*)

再创建新的undo表空间

drop 坏的undo tablespace

最好做一个整库的导出并导入到新系统

################################

# []shutdown abort(或者使用了别的老的数据文件)

# 回滚数据文件丢失没有备份但控制文件有创建

# 该回撤段数据文件的所有历史日志回滚段恢复

# 数据库有活动事务

################################

SQL> startup

ORACLE 例程已经启动

Total System Global Area bytes

Fixed Size bytes

Variable Size bytes

Database Buffers bytes

Redo Buffers bytes

数据库装载完毕

数据库已经打开

SQL> show parameter undo

NAME TYPE VALUE

undo_management string AUTO

undo_retention integer

undo_suppress_errors boolean FALSE

undo_tablespace string UNDOTBS

SQL> alter tablespace UNDOTBS add datafile C:\ORACLE\ORADATA\TESTDB\UNDOTBS

DBF size m;

表空间已更改

SQL>

SQL>

SQL> create table arch (status varchar()) tablespace users;

表已创建

SQL> alter system switch logfile;

系统已更改

SQL> insert into arch select ok from dba_objects;

已创建

SQL> commit;

提交完成

SQL> insert into arch select * from arch;

已创建

SQL> /

已创建

SQL> /

已创建

SQL> /

已创建

SQL> commit;

提交完成

SQL> alter system switch logfile;

系统已更改

SQL> insert into arch select no from dba_objects;

已创建

SQL> SHUTDOWN ABORT

ORACLE 例程已经关闭

删除UNDOTBS

SQL> STARTUP

ORACLE 例程已经启动

Total System Global Area bytes

Fixed Size bytes

Variable Size bytes

Database Buffers bytes

Redo Buffers bytes

数据库装载完毕

ORA: 无法标识/锁定数据文件 请参阅 DBWR 跟蹤文件

ORA: 数据文件 : C:\ORACLE\ORADATA\TESTDB\UNDOTBSDBF

SQL> ALTER DATABASE CREATE DATAFILE C:\ORACLE\ORADATA\TESTDB\UNDOTBSDBF;

数据库已更改

SQL> RECOVER DATABASE;

完成介质恢复

SQL> ALTER DATABASE OPEN;

数据库已更改

SQL> COL NAME FORMAT A;

SQL> SELECT NAMESTATUS FROM V$DATAFILE;

NAME STATUS

C:\ORACLE\ORADATA\TESTDB\SYSTEMDBF SYSTEM

C:\ORACLE\ORADATA\TESTDB\UNDOTBSDBF ONLINE

C:\ORACLE\ORADATA\TESTDB\INDXDBF ONLINE

C:\ORACLE\ORADATA\TESTDB\TOOLSDBF ONLINE

C:\ORACLE\ORADATA\TESTDB\USERSDBF ONLINE

C:\ORACLE\ORADATA\TESTDB\UNDOTBSDBF ONLINE

已选择

################################

# []数据库打开时回撤表空间文件

# 损坏没有备份

################################

SQL> startup

ORACLE 例程已经启动

Total System Global Area bytes

Fixed Size bytes

Variable Size bytes

Database Buffers bytes

Redo Buffers bytes

数据库装载完毕

数据库已经打开

SQL> create table arch (status varchar()) tablespace users;

表已创建

SQL> alter system switch logfile;

系统已更改

SQL> insert into arch select ok from dba_objects;

已创建

SQL> commit;

提交完成

SQL> insert into arch select * from arch;

已创建

SQL> /

已创建

SQL> /

已创建

SQL> /

已创建

SQL> commit;

提交完成

SQL> alter system switch logfile;

系统已更改

SQL> insert into arch select no from dba_objects;

已创建

SQL> commit;

提交完成

SQL> select GROUP#SEQUENCE#archived STATUS from v$log;

GROUP# SEQUENCE# ARC STATUS

NO CURRENT

YES INACTIVE

YES ACTIVE

SQL>

SQL>

SQL>

SQL> select GROUP#SEQUENCE#archived STATUS from v$log;

GROUP# SEQUENCE# ARC STATUS

NO CURRENT

YES INACTIVE

YES ACTIVE

SQL> select us# name status$ from undo$;

US# NAME STATUS$

SYSTEM

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

已选择

SQL> select SEGMENT_NAMESTATUS from dba_rollback_segs;

SEGMENT_NAME STATUS

SYSTEM ONLINE

_SYSSMU$ ONLINE

_SYSSMU$ ONLINE

_SYSSMU$ ONLINE

_SYSSMU$ ONLINE

_SYSSMU$ ONLINE

_SYSSMU$ ONLINE

_SYSSMU$ ONLINE

_SYSSMU$ ONLINE

_SYSSMU$ ONLINE

_SYSSMU$ ONLINE

已选择

SQL> show parameter undo

NAME TYPE VALUE

undo_management string AUTO

undo_retention integer

undo_suppress_errors boolean FALSE

undo_tablespace string UNDOTBS

~~~~~~~~~~~~~~~~~~~~~

这里模拟回撤数据文件损坏

~~~~~~~~~~~~~~~~~~~~~

用ultraedit破坏UNDOTBSDBF

SQL> shutdown 因为要使用回滚但回滚失败

ORA: ORACLE 服务器会话因致命错误而终止

SQL> startup

ORA: 未初始化服务句柄

ORA: 内部错误hostdef 扩展名不存在

SQL> exit

从Oraclei Enterprise Edition Release Production

With the Partitioning OLAP and Oracle Data Mining options

JServer Release Production中断开

C:\Documents and Settings\lifengfang>sqlplus sys/sunsdl as sysdba

SQL*Plus: Release Production on 星期五 ::

Copyright (c) Oracle Corporation All rights reserved

已连接

SQL> startup

ORA: cannot start alreadyrunning ORACLE shut it down first

SQL> shutdown

ORA: shutdown in progress connection is not permitted

SQL> shutdown abort 只有abort才可以关闭数据库因为不需要回滚

ORACLE 例程已经关闭

SQL> startup

ORACLE 例程已经启动

Total System Global Area bytes

Fixed Size bytes

Variable Size bytes

Database Buffers bytes

Redo Buffers bytes

数据库装载完毕

数据库已经打开

SQL> select SEGMENT_NAMESTATUS from dba_rollback_segs;

SEGMENT_NAME STATUS

SYSTEM ONLINE

_SYSSMU$ NEEDS RECOVERY

_SYSSMU$ NEEDS RECOVERY

_SYSSMU$ NEEDS RECOVERY

_SYSSMU$ NEEDS RECOVERY

_SYSSMU$ NEEDS RECOVERY

_SYSSMU$ NEEDS RECOVERY

_SYSSMU$ NEEDS RECOVERY

_SYSSMU$ NEEDS RECOVERY

_SYSSMU$ NEEDS RECOVERY

_SYSSMU$ NEEDS RECOVERY

SQL> select us# name status$ from undo$;

US# NAME STATUS$

SYSTEM

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

已选择

~~~~~~~~~~~~~~~~~~~~~

这里我们注意能够打开数据库

但是这里状态是需要恢复

~~~~~~~~~~~~~~~~~~~~~~

SQL> create pfile=c:\undopfileora from spfile;

文件已创建

SQL> create undo tablespace UNDOTBS datafile C:\oracle\oradata\testdb\UNDOTBDBF size m;

表空间已创建

SQL> select count(*)status from arch group by status;

COUNT(*) ST

no

ok

SQL> insert into arch select af from dba_objects;

insert into arch select af from dba_objects

*

ERROR 位于第 行:

ORA: 非系统表空间USERS无法使用系统回退段

SQL> shutdown

数据库已经关闭

已经卸载数据库

ORACLE 例程已经关闭

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

编辑c:\undopfileora

将设置*undo_tablespace=UNDOTBS

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SQL> startup pfile=c:\undopfileora

ORACLE 例程已经启动

Total System Global Area bytes

Fixed Size bytes

Variable Size bytes

Database Buffers bytes

Redo Buffers bytes

数据库装载完毕

数据库已经打开

SQL> insert into arch select af from dba_objects;

已创建

SQL> select

trunc(id/power()) rbs

bitand(idto_number(ffffxxxx))+ slot

id seq

lmoderequest

from v$lockv$session

where v$locktype = TX

and v$locksid = v$sessionsid

and v$sessionusername is not null;

RBS SLOT SEQ LMODE REQUEST

SQL> select SEGMENT_NAMETABLESPACE_NAMESTATUS from dba_rollback_segs;

SEGMENT_NAME TABLESPACE_NAME STATUS

SYSTEM SYSTEM ONLINE

_SYSSMU$ UNDOTBS NEEDS RECOVERY

_SYSSMU$ UNDOTBS NEEDS RECOVERY

_SYSSMU$ UNDOTBS NEEDS RECOVERY

_SYSSMU$ UNDOTBS NEEDS RECOVERY

_SYSSMU$ UNDOTBS NEEDS RECOVERY

_SYSSMU$ UNDOTBS NEEDS RECOVERY

_SYSSMU$ UNDOTBS NEEDS RECOVERY

_SYSSMU$ UNDOTBS NEEDS RECOVERY

_SYSSMU$ UNDOTBS NEEDS RECOVERY

_SYSSMU$ UNDOTBS NEEDS RECOVERY

SEGMENT_NAME TABLESPACE_NAME STATUS

_SYSSMU$ UNDOTBS ONLINE

_SYSSMU$ UNDOTBS ONLINE

_SYSSMU$ UNDOTBS ONLINE

_SYSSMU$ UNDOTBS ONLINE

_SYSSMU$ UNDOTBS ONLINE

_SYSSMU$ UNDOTBS ONLINE

_SYSSMU$ UNDOTBS ONLINE

_SYSSMU$ UNDOTBS ONLINE

_SYSSMU$ UNDOTBS ONLINE

_SYSSMU$ UNDOTBS ONLINE

SQL> select US#NAMEts#STATUS$FLAGS from undo$;

US# NAME TS# STATUS$ FLAGS

SYSTEM

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

US# NAME TS# STATUS$ FLAGS

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$

_SYSSMU$ 插入数据的回滚信息在这

_SYSSMU$

_SYSSMU$

_SYSSMU$

已选择

这些非online的回撤段也需要在初始化参数中强制_corrupted_rollback_segments

且_offline_rollback_segments=true

这里跟一样设置初始化文件

编辑INITtestdb_undoORA

*undo_management=AUTO

*undo_retention=

*undo_tablespace=UNDOTBS

_allow_resetlogs_corruption=true

_corrupted_rollback_segments=(_SYSSMU$_SYSSMU$_SYSSMU$_SYSSMU$_SYSSMU$_SYSSMU$_SYSSMU$_SYSSMU$_SYSSMU$_SYSSMU$_SYSSMU$)

_offline_rollback_segments=true

然后打开数据库

看看TOM的例子

sys@ORAUSORACLECOM> shutdown

Database closed

Database dismounted

ORACLE instance shut down

sys@ORAUSORACLECOM> exit

Disconnected from Oraclei Enterprise Edition Release Production

With the Partitioning OLAP and Oracle Data Mining options

JServer Release Production

[ora@tkytepcisdn ora]$ ls

controlctl cwmlitedbf indxdbf redolog redoBlog tempdbf

usersdbf

controlctl drsysdbf odmdbf redolog redoClog toolsdbf

xdbdbf

controlctl exampledbf redolog redoAlog systemdbf

undotbsdbf

[ora@tkytepcisdn ora]$ mv undotbsdbf undotbsdbfxxx

[ora@tkytepcisdn ora]$ sqlplus /nolog

SQL*Plus: Release Production on Sat Sep ::

Copyright (c) Oracle Corporation All rights reserved

idle> connect / as sysdba

Connected to an idle instance

idle> startup

ORACLE instance started

Total System Global Area bytes

Fixed Size bytes

Variable Size bytes

Database Buffers bytes

Redo Buffers bytes

Database mounted

ORA: cannot identify/lock data file see DBWR trace file

ORA: data file :

/usr/oracle/ora/OraHome/oradata/ora/undotbsdbf

idle> show parameter undo

NAME TYPE VALUE

undo_management string AUTO

undo_retention integer

undo_suppress_errors boolean FALSE

undo_tablespace string UNDOTBS

idle> alter system set undo_management = manual scope=spfile;

System altered

Note: disabling the undo tablespace here thisll let us go back to rollback

segments and well use the system RBS to get back on our feet

idle> shutdown

ORA: database not open

Database dismounted

ORACLE instance shut down

idle> exit

Disconnected from Oraclei Enterprise Edition Release Production

With the Partitioning OLAP and Oracle Data Mining options

JServer Release Production

[ora@tkytepcisdn ora]$ !sql

sqlplus /nolog

SQL*Plus: Release Production on Sat Sep ::

Copyright (c) Oracle Corporation All rights reserved

idle> connect / as sysdba;

Connected to an idle instance

idle> startup

ORACLE instance started

Total System Global Area bytes

Fixed Size bytes

Variable Size bytes

Database Buffers bytes

Redo Buffers bytes

Database mounted

ORA: cannot identify/lock data file see DBWR trace file

ORA: data file :

/usr/oracle/ora/OraHome/oradata/ora/undotbsdbf

Note: we still have to get rid of that thing

idle> alter database datafile

/usr/oracle/ora/OraHome/oradata/ora/undotbsdbf

offline drop;

Database altered

idle> alter database open;

Database altered

idle> drop tablespace undotbs;

Tablespace dropped

idle> create UNDO tablespace undotbs

datafile /usr/oracle/ora/OraHome/oradata/ora/undotbsdbf size

m

autoextend on next m maxsize m;

Tablespace created

idle> alter system set undo_management = auto scope=spfile;

System altered

Now weve put the undo tablespace back by creating a new one Just

bounce

idle> shutdown

Database closed

Database dismounted

ORACLE instance shut down

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

               

上一篇:linux下oracle数据库的启动和关闭

下一篇:对ORACLE的外部表的简单介绍