使用裸设备配置ASM实例

http://www.cnblogs.com/myrunning/p/4270849.html

1.查看我们创建的磁盘组

[oracle@std ~]$ export ORACLE_SID=+ASM
[oracle@std ~]$ sqlplus '/as sysdba' SQL*Plus: Release 10.2.0.4. - Production on Mon Feb :: Copyright (c) , , Oracle. All Rights Reserved. Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4. - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select name,total_mb,free_mb from v$asm_diskgroup; NAME TOTAL_MB FREE_MB
------------------------------ ---------- ----------
DATA
FLA

2.启动数据库实例查看数据文件等

SQL> select * from v$dbfile;   

     FILE# NAME
---------- --------------------------------------------------
/u02/app/oradata/ZDJS/users01.dbf
/u02/app/oradata/ZDJS/sysaux01.dbf
/u02/app/oradata/ZDJS/undotbs01.dbf
/u02/app/oradata/ZDJS/system01.dbf
/u02/app/oradata/ZDJS/example01.dbf
/u02/app/oradata/ZDJS/rlsc01.dbf rows selected. SQL> select file#,name from v$tempfile; FILE# NAME
---------- --------------------------------------------------
/u02/app/oradata/ZDJS/temp01.dbf SQL> show parameter control_ NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer
control_files string /u02/app/oradata/ZDJS/control0
.ctl, /u02/app/oradata/ZDJS/c
ontrol02.ctl, /u02/app/oradata
/ZDJS/control03.ctl
SQL> show parameter spfile NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /u02/app/product/10.2./db_1/d
bs/spfileZDJS.ora SQL> select group#,member from v$logfile; GROUP# MEMBER
---------- --------------------------------------------------
/u02/app/oradata/ZDJS/redo03.log
/u02/app/oradata/ZDJS/redo02.log
/u02/app/oradata/ZDJS/redo01.log

3.对RDBMS做一个备份

[oracle@std ~]$ rman target /

Recovery Manager: Release 10.2.0.4. - Production on Mon Feb  :: 

Copyright (c) , , Oracle.  All rights reserved.

connected to target database: ZDJS (DBID=)

RMAN> backup as copy database format '+DATA';

Starting backup at -FEB-
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid= devtype=DISK
channel ORA_DISK_1: starting datafile copy
input datafile fno= name=/u02/app/oradata/ZDJS/system01.dbf
output filename=+DATA/zdjs/datafile/system.256.870616471 tag=TAG20150202T135428 recid= stamp=
channel ORA_DISK_1: datafile copy complete, elapsed time: ::
channel ORA_DISK_1: starting datafile copy
input datafile fno= name=/u02/app/oradata/ZDJS/undotbs01.dbf
output filename=+DATA/zdjs/datafile/undotbs1.257.870616525 tag=TAG20150202T135428 recid= stamp=
channel ORA_DISK_1: datafile copy complete, elapsed time: ::
channel ORA_DISK_1: starting datafile copy
input datafile fno= name=/u02/app/oradata/ZDJS/sysaux01.dbf
output filename=+DATA/zdjs/datafile/sysaux.258.870616569 tag=TAG20150202T135428 recid= stamp=
channel ORA_DISK_1: datafile copy complete, elapsed time: ::
channel ORA_DISK_1: starting datafile copy
input datafile fno= name=/u02/app/oradata/ZDJS/example01.dbf
output filename=+DATA/zdjs/datafile/example.259.870616605 tag=TAG20150202T135428 recid= stamp=
channel ORA_DISK_1: datafile copy complete, elapsed time: ::
channel ORA_DISK_1: starting datafile copy
input datafile fno= name=/u02/app/oradata/ZDJS/rlsc01.dbf
output filename=+DATA/zdjs/datafile/rlsc.260.870616621 tag=TAG20150202T135428 recid= stamp=
channel ORA_DISK_1: datafile copy complete, elapsed time: ::
channel ORA_DISK_1: starting datafile copy
input datafile fno= name=/u02/app/oradata/ZDJS/users01.dbf
output filename=+DATA/zdjs/datafile/users.261.870616635 tag=TAG20150202T135428 recid= stamp=
channel ORA_DISK_1: datafile copy complete, elapsed time: ::
channel ORA_DISK_1: starting datafile copy
copying current control file
output filename=+DATA/zdjs/controlfile/backup.262.870616639 tag=TAG20150202T135428 recid= stamp=
channel ORA_DISK_1: datafile copy complete, elapsed time: ::
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current SPFILE in backupset
channel ORA_DISK_1: starting piece at -FEB-
channel ORA_DISK_1: finished piece at -FEB-
piece handle=+DATA/zdjs/backupset/2015_02_02/nnsnf0_tag20150202t135428_0.263.870616647 tag=TAG20150202T135428 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: ::
Finished backup at -FEB-

