ASM初探-1
来源:互联网 发布:双十一淘宝图书打折吗 编辑:程序博客网 时间:2024/06/06 16:27
本次实验的目的是将单实例Oracle数据用文件系统存储迁移到ASM上,sdc1、sdd1、sde1、sdf1使用这四块盘创建ASM DiskGroup.
安装oracleasm的rpm包
[root@Oracle ~]# ls
anaconda-ks.cfg oracleasm-2.6.18-164.el5-2.0.5-1.el5.x86_64.rpm
Desktop oracleasmlib-2.0.4-1.el5.x86_64.rpm
install.log oracleasm-support-2.1.7-1.el5.x86_64.rpm
[root@Oracle ~]# rpm -ivh oracleasm-support-2.1.7-1.el5.x86_64.rpm
warning: oracleasm-support-2.1.7-1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing... ########################################### [100%]
1:oracleasm-support ########################################### [100%]
[root@Oracle ~]# rpm -ivh oracleasm-2.6.18-164.el5-2.0.5-1.el5.x86_64.rpm
warning: oracleasm-2.6.18-164.el5-2.0.5-1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing... ########################################### [100%]
1:oracleasm-2.6.18-164.el########################################### [100%]
[root@Oracle ~]# rpm -ivh oracleasmlib-2.0.4-1.el5.x86_64.rpm
warning: oracleasmlib-2.0.4-1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing... ########################################### [100%]
1:oracleasmlib ########################################### [100%]
[root@Oracle ~]#
查看磁盘
[root@Oracle ~]# fdisk -l
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 132 1044 7333672+ 83 Linux
/dev/sda2 1 131 1052226 82 Linux swap / Solaris
Partition table entries are not in disk order
Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 56 449788+ 83 Linux
/dev/sdb2 57 2489 19543072+ 83 Linux
Disk /dev/sdc: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 1 130 1044193+ 83 Linux
Disk /dev/sdd: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdd1 1 130 1044193+ 83 Linux
Disk /dev/sde: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sde1 1 130 1044193+ 83 Linux
Disk /dev/sdf: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdf1 1 130 1044193+ 83 Linux
设置asm
[root@Oracle ~]# /etc/init.d/oracleasm configure
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting <ENTER> without typing an
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver: [ OK ]
Scanning the system for Oracle ASMLib disks: [ OK ]/o
创建asm disk
[root@Oracle ~]# /etc/init.d/oracleasm createdisk VOL1 /dev/sdc1
Marking disk "VOL1" as an ASM disk: [ OK ]
[root@Oracle ~]# /etc/init.d/oracleasm createdisk VOL2 /dev/sdd1
Marking disk "VOL2" as an ASM disk: [ OK ]
[root@Oracle ~]# /etc/init.d/oracleasm createdisk VOL3 /dev/sde1
Marking disk "VOL3" as an ASM disk: [ OK ]
[root@Oracle ~]# /etc/init.d/oracleasm createdisk VOL4 /dev/sdf1
Marking disk "VOL4" as an ASM disk: [ OK ]
启动css
[root@Oracle ~]# /u01/app/oracle/product/10.2.0/db_1/bin/localconfig add
/etc/oracle does not exist. Creating it now.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Configuration for local CSS has been initialized
Adding to inittab
Startup will be queued to init within 90 seconds.
Checking the status of new Oracle init process...
Expecting the CRS daemons to be up within 600 seconds.
CSS is active on these nodes.
oracle
CSS is active on all nodes.
Oracle CSS service is installed and running under init(1M)
创建asm参数文件
[root@Oracle ~]# cat init+ASM.ora
instance_type=asm
large_pool_size=12m
remote_login_passwordfile=exclusive
asm_diskstring='ORCL:VOL*'
background_dump_dest=/u01/app/oracle/admin/+ASM/bdump
core_dump_dest=/u01/app/oracle/admin/+ASM/cdump
user_dump_dest=/u01/app/oracle/admin/+ASM/udump
[root@Oracle ~]# mv init+ASM.ora /u01/app/oracle/product/10.2.0/db_1/dbs/
创建密码文件
[oracle@Oracle ~]$ orapwd file=orapw+ASM entries=5 password=111
[oracle@Oracle ~]$ export ORACLE_SID=+ASM
[oracle@Oracle ~]$ cd /u01/app/oracle/admin/
[oracle@Oracle ~]$ mkdir +ASM
[oracle@Oracle admin]$ cd +ASM
[oracle@Oracle admin]$ mkdir bdump cdump udump
[oracle@Oracle +ASM]$ ls
bdump cdump udump
启动asm instance
[oracle@Oracle ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Mar 29 19:27:18 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ASM instance started
Total System Global Area 130023424 bytes
Fixed Size 2019032 bytes
Variable Size 102838568 bytes
ASM Cache 25165824 bytes
ORA-15110: no diskgroups mounted
创建diskgroup
SQL> create diskgroup dg1 external redundancy Disk 'ORCL:VOL1','ORCL:VOL2','ORCL:VOL3';
Diskgroup created.
SQL> create diskgroup RECOVERY EXTERNAL redundancy Disk 'ORCL:VOL4';
Diskgroup created.
对db做backup
[oracle@Oracle ~]$ cat backup.rman
run {
backup as copy database format '+DG1';
}
[oracle@Oracle ~]$ rman target / cmdfile=/home/oracle/backup.rman log=/home/oracle/backup.log
RMAN> 2> 3> 4>
[oracle@Oracle ~]$ cat backup.log
Recovery Manager: Release 10.2.0.1.0 - Production on Thu Mar 29 19:44:01 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: ORCL (DBID=1306991326)
RMAN> run {
2> backup as copy database format '+DG1';
3> }
4>
Starting backup at 29-MAR-12
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=145 devtype=DISK
channel ORA_DISK_1: starting datafile copy
input datafile fno=00001 name=/u01/app/oracle/oradata/orcl/system01.dbf
output filename=+DG1/orcl/datafile/system.258.779226255 tag=TAG20120329T194405 recid=3 stamp=779226277
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:35
channel ORA_DISK_1: starting datafile copy
input datafile fno=00003 name=/u01/app/oracle/oradata/orcl/sysaux01.dbf
output filename=+DG1/orcl/datafile/sysaux.259.779226283 tag=TAG20120329T194405 recid=4 stamp=779226292
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting datafile copy
input datafile fno=00005 name=/u01/app/oracle/oradata/orcl/example01.dbf
output filename=+DG1/orcl/datafile/example.260.779226297 tag=TAG20120329T194405 recid=5 stamp=779226302
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
channel ORA_DISK_1: starting datafile copy
input datafile fno=00002 name=/u01/app/oracle/oradata/orcl/undotbs01.dbf
output filename=+DG1/orcl/datafile/undotbs1.261.779226303 tag=TAG20120329T194405 recid=6 stamp=779226305
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
channel ORA_DISK_1: starting datafile copy
input datafile fno=00004 name=/u01/app/oracle/oradata/orcl/users01.dbf
output filename=+DG1/orcl/datafile/users.262.779226311 tag=TAG20120329T194405 recid=7 stamp=779226310
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
channel ORA_DISK_1: starting datafile copy
copying current control file
output filename=+DG1/orcl/controlfile/backup.263.779226315 tag=TAG20120329T194405 recid=8 stamp=779226314
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
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 1 at 29-MAR-12
channel ORA_DISK_1: finished piece 1 at 29-MAR-12
piece handle=+DG1/orcl/backupset/2012_03_29/nnsnf0_tag20120329t194405_0.264.779226317 tag=TAG20120329T194405 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 29-MAR-12
Recovery Manager complete.
修改db_recovery参数并把日志和数据文件位置指定磁盘组
[oracle@Oracle ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Mar 29 19:46:31 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL> alter system set db_recovery_file_dest_size=10G scope=both;
System altered.
SQL> alter system set db_recovery_file_dest='+RECOVERY' scope=both;
System altered.
SQL> alter system set db_create_file_dest='+DG1' scope=both;
System altered.
SQL> alter system set db_create_online_log_dest_1='+DG1' scope=both;
System altered.
SQL> alter system set db_create_online_log_dest_2='+DG1' scope=both;
System altered.
把日志迁移到asm磁盘
SQL> select group#,member from v$logfile;
GROUP#
----------
MEMBER
--------------------------------------------------------------------------------
3
/u01/app/oracle/oradata/orcl/redo03.log
2
/u01/app/oracle/oradata/orcl/redo02.log
1
/u01/app/oracle/oradata/orcl/redo01.log
SQL> alter database add logfile member '+DG1' to group 1;
Database altered.
SQL> alter database add logfile member '+DG1' to group 2;
Database altered.
SQL> alter database add logfile member '+DG1' to group 3;
Database altered.
SQL> alter system switch logfile;
System altered.
SQL> alter system switch logfile;
System altered.
SQL> /
System altered.
SQL> /
System altered.
SQL> alter database drop logfile member '/u01/app/oracle/oradata/orcl/redo02.log';
Database altered.
SQL> alter database drop logfile member '/u01/app/oracle/oradata/orcl/redo01.log';
Database altered.
SQL> alter database drop logfile member '/u01/app/oracle/oradata/orcl/redo03.log';
Database altered.
检查日志是否迁移到asm中
SQL> select * from v$logfile;
GROUP# STATUS TYPE
---------- ------- -------
MEMBER
--------------------------------------------------------------------------------
IS_
---
1 ONLINE
+DG1/orcl/onlinelog/group_1.265.779226735
NO
2 ONLINE
+DG1/orcl/onlinelog/group_2.266.779226751
NO
GROUP# STATUS TYPE
---------- ------- -------
MEMBER
--------------------------------------------------------------------------------
IS_
---
3 ONLINE
+DG1/orcl/onlinelog/group_3.267.779226759
NO
临时表空间迁移asm
SQL> select ts#,bytes/1024/1024,name from v$tempfile;
TS# BYTES/1024/1024
---------- ---------------
NAME
--------------------------------------------------------------------------------
3 22
/u01/app/oracle/oradata/orcl/temp01.dbf
SQL> select ts#,name from v$tablespace;
TS# NAME
---------- ------------------------------
0 SYSTEM
1 UNDOTBS1
2 SYSAUX
4 USERS
3 TEMP
6 EXAMPLE
6 rows selected.
SQL>
SQL> alter tablespace temp add tempfile size 22m;
Tablespace altered.
SQL> select name from v$tempfile;
NAME
--------------------------------------------------------------------------------
+DG1/orcl/tempfile/temp.268.779227399
/u01/app/oracle/oradata/orcl/temp01.dbf
SQL> alter database tempfile '/u01/app/oracle/oradata/orcl/temp01.dbf' drop;
Database altered.
确认临时表空间迁移成功
SQL> select name from v$tempfile;
NAME
--------------------------------------------------------------------------------
+DG1/orcl/tempfile/temp.268.779227399
SQL>
迁移控制文件到asm
SQL> show parameter control
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string /u01/app/oracle/oradata/orcl/c
ontrol01.ctl, /u01/app/oracle/
oradata/orcl/control02.ctl, /u
01/app/oracle/oradata/orcl/con
trol03.ctl
SQL> alter system set control_files='+DG1/ORCL/CONTROLFILE/control01','+DG1/ORCL/CONTROLFILE/control02','+DG1/ORCL/CONTROLFILE/control03' 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 167772160 bytes
Fixed Size 2019288 bytes
Variable Size 117440552 bytes
Database Buffers 41943040 bytes
Redo Buffers 6369280 bytes
SQL>
恢复新控制文件
[oracle@Oracle ~]$ rman target /
Recovery Manager: Release 10.2.0.1.0 - Production on Thu Mar 29 20:09:36 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: orcl (not mounted)
RMAN> restore controlfile from '/u01/app/oracle/oradata/orcl/control01.ctl';
Starting restore at 29-MAR-12
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=156 devtype=DISK
channel ORA_DISK_1: copied control file copy
output filename=+DG1/orcl/controlfile/control01
output filename=+DG1/orcl/controlfile/control02
output filename=+DG1/orcl/controlfile/control03
Finished restore at 29-MAR-12
RMAN>
挂载db
RMAN> alter database mount;
database mounted
released channel: ORA_DISK_1
切换数据文件
RMAN> switch database to copy;
datafile 1 switched to datafile copy "+DG1/orcl/datafile/system.258.779226255"
datafile 2 switched to datafile copy "+DG1/orcl/datafile/undotbs1.261.779226303"
datafile 3 switched to datafile copy "+DG1/orcl/datafile/sysaux.259.779226283"
datafile 4 switched to datafile copy "+DG1/orcl/datafile/users.262.779226311"
datafile 5 switched to datafile copy "+DG1/orcl/datafile/example.260.779226297"
恢复数据库
RMAN> recover database;
Starting recover at 29-MAR-12
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=156 devtype=DISK
starting media recovery
archive log thread 1 sequence 3 is already on disk as file /arch/1_3_779210592.dbf
archive log thread 1 sequence 4 is already on disk as file /arch/1_4_779210592.dbf
archive log thread 1 sequence 5 is already on disk as file /arch/1_5_779210592.dbf
archive log thread 1 sequence 6 is already on disk as file /arch/1_6_779210592.dbf
archive log thread 1 sequence 7 is already on disk as file /arch/1_7_779210592.dbf
archive log filename=/arch/1_3_779210592.dbf thread=1 sequence=3
archive log filename=/arch/1_4_779210592.dbf thread=1 sequence=4
archive log filename=/arch/1_5_779210592.dbf thread=1 sequence=5
media recovery complete, elapsed time: 00:00:05
Finished recover at 29-MAR-12
打开数据库
RMAN> alter database open;
database opened
确认控制、数据、日志、临时这些文件已经迁移到asm中
[oracle@Oracle ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Mar 29 20:13:17 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL> select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
+DG1/orcl/controlfile/control01
+DG1/orcl/controlfile/control02
+DG1/orcl/controlfile/control03
SQL> select name,status from v$datafile;
NAME
--------------------------------------------------------------------------------
STATUS
-------
+DG1/orcl/datafile/system.258.779226255
SYSTEM
+DG1/orcl/datafile/undotbs1.261.779226303
ONLINE
+DG1/orcl/datafile/sysaux.259.779226283
ONLINE
NAME
--------------------------------------------------------------------------------
STATUS
-------
+DG1/orcl/datafile/users.262.779226311
ONLINE
+DG1/orcl/datafile/example.260.779226297
ONLINE
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
+DG1/orcl/onlinelog/group_1.265.779226735
+DG1/orcl/onlinelog/group_2.266.779226751
+DG1/orcl/onlinelog/group_3.267.779226759
SQL> select name,status from v$tempfile;
NAME
--------------------------------------------------------------------------------
STATUS
-------
+DG1/orcl/tempfile/temp.268.779227399
ONLINE
至此本次实验完毕可以把不必要的文件删除了.
- ASM初探-1
- 【asm,1】ASM的安装+ oracle安装
- DELPHI ASM教程(1)
- DELPHI ASM教程(1)
- asm基础学习1
- ASM基本知识(1)
- 1-1.boot.asm
- oracle ASM 1
- asm (1) helloworld
- asm
- ASM
- asm
- asm
- asm
- ASM
- asm
- ASM
- ASM
- 3D数学 ---- 矩阵的更多知识(1)
- Android Camera 实例
- 路由器 vs 交换机
- 3D数学 ---- 矩阵的更多知识(2)
- 3D数学 ---- 矩阵的更多知识(3)
- ASM初探-1
- 判断Shell程序输入参数的个数
- 在Extjs4应用中使用Ext.Loader
- 3D数学 ---- 矩阵的更多知识(4)
- dede后台登陆提示 验证码不正确 解决办法
- iPhone/Mac Objective-C内存管理教程和原理剖析
- 3D数学 ---- 矩阵的更多知识(5)
- 对象的克隆(clone)
- 四则混合运算器 计算器 (Android版)