当前位置:  数据库>oracle

使用ASM管理方式创建Oracle数据库

    来源: 互联网  发布时间:2017-05-02

    本文导语:  环境: OS:Red Hat Linux As 5 DB:Oracle 10.2.0.4   10G以后Oracle推出了使用ASM(Auto Storage Management)管理的存储方式,随着Oralce版本的不断变更,ASM存储管理方式也越来越稳定.下面介绍如何使用ASM的管理方式创建单实例数据库.   ---------------------...

环境:
OS:Red Hat Linux As 5
DB:Oracle 10.2.0.4
 
10G以后Oracle推出了使用ASM(Auto Storage Management)管理的存储方式,随着Oralce版本的不断变更,ASM存储管理方式也越来越稳定.下面介绍如何使用ASM的管理方式创建单实例数据库.
 
----------------------------------创建ASM磁盘部分----------------------------------------
1.安装Asmlib
安装AsmlibB那个版本需要根据OS的内核版本来确定,这里我的操作系统内核版本如下:
[root@hxl asm]# uname -a
Linux hxl 2.6.18-8.el5xen #1 SMP Fri Jan 26 14:42:21 EST 2007 i686 i686 i386
GNU/Linux
选择安装的Asmlib包如下,在root用户下按照如下顺序执行,否则会报需要依赖的提示.
[root@hxl asm]#rpm -ivh oracleasm-support-2.1.7-1.el5.i386.rpm
[root@hxl asm]#rpm -ivh oracleasm-2.6.18-8.el5xen-2.0.4-1.el5.i686.rpm
[root@hxl asm]#rpm -ivh oracleasmlib-2.0.4-1.el5.i386.rpm


以上这些安装包可以到Oracle官网下载.
 
2.添加裸设备
编辑/etc/udev/rules.d/60-raw.rules文件添加如下内容
ACTION=="add", KERNEL=="sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc1",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdd1",RUN+="/bin/raw /dev/raw/raw3 %N"

设置裸设备权限给oracle用户,需要添加如下内容
KERNEL=="raw[1-3]*", NAME="raw/%k" OWNER="oracle" GROUP="oinstall", MODE="0660"
 
这里的sdb1 sdc1 sdd1 是新加入的磁盘分区,添加硬盘后可以使用fdisk创建分区(具体步骤省略),这里不需要格式化.
 
将如上内容添加到/etc/udev/rules.d/60-raw.rules后,执行如下命令使其生效.
[root@hxl asm]#start_udev
 
查看映射
[root@hxl]# raw -qa
/dev/raw/raw1:  bound to major 8, minor 17
/dev/raw/raw2:  bound to major 8, minor 33
/dev/raw/raw3:  bound to major 8, minor 49




这个时候裸设备添加完成, 下面继续Asmlib的配置.
 
3.设置ASMlib驱动
[root@hxl 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 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 [oinstall]:
Start Oracle ASM library driver on boot (y/n) [y]: 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  ]





 
4.设置自动启动和关闭
#cd /etc/rc5.d 默认进入的是图形界面
[root@hxl rc5.d]# ln -s /etc/rc.d/init.d/oracleasm S99oracleasm
[root@hxl rc5.d]# ln -s /etc/rc.d/init.d/oracleasm K01oracleasm


[root@hxl rc5.d]# lsmod |grep oracleasm
oracleasm              44692  1
[root@hxl rc5.d]# dmesg |grep oracleasm
ASM: oracleasmfs mounted with options:


 
5.创建ASM磁盘(说明:createdisk 是针对分区,不是针对磁盘,即:先应将磁盘分区)
[root@hxl oracle]# /etc/init.d/oracleasm createdisk VOL1 /dev/sdb1
Marking disk "VOL1" as an ASM disk:                        [  OK  ]
[root@hxl oracle]# /etc/init.d/oracleasm createdisk VOL2 /dev/sdc1
Marking disk "VOL2" as an ASM disk:                        [  OK  ]
[root@hxl oracle]# /etc/init.d/oracleasm createdisk VOL3 /dev/sdd1
Marking disk "VOL3" as an ASM disk:                        [FAILED]




 
小插曲,在创建VOL3的时候提示失败,查看日志信息发现该设备在使用
[root@hxl oracle]#less /var/log/oracleasm
Instantiating disk: done
Unable to open device "/dev/sdd1": Device or resource busy
Unable to open device "/dev/sdd1": Device or resource busy

 
查看/etc/fstab发现/dev/sdd1 mount到了/u02,将该行注释掉,问题解决.
[root@hxl /]# more /etc/fstab
LABEL=/                 /                       ext3    defaults        1 1
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
sysfs                   /sys                    sysfs   defaults        0 0
LABEL=/u01              /u01                    ext3    defaults        1 2
/dev/sdd1               /u02                    ext3    defaults        1 2
LABEL=SWAP-sda2         swap                    swap    defaults        0 0






 
[root@hxl oracle]# /etc/init.d/oracleasm createdisk VOL3 /dev/sdd1
Marking disk "VOL3" as an ASM disk:                        [  OK  ]
 
