欢迎您来到GIS动力

加入收藏 免费注册 用户登陆 帮助中心
首页 新闻动态 技术专栏 银杏树下 学习考研 软件下载 求职招聘 许愿瓶 节日祝福 用户中心 精彩推荐 资源搜索 地图
专栏导航: AO开发 | SO开发 | ArcGIS桌面 | 超图桌面 | 开发语言 | 数据库 | WebGIS | 银杏文学 | 研究生考题 | FreeMap 谈天说地
   您现在位于: 首页技术专栏数据库 → 正文
利用vmware体验Oracle10g的ASM数据库
08-04-08 11:20:21 作者:半块点心 出处:『GIS动力』原创
我的步骤:vmware 5 + rhel 4 as 2 +oracle 10g
1     用DBCA配置asm的时候系统会帮忙建立一个asm instance.默认instance name为 +ASM 而下面的一篇帖子是自己手动更全面的控制建立的asm instance.  要设置sys密码,然后退出,不继续了,因为不知道何种原因,不能显示添加的虚拟磁盘.查找了网上帖子,需要安装asmlib等等等等。
2:http://www.oracle.com/technology/software/tech/linux/asmlib/rhel4.html 下载了5个包,安装。要按照对应的版本(uname -r)下载相应的包。我的是2.6.9-22
3 :按照下面第2篇帖子的步骤加入添加磁盘。有人说不需要分区,裸设备即可,不清楚裸设备的概念,听网友的用raw -qa没有查找到裸设备,所以用fdisk /dev/sdc ....n 创建了一个主分区。然后用类似etc/init.d/oracleasm createdisk VOL5 /dev/sdf 的语法etc/init.d/oracleasm createdisk VOL5 /dev/sdf1 创建了asm磁盘。连续创建了4个
补充:未分区的和分区但没有格式化的都属于裸设备。具体可以参考itpub一篇帖子(如何添加裸设备)
4  在dbca中创建了磁盘组。这样更容易操作。再用dbca创建数据库,选择存储为asm。搞定。
5  export ORACLE_SID=+asm  
sqlplus / as sysdba
startup
export ORACLE_SID=prod
sqlplus /as sysdba
startup
连接+asm instance
sql>select group_number,disk_number,name,failgroup,create_date,path from v$asm_disk
GROUP_NUMBER DISK_NUMBER NAME       FAILGROUP  CREATE_DATE  PATH
------------                   ----------                ----------              ----------        ------------         -------------------
           1                                  0                 VOL1          VOL1            03-OCT-06          ORCL:VOL1
           1                                  1                 VOL2          VOL2            03-OCT-06          ORCL:VOL2
           2                                  0                 VOL3          VOL3           03-OCT-06           ORCL:VOL3
           2                                  1                  VOL4         VOL4            03-OCT-06          ORCL:VOL4

