当前位置:  数据库>oracle

把文件系统的数据文件迁移到ASM存储

    来源: 互联网  发布时间:2017-06-05

    本文导语: 把文件系统的数据文件迁移到ASM存储 RAC环境,使用的是ASM作存储。近日在给用户做数据库维护的过程中,发现有一部分数据文件存放在文件系统中,这是不正常的。导致另一台服务器上跑着的实例就不正常了。 于是需要把文件...

把文件系统的数据文件迁移到ASM存储

RAC环境,使用的是ASM作存储。
近日在给用户做数据库维护的过程中,发现有一部分数据文件存放在文件系统中,这是不正常的。导致另一台服务器上跑着的实例就不正常了。
 于是需要把文件系统上的数据文件迁移到ASM存储上。

如何修改ASM的sys密码

如何将ASM中的数据文件复制到操作系统中

Oracle 11g RAC ASM磁盘全部丢失后的恢复

Oracle 11g从入门到精通 PDF+光盘源代码

RHEL6 ASM方式安装Oracle 11g R2

Oracle 10g 手工创建ASM数据库

下面模拟该场景
 在rac1的节点上操作

未添加数据文件前数据文件的情况
 SQL> select name from v$datafile;

FILE_NAME
 ------------------------------------------------------------
 +DATA/asmdevdb/datafile/system.273.845258673
 +DATA/asmdevdb/datafile/sysaux.274.845258703
 +DATA/asmdevdb/datafile/undotbs1.264.845258723
 +DATA/asmdevdb/datafile/users.271.845258761

4 rows selected.

SQL> alter tablespace users add datafile 'user01.dbf' size 10m;

Tablespace altered.

SQL> select file_name from dba_data_files;

FILE_NAME
 ------------------------------------------------------------
 +DATA/asmdevdb/datafile/system.273.845258673
 +DATA/asmdevdb/datafile/sysaux.274.845258703
 +DATA/asmdevdb/datafile/undotbs1.264.845258723
 +DATA/asmdevdb/datafile/users.271.845258761
 /u01/oracle/product/11.2.0/db_1/dbs/user01.dbf
 
5 rows selected.

我们过一段时间,观测其他节点。
 我们使用sqlplus 登陆会报错误。
 使用conn sys/password@devdb2 as sysdba,报以下错误:
 ERROR:
 ORA-01075: you are currently logged on
 2、以normal 身份的用户连接(conn username/password@devdb2),报以下错误:
 ERROR:
 ORA-00604: 递归 SQL 级别 2 出现错误
 ORA-01157: 无法标识/锁定数据文件 5 - 请参阅 DBWR 跟踪文件
 ORA-01110: 数据文件 5: '/u01/oracle/product/11.2.0/db_1/dbs/user01.dbf'
 ORA-00604: 递归 SQL 级别 2 出现错误
 ORA-01157: 无法标识/锁定数据文件 5 - 请参阅 DBWR 跟踪文件
 ORA-01110: 数据文件 5: '/u01/oracle/product/11.2.0/db_1/dbs/user01.dbf'


下面我采用rman 的方式,把/u01/oracle/product/11.2.0/db_1/dbs/user01.dbf数据文件
 迁移到ASM存储上。
 把数据库启动到mount状态下
 SQL> startup mount
 ORACLE instance started.

Total System Global Area  393375744 bytes
 Fixed Size                  1336764 bytes
 Variable Size            276826692 bytes
 Database Buffers          109051904 bytes
 Redo Buffers                6160384 bytes
 Database mounted.
 使用rman链接数据库


pxboracle->rman  target /

Recovery Manager: Release 11.2.0.1.0 - Production on Mon May 12 22:49:59 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

connected to target database: DEVDB (DBID=260178701, not open)

RMAN> report schema;

using target database control file instead of recovery catalog
 Report of database schema for database with db_unique_name ASMDEVDB

List of Permanent Datafiles
 ===========================
 File Size(MB) Tablespace          RB segs Datafile Name
 ---- -------- -------------------- ------- ------------------------
 1    700      SYSTEM              ***    +DATA/asmdevdb/datafile/system.273.845258673
 2    600      SYSAUX              ***    +DATA/asmdevdb/datafile/sysaux.274.845258703
 3    200      UNDOTBS1            ***    +DATA/asmdevdb/datafile/undotbs1.264.845258723
 4    5        USERS                ***    +DATA/asmdevdb/datafile/users.271.845258761
 5    10      USERS                ***    /u01/oracle/product/11.2.0/db_1/dbs/user01.dbf
 
List of Temporary Files
 =======================
 File Size(MB) Tablespace          Maxsize(MB) Tempfile Name
 ---- -------- -------------------- ----------- --------------------
 1    20      TEMP                32767      +DATA/asmdevdb/tempfile/temp.275.845258729
 
RMAN> backup as copy datafile 5 format '+DATA';

Starting backup at 12-MAY-14
 allocated channel: ORA_DISK_1
 channel ORA_DISK_1: SID=138 device type=DISK
 channel ORA_DISK_1: starting datafile copy
 input datafile file number=00005 name=/u01/oracle/product/11.2.0/db_1/dbs/user01.dbf
 output file name=+DATA/asmdevdb/datafile/users.266.847407067 tag=TAG20140512T225103 RECID=1 STAMP=847407068
 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:04
 Finished backup at 12-MAY-14

