ASM磁盘组是作为一个逻辑单元管理的一个ASM磁盘池。与其他任何LVM一样,ASM管理大量物理卷并将其作为一个或多个逻辑卷呈交给Oracle。物理卷可以是实际的磁盘或磁
ASM磁盘组是作为一个逻辑单元管理的一个ASM磁盘池。与其他任何LVM一样,ASM管理大量物理卷并将其作为一个或多个逻辑卷呈交给Oracle。物理卷可以是实际的磁盘或磁盘的分区,或者是隶属操作系统的卷管理器的卷。无论采用哪种方式,都不能使用任何文件系统格式化,必须是裸设备。
在Linux上,ASM能引用磁盘作为裸设备,或通过使用ASMLib软件。
直接使用裸设备的方法:
1. 在RHEL6以前的可以直接通过rawdevices的管理方法,系统安装后默认已存在/etc/init.d/rawdevices和/etc/sysconfig/rawdevices这两个文件。
# cat /etc/redhat-release Red Hat Enterprise Linux Server release 5.8 (Tikanga) # rpm -qf /etc/init.d/rawdevices /etc/sysconfig/rawdevices initscripts-8.45.42-1.el5 initscripts-8.45.42-1.el5 # cat /etc/init.d/rawdevices #!/bin/bash # # rawdevices This shell script assignes rawdevices to block devices # # chkconfig: 345 56 44 # description: This scripts assignes raw devices to block devices \ # (such as hard drive partitions). This is for the use \ # of applications such as Oracle. You can set up the \ # raw device to block device mapping by editing \ # the file /etc/sysconfig/rawdevices. # config: /etc/sysconfig/rawdevices [ -f /bin/raw ] || exit 0 [ -f /etc/sysconfig/rawdevices ] || exit 0 # Exit if the file just has the default comments. LC_ALL=C /bin/egrep -q -v "^ *#" /etc/sysconfig/rawdevices 2>/dev/null || exit 0 . /etc/init.d/functions function assign_raw() { LC_ALL=C egrep -v '^ *#' /etc/sysconfig/rawdevices | while read RAW BLOCK; do if [ -n "$RAW" -a -n "$BLOCK" ]; then rawdirname=${RAW%/*} if [ "$rawdirname" = "/dev" -a -d /dev/raw ]; then echo $" Please correct your /etc/sysconfig/rawdevices:" echo $" rawdevices are now located in the directory /dev/raw/ " echo $" If the command 'raw' still refers to /dev/raw as a file." echo $" you'll have to upgrade your util-linux package" exit 0 fi if [ "$rawdirname" = "/dev/raw" -a -f /dev/raw ]; then echo $" Please correct your /etc/sysconfig/rawdevices:" echo $" rawdevices are now located in the directory /dev/raw/ " echo $" If the command 'raw' still refers to /dev/raw as a file." echo $" you'll have to upgrade your util-linux package" exit 0 fi echo " $RAW --> $BLOCK"; raw $RAW $BLOCK fi done } # See how we were called. case "$1" in start) # Assign devices echo $"Assigning devices: " assign_raw #添加以下两行(默认不存在),即默认情况下生成的裸设备为root所有, #所以必须修改属主,否则oracle用户无法使用裸设备 sleep 5 chown -R oracle:oinstall /dev/raw/ echo $"done" ;; stop) # No action to be taken here ;; status) ID=`id -u` if [ $ID -eq 0 ]; then raw -qa else echo $"You need to be root to use this command ! " fi ;; restart|reload) $0 start ;; *) echo $"Usage: $0 {start|stop|status|restart}" exit 1 esac exit 0
# vi /etc/sysconfig/rawdevices //映射将要绑定的裸设备 /dev/raw/raw10 /dev/sda10 /dev/raw/raw11 /dev/sda11 /dev/raw/raw12 /dev/sda12 /dev/raw/raw13 /dev/sda13 /dev/raw/raw14 /dev/sda14 # chkconfig rawdevices on # service rawdevices start Assigning devices: /dev/raw/raw10 --> /dev/sda10 /dev/raw/raw10: bound to major 8, minor 10 /dev/raw/raw11 --> /dev/sda11 /dev/raw/raw11: bound to major 8, minor 11 /dev/raw/raw12 --> /dev/sda12 /dev/raw/raw12: bound to major 8, minor 12 /dev/raw/raw13 --> /dev/sda13 /dev/raw/raw13: bound to major 8, minor 13 /dev/raw/raw14 --> /dev/sda14 /dev/raw/raw14: bound to major 8, minor 14 done # ls -l /dev/raw/ total 0 crw-rw----. 1 oracle oinstall 162, 10 May 27 08:37 raw10 crw-rw----. 1 oracle oinstall 162, 11 May 27 08:37 raw11 crw-rw----. 1 oracle oinstall 162, 12 May 27 08:37 raw12 crw-rw----. 1 oracle oinstall 162, 13 May 27 08:37 raw13 crw-rw----. 1 oracle oinstall 162, 14 May 27 08:37 raw14 crw-rw----. 1 oracle oinstall 162, 0 May 27 08:19 rawctl # raw -qa /dev/raw/raw10: bound to major 8, minor 10 /dev/raw/raw11: bound to major 8, minor 11 /dev/raw/raw12: bound to major 8, minor 12 /dev/raw/raw13: bound to major 8, minor 13 /dev/raw/raw14: bound to major 8, minor 14
2. 在RHEL6中,系统里面虽然已经不存在/etc/sysconfig/rawdevices和/etc/init.d/rawdevices文件了,但是依然支持rawdevices的方式,网站空间,网站空间,可以通过如下方法来管理raw文件。
手动创建/etc/sysconfig/rawdevices和/etc/init.d/rawdevices文件,然后依然以rawdevices的方式
通过udev来管理raw,同样也可以通过udev固定磁盘对应的设备名
以下介绍udev的方式:
# fdisk -l /dev/sdb Disk /dev/sdb: 2147 MB, 2147483648 bytes 255 heads, 63 sectors/track, 261 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 261 2096451 5 Extended /dev/sdb5 1 25 200749+ 83 Linux /dev/sdb6 26 50 200781 83 Linux /dev/sdb7 51 75 200781 83 Linux /dev/sdb8 76 100 200781 83 Linux /dev/sdb9 101 125 200781 83 Linux # vi /etc/udev/rules.d/60-raw.rules ACTION=="add",KERNEL=="sdb5",RUN+="/bin/raw /dev/raw/raw5 %N",OWNER="oracle", GROUP="oinstall", MODE="660" ACTION=="add",KERNEL=="sdb6",RUN+="/bin/raw /dev/raw/raw6 %N",OWNER="oracle", GROUP="oinstall", MODE="660" ACTION=="add",KERNEL=="sdb7",RUN+="/bin/raw /dev/raw/raw7 %N",OWNER="oracle", GROUP="oinstall", MODE="660" ACTION=="add",KERNEL=="sdb8",RUN+="/bin/raw /dev/raw/raw8 %N",OWNER="oracle", GROUP="oinstall", MODE="660" ACTION=="add",KERNEL=="sdb9",RUN+="/bin/raw /dev/raw/raw9 %N",OWNER="oracle", GROUP="oinstall", MODE="660" # raw -qa # start_udev Starting udev: [ OK ] # raw -qa /dev/raw/raw5: bound to major 8, minor 21 /dev/raw/raw6: bound to major 8, minor 22 /dev/raw/raw7: bound to major 8, minor 23 /dev/raw/raw8: bound to major 8, minor 24 /dev/raw/raw9: bound to major 8, minor 25 # ls -l /dev/raw total 0 crw-rw---- 1 oracle oinstall 162, 5 Jun 9 17:15 raw5 crw-rw---- 1 oracle oinstall 162, 6 Jun 9 17:15 raw6 crw-rw---- 1 oracle oinstall 162, 7 Jun 9 17:15 raw7 crw-rw---- 1 oracle oinstall 162, 8 Jun 9 17:15 raw8 crw-rw---- 1 oracle oinstall 162, 9 Jun 9 17:15 raw9
ASMLib:(非Linux系统只能使用裸设备的方法)
ASMLib是一组可选的位于ASM和硬件之间的一个内核驱动程序工具,也是作为一个应用程序库通过Oracle数据库软件访问ASM磁盘。
它是Oracle 10g和11g单实例数据库以及RAC的ASM特性支持库。ASM和数据库实例可以使用ASMLib作为可替代的磁盘访问接口。
ASMLib有以下三个组件:
内核驱动:oracleasm Linux中支持oracle ASMLib的内核驱动程序(需根据内核版本下载)
支持工具:oracleasm-support 提供用于配置和启动ASM驱动程序的实用工具
应用程序库:oracleasmlib 提供了实际的ASM库