[root@hxl oracle]# /etc/init.d/oracleasm listdisks //列出ASM磁盘
VOL1
VOL2
VOL3


到这里ASM磁盘已经创建好了,下面开始创建ASM实例.


    
 
 

您可能感兴趣的文章:

  • 关于使用cron不能创建文件
  • 使用mdev不能自动在dev下创建节点
  • 使用 JS 创建 GUI 应用 slfsrv
  • php使用mkdir创建多级目录入门例子
  • 继续问:使用Motif库的OverrideShell创建的窗口怎么放在屏幕的中央?
  • linux使用shell脚本,如何创建用户,并设置用户密码?能否给出示例?
  • .a库的创建和使用问题
  • 如何使用kdevelop创建动态共享库程序,请高手指点
  • 我如何使用mknod命令创建这样的一个文件?
  • python使用循环实现批量创建文件夹示例
  • Linux上能创建限制使用磁盘空间的用户吗?
  • 哪位有使用XML创建可排序、分页的数据显示页面的例程?多多指教噢!
  • 急!如何销毁一个使用gtk_window_new创建的窗口
  • 为什么在x-win32的窗口中,不能使用KDevelop,创建QT工程??
  • 使用Motif开发Solaris上的开发,如何创建一个不带标题栏的窗口,就像启动画面一样?
  • 请问posix IPC中使用mq_open()创建消息队列的问题?
  • 请教高高手:如何规划和创建数据池?并使用数据池?有资料也行
  • Linux下使用MyEclipse6.0打开window下创建的文本时中文部分出现乱码
  • java线程之使用Runnable接口创建线程的方法
  • java多线程编程之使用runnable接口创建线程
  • 以二进制方式打开的文件是不是一定要使用二进制的方式进行读写????
  • 在测试memset函数的执行效率时,分为使用Cash和不使用Cash辆种方式,该如何控制是否使用缓存?
  • 听说java有一种数据库连接池的方式,效率比使用jdbc驱动程序高。不知是否真的这样?具体方式怎么实现?
  • 怎样使用socket方式取得web服务器上的页面
  • 消息队列一般是怎么使用的,是采用While的方式进行轮询么
  • 有关cpu使用率的计算方式
  • 关于进程间4种通信方式的使用范围
  • 如何远程使用图形方式登录LINUX?
  • 图形方式使用鼠标的dos程序,在Win98下可以正常显示鼠标光标,而Win2000下不行,有办法吗
  • linux不用命令方式读文件获取网络流量,如何使用C函数调用获取网络流量信息?
  • 我安装了Redhat linux 7.0,现在只能进入命令行方式,不能使用KDE,怎么办?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • mysql数据库下载安装教程和使用技巧
  • 大家在UNIX下都使用什么数据库?使用什么做数据开发?
  • mongodb 数据库常用命令使用实例
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • 请教在linux系统开发环境下,有没有db和dbf数据库引擎,如何使用这个数据库?
  • 使用php语句将数据库*.sql文件导入数据库
  • 使用JDBC连接数据库时Class.forName()语句的使用疑问
  • 如何使用jsp显示数据库中的数据?
  • 收缩后对数据库的使用有影响吗?
  • 当发布的程序中含有数据库的使用时,...?
  • 如何强制删除或恢复SQLServer正在使用的数据库
  • 一个数据库函数的使用?
  • 嵌入式linux下数据库使用
  • unix/linux知识 iis7站长之家
  • 在tomcat 中使用jdbcrealm是否一定要在数据库中建立用户表和 角色表
  • 超酷数据库工具发布(JAS), 欢迎使用
  • linux下使用易飞ERP系统出现“报表数据库连接错误!!”是怎么回事
  • linux下服务器开发一般使用什么数据库?
  • linux使用mysql删除数据库的问题,谢谢!
  • 请问如何在jsp中使用JDBC动态更新数据库?
  • 关于使用数据库连接的问题。
  • C++ I/O 成员 tellg():使用输入流读取流指针
  • 求ibm6000的中文使用手册 !从来没用过服务器,现在急需使用它,不知如何使用! 急!!!!!
  • C++ I/O 成员 tellp():使用输出流读取流指针
  • 急求结果!!假设一个有两个元素的信号量集S,表示了一个磁带驱动器系统,其中进程1使用磁带机A,进程2同时使用磁带机A和B,进程3使用磁带机B。
  • Python不使用print而直接输出二进制字符串
  • c#中SAPI使用总结——SpVoice的使用方法
  • Office 2010 Module模式下使用VBA Addressof
  • 使用了QWidget的程序,如何使用后台程序启动它?
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • 共享内存一般是怎么使用的,是同消息队列配合使用么


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,