RMAN> switch datafile '/u01/oracle/product/11.2.0/db_1/dbs/user01.dbf' to copy;

datafile 5 switched to datafile copy "+DATA/asmdevdb/datafile/users.266.847407067"
 
RMAN> alter database open;

database opened

RMAN> report schema;

Report of database schema for database with db_unique_name ASMDEVDB

List of Permanent Datafiles
 ===========================
 File Size(MB) Tablespace          RB segs Datafile Name
 ---- -------- -------------------- ------- ------------------------
 1    700      SYSTEM              ***    +DATA/asmdevdb/datafile/system.273.845258673
 2    600      SYSAUX              ***    +DATA/asmdevdb/datafile/sysaux.274.845258703
 3    200      UNDOTBS1            ***    +DATA/asmdevdb/datafile/undotbs1.264.845258723
 4    5        USERS                ***    +DATA/asmdevdb/datafile/users.271.845258761
 5    10      USERS                ***    +DATA/asmdevdb/datafile/users.266.847407067
 
List of Temporary Files
 =======================
 File Size(MB) Tablespace          Maxsize(MB) Tempfile Name
 ---- -------- -------------------- ----------- --------------------
 1    20      TEMP                32767      +DATA/asmdevdb/tempfile/temp.275.845258729
 
 

注意:
 以后在添加数据文件时,使用如下命令
 alter tablespace users add datafile '+DATA' size 10m;
 文件的路径要写存储路径,不用写文件名,ASM文件的命名不同于普通文件的命名,它的文件名一般不直接指定,由ASM系统自己生成,并且其管理方式是OMF。

SQL> conn / as sysdba
 Connected.
 SQL> alter tablespace users add datafile '+DATA' size 10m;

Tablespace altered.

SQL> select file_name from dba_data_files;

FILE_NAME
 ------------------------------------------------------------
 +DATA/asmdevdb/datafile/system.273.845258673
 +DATA/asmdevdb/datafile/sysaux.274.845258703
 +DATA/asmdevdb/datafile/undotbs1.264.845258723
 +DATA/asmdevdb/datafile/users.271.845258761
 +DATA/asmdevdb/datafile/users.266.847407067
 +DATA/asmdevdb/datafile/users.270.847408759

6 rows selected.


    
 
 

您可能感兴趣的文章:

  • 文件系统迁移问题?
  • 如何迁移home文件夹或合并分区?
  • MySQL数据库迁移data文件夹位置详细步骤
  • 数据库存储, 改用TXT文件存储
  • 急求 unix 与linux在文件存储上 和数据存储上有哪些不同 希望各路英雄帮忙
  • 急!如何从一个shell文件中传递一个参数到sql文件中,不能用存储过程
  • 集群文件存储系统 Hados
  • 窗口可以存储成文件形式的吗
  • SUN虚拟机存储物理地址和网卡名称的文件是什么?
  • 开源文件云存储 Seafile
  • 网络文件存储 Nebula3
  • 关于“文件存储格式”的资料哪里找?
  • 如何用java对mysql存储文件
  • 请问如何在一个文件系统修改源码管理并使用多个卷(存储设备)
  • 如何限制单个用户的存储文件大小?
  • mssql server 存储过程里,bulk insert table from '路径+文件',路径固定,文件名不固定的实现方法
  • 如何将系统输出信息存储到本地文件
  • 可以在客户端存储文件吗?
  • 如何做linux下的数据存储文件如何做?
  • write函数往套接字文件描述符写入数据的时候数据存储在哪里 ?
  • 如何在access数据库中存储rtf文件。
  • 如何把一个Image对象存储为一张图片,不是一个文件的copy!
  • 求助:关于读取移动存储卡中文文件名
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ I/O 成员 eof():如果处于文件结尾处则返回true
  • Shell脚本如何递归现实一个文件夹中的文件(文件夹中含有文件夹)
  • WinDows8最新版文件夹加密
  • 求命令:什么命令可以把文件夹下所有的文件按修改时间先后排出来,包括子文件夹里的文件。
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • [提问]Linux下如何把多个.a文件编译一个.so文件,或者把多个.so文件编译成一个.so文件
  • python异常信息堆栈输出到日志文件
  • 请问:proc中的头文件中能包含头文件吗?(感觉如果头文件中包含头文件的话,在链接时就会有错误啊)
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 我要实现当进程打开文件时,根据文件名判断是否符合要求,符合后处理文件,再把文件返回给进程,怎么实现啊
  • 在MyEclipse中设开启xml文件自动提示和自动完成功能
  • vi 中编辑两个文件,怎样从其中一个文件拷一段内容到另一个文件中。(同时打开两个文件)
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 怎么统计一个文件夹下有多少个文件(不包括文件夹)
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 请教高手一个简单问题:给定一个文件名,如何去查找该文件正在被几个程序使用,并怎么样才可以切断这个文件与正在打开该文件的程序之间的
  • MyEclipse如何查看和设置文件编码格式相关操作
  • linux 下的 .a 文件 .o 文件 是什么文件?各有什么作用?
  • 使用libpcap读取tcpdump抓取的文件并解析c代码实例
  • 如何用socket一次传输多个文件,如何确定文件一个文件结束
  • 设置sharepoint 2010文档库中的 pdf文件在浏览器中访问的打开方式
  • 如何删除某个目录下除了指定文件夹之外的所有文件和文件夹


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,