发布网友 发布时间:2022-04-21 01:47
共1个回答
热心网友 时间:2023-11-03 11:02
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命令列表
命令 说明 显示指定的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 Rend 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 由于是外部冗余方式 Rend为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来访问
小结
lishixin/Article/program/Oracle/201311/16705