当前位置:  数据库>oracle

数据库从其他存储系统迁移到ASM

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

    本文导语: Oracle ASM(自动存储管理系统)是oracle官方提供的数据库文件存储管理系统,相对于其他文件存储系统而言,AMS在负载均衡、性能优化和冗余保护方面具体较大的优势。目前ORACLE推荐数据库使用AMS来存储数据库相应的文件,而且11g RAC...

Oracle ASM(自动存储管理系统)是oracle官方提供的数据库文件存储管理系统,相对于其他文件存储系统而言,AMS在负载均衡、性能优化和冗余保护方面具体较大的优势。目前ORACLE推荐数据库使用AMS来存储数据库相应的文件,而且11g RAC模式下只能用ASM管理存储或OCFS管理存储,已经不可以使用裸设备当共享存储。本实验是模拟数据库从普通文件系统(数据文件直接存储在操作系统上)迁移到ORACLE ASM存储上。

环境:

迁移涉及的磁盘组:

sys@+asm(asm.com)> create diskgroup fra external redundancy disk '/dev/asm*[n-s]';

sys@+asm(asm.com)> create diskgroup data external redundancy disk '/dev/asm*[b-m]';

迁移的数据库名称:szpms

 

一. 准备工作

1. 兼容性参数确认COMPATIBLE

如果数据库初始化参数COMPATIBLE少于11.0.0,那么需要将所有的只读

表空间设置为读写表空间

SQL> show parameter compatible

 

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

compatible string 11.2.0.4.0

 

2. 如果数据库是物理备库,停止日志应用恢复

逻辑备库是主数据库的一份copy,作为容灾用的。通过下面命令停止日志应用恢复。

SQL> ALTER DATABASE RECOVERY MANAGED STANDBY DATABASE CANCEL;

保持这个终端窗口开启状态。

 

3. 复制spfile或者pfile到临时存储位置

$ cp spfileszpms.ora orig_spfileszpms.ora

 

4. 打开一个新的窗口,使用RMAN连接到目标数据库

$ rlwrap rman target /

 

5. 备份数据文件到ASM磁盘组

使用0级增量备份。0级备份与全库备份一样都备份了数据库里面所有被使用过的数据块,但是全库备份不能作为增量备份的起点。

备份脚本:

run

{

allocate channel dev1 device type disk;

allocate channel dev2 device type disk;

backup as copy incremental level 0 database format '+data' tag 'ora_asm_migration';

}

 

6. 确认是否开启BCT特性(可选)

如果开启了BCT特性(block change tracking),则可以做个1级增量备份一般后续恢复数据库

{

ALLOCATE CHANNEL dev1 DEVICE TYPE DISK;

ALLOCATE CHANNEL dev2 DEVICE TYPE DISK;

ALLOCATE CHANNEL dev3 DEVICE TYPE DISK;

ALLOCATE CHANNEL dev4 DEVICE TYPE DISK;

BACKUP AS COPY

INCREMENTAL LEVEL 1

DATABASE FORAMT ‘+DATA’

TAG ‘ORA_ASM_MIGRATION’;

}

 

7. 如果数据库开启了归档模式,则使用下面命令归档下时下redo log

RMAN> SQL "ALTER SYSTEM ARCHIVE LOG CURRENT";

 

8. 如果数据库使用的spfile,则备份下spfile

RMAN> BACKUP AS BACKUPSET SPFILE;

9. 如果开启了BCT,则需要禁用下

SQL> select status, filename from v$block_change_tracking;--查询是否开启BCT特性

RMAN> SQL "ALTER DATABASE DISABLE BLOCK CHANGE TRACKING";

 

10. 如果flashback database开启的话,需先禁用并删除掉所有还原点

SQL> select FLASHBACK_ON from v$database;--查看是否开启了flashback database特性

RMAN> SQL "ALTER DATABASE FLASHBACK OFF";

RMAN> SQL "DROP RESTORE POINT Q106";

 

11. 关闭数据库(干净)

RMAN> SHUTDOWN IMMEDIATE;

 

 

推荐阅读:

如何修改ASM的sys密码

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

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

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

RHEL6 ASM方式安装Oracle 11g R2

Oracle 10g 手工创建ASM数据库

Ubuntu 12.04(amd64)安装完Oracle 11gR2后各种问题解决方法

如何修改Oracle 10g ASM的sys密码


    
 
 