4.修改RDBMS参数

SQL> alter system set db_recovery_file_dest_size=3g scope=both;

System altered.

SQL> alter system set db_recovery_file_dest='+FLA' scope=both;

System altered.

SQL> alter system set db_create_file_dest='+DATA' scope=both;  

System altered.

SQL> alter system set db_create_online_log_dest_1='+DATA' scope=spfile;

System altered.

5.迁移联机日志到ASM磁盘

SQL> select a.group#,a.status,b.member from v$log a,v$logfile b
where a.group#=b.group#; GROUP# STATUS MEMBER
---------- ---------------- --------------------------------------------------
INACTIVE /u02/app/oradata/ZDJS/redo03.log
INACTIVE /u02/app/oradata/ZDJS/redo02.log
CURRENT /u02/app/oradata/ZDJS/redo01.log SQL> alter database add logfile member '+DATA','+FLA' to group ; Database altered. SQL> alter database add logfile member '+DATA','+FLA' to group ; Database altered. SQL> alter database add logfile member '+DATA','+FLA' to group ; Database altered. SQL> select a.group#,a.status,b.member from v$log a,v$logfile b
where a.group#=b.group#; GROUP# STATUS MEMBER
---------- ---------------- --------------------------------------------------
INACTIVE /u02/app/oradata/ZDJS/redo03.log
INACTIVE /u02/app/oradata/ZDJS/redo02.log
CURRENT /u02/app/oradata/ZDJS/redo01.log
CURRENT +DATA/zdjs/onlinelog/group_1.264.870617701
CURRENT +FLA/zdjs/onlinelog/group_1.256.870617713
INACTIVE +DATA/zdjs/onlinelog/group_2.265.870617759
INACTIVE +FLA/zdjs/onlinelog/group_2.257.870617769
INACTIVE +DATA/zdjs/onlinelog/group_3.266.870618057
INACTIVE +FLA/zdjs/onlinelog/group_3.258.870618067 rows selected.

删除原来的状态为INACTIVE的联机日志,通过alter system switch logfile;命令切换日志

SQL> alter database drop logfile member '/u02/app/oradata/ZDJS/redo01.log';

Database altered.

SQL> alter database drop logfile member '/u02/app/oradata/ZDJS/redo02.log';

Database altered.

SQL> alter database drop logfile member '/u02/app/oradata/ZDJS/redo03.log';

Database altered.

SQL> select a.group#,a.status,b.member from v$log a,v$logfile b
where a.group#=b.group# order by group#; GROUP# STATUS MEMBER
---------- ---------------- --------------------------------------------------
CURRENT +DATA/zdjs/onlinelog/group_1.264.870617701
CURRENT +FLA/zdjs/onlinelog/group_1.256.870617713
INACTIVE +DATA/zdjs/onlinelog/group_2.265.870617759
INACTIVE +FLA/zdjs/onlinelog/group_2.257.870617769
INACTIVE +DATA/zdjs/onlinelog/group_3.266.870618057
INACTIVE +FLA/zdjs/onlinelog/group_3.258.870618067 rows selected.

6.迁移临时表空间到ASM磁盘

SQL> select tablespace_name,file_name,bytes// size_m
from dba_temp_files; TABLESPACE_NAME FILE_NAME SIZE_M
-------------------- ---------------------------------------- ----------
TEMP /u02/app/oradata/ZDJS/temp01.dbf SQL> alter tablespace temp add tempfile size 100m; Tablespace altered. SQL> select tablespace_name,file_name,bytes// size_m
from dba_temp_files; TABLESPACE_NAME FILE_NAME SIZE_M
-------------------- ---------------------------------------- ----------
TEMP +DATA/zdjs/tempfile/temp.267.870619111
TEMP /u02/app/oradata/ZDJS/temp01.dbf SQL> alter database tempfile '/u02/app/oradata/ZDJS/temp01.dbf' drop ; Database altered. SQL> select tablespace_name,file_name,bytes// size_m
from dba_temp_files; TABLESPACE_NAME FILE_NAME SIZE_M
-------------------- ---------------------------------------- ----------
TEMP +DATA/zdjs/tempfile/temp.267.870619111

