Oracle 12c PDB中碰到的DG问题 (r10笔记第63天)

Oracle 12c中的PDB一下子让数据文件的格式复杂了一些,所以Data Guard就很有必要了,一旦出现问题,受损失的数据库是全局的。没想到在搭建Data Guard的时候还是碰到了一些小问题。 问题源自于一次PDB创建的时候,早些时候我在搭建好Data Guard后,主备库的日志应用都没有问题,过了几天,根据需求需要再添加一个PDB,导入一些数据供应用使用。按照要求创建了数据文件然后导入数据,但是查看备库的状态发现MRP异常停止了。 DG Broker检测的状态如下: DGMGRL> show configuration; Configuration - dg_testdb Protection Mode: MaxPerformance Members: testdb - Primary database s2testdb - Physical standby database Error: ORA-16766: Redo Apply is stopped Fast-Start Failover: DISABLED Configuration Status: ERROR (status updated 6 seconds ago) DGMGRL> 备库的错误日志如下:

可以看到是备库没有对应的路径存在所以创建失败,但是错误特别之处在于有下面的错误信息: Automatic Copy of Standby datafiles for create pdb failed with error - 65169. Files need to be copied manually 备库查看PDB的状态信息如下,TBILLMOB这个PDB出现了问题。 SQL> show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 TCYMOB0 READ ONLY NO 4 MACTVDB READ ONLY NO 5 TBILLMOB MOUNTED 如果尝试切换容器,会抛出错误。 SQL> alter session set container=TBILLMOB; ERROR: ORA-65011: Pluggable database TBILLMOB does not exist. 这个错误查看了MetaLink也没有给出其他的建议,很明显和11g的处理方式有一些差别。无奈只能先修复问题,即从主库导出,备库还原恢复。 这个时候问题就来了,主库备份的时候怎么选择对应的数据文件,在哪个PDB中之类的。 使用RMAN来完成特定的备份,此处需要说明在12c中已经有了默认的新建系统用户sysbackup rman target '"/ as sysbackup"' 查看schema的信息如下,原来是这么标记的。

因为这个新建的PDB数据文件完全没有同步过去,所以直接可以备份出来。 RMAN> backup format '/tmp/pdb_tbillmob.dmp' pluggable database tbillmob; 在备库上进行还原和恢复,假设备份集和控制文件在/tmp下。 RMAN> catalog start with '/tmp'; RMAN> restore pluggable database tbillmob from '/tmp/pdb_tbillmob.dmp' Starting restore at 2016-10-25 11:32:18 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=2838 device type=DISK

。。。 RMAN-03002: failure of restore command at 10/25/2016 11:32:19 RMAN-06509: only SPFILE or control file can be restored from AUTOBACKUP 正确的方式是这样的。 RMAN> restore pluggable database tbillmob; 还原之后,开启日志应用即可。 SQL> recover managed standby database disconnect from session; 把备库打开 SQL> alter database open ; 尝试打开所有的PDB SQL> alter pluggable database all open; Pluggable database altered. 查看PDB的状态如下: SQL> show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 TCYMOB0 READ ONLY NO 4 MACTVDB READ ONLY NO 5 TBILLMOB READ ONLY NO 再次查看就主备关系就正常了。 DGMGRL> show configuration; Configuration - dg_testdb Protection Mode: MaxPerformance Members: testdb - Primary database s2testdb - Physical standby database Fast-Start Failover: DISABLED Configuration Status: SUCCESS (status updated 51 seconds ago) DGMGRL> 而在这个基础上,我们进一步测试,主库PDB的目录下重新创建一个test目录,备库不存在,看看添加数据文件是否会成功。 mkdir -p /home/U01/app/oracle/oradata/testdb/pdb/tbillmob/test SQL> alter tablespace users add datafile '/home/U01/app/oracle/oradata/testdb/pdb/tbillmob/test/users02.dbf'size 10M; 查看备库的信息如下:

当然我是在standby_file_management=auto的前提下操作的。如果是standby_file_management=manual还是存在一些差别。

原文发布于微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文发表时间:2016-10-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android小菜鸡

Android6.0权限控制

  随着android6.0的更新,最大的变化莫过于新的权限控制规则。以前可以直接通过AndroidManifest配置需要的权限。而更新后,为了保证用户隐私的...

7710
来自专栏向治洪

android混淆

为了防止自己的劳动成果被别人窃取,混淆代码能有效防止被反编译,下面来总结以下混淆代码的步骤: 1. 大家也许都注意到新建一个工程会看到项目下边有这样prog...

22990
来自专栏Golang语言社区

mysql_stmt_prepare failed! error(1461)Can't create more than

1461错误, mysql_stmt_prepare failed! 今天现场咨询我们问如何处理1461错误。 mysql_stmt_prepare faile...

60080
来自专栏Android干货

安卓开发_实现截图功能

31360
来自专栏Android先生

Android小技巧: 这里涵盖了所有实现 “一键退出 App” 的方法

即 需要2个步骤 才可 完成 一键退出 App 需求。下面,我将根据这两个步骤进行功能实现讲解。

8720
来自专栏三流程序员的挣扎

Navigation 详解三

在 BottomNavigationActivity 中添加 Toolbar,修改主题为 NoActionBar 的。

13320
来自专栏项勇

笔记89 | Canbus升级程序指南

为方便客户升级,我们定了将升级文件拷至U盘根目录,插到机器USB接口,点击我们的升级程序就可以进行升级

21120
来自专栏学海无涯

Android开发之DownloadManager的使用

Android 开发中,经常有从服务器下载数据的需求出现,尤其是在线更新App的情形。其基本思路是根据本地的App版本号和服务器的版本号进行比较,如果服务器版本...

42570
来自专栏杨建荣的学习笔记

Oracle 12c Data Guard搭建(一) (r10笔记第57天)

对于使用12c的PDB,如果想尽快熟悉,掌握,那就是和业务挂钩,让它跑在业务上。当然是在能够基本驾驭它的前提下,要不就真成了甩手掌柜。11g可以玩得很好...

43390
来自专栏Android开发指南

Android使用RxJava+Retrofit2+Okhttp+MVP练习的APP

2.2K80

扫码关注云+社区

领取腾讯云代金券