假设您要在数据库中使用 10 个磁盘。利用 ASM,您不需要在 OS 端创建任何东西,该特性将把一组物理磁盘集合成一个逻辑实体(称为磁盘组)。
磁盘组类似于一个分段(和可选镜像)文件系统,但具有重要的差异:它不是一个用于存储用户文件的通用文件系统,并且它不进行缓冲。由于后面的原因,磁盘组提供了直接作为原始设备来访问这个空间,并仍提供文件系统的便利性和灵活性的好处。
ASM它提供了以平台无关的文件系统、逻辑卷管理以及软RAID服务。ASM可以支持条带化和磁盘镜像,从而实现了在数据库被加载的情况下添加或移除磁盘以及自动平衡I/O以删除“热点”。它还支持直接和异步的I/O并使用Oracle9i中引入的Oracle数据管理器API(简化的I/O系统调用接口)。
扩展资料:
ASM使用独特的镜像算法:不镜像磁盘,而是镜像盘区。作为结果,为了在产生故障时提供连续的保护,只需要磁盘组中的空间容量,而不需要预备一个热备(hot spare)磁盘。
不建议用户创建不同尺寸的故障组,因为这将会导致在分配辅助盘区时产生问题。ASM将文件的主盘区分配给磁盘组中的一个磁盘时,它会将该盘区的镜像副本分配给磁盘组中的另一个磁盘。给定磁盘上的主盘区将在磁盘组中的某个伙伴磁盘上具有各自的镜像盘区。
ASM确保主盘区和其镜像副本不会驻留在相同的故障组中。磁盘组的冗余可以有如下的形式:双向镜像文件(至少需要两个故障组)的普通冗余(默认冗余)和使用三向镜像(至少需要3个故障组)提供较高保护程度的高冗余。
参考资料:百度百科-ASM
ASM指的是汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
在汇编语言中,用助记符代替机器指令的 *** 作码,用地址符号或标号代替指令或 *** 作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。
扩展资料
汇编语言比机器语言的可读性要好,但跟高级语言比较而言,可读性还是较差。不过采用它编写的程序具有存储空间占用少、执行速度快的特点,这些是高级语言所无法取代的。在实际应用中,是否使用汇编语言,取决于具体应用要求、软件开发时间和质量等方面作权衡。
汇编语言作为机器语言之上的第二代编程语言,它也有很多优点:
1、可以轻松的读取存储器状态以及硬件I/O接口情况
2、编写的代码因为少了很多编译的环节,可以能够准备的被执行
3、作为一种低级语言,可扩展性很高
参考资料来源:百度百科-汇编语言
ORACLE g中ASMCMD使用及ASM文件XML DB访问
引言
自动存储管理(ASM) 是Oracle 数据库 g 的新功能 它为数据库管理员提供了一个简单的存储管理界面 并且该界面在所有服务器和存储平台上都是一致的 作为专门为 Oracle 数据库文件创建的整合的文件系统和卷管理器 ASM 提供了异步 I/O 的性能以及文件系统的易管理性 它简化了数据库的管理 使管理员可以将可用的存储划分为磁盘组(disk groups) 只需管理少量的磁盘组而不再需要直接管理大量的oracle数据库文件 ASM可自动管理磁盘组内数据库文件的放置 优化了性能和资源利用率
ORACLE g中的高效存储技术ASM
自动存储管理直接在Oracle 内核提供了文件系统和卷管理器的垂直整合 从而带来了存储区域网系统提供的 虚拟化 类型的优点(易于管理 更高的可用性) 并专门用于Oracle 数据库文件 ASM 提供了配置数据库的快捷方法 以达到最佳性能和资源利用率 它通过Oracle 内核自动管理数据库文件和这些文件的放置 不再需要第三方文件系统和卷管理器来管理Oracle 文件 ASM 免去了耗时的手动I/O 性能与调整任务 大大节省了DBA 的时间
ASM的镜像(mirroring)与条带化(striping) ASM 将文件分成 MB 大小的区(extent) 并将所有文件的区平均分布到磁盘组的所有磁盘中 ASM 不使用数学函数跟踪每个区的放置 而使用指针记录区的位置 这样 ASM 就可以在磁盘组配置变化时移动某个文件的某些区 而不必按照公式并根据磁盘数来移动所有的区 对于需要低延迟的文件(例如日志文件) ASM 提供了细粒度( k) 分段 以便由多个磁盘并行分隔并处理较大的I/O ASM 在所有可用的资源中分布I/O 负载 在免除手动I/O 调节需要(通过分散数据库文件来避免热点)的同时优化性能 ASM的镜像比 *** 作系统的磁盘镜像更为灵活 因为ASM可基于文件设置冗余级别 也就是说在同一磁盘组中的两个文件可以一个是镜像的而另一个不做镜像 ASM镜像发生在区级
ASM的动态存储配置 ASM使得在线调整存储配置成为可能 即它帮助DBA 管理动态数据库环境 让DBA 能够在扩大或缩小数据库规模的情况下 无需关闭数据库以调整存储配置 而在往磁盘组中增加磁盘或从磁盘组中删除磁盘后 ASM将自动重新平衡――均衡地在磁盘组中的所有磁盘上重新分布文件数据
ASM 是一种能力 它通过实现手动存储器的自动化来节省DBA 的时间 使其能够以更高的效率管理更大 更多的数据库
通过ASMCMD工具管理ASM
在oracle数据库 g的第一个版本中 管理ASM只能通过SQL语句 g的第二个版本提供了一个管理ASM文件的新选择――命令行工具ASMCMD 它使我们可以更为方便地浏览和管理ASM磁盘组中的文件和目录 它可以列出磁盘组的内容 执行搜索 创建或删除目录及别名 显示空间利用率等等 下面将通过一个在AIX *** 作系统上的oracle g的应用实例来介绍ASMCMD命令行工具的使用方法以及ASM文件的FTP及HTTP访问方式 相关环境信息如下
*** 作系统平台 AIX
数据库版本 ORACLE ( 节点RAC)
磁盘组 ORAHIS_ G ORAHIS_ G(将 G和 G的LUN划分为 个磁盘组)
磁盘组类型 外部冗余方式(EXTERNAL REDUNDANCY)
创建磁盘组
首选需要创建磁盘组 由于不能通过ASMCMD命令创建或删除磁盘组 以及添加或删除磁盘组中的磁盘 所以我们通过oracle g中新的SQL命令来完成磁盘组的创建
在本实例中有 G和 G两种大小的LUN 先通过 *** 作系统命令或通过ASM实例中v$a *** _disk视图中的信息确认这两种大小的LUN的设备名 建立 个磁盘组ORAHIS_ G及ORAHIS_ G
CREATE DISKGROUP ORAHIS_ G EXTERNAL REDUNDANCY disk /dev/rhdisk /dev/rhdisk …… / CREATE DISKGROUP ORAHIS_ G EXTERNAL REDUNDANCY disk /dev/rhdisk /dev/rhdisk …… /
创建了磁盘组后就可以使用磁盘组 在上面创建数据库 分布数据库文件等
运行ASMCMD
以一个拥有SYSDBA权限的 *** 作系统用户登录到运行了ASM实例的主机上 同时设置正确的ORACLE_HOME及ORACLE_SID环境变量以选择ASM实例 再设置正确的PATH环境变量 就可以运行ASMCMD工具了 ASMCMD可以以交互或非交互模式两种模式运行
) 交互模式运行 在 *** 作系统命令提示符下输入a *** cmd 会得到ASMCMD>提示符 可以输入相关的命令 如果使用 p选项 将在ASMCMD提示符中包含当前路径 如下
gdhish :/oracle/orahis>export ORACLE_SID=+hisa *** gdhish :/oracle/orahis>a *** cmd p ASMCMD [+] > ls ORAHIS_ G/ ORAHIS_ G/ ASMCMD [+] > cd ORAHIS_ G ASMCMD [+ORAHIS_ G] >
) 非交互模式运行 命令格式为 a *** cmd mand arguments 如下
gdhish :/oracle/orahis>a *** cmd ls l State Type Rebal Unbal Name MOUNTED EXTERN N N ORAHIS_ G/ MOUNTED EXTERN N N ORAHIS_ G/
ASMCMD命令参考
) 部分常用的ASMCMD命令列表
命令 说明 du 显示指定的ASM目录下ASM文件占用的所有磁盘空间 ls 列出ASM目录下的内容及其属性 lsct 列出当前ASM客户端的信息 lsdg 列出所有磁盘组及其属性 mkalias 为系统生成的文件名创建别名
) ASMCMD命令示例
ASMCMD>lsdg
State Type Rebal Unbal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Name
MOUNTED EXTERN N N ORAHIS_ G/
MOUNTED EXTERN N N ORAHIS_ G/
上述lsdg命令的结果显示共有两个磁盘组ORAHIS_ G和ORAHIS_ G 状态是 MOUNTED 类型是外部冗余(EXTERNAL REDUNDANCY) 当前没有重现平衡(rebalance) *** 作 也没有磁盘组需要重现平衡 Sector大小是 字节 Block大小是 字节 分配单元是 字节 即 M ORAHIS_ G磁盘组大小为 M 空闲大小为 M offline disks的数量为 由于是外部冗余类型 故Req_mir_free_MB 为
ASMCMD [+ORAHIS_ G/hisrac/datafile] >ls ls
Type Redund Striped Time Sys Block_Size Blocks Bytes Space Name
DATAFILE UNPROT COARSE MAY : : Y BILL_TS_DT
DATAFILE UNPROT COARSE MAY : : Y UNDOTBS
上述ls –ls命令的结果显示ASM目录+ORAHIS_ G/hisrac/datafile下的文件及其属性 如文件BILL_TS_DT 和UNDOTBS 类型为DATAFILE 由于是外部冗余方式 Redund为UNPROT 即对于ASM而言是uprotected 条带化方式为COARSE 文件是系统创建的 块大小为 字节 块数为 文件大小为 字节
通过XML DB虚拟目录访问ASM文件
由于ASM 是专为处理Oracle 数据库文件而建立的整合的文件系统与卷管理器 它不是一般意义上的文件系统或集群文件系统 因此不能使用标准的FTP和HTTP服务来访问ASM文件 我们可以通过XML DB repository中的虚拟目录/sys/a *** 来访问ASM文件和目录 内容并非真正存储在repository中 所以称为虚拟目录 /sys/a *** 提供了通过XML DB协议如FTP和HTTP/WebDAV来访问和 *** 作ASM文件的一种方法
) 配置
下面以选择FTP端口 HTTP/WebDAV端口 为例进行配置(前提是已经安装好XDB)
gdhish :/oracle/orahis>export ORACLE_SID=hisrac
gdhish :/oracle/orahis>sqlplus /as sysdba
SQL>@?/rdbms/admin/catxdbdbca sql
访问时注意必须以拥有dba权限的数据库用户(非sys)登录
) FTP访问示例(通过FTP传输XDB dbf文件)
zhcxxt :/dsgh #ftp Connected to gdhish Unauthorised use of this FTP server is prohibited and may be subject to civil and criminal prosecution gdhish FTP Server (Oracle XML DB/Oracle Database) ready Name ( :root): system pass required for SYSTEM Password: SYSTEM logged in ftp> cd sys/a *** CWD Command successful ftp> ls PORT Command successful ASCII Data Connection ORAHIS_ G ORAHIS_ G ASCII Transfer Complete ftp> cd ORAHIS_ G/datafile CWD Command successful ftp> bin Type set to I ftp> get XDB dbf PORT Command successful BIN Data Connection BIN Transfer Complete bytes received in seconds ( e+ Kbytes/s) local: XDB dbf remote: XDB dbf ftp>
) HTTP访问示例
通过类似的URL来访问
小结
lishixinzhi/Article/program/Oracle/201311/16705
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)