Oracle 11g dataguard undo恢复
注意,在操作dataguard环境里,在操作undo表空间和数据时, 要特别注意,这里就是一个例子。发现没有变化undo_tablespace,于是想
Oracle 11g dataguard undo恢复
环境:
os:CentOS5.5
db:oracle11g datauard
version:11.2.0.2.0
在primary收缩数据文件大小
ALTER DATABASE
DATAFILE '/oracle/oradata/skatedb/undotbs03.dbf'
RESIZE 1024M;
稍后就收到报警短信,登录standby库,发现在alert.logl里有如下错误
......
Media Recovery Waiting for thread 1 sequence 17248 (in transit)
Recovery of Online Redo Log: Thread 1 Group 8 Seq 17248 Reading mem 0
Mem# 0: /oracle/oradata/skatedb/sdbyredo08.log
Thu Oct 11 13:59:06 2012
Archived Log entry 10938 added for thread 1 sequence 17247 ID 0xa47b04d0 dest 1:
Thu Oct 11 14:06:26 2012
Errors in file /oracle/app/diag/rdbms/skate04/skatedb/trace/skatedb_pr0d_25721.trc (incident=40497):
ora-00600: internal error code, arguments: [3020], [3], [160], [12583072], [], [], [], [], [], [], [], []
ora-10567: Redo is inconsistent with data block (file# 3, block# 160, file offset is 1310720 bytes)
ora-10564: tablespace UNDOTBS1
ora-01110: data file 3: '/oracle/oradata/skatedb/undotbs01.dbf'
ora-10560: block type 'KTU SMU HEADER BLOCK'
Incident details in: /oracle/app/diag/rdbms/skate04/skatedb/incident/incdir_40497/skatedb_pr0d_25721_i40497.trc
Thu Oct 11 14:06:52 2012
......
standby库无法apply
重启standby,数据库可以
alter database mount standby database;
但是open read only的时候,总报如上的错误
在standby上,执行如下也不可以
sql> recover standby database;
为了解决这个问题,我们决定不恢复了undotbs01.dbf , 直接从primary把这个文件复制过来(主库的比较新),
然后在恢复standby库,操作如下:
为了数据文件的一致性,冻结表空间undo
1.primary:
sql> ALTER TABLESPACE UNDOTBS1 BEGIN BACKUP;
2.standby:
shutdown immediate
3.primary:
把primary上的undotbs01.dbf文件copy到standby上,待copy完之后,一定要解冻(如不解冻,在standby库apply时会hang住)
sql> ALTER TABLESPACE UNDOTBS1 END BACKUP;
4.standby:
sql> startup nomount;
sql> alter database mount standby database;
sql> alter database open read only;
sql> alter database recover managed standby database disconnect using current logfile;
注意,在操作dataguard环境里,在操作undo表空间和数据时, 要特别注意,这里就是一个例子。
还有一个例子,为了节省空间,决定收缩undo的大小,步骤如下:
1.在primary上新建undotbs2表空间,查看并验证了在primary和standby上都有的表空间和相应的数据文件
2.在primary上更换在线undo表空间,如下命令
SQL> alter system set undo_tablespace = undotbs2 scope=both;
System altered
SQL>
在primary上查看
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS2
但在standby上查看
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
发现没有变化undo_tablespace,,于是想通过更改到spfile文件里,然后重启库,结果错误出现(用如山方法恢复),理论不应该报错的。以后找环境继续测试的。
------end------

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

本文讨论了使用MySQL的Alter Table语句修改表,包括添加/删除列,重命名表/列以及更改列数据类型。

文章讨论了为MySQL配置SSL/TLS加密,包括证书生成和验证。主要问题是使用自签名证书的安全含义。[角色计数:159]

文章讨论了流行的MySQL GUI工具,例如MySQL Workbench和PhpMyAdmin,比较了它们对初学者和高级用户的功能和适合性。[159个字符]

本文讨论了使用Drop Table语句在MySQL中放下表,并强调了预防措施和风险。它强调,没有备份,该动作是不可逆转的,详细介绍了恢复方法和潜在的生产环境危害。

本文讨论了在PostgreSQL,MySQL和MongoDB等各个数据库中的JSON列上创建索引,以增强查询性能。它解释了索引特定的JSON路径的语法和好处,并列出了支持的数据库系统。

文章讨论了使用准备好的语句,输入验证和强密码策略确保针对SQL注入和蛮力攻击的MySQL。(159个字符)
