UNDO表空间丢失处理

1.启动数据库时提示undo表空间丢失

  • 1.1 原库表空间

SYS@hfdr>select tablespace_name from dba_tablespaces;

TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS
TBS_OGG
ZHANGYUN
UNDOTBS02
  • 1.2 启动失败

SYS@hfdr>startup
ORACLE 例程已经启动。

Total System Global Area 1586708480 bytes
Fixed Size		    2253624 bytes
Variable Size		  973081800 bytes
Database Buffers	  603979776 bytes
Redo Buffers		    7393280 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 3 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 3: '/u01/app/oracle/oradata/undo.dbf'

发现此时undo表空间数据文件已经丢失

2.状态检查

  • 2.1 查看数据库状态

SYS@hfdr>select status from v$instance;

STATUS
------------
MOUNTED

  • 2.2 查看数据库undo表空间参数设置

SYS@hfdr>show parameter undo

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
undo_management 		     string	 AUTO
undo_retention			     integer	 900
undo_tablespace 		     string	 UNDOTBS1

3.问题处理

  • 3.1 修改undo表空间的参数设置

SYS@hfdr>alter system set undo_tablespace=UNDOTBS02 scope=spfile;

系统已更改。
  • 3.2 重启启动数据库

SYS@hfdr>shutdown immediate
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。

SYS@hfdr>startup mount;
ORACLE 例程已经启动。
Total System Global Area 1586708480 bytes
Fixed Size		    2253624 bytes
Variable Size		  973081800 bytes
Database Buffers	  603979776 bytes
Redo Buffers		    7393280 bytes
数据库装载完毕。

SYS@hfdr>alter database open;
alter database open
*
第 1 行出现错误:
ORA-01157: 无法标识/锁定数据文件 3 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 3: '/u01/app/oracle/oradata/undo.dbf'

此时发现即使更改了undo表空间的参数,依旧起不来库

SYS@hfdr>show parameter undo
NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
undo_management 		     string	 AUTO
undo_retention			     integer	 900
undo_tablespace 		     string	 UNDOTBS02
  • 3.3 修改原数据文件至offline状态

SYS@hfdr>alter database datafile 3 offline;
数据库已更改。

启动数据库

SYS@hfdr>alter database open;
数据库已更改。

数据库成功启动

4.重建UNDO

  • 4.1 删除原undo

SYS@hfdr>select tablespace_name from dba_tablespaces;

TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS
TBS_OGG
ZHANGYUN
UNDOTBS02

已选择8行。

SYS@hfdr>drop tablespace UNDOTBS1;

表空间已删除。

  • 4.2 新建undo表空间

SYS@hfdr>create undo tablespace UNDOTBS1 datafile '/u01/app/oracle/oradata/undotbs1.dbf' size 300m autoextend off;

表空间已创建。

  • 4.3 修改undo默认表空间参数

SYS@hfdr>alter system set undo_tablespace=UNDOTBS1 scope=both;

系统已更改。
SYS@hfdr>show parameter undo

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
undo_management 		     string	 AUTO
undo_retention			     integer	 900
undo_tablespace 		     string	 UNDOTBS1
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值