7.迁移控制文件、数据文件到ASM磁盘

在整个迁移过程中,只有这一步需要对数据库实例进行关闭、启动;这一步实际就是一个完全恢复的过程。

SQL> show parameter control 

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer
control_files string /u02/app/oradata/ZDJS/control0
.ctl, /u02/app/oradata/ZDJS/c
ontrol02.ctl, /u02/app/oradata
/ZDJS/control03.ctl
SQL> alter system set control_files='+DATA/ZDJS/CONTROLFILE/control01.ctl',
'+DATA/ZDJS/CONTROLFILE/control02.ctl','+DATA/ZDJS/CONTROLFILE/control03.ctl'
scope=spfile; System altered. SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup nomount
ORACLE instance started. Total System Global Area bytes
Fixed Size bytes
Variable Size bytes
Database Buffers bytes
Redo Buffers bytes

把数据库启动到nomount状态后使用rman进行恢复:

[oracle@std ~]$ rman target /

Recovery Manager: Release 10.2.0.4. - Production on Mon Feb  :: 

Copyright (c) , , Oracle.  All rights reserved.

connected to target database: ZDJS (not mounted)

RMAN> restore controlfile from '/u02/app/oradata/ZDJS/control01.ctl';

Starting restore at -FEB-
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid= devtype=DISK channel ORA_DISK_1: copied control file copy
output filename=+DATA/zdjs/controlfile/control01.ctl
output filename=+DATA/zdjs/controlfile/control02.ctl
output filename=+DATA/zdjs/controlfile/control03.ctl
Finished restore at -FEB-

使用rman从最近的控制文件直接恢复控制文件,我们使用asmcmd工具确认一下恢复的控制文件是否存在:

ASMCMD> pwd
+DATA/ZDJS/CONTROLFILE
ASMCMD> ls
Backup.262.870616639
control01.ctl
control02.ctl
control03.ctl
current.268.870620187
current.269.870620189
current.270.870620189

mount数据库后使用rman switch数据库:

SQL> alter database mount;

Database altered.
[oracle@std ~]$ rman target /

Recovery Manager: Release 10.2.0.4. - Production on Mon Feb  :: 

Copyright (c) , , Oracle.  All rights reserved.

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

RMAN> list copy;

using target database control file instead of recovery catalog

List of Datafile Copies
Key File S Completion Time Ckp SCN Ckp Time Name
------- ---- - --------------- ---------- --------------- ----
A -FEB- -FEB- +DATA/zdjs/datafile/system.256.870616471
A -FEB- -FEB- +DATA/zdjs/datafile/undotbs1.257.870616525
A -FEB- -FEB- +DATA/zdjs/datafile/sysaux.258.870616569
A -FEB- -FEB- +DATA/zdjs/datafile/users.261.870616635
A -FEB- -FEB- +DATA/zdjs/datafile/example.259.870616605
A -FEB- -FEB- +DATA/zdjs/datafile/rlsc.260.870616621 List of Control File Copies
Key S Completion Time Ckp SCN Ckp Time Name
------- - --------------- ---------- --------------- ----
A -FEB- -FEB- +DATA/zdjs/controlfile/backup.262.870616639
A -FEB- -FEB- +DATA/zdjs/controlfile/backup.256.870616081 List of Archived Log Copies
Key Thrd Seq S Low Time Name
------- ---- ------- - --------- ----
A -JAN- /u02/ZDJS_ARCH/1_35_869134589.dbf
A -FEB- /u02/ZDJS_ARCH/1_36_869134589.dbf
A -FEB- /u02/ZDJS_ARCH/1_37_869134589.dbf
A -FEB- /u02/ZDJS_ARCH/1_38_869134589.dbf
A -FEB- /u02/ZDJS_ARCH/1_39_869134589.dbf
A -FEB- /u02/ZDJS_ARCH/1_40_869134589.dbf
A -FEB- /u02/ZDJS_ARCH/1_41_869134589.dbf
A -FEB- /u02/ZDJS_ARCH/1_42_869134589.dbf
A -FEB- /u02/ZDJS_ARCH/1_43_869134589.dbf RMAN> switch database to copy;