http://www.linuxmine.com/48923.html
利用vmware体验Oracle10g的ASM数据库
WindowsXP Pro 安装VMware GSX Server
  用vmware安装了RHEL3
  
  虚拟了一个主硬盘sda,用来安装系统
  添加了四块虚拟硬盘sdb-sde,准备用来安装ASM的Oracle10g
  
   系统安装完毕
  安装Oracle10g,不作详细描述了
  
  安装完毕之后开始创建数据库
  
  选择ASM类型,到创建磁盘组那一步,发现找不到可用的硬盘。
  指定discovery string为/dev/*
  dbca死掉了
  自动启动的ASM实例也登陆不了
  没办法,重启虚拟机
  
   之后参考了一系列文章
  包括:
  Oracle Magazine中的“Add Storage, Not Projects”
  OTN上的Tuning Oracle Database 10g on Linux Using ASM
  10g的联机文档
  
  发现全部没有说当用dbca创建Disk Group的时候,为什么会找不到应该有的磁盘,也没有说磁盘应该是怎样的文件系统,或者说只能当成裸设备
  
  于是将磁盘格式化成ext3文件系统,mount到自行创建的目录中指定discovery string为这个目录,启动实例,检查v$asm_disk视图,仍然没有可用的磁盘
  
  后来在google上搜,发现了还有oracleasm这个东东要从OTN上下载,用来管理asm的磁盘组下载完毕以后,是几个rpm包,安装正常但是enable的时候,总是报module加载失败查看/var/log/messege文件,发现报系统内核版本不匹配于是又上网下载新的内核,安装,depmod -a
  重新启动,OK
  
  ln -s ../init.d/oracleasm S99oracleasm
  ln -s ../init.d/oracleasm K01oracleasm
  以便下次系统启动的时候会自动加载ASMlib driver
  
  #/etc/init.d/oracleasm createdisk VOL1 /dev/sdb
  #/etc/init.d/oracleasm createdisk VOL2 /dev/sdc
  #/etc/init.d/oracleasm createdisk VOL3 /dev/sdd
  #/etc/init.d/oracleasm createdisk VOL4 /dev/sde
  
  修改$ORACLE_HOME/dbs/init+ASM.ora文件
  添加一行:asm_diskstring='ORCL:VOL*'
  
   启动实例
  报错,ORA-29701: unable to connect to Cluster Manager
  查google,查不到
  再查metalink,原来是因为安装完10g以后,就直接把/etc/inittab中的
  h1:35:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1   这句注释了
  原来这就是10g内置的cluster manager
  
   取消注释
  重新启动系统
  再次启动实例,OK
  
   代码:
  SQL> select disk_number,label from v$asm_disk;
  
  DISK_NUMBER LABEL
  ----------- ----
  0 VOL1
  1 VOL2
  2 VOL3
  &n
  
  创建磁盘组,报错
  
   代码:
  SQL> create diskgroup dgroup1 normal redundancy
  2 failgroup fgroup1 disk 'VOL1','VOL2'
  3 failgroup fgroup2 disk 'VOL3','VOL4';
  create diskgroup dgroup1 normal redundancy
  *
  ERROR at line 1:
  ORA-15018: diskgroup cannot be created
  ORA-15031: disk specification 'VOL4' matches no disks
  ORA-15031: disk specification 'VOL3' matches no disks
  ORA-15031: disk specification 'VOL2' matches no disks
  ORA-15031: disk specification 'VOL1'
  
  再去查10g的联机文档
  发现disk name应该是跟asm_diskstring的写法一样
  
   代码:
  SQL> create diskgroup dgroup1 normal redundancy
  2 failgroup fgroup1 disk 'ORCL:VOL1','ORCL:VOL2'
  3 failgroup fgroup2 disk 'ORCL:VOL3','ORCL:VOL4';
  
  Diskgroup created.
  
  OK,通过
  
  代码:
  SQL> col name for a10
  SQL> set linesize 999
  SQL> select * from v$asm_diskgroup;
  
  然后,使用dbca,创建ASM类型的数据库,基本上没什么别的问题了。
  
   结论:
  1。OTN上的文档和10g的联机文档很多错误的地方,可能很多文章都是想当然写出来的,也许根本作者自己都没有作过测试
  2。纠正了我以前的一个概念,一个ASM数据库需要一个ASM实例和一个自己的数据库实例,多个数据库实例可以共享一个ASM实例
  
  创建完毕了,明天测试ASM数据库的automatic rebalance功能
  
  等到测试完毕,会抽空写一份完整的安装文档。
  呵呵,如果能在这周完成,应该是世界上最早的一份完整的ASM在LINUX上的安装文档了
  http://www.puschitz.com/上面这个专题还是comming soon呢
  而且据Werner Puschitz自己说,他是用裸设备来在Linux下面实现ASM的,而不是oracleasm
9 7 3 1 2 3 4 5 6 7 8 4 8 :

(本文已被浏览 次)
发布人:admin
推荐给好友:发送给好友
上篇新闻:
下篇新闻:
相关评论
发表我的评论
  • 尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法;
  • 本站有权保留或删除您发表的任何评论内容;
  •   相关文章  
    __asm__volatile__ GCC的内嵌汇编语法 AT&T汇编语言语
    遇到ASM的两个BUG
    解决ASM无法启动问题
    AIX下oracle10g rac 报ora-12545错误的解决方案
    oracle10gRAC的网络设置
    ORACLE10g初始化参数

    关于我们 友情链接 ┋ 与我在线 ┋ 管理 ┋ TOP
    网站当前版本:GisPower CMS V3.0
    『GIS 动力』- http://www.gispower.org/
    联系我们:webmaster#gispower.org
    Copyright (c) 2003-2007 GisPOwer.Org. All Rights Reserved.

                   滇ICP备05006901号