当前位置:  首页  >  PHP教程  >  PHP 进阶  >  网络编程

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

ORACLEASM(自动存储管理系统)是oracle官方提供的数据库文件存储管理系统,相对于其他文件存储系统而言,AMS在负载均衡、性能优化

ORACLE ASM(自动存储管理系统)是oracle官方提供的数据库文件存储管理系统,相对于其他文件存储系统而言,AMS在负载均衡、性能优化

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

,那么需要将所有的只读

表空间设置为读写表空间

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;

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

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

SQL> select FLASHBACK_ON from v$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密码

吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有