datafile switched to datafile copy "+DATA/zdjs/datafile/system.256.870616471"
datafile switched to datafile copy "+DATA/zdjs/datafile/undotbs1.257.870616525"
datafile switched to datafile copy "+DATA/zdjs/datafile/sysaux.258.870616569"
datafile switched to datafile copy "+DATA/zdjs/datafile/users.261.870616635"
datafile switched to datafile copy "+DATA/zdjs/datafile/example.259.870616605"
datafile switched to datafile copy "+DATA/zdjs/datafile/rlsc.260.870616621" RMAN> recover database; --切换后现在使用的是磁盘组里的备份文件,所有我们需要进行恢复 Starting recover at -FEB-
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid= devtype=DISK starting media recovery archive log thread sequence is already on disk as file /u02/ZDJS_ARCH/1_35_869134589.dbf
archive log thread sequence is already on disk as file /u02/ZDJS_ARCH/1_36_869134589.dbf
archive log thread sequence is already on disk as file /u02/ZDJS_ARCH/1_37_869134589.dbf
archive log thread sequence is already on disk as file /u02/ZDJS_ARCH/1_38_869134589.dbf
archive log thread sequence is already on disk as file /u02/ZDJS_ARCH/1_39_869134589.dbf
archive log thread sequence is already on disk as file /u02/ZDJS_ARCH/1_40_869134589.dbf
archive log thread sequence is already on disk as file /u02/ZDJS_ARCH/1_41_869134589.dbf
archive log thread sequence is already on disk as file /u02/ZDJS_ARCH/1_42_869134589.dbf
archive log thread sequence is already on disk as file /u02/ZDJS_ARCH/1_43_869134589.dbf
archive log filename=/u02/ZDJS_ARCH/1_35_869134589.dbf thread= sequence=
archive log filename=/u02/ZDJS_ARCH/1_36_869134589.dbf thread= sequence=
archive log filename=/u02/ZDJS_ARCH/1_37_869134589.dbf thread= sequence=
archive log filename=/u02/ZDJS_ARCH/1_38_869134589.dbf thread= sequence=
archive log filename=/u02/ZDJS_ARCH/1_39_869134589.dbf thread= sequence=
archive log filename=/u02/ZDJS_ARCH/1_40_869134589.dbf thread= sequence=
archive log filename=/u02/ZDJS_ARCH/1_41_869134589.dbf thread= sequence=
media recovery complete, elapsed time: ::
Finished recover at -FEB- RMAN> alter database open; database opened

8.验证迁移后的文件

SQL> select * from v$dbfile;

     FILE# NAME
---------- --------------------------------------------------
+DATA/zdjs/datafile/users.261.870616635
+DATA/zdjs/datafile/sysaux.258.870616569
+DATA/zdjs/datafile/undotbs1.257.870616525
+DATA/zdjs/datafile/system.256.870616471
+DATA/zdjs/datafile/example.259.870616605
+DATA/zdjs/datafile/rlsc.260.870616621 rows selected. SQL> select file#,name from v$tempfile; FILE# NAME
---------- --------------------------------------------------
+DATA/zdjs/tempfile/temp.267.870619111 SQL> show parameter control_ NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer
control_files string +DATA/zdjs/controlfile/control
.ctl, +DATA/zdjs/controlfile
/control02.ctl, +DATA/zdjs/con
trolfile/control03.ctl SQL> select group#,member from v$logfile; GROUP# MEMBER
---------- --------------------------------------------------
+DATA/zdjs/onlinelog/group_1.264.870617701
+FLA/zdjs/onlinelog/group_1.256.870617713
+DATA/zdjs/onlinelog/group_2.265.870617759
+FLA/zdjs/onlinelog/group_2.257.870617769
+DATA/zdjs/onlinelog/group_3.266.870618057
+FLA/zdjs/onlinelog/group_3.258.870618067 rows selected.

#ASM和OS文件系统之间交换可以使用dbms_file_transfer包或rman的convert方法

