您好,欢迎访问数据库运维|优化|安装|迁移|服务官网!
13261661949
从MySQL转Oracle19c踩坑实录,三天没睡好觉的安装指南-数据资讯-数据库运维|优化|安装|迁移|服务_uDBok.com

新闻动态

联系我们

从MySQL转Oracle19c踩坑实录,三天没睡好觉的安装指南-数据资讯-数据库运维|优化|安装|迁移|服务_uDBok.com

地址:北京市昌平区高新经济开发区
手机:13261661949

咨询热线13261661949

从MySQL转Oracle19c踩坑实录,三天没睡好觉的安装指南

发布时间:2026-06-14 21:42:00人气:1782

前几天帮一个朋友装 Oracle 19c,折腾了大半天,中间各种报错,搞得我们俩都想砸键盘。他之前一直用 MySQL,公司突然要求上 Oracle,结果装个数据库就卡了两天。这事儿让我想起自己刚入行时装 Oracle 11g,也是各种踩坑,三天没睡好觉。所以今天干脆把 Oracle 19c 的安装过程捋一捋,省得大家再走弯路。

从MySQL转Oracle19c踩坑实录,三天没睡好觉的安装指南

先说说准备工作。装 Oracle 19c 之前,系统环境得先搭好。我这边用的是 CentOS 7.9,这个版本和 Oracle 19c 的兼容性还不错。内存最少 8 GB,建议 16 GB 起步,不然装完跑起来也会卡。硬盘空间至少留 100 GB,安装文件、数据库文件和日志都会占不少空间。还有个坑——swap 分区要够大,官方文档说如果内存小于 8 GB,swap 要设成内存的 1.5 倍;如果大于 8 GB,swap 就设成内存的 75%。我朋友就是 swap 设小了,结果安装到一半直接报内存不足,气得直骂娘。

接下来是依赖包。Oracle 19c 对系统依赖包要求很多,少装一个后面就会报错。我一般用 yum 一次性装完:binutils、compat-libcap1、compat-libstdc++、glibc-devel、ksh、libaio-devel、libXext、libXtst、libX11、libXau、libXi、make、sysstat、unixODBC-devel、gcc-c++。这串名单看着多,但缺一个后面就等着报错。我有个同事图省事,跳过了 ksh,结果装到后面直接卡死,排查了两小时才找到原因。装完记得检查版本,用 ,确保都已安装。

系统参数这块儿也容易出问题。Oracle 数据库跑起来需要调一些内核参数,比如 kernel.sem、kernel.shmmax、net.core.rmemdefault 等。我一般直接在 里加,然后执行 生效。还有一个容易忽略的地方——用户进程数限制。需要在 里给 oracle 用户加上 和 的限制,不然数据库启动时可能会报 “ORA-27102: out of memory”。我朋友就是没设这个,装完启动数据库,日志全是这个错,差点把服务器重启了。

用户和组的环境变量也马虎不得。先创建 oinstall 组和 dba 组,然后建一个 oracle 用户,主目录设成 。环境变量我习惯写在 里:、、、、 等。有个细节—— 千万别设成 的上级目录,否则安装时解压文件会出乱子。我见过有人把 设成了 ,结果安装程序找不到 bin 目录,报了一堆莫名其妙的错。

安装包下载和解压也有讲究。Oracle 19c 的安装包是 zip 格式,直接 解压就行。但有个坑——解压路径必须放在 目录下,而且该目录要提前建好并赋予足够权限。我一般用 ,随后 。解压完记得检查文件完整性,确认没有报错。有些压缩包在下载过程中会损坏,解压时不一定报错,等到安装时才出问题,那就麻烦了。

图形化安装那步,得确保 X11 转发配置好。如果是在远程服务器上装,使用 连接,或者用 VNC。我习惯用 VNC,因为图形界面响应快。安装时选择 “Create and configure a single instance database”,一路点下一步。但有几个地方要留心:字符集建议选 ,否则以后数据迁移会麻烦;全局数据库名和 SID 别搞混,我见过有人把 SID 设成 ,全局数据库名写成 ,结果启动时报错 “ORA-12541: TNS:no listener”。内存分配那块别贪心,留点给操作系统。

安装过程中最让人头疼的就是各种报错。常见的有 “INS-13001: Environment does not meet minimum requirements”,通常是系统参数没配好;还有 “Error in invoking target 'agent nmhs' of makefile”,与 glibc 版本有关,需要装对应的 compat 包。我遇到最多的是 “ORA-12547: TNS:lost contact”,这通常是监听配置问题,得检查 和 。一个小窍门是——安装前先跑一遍 Oracle 自带的预检查脚本,它会告诉你哪些环境不达标,省得装到一半才报错。

装完配置监听器也容易翻车。 配置监听器时,默认端口是 1521,但有些服务器上这个端口被占用了,需要换个端口。我有个项目就是 1521 被其他服务占用,导致监听器起不来,查了半天才发现。配置完后用 验证,看到 “STATUS” 为 “READY” 就算成功。还有 里的 ,如果设成 ,要确保操作系统用户权限匹配,否则会连不上。

说说数据库创建后的检查。装完先用 连接,查看版本是否正确: 然后检查监听器状态: 再查看数据文件路径: 这些都正常的话,基本就搞定了。但别忘了修改 和 的密码,别用默认的。生产环境一定要开启归档模式,否则数据丢失后就哭都来不及。我朋友装完忘了开归档,第三天磁盘坏了,数据全丢,复盘时才发现问题。

写这些的时候,我又想起当年装 Oracle 11g 时的惨状——装完数据库,客户端连不上,查了三天才发现是防火墙没关。现在想想,装 Oracle 数据库这事儿,说难不难,说不难也真能让人抓狂。关键是别急,一步步来,该检查的检查,该配置的配置。实在搞不定,也别硬撑,找个人远程帮看看,省得浪费时间。毕竟,装数据库只是第一步,后面还有调优、备份、监控等更多坑等着呢。

推荐资讯

13261661949