聊到 Oracle 数据库的安装和配置,我第一反应是:这事儿真没想象中那么玄乎。很多人一听“企业级数据库”,就觉得门槛高得离谱,其实拆开来看,就是一套流程活儿。我有个朋友,刚转行做 DBA 那会儿,第一次装 Oracle,愣是照着文档折腾了三天,发现是忘了改一个环境变量。后来他跟我说,装 Oracle 就像组装乐高,说明书得看,但更重要的是知道每块砖头放哪儿。今天咱们就唠唠这事儿,从准备到跑起来,每一步都讲点实在的。

先说准备工作。别急着下载安装包,你得先搞清楚自己的机器是什么配置。Oracle 对硬件要求不算变态,但内存少于 4 GB 就别折腾了,8 GB 起步比较舒坦。硬盘得留出至少 20 GB 空间,这还只是基础安装,后面数据文件、归档日志会越滚越大。操作系统这块,Linux 是主流,CentOS 7 或 Red Hat 7 最常见。我见过有人直接在 Windows Server 上装,也能跑,但生产环境几乎没人这么干——稳定性差一截。关键一步是配置内核参数,比如 和 ,这些参数决定系统能打开多少进程、多少文件。忘了改的话,安装时大概率会报“无法分配共享内存”。我习惯提前跑一遍官方脚本,把参数一次性怼进去,省得后面手忙脚乱。
接下来是下载和解压。Oracle 的官网现在学精了,下载前得注册账号,还要签协议。别嫌麻烦,这是正经软件,不是路边摊随便拿。我一般选最新的长期支持版,比如 19c 或 21c。注意,不同版本对操作系统有要求,21c 在 CentOS 7 上可能需要额外补丁。下载下来是个 zip 包,解压后里面是 目录。有个小细节:解压路径别用中文,也别有空格,否则 Oracle 的图形界面会抽风。我有个同事把解压路径设在“我的文档”里,结果安装程序直接报“找不到文件”,折腾半天才发现是路径编码问题。解压完,记得把目录权限改成 ,不然后面执行 时会提示权限不足。
安装阶段,有两种方式:图形界面和静默安装。图形界面最直观,敲 ,弹出窗口,一路点“下一步”就行。但前提是机器得有图形环境,或者你开了 VNC。我生产环境里几乎不用图形界面,因为服务器通常没装桌面。静默安装才是王道,它靠一个 文件驱动。你得提前写好这个文件,指定 、 等参数。我第一次写响应文件时,卡在数据库字符集上——默认是 AL32UTF8,但老板要求用 ZHS16GBK,结果我忘改,后面重建数据库才搞定。所以,静默安装前一定把响应文件里的每个参数过一遍,尤其是 和 路径,别和别的版本冲突。
配置环节,最核心的是监听器。装完软件后,要启动 监听器,它负责接收客户端的连接请求。默认端口是 1521,但生产环境里我建议换成不常用的端口,比如 1522 或 1523,能少挨点扫描攻击。启动监听器很简单:,然后 看状态。如果报 “TNS-12541: TNS:no listener”,八成是没启动或端口被占用了。我遇到过最奇葩的情况是防火墙把端口封了,管理员死活不承认,抓包才发现是 iptables 的锅。监听器的配置文件叫 ,里面可以设置日志路径和最大连接数,默认值太小,我习惯改成 手动指定数据库实例。
数据库实例的创建分两步走:先跑 工具生成初始化参数文件,再创建数据文件和控制文件。 也有图形和静默两种模式。图形界面最省心,选“创建数据库”,填全局数据库名和 SID。我一般取名 ,简单好记,但生产环境建议按业务命名,比如 。字符集这块前面提到,选错后面改起来很麻烦。数据文件默认放在 下,我习惯单独挂一个高速磁盘(如 SSD),把 和 都挪过去,能明显提升 I/O 性能。创建过程中, 会自动跑几个脚本,比如 和 ,这会花点时间,我见过慢点的机器跑了 45 分钟。
配置完成后,别急着上线,先做一轮基础调优。内存这块, 和 是核心参数。默认值往往偏保守,比如给 4 GB 内存的机器配 1 GB SGA。我一般把 SGA 调到物理内存的 60%,PGA 调到 20%,剩下留给操作系统。调完需要重启数据库:。还有 ,如果业务里 SQL 查询频繁,这个值得调大,否则会频繁“硬解析”,拖慢性能。我有个客户上线第二天就卡死,一查是 只有 100 MB,改成 1 GB 后查询速度翻了三倍。别忘了开启归档模式,生产环境必须开,否则数据库崩了没法恢复。,然后配置归档路径,例如 。
安全配置这块,很多人容易忽略。Oracle 默认有 和 账户,密码要设复杂,别用 这种弱口令。我见过最离谱的情况是管理员把密码设成 ,结果被扫描工具直接爆了。 里的 参数建议设成 ,这样只有本机能改监听器配置,能防止远程注入攻击。网络层面, 文件里加一行 ,强制客户端使用 12c 以上的协议,避免老版本漏洞。防火墙规则也别马虎,只开放必要的端口,比如 1521,其他全部封闭。我有个客户数据库跑在公网 IP 上,没配白名单,结果被挖矿程序扫到,CPU 飙到 100%。
聊聊运维习惯。装完 Oracle,别以为万事大吉。定期备份是底线, 工具一定要熟练使用。我习惯每天凌晨跑一次全库备份,保留 7 天,加上归档日志的增量备份。恢复演练也必须做,我见过不少人备份了三年,真出事时发现备份文件损坏。还有监控, 文件里藏着数据库的“体检报告”,比如 ORA-600 错误就是严重警告,必须立刻排查。我每天上班第一件事,就是 ,看一眼有没有异常。版本升级也要上心,Oracle 每隔一两年就出一个补丁包,修复大量安全漏洞。别等被攻击了才想起升级,到时候哭都来不及。说到底,Oracle 的安装配置是一场马拉松,细节决定成败,但跑起来后,你会发现这东西其实挺靠谱,只要不偷懒。


