前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oracle从文件系统迁移到ASM存储

Oracle从文件系统迁移到ASM存储

作者头像
Alfred Zhao
发布2019-05-24 20:20:53
8990
发布2019-05-24 20:20:53
举报

环境:RHEL 6.4 + Oracle 11.2.0.4 需求:数据库存储由文件系统迁移到ASM

数据库存储迁移到ASM磁盘组

  • 1.1 编辑参数文件指定新的控制文件路径
  • 1.2 启动数据库到nomount模式
  • 1.3 RMAN恢复控制文件
  • 1.4 启动数据库到mount模式
  • 1.5 RMAN Copy 数据文件
  • 1.6 RMAN Switch 数据文件
  • 1.7 RMAN Switch 临时文件,并打开数据库
  • 1.8 迁移重做日志文件
  • 1.9 服务器参数文件,并重启数据库
  • 1.10 验证各文件存储位置

Reference

数据库存储迁移到ASM磁盘组

实验环境前期准备:

迁移前原数据库各文件存储信息查询如下:

代码语言:javascript
复制
--控制文件
select name from v$controlfile;
--数据文件
select name from v$datafile;
--临时文件
select name from v$tempfile;
--日志文件
select member from v$logfile;
--参数文件
show parameter pfile

--查询结果如下
SQL> select name from v$controlfile;

NAME
--------------------------------------------------------------------------------
/u02/oradata/jingyu/control01.ctl
/u02/app/oracle/fast_recovery_area/jingyu/control02.ctl

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/u02/oradata/jingyu/system01.dbf
/u02/oradata/jingyu/sysaux01.dbf
/u02/oradata/jingyu/undotbs01.dbf
/u02/oradata/jingyu/users01.dbf

SQL> select name from v$tempfile;

NAME
--------------------------------------------------------------------------------
/u02/oradata/jingyu/temp01.dbf

SQL> select member from v$logfile;

MEMBER
--------------------------------------------------------------------------------
/u02/oradata/jingyu/redo03.log
/u02/oradata/jingyu/redo02.log
/u02/oradata/jingyu/redo01.log

SQL> show parameter pfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /u02/app/oracle/product/11.2.0
                                                 /dbhome_1/dbs/spfilejingyu.ora

1.1 编辑参数文件指定新的控制文件路径

代码语言:javascript
复制
SQL> create pfile='/tmp/pfile.ora' from spfile;
SQL> shutdown immediate
-- 修改controlfile参数值
$ vi /tmp/pfile.ora
controlfile='+DATA1/control01.ctl'

1.2 启动数据库到nomount模式

代码语言:javascript
复制
SQL> startup nomount pfile='/tmp/pfile.ora'

1.3 RMAN恢复控制文件

注意Oracle用户需要有读写ASM磁盘的权限

代码语言:javascript
复制
RMAN> restore controlfile from '/u02/oradata/jingyu/control01.ctl';

1.4 启动数据库到mount模式

代码语言:javascript
复制
RMAN> alter database mount;

1.5 RMAN Copy 数据文件

代码语言:javascript
复制
RMAN> backup as copy database format '+DATA1';

1.6 RMAN Switch 数据文件

代码语言:javascript
复制
RMAN> switch database to copy;

1.7 RMAN Switch 临时文件,并打开数据库

代码语言:javascript
复制
RMAN> run {
set newname for tempfile 1 to '+DATA1';
switch tempfile all;
}

RMAN> ALTER DATABASE OPEN;

1.8 迁移重做日志文件

代码语言:javascript
复制
set linesize 200
col member for a60
SQL> SELECT a.group#, b.member, a.status FROM v$log a, v$logfile b WHERE a.group#=b.group#;
SQL> ALTER DATABASE ADD LOGFILE MEMBER '+DATA1' TO GROUP 1;
SQL> ALTER DATABASE ADD LOGFILE MEMBER '+DATA1' TO GROUP 2;
SQL> ALTER DATABASE ADD LOGFILE MEMBER '+DATA1' TO GROUP 3;
SQL> ALTER SYSTEM SWITCH LOGFILE;
SQL> ALTER DATABASE DROP LOGFILE MEMBER '/u02/oradata/jingyu/redo01.log';
SQL> ALTER SYSTEM SWITCH LOGFILE;
SQL> ALTER DATABASE DROP LOGFILE MEMBER '/u02/oradata/jingyu/redo02.log';
SQL> ALTER SYSTEM SWITCH LOGFILE;
SQL> ALTER DATABASE DROP LOGFILE MEMBER '/u02/oradata/jingyu/redo03.log';
SQL> ALTER SYSTEM CHECKPOINT;
SQL> SELECT a.group#, b.member, a.status FROM v$log a, v$logfile b WHERE a.group#=b.group#;

1.9 服务器参数文件,并重启数据库

代码语言:javascript
复制
-- 在ASM磁盘组中创建服务器参数文件
SQL> create spfile='+DATA1' from pfile='/tmp/pfile.ora';
-- 正常关闭数据库
SQL> shutdown immediate 
-- 删除$ORACLE_HOME/dbs/spfilejingyu.ora
$ rm $ORACLE_HOME/dbs/spfilejingyu.ora
-- 建立$ORACLE_HOME/dbs/initjingyu.ora,编辑内容指定ASM磁盘组中的服务器参数文件。
$ vi initjingyu.ora
spfile='+DATA1/JINGYU/PARAMETERFILE/spfile.266.897474951'
--启动数据库(会自动找到参数文件进而转到ASM磁盘组中的服务器参数文件)
SQL> startup

1.10 验证各文件存储位置

代码语言:javascript
复制
select name from v$datafile union all
select name from v$tempfile union all
select member from v$logfile union all
select name from v$controlfile;
show parameter pfile

结果如下:

代码语言:javascript
复制
SQL> select name from v$datafile union all
  2  select name from v$tempfile union all
  3  select member from v$logfile union all
  4  select name from v$controlfile;

NAME
--------------------------------------------------------------------------------
+DATA1/jingyu/datafile/system.257.897474123
+DATA1/jingyu/datafile/sysaux.258.897474149
+DATA1/jingyu/datafile/undotbs1.259.897474165
+DATA1/jingyu/datafile/users.261.897474169
+DATA1/jingyu/tempfile/temp.262.897474267
+DATA1/jingyu/onlinelog/group_1.263.897474349
+DATA1/jingyu/onlinelog/group_2.264.897474359
+DATA1/jingyu/onlinelog/group_3.265.897474363
+DATA1/control01.ctl

9 rows selected.

Elapsed: 00:00:00.02
SQL> show parameter pfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      +DATA1/jingyu/parameterfile/sp
                                                 file.266.897474951

至此,数据库存储已经成功由文件系统全部迁移到ASM。

Reference

  • Steps To Migrate/Move a Database From Non-ASM to ASM And Vice-Versa (文档 ID 252219.1)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-12-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据库存储迁移到ASM磁盘组
    • 1.1 编辑参数文件指定新的控制文件路径
      • 1.2 启动数据库到nomount模式
        • 1.3 RMAN恢复控制文件
          • 1.4 启动数据库到mount模式
            • 1.5 RMAN Copy 数据文件
              • 1.6 RMAN Switch 数据文件
                • 1.7 RMAN Switch 临时文件,并打开数据库
                  • 1.8 迁移重做日志文件
                    • 1.9 服务器参数文件,并重启数据库
                      • 1.10 验证各文件存储位置
                      • Reference
                      相关产品与服务
                      文件存储
                      文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档