zoukankan      html  css  js  c++  java
  • Oracle-RAC中误建本地数据文件问题处理

    概述

    1. 对数据库服务器管理操作不规范,容易被非专业技术人员,特别是对RAC不熟悉人员,在添加数据文件或创建表空间时,往往容易创建数据文件到本节点主机上,此时仅能被当前节点访问
    2. 认为不小心添加的数据文件漏写+号,导致自动创建到dbs目录上

    处理过程

    非系统表空间本地数据文件(归档模式)

    可以不停库处理

    确定本地数据文件编号

    col file_name for a80
    col tablespace_name for a32
    select file_name,file_id,ONLINE_STATUS,tablespace_name from dba_data_files;
    

    将本地数据文件offline处理

    将本地数据文件OFFLINE,或可以将整个表空间OFFLINE。这里假设本地数据文件号为11

    alter database datafile 11 offline;
    

    拷贝本地磁盘文件到ASM

    asmcmd方式
    asmcmd
    cd +DATA/orcl/datafile
    cp /oradata/orcl/datafile/test01.dbf .
    
    rman方式
    rman target /
    copy datafile 11 to '+DATA'
    

    rename数据文件

    -- sqlplus "/ as sysdba"
    alter database rename file '/oradata/orcl/datafile/test01.dbf' to '+data/orcl/datafile/test01.dbf';
    
    -- 查看文件状态为RECOVER
    select file_name,file_id,ONLINE_STATUS,tablespace_name from dba_data_files;
    

    recover数据文件并online

    sqlplus "/ as sysdba"
    alter database recover datafile 11;
    alter database datafile 11 online;
    select file_name,file_id,ONLINE_STATUS,tablespace_name from dba_data_files;
    

    非系统表空间本地数据文件(非归档模式)

    将对应的表空间offline

    非归档模式下单个数据文件在数据库OPEN状态下无法OFFLINE

    alter tablespace test offline;
    

    拷贝本地数据文件到ASM

    rman target /
    copy datafile 11 to '+data';
    
    

    rename数据文件

    -- sqlplus "/ as sysdba"
    alter database rename file '/oradata/orcl/datafile/test01.dbf' to '+data/orcl/datafile/test01.dbf';
    
    -- 查看文件状态为RECOVER
    select file_name,file_id,ONLINE_STATUS,tablespace_name from dba_data_files;
    

    将offline表空间修改为online

    alter tablespace test online;
    

    系统表空间(SYSTEM)本地数据文件

    停数据库

    shutdown immediate;
    

    移动数据文件到ASM

    asmcmd方式
    asmcmd
    cp 
    
    rman方式
    report schema;
    backup as copy datafile 11 format '+data';
    switch datafile 11 to copy;
    

    数据库启动到mount状态

    startup mount;
    

    rename数据文件

    -- sqlplus "/ as sysdba"
    alter database rename file '/oradata/orcl/datafile/system02.dbf' to '+data/orcl/datafile/system02.dbf';
    

    打开数据库

    alter database open;
    

    重启数据库

    可能出现errors ORA-01516 or original error ORA-01157: cannot identify/lock data file错误,需要重启其它DB实例

    shutdown immediate;
    startup;
    

    12C 环境可以在线移动数据文件

    alter database move datafile 12 to '+data/O12C/datafile/test02.dbf';
    

    不需区分系统表空间还是非系统表空间数据文件

    附录

    使用rman backup as copy方式

    不需要执行rename数据文件

    # sqlplus offline数据文件
    alter database datafile 8 offline;
    
    # rman 
    report schema;
    backup as copy datafile 8 format '+data';
    switch datafile 8 to copy;
    
    # sqlplus
    recover datafile 8;
    alter database datafile 8 online;
    

    How to move a datafile from a file system to ASM (Doc ID 390274.1)

    How to Move a Datafile from Filesystem to ASM Using ASMCMD CP Command. (Note 1610615.1)

  • 相关阅读:
    我们毕业了!!!@全体成员
    华东交通大学编译原理期末试卷
    软件设计师中级下午答题解题策略分析~
    Java实现旅行商最短距离
    基于SSH的医院在线挂号
    基于Java的模拟写字板的设计与实现
    基于java的雷电游戏
    基于Java的飞机大战游戏的设计与实现
    基于Java的超级玛丽游戏的设计与实现
    基于Javaee的影视创作论坛的设计与实现
  • 原文地址:https://www.cnblogs.com/binliubiao/p/15133810.html
Copyright © 2011-2022 走看看