Oracle安装为何提示Swap为0_使用dd命令创建Swap文件并挂载生效
Oracle安装失败因系统未启用交换空间,需手动创建swapfile:dd生成、chmod 600、mkswap、swapon,并在/etc/fstab中添加持久化条目。
安装Oracle时,如果遇到 checking swap space: 0 mb a vailable, 150 mb required. failed 这个提示,问题其实很明确:系统里压根儿没有启用任何交换空间,而不是空间不足。这意味着你必须手动创建并激活一个 swapfile,否则安装程序会直接退出,连后续的参数校验都走不到。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
为什么free显示Swap为0且swapon -s无输出
这个现象说明,系统既没有配置传统的swap分区,也没有挂载任何swap文件。这种情况在最小化安装的CentOS、RHEL或Oracle Linux上尤其常见,特别是那些为了快速部署而制作的虚拟机镜像,默认往往不配置swap。这里有个关键点需要注意:用 df -h 是查不到swap的,因为它不占用常规的挂载点;同样,直接 ls /swapfile 也大概率会返回文件不存在。所以,最可靠的确认方法就是运行 swapon -s,如果输出为空,那就坐实了swap未被启用。
dd创建swap文件时的三个关键参数陷阱
创建swap文件的典型命令是 dd if=/dev/zero of=/swapfile bs=1M count=2048,但这里面有几个细节容易踩坑:
bs和count的乘积必须大于等于Oracle要求的最小值(通常从1.5G起步),但也不是越大越好。经验表明,当物理内存超过8G时,分配2G的swap通常就足够了;超过16G,可以考虑设到4G,再往上增加对性能提升的意义不大。of参数指定的路径要谨慎选择。不要放在/tmp或/home这类可能被挂载为noexec或nosuid选项的分区上。稳妥起见,推荐在根目录下创建,比如/swapfile或/usr/local/swapfile。- 执行命令前,务必用
df -h /确认目标磁盘的剩余空间足够容纳你设定的大小。否则,dd命令中途报错No space left on device,会导致生成的文件损坏,前功尽弃。
mkswap和swapon必须按顺序执行且权限要锁死
接下来的步骤顺序和权限设置至关重要,一旦出错就会触发警告甚至直接失败:
- 首先运行
chmod 600 /swapfile—— 这里必须是600,而不是常见的644或755。因为从某个内核版本开始,swapon命令会强制检查文件权限,过宽的权限会导致其拒绝操作。 - 接着运行
mkswap /swapfile—— 这一步是为文件写入交换空间标识,绝对不能跳过。否则,执行swapon时会报错swapon: /swapfile: read swap header failed。 - 最后运行
swapon /swapfile—— 激活交换空间。成功后,立即用swapon -s验证,输出列表中应该能看到/swapfile这一行,且Type列显示为file。 - 如果过程中间出现
insecure permissions的提示,千万别忽略。回头检查并执行chmod 600后重试,否则即使勉强挂上,Oracle安装程序也可能拒绝识别。
临时生效够安装,但永久生效要改/etc/fstab且避免重复挂载
完成上述步骤后,swap已经临时生效,足够让Oracle安装程序继续运行了。但服务器一旦重启,这个配置就会丢失。要实现永久生效,需要修改系统启动文件:
- 向
/etc/fstab文件末尾追加一行:/swapfile swap swap defaults 0 0(注意最后两个数字是零“0”,而不是字母“O”)。 - 添加前,最好先检查一下这行配置是否已经存在,避免重复。否则,执行
swapon -a时会报错swapon: /swapfile: swapfile has wrong size。 - 切记,不要在Oracle安装过程中执行
swapoff -a && swapon -a这类操作。这会中断正在使用的交换空间,可能导致安装进程静默崩溃。 - 添加完成后,可以用
grep swapfile /etc/fstab命令验证,确保有且仅有一行对应的输出。
整个流程中,最容易被人忽略的就是 chmod 600 这一步。很多教程只罗列命令,却未强调其必要性。实际上,dd 命令生成的文件默认权限是 644,而自Linux内核4.4+版本后,swapon 开始强制校验权限,不满足条件就会静默失败。所以,在安装Oracle前,多花10秒钟执行 ls -l /swapfile 确认一下权限,远比安装到一半报错、然后从头再来要节省得多——后者可能白白浪费你半小时。
相关攻略
ORA-04092错误:触发器中直接COMMIT会报此错,因Oracle禁止在触发器内提交事务,自治事务需显式声明PRAGMA AUTONOMOUS_TRANSACTION并手动COMMIT,否则自动回滚。 Oracle触发器里执行COMMIT会报什么错 如果你在触发器里直接写上 COMMIT 或
Ja va不创建Oracle索引,索引须在数据库中由有权限用户执行DDL创建;Ja va仅可执行CREATE INDEX语句或通过ORM间接调用,但运行时建索引易引发事务、性能及安全问题。 先说一个核心事实:Ja va本身并不创建Oracle索引。索引是数据库层面的对象,必须在Oracle数据库内部
Oracle 11g 静默删除数据库:避开响应文件与状态校验的“坑” 在 Oracle 11g 环境下,使用 dbca -silent 命令删除数据库,可不是一句简单的 -deleteDatabase 就能搞定的事儿。直接敲命令行?多半会碰壁。核心原因在于,11g 的静默模式设计上完全依赖响应文件驱
ORA-01110:那个“文件不可用”的最终提示,到底在说什么? 先明确一个核心判断:ORA-01110本身从来不是独立错误。它更像是一个最终的系统提示,告诉你“有个文件出问题了,操作到此为止”。真正的病根,得往前翻看日志里紧挨着的ORA-01578、ORA-01157、ORA-01111或ORA-
RMAN恢复失败报ORA-19809 ORA-19804?根本原因不是磁盘满,而是闪回恢复区配额耗尽 遇到RMAN恢复时抛出ORA-19809或ORA-19804错误,很多人的第一反应是去查操作系统磁盘空间。但真相往往并非如此。问题的核心,通常在于闪回恢复区(FRA)的配额(db_recovery_
热门专题
热门推荐
Origin Code发布VORTEX系列专用分体式水冷冷头模块 2026年4月7日,知名内存模组品牌Origin Code正式发布了专为VORTEX系列内存打造的分体式水冷冷头模块,官方售价为899元。这款产品的推出,为追求极致散热性能、低温和系统视觉一体化的高端DIY玩家及超频爱好者,提供了一个
荣耀WIN游戏本定档4月23日:性能释放突破250瓦,电竞体验全面升级 2026年4月7日,荣耀正式揭晓了全新WIN游戏本的发布日期:4月23日。这款备受瞩目的产品其实早已不是秘密,早在去年12月,荣耀PC产品负责人就已经在公开渠道透露了新品的进展,并确认了一个关键身份——它将成为《三角洲行动》职业
内存供应趋紧,苹果部分Mac交付周期显著延长 进入2026年第二季度,全球半导体产能的重新分配仍在持续。一个不容忽视的趋势是,人工智能应用的爆发式增长,正持续推高对高性能内存芯片的需求,导致DRAM市场供应整体趋紧。自去年下半年开始的这轮价格上涨,让终端设备制造商普遍感受到了成本压力,即便是供应链管
荣威全新i6上市:7 49万起售,搭载8155芯片与国潮 2026年4月30日,荣威品牌旗下的全新一代紧凑型轿车i6正式推向市场。新车一口气带来了三款配置,分别命名为长久版、豪久版与臻久版,官方给出的指导价区间定在7 49万元到8 49万元。不过,眼下正值上市初期,官方还推出了限时抢订政策,实际支付
暗黑破坏神4:憎恨之王上线后,术士职业迅速跻身当前版本最具统治力的职业行列 其核心能力涵盖恶魔召唤、地狱火攻击与神秘印记体系,其中一种以“召唤即献祭”为运转逻辑的召唤流派正展现出显著优势。 这次资料片带来的技能系统重构,可以说是一次彻底的革新:所有被动技能被移除,每个主动技能都扩展成了拥有多节点分支





