DBASK问答集萃第三期

引言
近期我们在DBASK小程序增加了众多专栏,其中包括盖国强、杨廷琨、罗海雄、张乐奕、黄廷忠、崔华、熊军、李真旭、何剑敏等专家栏目,还有2019年6月SCN兼容性问题、XTTS、备份恢复等技术专栏,另外蚂蚁金服OceanBase入驻小程序。欢迎大家阅读分享小程序中的专题栏目。

问答集萃
接下来,我们分享本期整理出的问题和诊断总结,供大家参考学习,详细的诊断分析过程可以通过标题链接跳转到小程序中查看。

问题一、RMAN-20039: format requires %c when duplexing

备份时报错:

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command
RMAN-20039: format requires %c when duplexing

备份数据文件不加%C就会报错,加%C有两份一样的?

----备份脚本
run{ 
allocate channel c1 device type disk;
allocate channel c2 device type disk;
allocate channel c3 device type disk;
allocate channel c4 device type disk;
crosscheck backup;
sql 'alter system archive log current';
backup spfile format '/bak/backup/spfile_%T_%s_%p_%c';
#backup database format '/bak/backup/dbbk_0_%d_%t_%u_%s_%p';
backup as compressed backupset incremental level 0 database format '/bak/backup/dbbk_0_%d_%t_%u_%s_%p';
sql 'alter system archive log current';
backup archivelog all format '/bak/backup/arc_%T_%s_%p_%c' delete all input;
backup current controlfile format '/bak/backup/cntrl_%T_%s_%p_%c';
crosscheck archivelog all;
delete noprompt expired backup;
delete noprompt obsolete;

release channel c1;
release channel c2;
release channel c3;
release channel c4;
}

诊断结论:如果设置不冗余就不需要加c%,否则就会出现你的报错。如果设置了冗余必须加%c,那么也就会产生相应的备份片。

问题二、RAC实例无法启动ORA-01157 ORA-01110 ORA-27041 OSD-04002

服务器未知原因故障恢复后,启动数据库实例报错,错误信息如下:

ALTER DATABASE OPEN /* db agent *//* {2:38813:23181} */
This instance was first to open
Errors in file D:\APP\...\orcl2_ora_7780.trc:
ORA-01157: ????/?????? 11 - ??? DBWR ????
ORA-01110: ???? 11: 'D:\APP\...\NXPT.DBF'
ORA-1157 signalled during: ALTER DATABASE OPEN /* db agent *//* {2:38813:23181} */...
Fri Mar 01 10:00:59 2019
Shutting down instance (abort)
License high water mark = 2
USER (ospid: 13460): terminating the instance
Instance terminated by USER, pid = 13460
Fri Mar 01 10:01:16 2019
Instance shutdown complete
Fri Mar 01 10:34:34 2019

诊断结论:从报错看,这个是一个本地数据文件

'D:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\NTBS.DBF'

应该是将RAC中的数据库文件误建到本地磁盘,所以其他实例无法启动,导致错误。

问题三、Oracle 12.2 expdp 非常慢

我有一个12.2.0.1的库,非容器单实例。使用expdp导出,导出文件总共不到4G,但要花将近6个小时。alert没有任何报错。新库基本都是空的分区表。

诊断结论:请先尝试收集系统、数据字典统计信息。另外可以尝试如下方法:
1、最小配置stream_pool_size最小到256M,可能的话设置512M或者1GB;
2、加大expdp的并行度,如果CPU压力不大,可以设置为CPU核数的1半或更多;
3、EXCLUDE=GRANT exclude = statistic
4、METRICS=YES
5、如果导出停留在TABLE_DATA阶段,并且上述处理无效,可以打补丁Bug 28100495

问题四、RAC CTSS状态观察模式,时间不同步

2节点RAC,其中一台物理故障。修复后RAC报CTSS状态为观察模式,时间不同步

Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 0

PL/SQL Release 12.2.0.1.0 - Production 0
CORE 12.2.0.1.0 Production 0
TNS for Linux: Version 12.2.0.1.0 - Production 0
NLSRTL Version 12.2.0.1.0 - Production 0
CPUs:56 Cores:28 Sockets:2
内存188.26G

诊断结论:CTSS状态为观察模式通常是因为本地的NTP服务启动了。所以可以先检查一下新修复的那台服务器上是不是默认启动了NTP。如果是,禁用掉通常就可以了。

问题五、OGG-00665 OCI Error (status = 3114-ORA-03114)

OGG 同步序列,进程ABENDING,重启进程问题仍然存在,数据库正常,其他ogg的进程正常,且排除掉该序列的同步后进程可以正常启动

2019-03-07 17:06:39  ERROR   OGG-00665 Oracle GoldenGate Delivery for Oracle, rptsqe.prm:  OCI Error describe for query
(status = 3114-ORA-03114: not connected to ORACLE), SQL