将文件系统数据库迁移到ASM中的更多相关文章

  1. 将数据库从普通文件系统迁移到ASM中

    数据库存储的是普通的文件系统,现在将数据库迁移到ASM存储中. 准备ASM环境: [oracle@kel ~]$ asmcmd ASMCMD> ls ASM/ KEL/ ASMCMD> 在 ...

  2. laravel执行数据库迁移的过程中出现Illuminate\Database\QueryException : SQLSTATE[HY000] [2002] Operation timed out (SQL: select * from information_schema.tables where table_schema = shop and table_name = migrations

    向customers表添加字段phone php artisan make:migration add_phone_to_customers_table 问题: 解决方法: 将DB_HOST配置项修改 ...

  3. 使用RMAN迁移文件系统数据库到ASM

    --================================== -- 使用RMAN迁移文件系统数据库到ASM --================================== 在实际 ...

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

    环境:RHEL 6.4 + Oracle 11.2.0.4 需求:数据库存储由文件系统迁移到ASM 数据库存储迁移到ASM磁盘组 1.1 编辑参数文件指定新的控制文件路径 1.2 启动数据库到nomo ...

  5. Flask项目中数据库迁移的使用

    数据库迁移 在开发过程中,需要修改数据库模型,而且还要在修改之后更新数据库.最直接的方式就是删除旧表,但这样会丢失数据. 更好的解决办法是使用数据库迁移框架,它可以追踪数据库模式的变化,然后把变动应用 ...

  6. Code First 数据库迁移

    当 Entity Framework Code First 的数据模型发生改变时,默认会引发一个System.InvalidOperationException 的异常.解决方法是使用DropCrea ...

  7. 使用 Code First 数据库迁移

    当 Entity Framework Code First 的数据模型发生改变时,默认会引发一个System.InvalidOperationException 的异常.解决方法是使用DropCrea ...

  8. 2.EF中 Code-First 方式的数据库迁移

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/code-first-migrations-with-entity-framework/ 系列目 ...

  9. 如何将已部署在ASM的资源迁移到ARM中

    使用过Azure的读者都知道,Azure向客户提供了两个管理portal,一个是ASM,一个是ARM,虽然Azure官方没有宣布说淘汰ASM,两个portal可能会在很长的一段时间共存,但是考虑到AR ...

随机推荐

  1. T-SQL 高级查询

    基本常用查询 --select select * from student; --all 查询所有 select all sex from student; --distinct 过滤重复 selec ...

  2. svn代码提交注意事项

    先全部add,查看是否有gen和bin,然后再忽略这两个,忽略时选择最后rescury....

  3. Liferay 6.2 改造系列之二十一:修改WebSphare下JSONWS服务不生效的BUG

    问题原因是WebSphare下,servletContext.getContextPath()获取到的值为“/”而非空字符串. 在/portal-master/portal-impl/src/com/ ...

  4. css用clearfix清除浮动

    本文从http://www.studyofnet.com/news/196.html复制.   本文导读:写css 时总为浮动而烦恼,如果用了浮动,浮动的父层不会跟着浮动框的高度增加而增加,在Fire ...

  5. hdu 并查集分类(待续)

    hdu 1829 A Bug's Life 题目大意: 给你n个动物,输入m行a,b,表示a和b应该是异性的,要你判断是否有同性恋. 并查集中,1到n代表应性别,n+1到2n代表一个性别,合并一下,判 ...

  6. theano报一种float类型错误的处理办法

    我实际用的环境是Keras,查错误时查到是Theano的配置问题,所以在标题里就写成Theano的问题了, 是这样的,从Github上下载的别人的代码,准备复现别人的实验,结果在机器上部署好环境之后跑 ...

  7. jenkins+ant+jmeter搭建持续集成的接口测试平台

    一.jemter接口脚本的编写步骤如下: 1. 编写接口请求 通过录制或者查看接口文档,编写接口请求,进行调试,确保接口调试通过,对于http的请求来说,就是正确的填写域名,查询字符串,查询参数等信息 ...

  8. POJ3613 Cow Relays(矩阵快速幂)

    题目大概要求从起点到终点恰好经过k条边的最短路. 离散数学告诉我们邻接矩阵的k次幂就能得出恰好经过k条路的信息,比如POJ2778. 这题也一样,矩阵的幂运算定义成min,而min满足结合律,所以可以 ...

  9. 2014-2015 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Preferred)

    I. Sale in GameStore(贪心) time limit per test 2 seconds memory limit per test 512 megabytes input sta ...

  10. aspx与ashx

    ashx在VS的中文版是新建“一般处理程序”,其实是一个实现类System.Web.IHttpHandler接口的类.而任何一个实现了IHttpHandler接口的类都能作为一个外部请求的目标程序.H ...