zoukankan      html  css  js  c++  java
  • 【原创】oracle ORA-01157 ORA-01110 DataGuard 备库 临时表空间报错

    当查询数据库数据时,提示临时表空间异常,报错ORA-01157 ORA-01110,经过对数据文件处理后,已经解决此故障。

    环境:Oracle 11g RAC For Linux 6,该库为DataGuard备库

    1. 特定用户查询数据时报错,如下:

    ERROR:
    ORA-01157: cannot identify/lock data file 226 - see DBWR trace file
    ORA-01110: data file 226: '+DG_DATA02/racdb/blsp_temp.dbf'

    在备库中其它用户查询数据时正常,其它的临时表空间状态也正常。

    2. 检查DataGuard转换参数

    SQL> show parameter db_file_name_convert

    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    db_file_name_convert                 string      

    -- 输出信息已调整显示格式

    +DG_SYSTEM/racdb/datafile, +DG_SYSTEM/racdbdg/datafile,
    +DG_SYSTEM/racdb,          +DG_SYSTEM/racdbdg,
    +DG_DATA01/racdb/datafile, +DG_DDATA_01/racdbdg/datafile,
    +DG_DATA02/racdb/datafile, +DG_DDATA_02/racdbdg/datafile,
    +DG_SYSTEM/racdb/tempfile, +DG_SYSTEM/racdbdg/tempfile,
    +DG_DATA01/racdb/tempfile, +DG_DDATA_01/racdbdg/tempfile,
    +DG_DATA02/racdb/tempfile, +DG_DDATA_02/racdbdg/tempfile


    发现转换参数格式是正确的,但是没有设置临时数据文件所在路径

    3. 再查询ASM磁盘组中,也确实没有报错的这个临时数据文件

    4. 解决方法:

       a. 调整数据库参数

       b. 将数据文件重新创建到ASM磁盘组中t

    5. 调整转换参数,在主、备库中增加临时表空间的转换路径,备库中的路径设置与主库相反,该参数为静态参数,需要重启数据库,数据库为生产库,暂时不修改,以后再修改。

    提供修改示例如下:

    主库:

    。。。

    '+DG_DATA02/racdb/','+DG_DATA02/racdbdg/'

    。。。

    备库:

    。。。

    '+DG_DATA02/racdbdg/','+DG_DATA02/racdb/'

    。。。

    6. 调整数据文件路径

    6.1. 查询主库中的数据文件信息,完整路径和文件大小

    SQL> select file_id,file_name,bytes/1024/1024 MB,status,tablespace_name from dba_temp_files where file_name like '%blsp_temp%';

       FILE_ID FILE_NAME                               MB STATUS  TABLESPACE_NAME
    ---------- ------------------------------- ---------- ------- -----------------
            26 +DG_DATA02/racdb/blsp_temp.dbf        10240 ONLINE  BLSP_TEMP

    SQL>

    6.2. 取消备库日志应用,修改文件管理方式为手动管理

    alter database recover managed standby database cancel;
    alter system set standby_file_management=MANUAL SID='*';

    6.3. 将数据文件RENAME到备库的ASM磁盘路径中,不成功,报错如下:

    SQL> alter database rename file '+DG_DATA02/racdb/blsp_temp.dbf' to '+DG_DDATA_02/racdbdg/datafile/blsp_temp.dbf';
    alter database rename file '+DG_DATA02/racdb/blsp_temp.dbf' to '+DG_DDATA_02/racdbdg/datafile/blsp_temp.dbf'
    *
    ERROR at line 1:
    ORA-01511: error in renaming log/data files
    ORA-01141: error renaming data file 226 - new file '+DG_DDATA_02/racdbdg/datafile/blsp_temp.dbf' not found
    ORA-01110: data file 226: '+DG_DATA02/racdb/blsp_temp.dbf'
    ORA-17503: ksfdopn:2 Failed to open file +DG_DDATA_02/racdbdg/datafile/blsp_temp.dbf
    ORA-15173: entry 'blsp_temp.dbf' does not exist in directory 'datafile'


    SQL>

    6.4. 在临时表空间里面新添加一个数据文件,成功

    SQL> alter tablespace BLSP_TEMP add tempfile '+DG_DDATA_02/racdbdg/datafile/blsp_temp02.dbf' size 10240M;

    Tablespace altered.

    SQL>

    查询临时表空间,还是报错

    SQL>  select file_id,file_name,bytes/1024/1024 MB,status,tablespace_name from dba_temp_files where file_name like '%blsp_temp%';
     select file_id,file_name,bytes/1024/1024 MB,status,tablespace_name from dba_temp_files where file_name like '%blsp_temp%'
                                                                             *
    ERROR at line 1:
    ORA-01157: cannot identify/lock data file 226 - see DBWR trace file
    ORA-01110: data file 226: '+DG_DATA02/racdb/blsp_temp.dbf'


    SQL>

    这时候,再去删除报错的数据文件,成功

    SQL> alter tablespace BLSP_TEMP drop tempfile '+DG_DATA02/racdb/blsp_temp.dbf';

    Tablespace altered.

    SQL>

    查询表空间信息,正常

    SQL> select file_id,file_name,bytes/1024/1024 MB,status,tablespace_name from dba_temp_files where file_name like '%blsp_temp%';

       FILE_ID FILE_NAME                                                       MB STATUS  TABLESPACE_NAME
    ---------- ------------------------------------------------------- ---------- ------- ------------------------------
            27 +DG_DDATA_02/racdbdg/datafile/blsp_temp02.dbf                 10240 ONLINE  BLSP_TEMP

    SQL>

    6.5. 再新添加回原来报错的数据文件名字(blsp_temp.dbf),要注意保持与主库中相同的大小(10240M)


    SQL> alter tablespace BLSP_TEMP add tempfile '+DG_DDATA_02/racdbdg/datafile/blsp_temp.dbf' size 10240M;

    Tablespace altered.

    SQL>  select file_id,file_name,bytes/1024/1024 MB,status,tablespace_name from dba_temp_files where file_name like '%blsp_temp%';

       FILE_ID FILE_NAME                                                       MB STATUS  TABLESPACE_NAME
    ---------- ------------------------------------------------------- ---------- ------- ------------------------------
            26 +DG_DDATA_02/racdbdg/datafile/blsp_temp.dbf                   10240 ONLINE  BLSP_TEMP
            27 +DG_DDATA_02/racdbdg/datafile/blsp_temp02.dbf                 10240 ONLINE  BLSP_TEMP

    SQL>

    6.6. 删除新添加的数据文件(blsp_temp02.dbf)

    SQL> alter tablespace BLSP_TEMP drop tempfile '+DG_DDATA_02/racdbdg/datafile/blsp_temp02.dbf';

    Tablespace altered.

    SQL>
    SQL> select file_id,file_name,bytes/1024/1024 MB,status,tablespace_name from dba_temp_files where file_name like '%blsp_temp%';

       FILE_ID FILE_NAME                                                       MB STATUS  TABLESPACE_NAME
    ---------- ------------------------------------------------------- ---------- ------- ------------------------------
            26 +DG_DDATA_02/racdbdg/datafile/blsp_temp.dbf                   10240 ONLINE  BLSP_TEMP

    SQL>

    6.7. 设置文件管理方式为自动,并启用日志应用

    alter system set standby_file_management=AUTO SID='*';

    alter database recover managed standby database using current logfile disconnect ;

    6.8. 检查备库日志应用情况

    SQL> select open_mode from v$database;

    OPEN_MODE
    --------------------
    READ ONLY WITH APPLY


    SQL>

  • 相关阅读:
    python3----练习......
    python3----练习题(....)
    python3----requests
    python3----练习题(爬取电影天堂资源,大学排名,淘宝商品比价)
    python3----练习题(图片转字符画)
    python3----练习题(....)
    ConfigParser 读写配置文件
    数据驱动ddt+excel数据读取
    数据驱动ddt
    expected_conditions判断页面元素
  • 原文地址:https://www.cnblogs.com/fengaix6/p/9508926.html
Copyright © 2011-2022 走看看