0

0

如何通过ASMCMD管理共享文件_cd, ls, cp命令在ASM文件系统中的应用

P粉602998670

P粉602998670

发布时间:2026-03-12 16:43:03

|

191人浏览过

|

来源于php中文网

原创

ASMCMD中cd命令仅支持磁盘组名(如+DATA)或相对路径,不支持绝对路径;ls仅显示ASM对象逻辑信息,不显示OS级属性;cp要求源目标磁盘组兼容且空间充足;环境变量与权限配置必须正确。

cd 命令在 ASM 中不能直接切换磁盘组路径

asm 不是传统文件系统,cd 在 asmcmd 里不支持类似 /+data/orcl/datafile/ 这样的绝对路径跳转。它只认磁盘组名(如 +data)或相对路径(如 orcl/datafile),且必须先用 ls 确认当前上下文是否在有效磁盘组下。

常见错误现象:ASMCMD> cd +DATA/ORCL/DATAFILE 报错 ORA-15032: not all alterations performed 或直接提示“no such file or directory”——其实不是路径不存在,而是 ASMCMD 当前没挂载该磁盘组,或路径格式不合法。

  • 进入磁盘组:必须用 cd +DATA(注意开头的 +),不能省略
  • 后续子目录切换:可用 cd ORCL/DATAFILE,但前提是当前已在 +DATA
  • 跨磁盘组跳转不能嵌套写,比如 cd +FRA 必须单独执行,不能从 +DATA 下直接 cd ../+FRA
  • ASMCMD 启动后默认不在任何磁盘组下,首次 cd 必须指定完整磁盘组名

ls 列出 ASM 文件时看不到普通文件系统里的隐藏语义

ls 在 ASMCMD 中返回的是 ASM 内部对象(如 DATAFILE、CONTROLFILE、ARCHIVELOG),不是 OS 层面的 inode 或权限位。它不显示属主、mtime、大小字节(只显示 MB 单位的逻辑大小),也不反映底层 AU 分布。

使用场景:排查数据库启动失败时控制文件路径是否正确,或确认归档日志是否已生成并可见。

  • -l 只多显示类型(TYPE)、冗余(GID)、状态(STATE),不显示权限或时间戳
  • -t 按创建时间排序,但 ASM 时间戳精度有限,可能多个文件显示相同时间
  • ls 返回空,先确认磁盘组是否 MOUNTED(用 asmcmd lsdg 查),再确认用户有对应磁盘组的 ASMADMINASMOPER 角色
  • 对别名(alias)和系统生成的文件名(如 DATAFILE.256.987654321)要区分:别名可读性强,但底层仍是编号文件;ls -lNAME 列显示别名,FILENAME 列才显示真实编号名

cp 命令复制 ASM 文件需严格匹配源/目标存储属性

cp 在 ASMCMD 中本质是调用 ASM 的内部 copy 接口,不是 OS 层拷贝。它要求源和目标磁盘组的兼容性参数(compatible.asm)、AU 大小、冗余模式(external/norm/high)必须能协同工作,否则静默失败或报错 ORA-15033 / ORA-15046

Krea AI
Krea AI

多功能的一站式AI图像生成和编辑平台

下载

性能影响明显:跨磁盘组复制会触发全量数据搬迁,IO 压力大,且期间无法中断(无进度条,无 cancel)。

  • 语法必须带完整路径:如 cp +DATA/orcl/datafile/users.256.987654321 +FRA/orcl/backup/users_bkup.dbf
  • 目标路径若含别名(如 +FRA/ORCL/BACKUP/users_new.dbf),ASM 会自动创建别名;若只写编号名(如 +FRA/datafile.257.987654322),则不会建别名
  • 不能跨版本复制:Oracle 19c 的 ASM 不能把文件 cp 到 12.1 的磁盘组(compatible.asm 不向下兼容)
  • 复制过程中若目标磁盘组空间不足,错误可能延迟出现——等 copy 到 90% 才报 ORA-15041: diskgroup space exhausted

ASMCMD 命令依赖环境变量与权限,容易因配置漂移失效

ASMCMD 不是独立二进制,它依赖 ORACLE_HOMEORACLE_SID(指向 ASM 实例,通常是 +ASM)、以及当前 OS 用户是否属于 asmadmin 组。任一缺失都会导致连接失败或命令无响应。

最容易被忽略的点:RAC 环境下,ORACLE_SID 必须设为本地节点的 ASM 实例名(如 +ASM1),而不是数据库名;且 ORACLE_HOME 必须指向 Grid Infrastructure 安装路径,不是 RDBMS 的 ORACLE_HOME

  • 检查连接状态:运行 asmcmd -p 后输入 lsdg,若返回空或报 ORA-01034: ORACLE not available,先确认 ps -ef | grep pmon 是否有 ora_pmon_+ASM* 进程
  • 权限验证:OS 用户必须同时在 asmadminasmoper 组里(部分操作如 cp 需要 asmadmin
  • 环境变量错误典型表现:ASMCMD-00200: command 'ls' requires the ASM instance to be started,即使 ASM 实例明明在运行
  • 脚本中调用 ASMCMD 时,不要依赖交互式 shell 的环境变量,务必显式设置 export ORACLE_HOME=...export ORACLE_SID=+ASM1

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1925

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

656

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2395

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

47

2026.01.19

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1925

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

656

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2395

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

47

2026.01.19

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

76

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号