您可能感兴趣的文章:

  • 数据库迁移工具 FmPro Migrator
  • 数据库迁移工具 phpmig
  • 数据库迁移工具 JPumpDX
  • Hadoop和数据库数据迁移工具 Sqoop
  • 数据库迁移工具 DBConvert for MySQL & PostgreSQL
  • sqlserver数据库迁移后,孤立账号解决办法
  • xp下的mysql数据库如何迁移到linux中的mysql
  • MySQL 数据库跨操作系统的最快迁移方法
  • 将ACCESS数据库迁移到SQLSERVER数据库两种方法(图文详解)
  • 将 Ghost 从 SQLite3 数据库迁移到 MySQL 数据库
  • oracle 数据库数据迁移解决方案
  • MySQL数据库迁移data文件夹位置详细步骤
  • MSSQL数据库迁移之用户名问题
  • 服务器存储快照和数据库快照详解
  • 数据库存储, 改用TXT文件存储
  • 数据库存储还是直接存储在硬盘上好?(来者有分)
  • 随机存储数据库 Aerospike
  • 分页存储过程(用存储过程实现数据库的分页代码)
  • 数据库存储引擎 InnoDB
  • 更改Mysql数据库存储位置的具体步骤
  • K/V存储数据库 TreapDB
  • 如何在access数据库中存储rtf文件。
  • linux如何用C调用数据库的存储过程
  • 分布式文档存储数据库 MongoDB
  • oracle数据库中查看系统存储过程的方法
  • 采用Jsp从数据库中取得数据,来生成XML文件,进行存储,应该如何做?
  • 为数据库生成某个字段充填随机数的存储过程
  • mysql 查询数据库中的存储过程与函数的语句
  • 从数据库取出一图片,存储为文件的问题。主要是IO难住了。
  • 对象序列化--存储数据库的方法 序列化后 不能使用
  • sqlserver 复制表 复制数据库存储过程的方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 基于Key-Value的NOSQL数据库Redis的数据结构及常用相关命令介绍
  • 如何监控数据库的数据,如果数据库数据更改,就通知Server
  • 文档数据库mongodb与列式数据库hbase详细比较
  • 如何从数据库中或文本文件中提取数据到另一个数据库中?
  • SQL Server 2008如何进行数据库分离和附加详细介绍
  • 用JDBC连接Oracle数据库时,如何向数据库中写日期型数据(格式)?谢了!
  • nosql数据库levedb介绍及levedb最新版1.18下载安装
  • 我从JSP页将数据插入到oracle数据库中,为何汉字插入后数据库中显示为乱码呢?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 散分:Jbuilder6开发数据库应用请问你们都用什么数据库? 免费的数据库有那些?
  • php中内置的mysql数据库连接驱动mysqlnd简介及mysqlnd的配置安装方式
  • 数据在页面写不进数据库,也不可以从数据库中读出是什么原因?
  • ORACLE数据库常用字段数据类型介绍
  • mysql 本地数据库如何从远程数据库导数据
  • WEB前端 iis7站长之家
  • 公司要给客户做报表,从数据库返回数据,他们死活要返回的格式为Excel格式,请问我怎样才能把数据库返回的数据存为Excel的格式?
  • 删除数据库中重复记录方法介绍及代码参考
  • 开发java下的数据库程序,用什么数据库引擎?
  • Mongodb数据库服务的开启与关闭详细介绍
  • 请问各位朋友:在JAVA的数据库应用管理系统中,如何不在操作系统忠建立数据源便能连接数据库(如ACCESS、MS SQL 等等
  • 如何实现 coreos 下Docker 与分布式数据库结合
  • sql 语句 取数据库服务器上所有数据库的名字
  • 应该怎么样将一个对象放入到数据库里?还有怎么将图片放进数据库?急~~
  • sql server 2005删除用户时“数据库主体在该数据库中拥有架构,无法删除”错误的解决办法
  • linux上安装oracle 数据库后,是否能写shell程序实现数据库的自动启动。
  • 使用php语句将数据库*.sql文件导入数据库
  • sql数据库修改数据库用户
  • java数据库连接池和数据库连接示例
  • 对数据库的查询结果resultset进行修改后,怎么将修改的信息传回给数据库
  • java中的数据库结果集可以被赋值吗,可以通过结果集的方法来更新数据库字段吗?
  • 请教在linux系统开发环境下,有没有db和dbf数据库引擎,如何使用这个数据库?


  • 站内导航:


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

    ©2012-2021,