InnoDBBufferPool通过缓存数据和索引页来减少磁盘I/O,提升数据库性能。其工作原理包括:1.数据读取:从BufferPool中读取数据;2.数据写入:修改数据后写入BufferPool并定期刷新到磁盘;3.缓存管理:使用LRU算法管理缓存页;4.预读机制:提前加载相邻数据页。通过调整BufferPool大小和使用多个实例,可以优化数据库性能。

MySQL与其他编程语言相比,主要用于存储和管理数据,而其他语言如Python、Java、C 则用于逻辑处理和应用开发。 MySQL以其高性能、可扩展性和跨平台支持着称,适合数据管理需求,而其他语言在各自领域如数据分析、企业应用和系统编程中各有优势。

MySQL值得学习,因为它是强大的开源数据库管理系统,适用于数据存储、管理和分析。1)MySQL是关系型数据库,使用SQL操作数据,适合结构化数据管理。2)SQL语言是与MySQL交互的关键,支持CRUD操作。3)MySQL的工作原理包括客户端/服务器架构、存储引擎和查询优化器。4)基本用法包括创建数据库和表,高级用法涉及使用JOIN连接表。5)常见错误包括语法错误和权限问题,调试技巧包括检查语法和使用EXPLAIN命令。6)性能优化涉及使用索引、优化SQL语句和定期维护数据库。

