装Oracle数据库这事儿,说难不难,说简单也真不简单。我见过不少新手,兴冲冲下载了12c安装包,结果卡在环境检查、权限配置、字符集选择这些环节上,一折腾就是一下午。其实Oracle 12c的安装流程,本质上就是一套固定动作,只要理清了步骤背后的逻辑,跟着做就行,完全没必要把它想得太玄乎。今天我就把整个流程掰开了揉碎了讲一遍,你照着操作,大概率能一次过。

先说准备工作,这一步最容易被忽略,但恰恰是成败的关键。Oracle 12c对操作系统有硬性要求,比如Linux环境下需要特定的内核版本和依赖包,Windows下则需要提前关闭防火墙和杀毒软件。很多人一上来就双击安装程序,结果报错“缺少libaio”或者“端口被占用”,其实都是前置条件没满足。我的建议是,先花十分钟检查一下系统版本,用看内核,用看发行版,再确认物理内存至少2G以上,交换分区4G左右。这些数字不是死规矩,但低于这个标准,后面跑起来会非常卡,甚至直接装不上。
接下来是下载和解压安装包。Oracle官网的下载页面有点隐蔽,你得先注册一个Oracle账号,然后从OTN(Oracle Technology Network)找到Database 12c的下载链接。这里有个坑:安装包分两个zip文件,必须全部下载完再解压,而且两个压缩包要解压到同一个目录下,否则安装程序会提示“找不到组件”。解压的时候别用Windows自带的解压功能,容易丢文件,推荐用7-Zip或者WinRAR。解压完以后,你会看到一个叫的文件夹,里面有个或者脚本,这就是启动安装的入口。
到了正式安装环节,类型选择上我直接建议新手选“桌面类”安装。企业类安装会弹出很多高级选项,像ASM存储、RAC集群这些,对初学者来说完全是负担。桌面类安装是傻瓜式的,数据库实例、监听器、网络配置这些都会自动搞定,你只需要设置一个管理员密码,然后等进度条走完就行。当然,如果你是在服务器上部署,那就得选“服务器类”,然后手动配置ASM磁盘组和数据文件路径,这个我们后面有机会再细讲,今天先说新手友好的路径。
再往下就是图形化界面里的具体操作了。安装向导会让你选择数据库版本,12c有Standard Edition和Enterprise Edition两个版本,功能差别不大,但SE版在并发数和高级特性上有限制,个人学习用SE完全够了。然后是要不要创建可插拔数据库(PDB),12c最大的卖点就是多租户架构,我建议新手勾选“创建可插拔数据库”,因为这样你可以在一个容器数据库里建多个独立数据库,以后练习不同场景不用反复重装。PDB的管理员密码可以和主数据库密码一致,省得记错。
接下来是文件路径和字符集的设置。Oracle默认会把数据文件装到下,但这个目录需要root权限才能写,所以安装前必须提前创建好目录结构,并给oracle用户赋予对应权限。字符集这块,新手容易踩坑——如果你以后要处理中文数据,就选,这是Oracle推荐的Unicode字符集,千万别选这种西欧字符集,否则中文全变乱码。我记得有个朋友装完数据库后导数据,发现所有中文都是问号,重装了才解决,代价太大了。
安装过程中会要求你执行两个root脚本,一个是,一个是。这两个脚本必须在终端里用root用户手动执行,不能跳过。很多人觉得麻烦就跳过了,结果安装完成后数据库能启动,但监听器起不来,查日志才发现是权限没配上。执行脚本的时候注意看输出,如果有报错就先解决再继续,别硬着头皮往下走。另外,安装界面会提示你检查“先决条件检查”,如果某些项显示“未通过”,点“全部修复”让它自动补包,比手动一个个装要快得多。
安装完成后,别急着欢呼,先验证一下是否真的装好了。用登录,如果能看到SQL>提示符,说明数据库实例起来了。然后执行,能返回数据库名就说明一切正常。这时候你还可以用查看监听器状态,看到“Service”列表里有你的数据库服务名,就万事大吉了。我习惯再顺手创建一张测试表,插入几条数据再查出来,确认读写都没问题,才敢跟别人说“装好了”。
说几个新手常踩的坑,帮你避雷。第一,安装路径和目录名别带中文和空格,Oracle对路径格式很敏感。第二,如果安装中途报错“无法在/tmp目录创建文件”,那是/tmp空间不够,清一下临时文件就行。第三,Windows下安装时,管理员密码不能是纯数字,必须字母加数字组合,否则过不了密码复杂度检查。第四,也是我反复强调的,安装前一定先看官方文档的“系统要求”章节,别看网上那些简化教程,版本不同细节差很多。
其实Oracle 12c的安装,说白了就是“准备环境—解压安装包—图形化点选—执行脚本—验证结果”这五步。每一步都有章可循,出错也无非是权限、路径、依赖包这几个原因。新手最需要的不是技巧,而是耐心——按顺序把每一步做到位,别跳步别省事。等你装完第一个实例,再回头看这个过程,会发现它比你想象中简单得多。数据库这行当,入门就是装好第一个库,一旦跨过这道坎,后面的路就顺了。


