ADG备库中某个PDB缺失temp文件

adg,某个,pdb,缺失,temp,文件 · 浏览次数 : 76

小编点评

**缺失的 temp 文件可能导致 alert,因为缺少对应临时文件。** 当备份控制文件被恢复时,某些 temporary 表空间可能空,导致查询失败。 **解决方案:** * 使用 `ALTER TABLESPACE <tablespace_name> ADD TEMPFILEAWR(6):AWR(6)` 命令添加临时文件。 * 或者,如果这些临时表空间不再需要,可以删除它们。 **示例:** ```sql -- 添加临时文件 ALTER TABLESPACE TEMP ADD TEMPFILE '+DATADG'; -- 删除临时文件 DROP TEMPFILE '+DATADG'; ```

正文

之前认为缺失的temp文件在开库时会自动创建,但其实也有不能自动创建的场景,alert会有类似如下提示:

2023-05-11T20:35:35.974983+08:00
AWR(6):*********************************************************************
AWR(6):WARNING: The following temporary tablespaces in container(AWR)
AWR(6):         contain no files.
AWR(6):         This condition can occur when a backup controlfile has
AWR(6):         been restored.  It may be necessary to add files to these
AWR(6):         tablespaces.  That can be done using the SQL statement:
AWR(6):
AWR(6):         ALTER TABLESPACE <tablespace_name> ADD TEMPFILE
AWR(6):
AWR(6):         Alternatively, if these temporary tablespaces are no longer
AWR(6):         needed, then they can be dropped.
AWR(6):           Empty temporary tablespace: TEMP
AWR(6):*********************************************************************

查询tempfile,发现确实AWR那个PDB没有对应临时文件:

SQL> select name from v$tempfile;

NAME
--------------------------------------------------------------------------------
+DATADG/DEMORAC/temp01.dbf
+DATADG/DEMORAC/pdbseed/temp01.dbf
+DATADG/DEMORAC/pdb1/temp01.dbf
+DATADG/DEMORAC/pdb2/temp01.dbf

进入缺少临时文件的PDB:AWR中,为其增加TEMPFILE:

SQL> alter session set container=awr;

Session altered.

SQL> ALTER TABLESPACE TEMP ADD TEMPFILE '+DATADG';

Tablespace altered.

添加后就可以查询到:

SQL> select name from v$tempfile;

NAME
--------------------------------------------------------------------------------
+DATADG/DEMORAC/F6F2B4F2E4946043E0530401A8C063D6/TEMPFILE/temp.299.1136580247

SQL> conn / as sysdba
Connected.
SQL> select name from v$tempfile;

NAME
--------------------------------------------------------------------------------
+DATADG/DEMORAC/temp01.dbf
+DATADG/DEMORAC/pdbseed/temp01.dbf
+DATADG/DEMORAC/pdb1/temp01.dbf
+DATADG/DEMORAC/pdb2/temp01.dbf
+DATADG/DEMORAC/F6F2B4F2E4946043E0530401A8C063D6/TEMPFILE/temp.299.1136580247
SQL>

与ADG备库中某个PDB缺失temp文件相似的内容:

ADG备库中某个PDB缺失temp文件

之前认为缺失的temp文件在开库时会自动创建,但其实也有不能自动创建的场景,alert会有类似如下提示: 2023-05-11T20:35:35.974983+08:00 AWR(6):*********************************************************

验证ADG的坏块检测和自动修复

环境: Oracle 19c ADG(主库:单实例;备库:RAC) 1.主库新建测试文件 2.主库创建测试表 3.查询表对应数据文件信息 4.模拟数据文件物理坏块 5.查询对应测试表 6.进一步查询日志信息 7.确认当前参数设置 1.主库新建测试文件 主库在AWR的PDB中做测试,为了不影响其他测试

部署19c ADG过程中的问题处理

回忆起来也是有些年没亲自动手搭建ADG了,今天正好有个机会重温,客户环境是19.16,恍惚记得上一次搭ADG还是在11.2.0.4的时代,时光荏苒啊。 正好看下19c的ADG和11g的ADG在部署方面有啥不同? 主备库都是RAC架构,数据库是CDB架构,包含有4个PDB,整个搭建过程还是遇到很多小问

记录一则ADG备库报错ORA-29771的案例

有客户找到我这边咨询,说他们的一套核心ADG库在业务高峰期报错,因为业务做了读写分离,其备库也实际承担读业务,所以备库故障也会对业务产生影响。 这里也要提醒大家,做读写分离,如果读库出现故障的情况,要有切换到主库的应急方案考虑进去。 客户这里自己通过重启备库暂时解决,但担心故障再现,所以非常着急要分

闪回数据库的应用场景和测试

如果是用户主生产环境,通常不会有用户会开启这个功能。 但如果是在ADG备库端,就会有不少客户选择开启这个功能,这可以有效补充误操作应急处置方法。 今天给某客户做技术支持的时候,在现场遇到一个蛮有意思的问题: XTTS测试场景,库非常大,数据文件很多,远超db_files的默认值。 在表空间元数据导入

ADG级联备库环境PSU应用验证

上篇文章 - [源端为备库的场景下Duplicate失败问题](https://www.cnblogs.com/jyzhao/p/17420831.html) 我只在中间备库环境应用了PSU,解决了级联备库从中间备库duplicate数据库的问题: 细心的朋友已经发现,因为是备库环境,并没有做数据库

11g ADG级联备库基础测试环境准备

客户通过duplicate生产备库的方式创建cascade备库。 发现每次都会遇到两个文件报错,ORA-17628: Oracle error 19505错误,且每一次跑,报错文件不一样。 现在想帮客户验证,这属于是正常现象还是bug; 本文需要先模拟客户11.2.0.3环境,构建备库、级联备库环境

源端为备库的场景下Duplicate失败问题

**环境:** Oracle 11.2.0.3 + OEL 7.9 A -> B -> C 级联ADG环境:db11g -> db11gadg -> db11gcas 之前测试提到,从一级备库duplicate到二级备库会报错: ```shell RMAN-00571: RMAN-00569: ER

Oracle ADG环境下的RMAN备份策略

作为IT运维人员,尤其是数据库岗位,数据的备份重于一切。 现在很多用户会有一个普遍误区,认为现在类似ADG这类灾备已经很完善,且实时性也更佳,往往就忽略了传统的备份效用。 但实际上,我们千万不能因为有了容灾建设就盲目忽略备份的作用,二者其实有着本质区别。很多场景,灾备都是无法替代传统备份的,二者是缺

ADG无法同步:TT00进程报错 Error 12514

环境: Oracle 19.16 ADG (Single Instance -> RAC) 在配置ADG的场景,发现ADG不能同步。 1.查看报错信息 2.oerr查看该错误说明 3.尝试sqlplus连接到standby 4.尝试relocate监听 5.继续排查发现是参数问题 6.总结和延伸 1