MySQL适合初学者学习数据库技能。1.安装MySQL服务器和客户端工具。2.理解基本SQL查询,如SELECT。3.掌握数据操作:创建表、插入、更新、删除数据。4.学习高级技巧:子查询和窗口函数。5.调试和优化:检查语法、使用索引、避免SELECT*,并使用LIMIT。

MySQL通过表结构和SQL查询高效管理结构化数据,并通过外键实现表间关系。1.创建表时定义数据格式和类型。2.使用外键建立表间关系。3.通过索引和查询优化提高性能。4.定期备份和监控数据库确保数据安全和性能优化。

MySQL是一个开源的关系型数据库管理系统,广泛应用于Web开发。它的关键特性包括:1.支持多种存储引擎,如InnoDB和MyISAM,适用于不同场景;2.提供主从复制功能,利于负载均衡和数据备份;3.通过查询优化和索引使用提高查询效率。

SQL用于与MySQL数据库交互,实现数据的增、删、改、查及数据库设计。1)SQL通过SELECT、INSERT、UPDATE、DELETE语句进行数据操作;2)使用CREATE、ALTER、DROP语句进行数据库设计和管理;3)复杂查询和数据分析通过SQL实现,提升业务决策效率。

MySQL的基本操作包括创建数据库、表格,及使用SQL进行数据的CRUD操作。1.创建数据库:CREATEDATABASEmy_first_db;2.创建表格:CREATETABLEbooks(idINTAUTO_INCREMENTPRIMARYKEY,titleVARCHAR(100)NOTNULL,authorVARCHAR(100)NOTNULL,published_yearINT);3.插入数据:INSERTINTObooks(title,author,published_year)VA


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Dreamweaver Mac版
视觉化网页开发工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3汉化版
中文版,非常好用

WebStorm Mac版
好用的JavaScript开发工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。