当前位置:数据库 > Oracle >>

rhel4+oracle10g ASM配制及ASM与文件系统之间迁移

rhel4+oracle10g ASM配制及ASM与文件系统之间迁移
 
测试环境:rhel4/oel4 + oracle10g r2 + vmware9
 
注:虽然说官网都的提供那些包,可根据自己的系统版本(`uname -r`)下载,可是官网提供的rpm包可能不是精确的(比如我的版本是2.6.9-89.0.0.0.1.EL,可是官网提供和我相匹配的是2.6.9-89.EL),这样可能的后果就是安装好了包,却oracleasm configure 时出错,所以,只要下载oracle yum 中没有的包(oracleasmlib),其他的都用oracle yum安装  (yum install oracleasm-`uname -r`*)这种方法最保险
 
下面两个oracle rhel4的yum中好像没有
rpm -ivh oracleasm-2.6.9-89.EL-debuginfo.x86_64  --->(可不安装)
rpm -ivh oracleasmlib-2.0.4-1.el4.x86_64.rpm   --->(须要在上面网址下载)
[root@oracle10g /]# uname -r
2.6.9-89.0.0.0.1.EL
yum install oracleasm-support
yum install oracleasm-`uname -r`*
including :
oracleasm-2.6.9-89.0.0.0.1.EL.x86_64
oracleasm-2.6.9-89.0.0.0.1.ELlargesmp.x86_64
oracleasm-2.6.9-89.0.0.0.1.ELsmp.x86_64
oracleasm-2.6.9-89.0.0.0.1.ELxenU.x86_64
 
 
 
创建一个新分区
[root@oracle10g ~]#fdisk /dev/sdc
 
配置ASM
#[root@oracle10g ~]# /etc/init.d/oracleasm configure
 
创建ASM磁盘(asm磁盘组是在dbca中创建,这里创建的是asm磁盘而不是组)
 
[root@oracle10g ~]# /etc/init.d/oracleasm createdisk vol /dev/sdc1
 
    其中vol中asm磁盘名  把/dev/sdc1这个区作为asm磁盘
 
以root执行:($ORACLE_HOME/bin/localconfig add)
[root@oracle10g ~]#/u01/app/oracle/oracle/product/10.2.0/db_1/bin/localconfig add
 
[root@oracle10g ~]#export DISPLAY=:0.0
[root@oracle10g ~]#xhost +
[root@oracle10g ~]#su - oracle
[oracle@oracle10g ~]$dbca
 
图形界面配制略。
 
ASM实例:export ORACLE_SID=+ASM
 
查看ASM磁盘信息(v$asm_disk)
select name,failgroup from v$asm_disk;
 
 
 
查看ASM磁盘组信息(v$asm_diskgroup)
select name, type from v$asm_diskgroup;
 
 
 
在oracle实例中若查看到asm磁盘组的名字,则oracle实例可以访问并使用asm磁盘组
select name from v$asm_diskgroup;
 
创建完之后asm实例的pfile
init+ASM.ora
+ASM.asm_diskgroups='DB1','DB2'#Manual Mount
*.asm_diskgroups='DB1','DB2'
*.background_dump_dest='/u01/app/oracle/admin/+ASM/bdump'
*.core_dump_dest='/u01/app/oracle/admin/+ASM/cdump'
*.instance_type='asm'
*.large_pool_size=12M
*.remote_login_passwordfile='SHARED'
*.user_dump_dest='/u01/app/oracle/admin/+ASM/udump'
 
 
 
访问asm磁盘上的数据
[oracle@oracle10g ~]$export ORACLE_SID=+ASM
[oracle@oracle10g ~]$asmcmd
 
 
 
要asm上创建表空间
create smallfile tablespace user2 datafile '+DB1' size 100m autoextend on;
 
 
 
sys@DNDN> select name from v$datafile;
 
NAME
----------------------------------------------------------------------------------------------------
/u01/app/oracle/oradata/dndn/system.dbf
+DB1/dndn/datafile/user2.256.829002129
/u01/app/oracle/oradata/dndn/sysaux.dbf
/u01/app/oracle/oradata/dndn/users01.dbf
/u01/app/oracle/oradata/dndn/undotbs.dbf
 
 
 
 
 
ASM文件迁移
使用rman 的方式(若不能脱机的表空间,则在mount下操作)
1,users表空间的迁移(从文件系统到asm)
rman>backup tablespace users;
rman>run{
sql 'alter tablespace users offline immediate';
set newname for datafile 4 to '+DB1';
restore tablespace users;
switch datafile 4;
recover tablespace users;
sql 'alter tablespace users online';
}
 
下面写法和上面一样(但一个表空间可能有多个数据文件):
rman>run{
sql 'alter database datafile 4 offline';
set newname for datafile 4 to '+DB1';
restore datafile 4;
switch datafile 4;
recover datafile 4;
sql 'alter database datafile 4 online';
}
 
2,users表空间的迁移(从asm到文件系统)
rman>backup tablespace users;
rman>run{
sql 'alter tablespace users offline immediate';
set newname for datafile 4 to '/u01/app/oracle/oradata/dndn/users01.dbf';
restore tablespace users;
switch datafile 4;
recover tablespace users;
sql 'alter tablespace users online';
}
 
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,