重庆信息网
loading
免费发布信息
·重庆 [切换]
    javascript:;
    信息分类

      重庆思庄oracle技术分享-数据文件采用错误方式删除后的解决办法

      2022-08-14 14:33:07发布,长期有效,421浏览
    • 置顶
    • 定时刷新  |
    • 收藏  |
    • 举报  |
    • 区域:九龙坡 渝州路
    • 地址:重庆市九龙坡区科园三路南方花园B区银杉楼二单元10
      • 微信号:17320425022
      • 联系人:段老师 重庆市重庆市
      • 电话:861****425022 点击查看完整号码
        • 114黄页信息网提醒您:本站仅作为便民信息搬运工,请自行分辨信息真假,联系前请仔细阅读《谨防诈骗须知
    • 信息详情
    问题描述:当采用以下步骤删除数据文件后发现v$datafile视图中仍然有该文件记录,且状态recover,意识到该删除步骤有问题,生产环境中存在此种情况,此时作为dba应该怎么办?
    a、 使用alter database datafile 5 offline;
    b、rm 命令删掉数据文件
    实验目标:模拟该异常,并提供解决方案.
    实验环境:oracle 11.2.0.4+ 单实例
    1、模拟异常
    SQL>alter tablespace users add datafile '/u01/app/oracle/oradata/leodb/users02.dbf'size 10m autoextend on;
    Tablespacealtered.
    SQL>select file#,name from v$datafile
         FILE# NAME
    ------------------------------------------------------------
             1/u01/app/oracle/oradata/leodb/system01.dbf
             2/u01/app/oracle/oradata/leodb/sysaux01.dbf
             3/u01/app/oracle/oradata/leodb/undotbs01.dbf
             4/u01/app/oracle/oradata/leodb/users01.dbf
             5/u01/app/oracle/oradata/leodb/users02.dbf
    SQL>select d.tablespace_name,v.file#,d.file_name,d.bytes/1024/1024,v.status,v.enabled,d.autoextensible,d.increment_byfrom dba_data_files d,v$datafile v where d.file_id=v.file#
    TABLESPACE_NAME      FILE# FILE_NAME                                         D.BYTES/1024/1024 STATUS ENABLED    AUT INCREMENT_BY
    ------------------------- -------------------------------------------------- ------------------------ ---------- --- ------------
    USERS                    4/u01/app/oracle/oradata/leodb/users01.dbf                          5 ONLINE  READ WRITE YES          160
    UNDOTBS1                 3/u01/app/oracle/oradata/leodb/undotbs01.dbf                       70 ONLINE  READ WRITE YES          640
    SYSAUX                   2/u01/app/oracle/oradata/leodb/sysaux01.dbf                      490 ONLINE  READ WRITE YES         1280
    SYSTEM                   1/u01/app/oracle/oradata/leodb/system01.dbf                       740 SYSTEM  READ WRITE YES         1280
    USERS                    5/u01/app/oracle/oradata/leodb/users02.dbf                         10 ONLINE  READ WRITE YES            1
    现使用错误方法删数据文件users02.dbf
    SQL>alter database datafile 5 offline;
    Databasealtered.
    现在系统层面删除数据文件users02.dbf
    [oracle@leoleodb]$ ll
    total1531236
    -rw-r-----1 oracle asmadmin   9748480 Aug  7 13:54 control01.ctl
    -rw-r-----1 oracle asmadmin  52429312 Aug  7 13:23 redo01.log
    -rw-r-----1 oracle asmadmin  52429312 Aug  7 13:53 redo02.log
    -rw-r-----1 oracle asmadmin  52429312 Aug  7 13:23 redo03.log
    -rw-r-----1 oracle asmadmin 534781952 Aug  7 13:54sysaux01.dbf
    -rw-r-----1 oracle asmadmin 775954432 Aug  7 13:54system01.dbf
    -rw-r-----1 oracle asmadmin  30416896 Aug  7 12:33 temp01.dbf
    -rw-r-----1 oracle asmadmin  73408512 Aug  7 13:54 undotbs01.dbf
    -rw-r-----1 oracle asmadmin   5251072 Aug  7 13:23 users01.dbf
    -rw-r-----1 oracle asmadmin  10493952 Aug  7 13:23 users02.dbf
    [oracle@leoleodb]$ rm -rf users02.dbf
    [oracle@leoleodb]$ pwd
    /u01/app/oracle/oradata/leodb
    此时通过以下语句查询发现users02.dbf状态为recover,v$datafile中仍然有该数据文件记录,意识到操作错误.
    SQL> selectd.tablespace_name,v.file#,d.file_name,d.bytes/1024/1024,v.status,v.enabled,d.autoextensible,d.increment_byfrom dba_data_files d,v$datafile v where d.file_id=v.file#;
    TABLESPACE_NAME      FILE# FILE_NAME                                          D.BYTES/1024/1024STATUS  ENABLED    AUT INCREMENT_BY
    ------------------------- -------------------------------------------------- ------------------------ ---------- --- ------------
    USERS                    4/u01/app/oracle/oradata/leodb/users01.dbf                         5 ONLINE  READ WRITE YES          160
    UNDOTBS1                 3/u01/app/oracle/oradata/leodb/undotbs01.dbf                       70 ONLINE  READ WRITE YES          640
    SYSAUX                   2/u01/app/oracle/oradata/leodb/sysaux01.dbf                       510 ONLINE  READ WRITE YES         1280
    SYSTEM                   1/u01/app/oracle/oradata/leodb/system01.dbf                       740 SYSTEM  READ WRITE YES         1280
    USERS                    5/u01/app/oracle/oradata/leodb/users02.dbf                            RECOVERREAD WRITE
    SQL>select name from v$datafile;
    NAME
    --------------------------------------------------
    /u01/app/oracle/oradata/leodb/system01.dbf
    /u01/app/oracle/oradata/leodb/sysaux01.dbf
    /u01/app/oracle/oradata/leodb/undotbs01.dbf
    /u01/app/oracle/oradata/leodb/users01.dbf
    /u01/app/oracle/oradata/leodb/users02.dbf
    说明:成功模拟出异常现象.
    2、解决方案
    a、添加同路径同名数据文件
    b、RECOVER并ONLINE该文件
    c、用正确方法进行删除
    操作过程:
    SQL>alter database create datafile 5 as '/u01/app/oracle/oradata/leodb/users02.dbf'size 10m;
    Databasealtered.
    [oracle@leoleodb]$ ll
    total1531244
    -rw-r-----1 oracle asmadmin   9748480 Aug  7 14:24 control01.ctl
    -rw-r-----1 oracle asmadmin  52429312 Aug  7 13:23 redo01.log
    -rw-r-----1 oracle asmadmin  52429312 Aug  7 14:24 redo02.log
    -rw-r-----1 oracle asmadmin  52429312 Aug  7 13:23 redo03.log
    -rw-r-----1 oracle asmadmin 534781952 Aug  7 14:24sysaux01.dbf
    -rw-r-----1 oracle asmadmin 775954432 Aug  7 14:24system01.dbf
    -rw-r-----1 oracle asmadmin  30416896 Aug  7 14:18 temp01.dbf
    -rw-r-----1 oracle asmadmin  73408512 Aug  7 14:23 undotbs01.dbf
    -rw-r-----1 oracle asmadmin   5251072 Aug  7 13:23 users01.dbf
    -rw-r-----1 oracle asmadmin  10493952 Aug  7 14:24 users02.dbf
    SQL>recover datafile 5;
    Mediarecovery complete.
    SQL>alter database datafile '/u01/app/oracle/oradata/leodb/users02.dbf' online;
    Databasealtered.
    SQL>alter tablespace users drop datafile '/u01/app/oracle/oradata/leodb/users02.dbf';
    Tablespacealtered.
    SQL>host ls -l /u01/app/oracle/oradata/leodb/users02.dbf
    ls:cannot access /u01/app/oracle/oradata/leodb/users02.dbf: No such file ordirectory
    SQL>selectd.tablespace_name,v.file#,d.file_name,d.bytes/1024/1024,v.status,v.enabled,d.autoextensible,d.increment_byfrom dba_data_files d,v$datafile v where d.file_id=v.file#;
    TABLESPACE_NAME      FILE# FILE_NAME                                         D.BYTES/1024/1024 STATUS  ENABLED    AUT INCREMENT_BY
    ------------------------- -------------------------------------------------- ------------------------ ---------- --- ------------
    USERS                    4/u01/app/oracle/oradata/leodb/users01.dbf                          5 ONLINE  READ WRITE YES          160
    UNDOTBS1                 3/u01/app/oracle/oradata/leodb/undotbs01.dbf                       70 ONLINE  READ WRITE YES          640
    SYSAUX                   2/u01/app/oracle/oradata/leodb/sysaux01.dbf                       510 ONLINE  READ WRITE YES         1280
    SYSTEM                   1/u01/app/oracle/oradata/leodb/system01.dbf                       740 SYSTEM  READ WRITE YES         1280
    [oracle@leoleodb]$ ll
    total1520996
    -rw-r-----1 oracle asmadmin   9748480 Aug  7 14:26 control01.ctl
    -rw-r-----1 oracle asmadmin  52429312 Aug  7 13:23 redo01.log
    -rw-r-----1 oracle asmadmin  52429312 Aug  7 14:26 redo02.log
    -rw-r-----1 oracle asmadmin  52429312 Aug  7 13:23 redo03.log
    -rw-r-----1 oracle asmadmin 534781952 Aug  7 14:24sysaux01.dbf
    -rw-r-----1 oracle asmadmin 775954432 Aug  7 14:24system01.dbf
    -rw-r-----1 oracle asmadmin  30416896 Aug  7 14:18 temp01.dbf
    -rw-r-----1 oracle asmadmin  73408512 Aug  7 14:23 undotbs01.dbf
    -rw-r-----1 oracle asmadmin   5251072 Aug  7 13:23 users01.dbf
    说明:users02.dbf被成功删除,系统层面及v$datafile中已不存在该文件记录. 联系我时,请说是在114黄页信息网看到的,谢谢!

    【重要提醒】 转发本信息给好友或分享到朋友圈,被转发超过20次,信息将自动置顶一周

    114黄页信息网公众号

    首发网址:https://cq.114biao.com/jisuanji/561636.html
    查看全部重庆电脑培训信息
    发布一条重庆电脑培训信息
    • 相关图片

    重庆思庄oracle技术分享-数据文件采用错误方式删除后的解决办法

    • 您可能感兴趣
    • 重庆新发布

    本站不良内容举报

    信箱:1420372764@qq.com

    举报电话:13276611120

    江苏互联网有害信息举报信箱

    ju12377@jschina.com.cn

    举报电话:12377

    涉未成年人网络违法和不良信息举报

    信箱:1420372764@qq.com

    举报电话:02566116616

    13276611120