一、安装前的准备工作

(一)检查系统环境要求

操作系统版本:确保 Linux 系统版本与 Oracle 数据库版本兼容,例如 Oracle 19c 在 CentOS 7 上支持良好。内核版本:使用命令 uname -a 查看系统内核版本,确保其符合 Oracle 的最低要求。硬件资源:

内存:至少 2GB RAM,推荐 4GB 或更多。硬盘空间:至少 50GB 可用空间,根据安装选项和数据库大小,可能需要更多。

依赖库:检查系统是否已安装必需的依赖库,如 libaio、libstdc++ 等。

(二)下载 Oracle 安装文件

访问 Oracle 官方网站,找到 Oracle Database 12c 的下载页面。根据 Linux 系统的架构(如 x86_64),下载对应的安装包,通常为 .zip 格式。将下载的文件保存到一个独立的安装文件夹中,例如 /data/file/oracle。

(三)创建用户和用户组

创建 oinstall 和 dba 用户组:groupadd oinstall

groupadd dba

创建 oracle 用户,并将其加入到 oinstall 和 dba 用户组:useradd -g oinstall -G dba oracle

设置 oracle 用户的密码:passwd oracle

(四)系统参数配置

修改内核参数:编辑 /etc/sysctl.conf 文件,添加以下内容:fs.file-max = 6815744

fs.aio-max-nr = 1048576

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

执行 sysctl -p 使配置生效。修改用户资源限制:编辑 /etc/security/limits.conf 文件,添加以下内容:oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

oracle hard stack 10240

修改 PAM 配置:编辑 /etc/pam.d/login 文件,添加以下内容:session required /lib64/security/pam_limits.so

session required pam_limits.so

(五)安装依赖包

以 root 用户执行以下命令安装所需的依赖包:

yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686

二、安装 Oracle 数据库

(一)上传并解压安装包

创建安装目录并设置权限:su root

mkdir -p /data/file/oracle

chown -R oracle:oinstall /data/file/oracle

chmod -R 775 /data/file/oracle

上传安装包到 /data/file/oracle 目录,例如通过 scp 命令:scp -P 12305 root@192.168.1.200:/data/backup/db/oracle/12c/V839960-01.zip /data/file/oracle

安装解压工具:yum install -y unzip zip

切换到 oracle 用户并解压文件:su - oracle

unzip /data/file/oracle/V839960-01.zip

(二)配置安装响应文件

复制响应文件模板:mkdir /data/file/oracle/database/etc

cp /data/file/oracle/database/response/* /data/file/oracle/database/etc

设置响应文件权限:su root

chmod 700 /data/file/oracle/database/etc/*.rsp

编辑响应文件 db_install.rsp:su - oracle

vim /data/file/oracle/database/etc/db_install.rsp

修改以下关键参数:oracle.install.option=INSTALL_DB_SWONLY

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/data/server/oracle/oraInventory

ORACLE_HOME=/data/server/oracle/product/12/db_1

ORACLE_BASE=/data/server/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.OSDBA_GROUP=dba

oracle.install.db.OSOPER_GROUP=oinstall

oracle.install.db.OSBACKUPDBA_GROUP=oinstall

oracle.install.db.OSDGDBA_GROUP=oinstall

oracle.install.db.OSKMDBA_GROUP=oinstall

oracle.install.db.OSRACDBA_GROUP=oinstall

oracle.install.db.config.starterdb.type=GENERAL_PURPOSE

oracle.install.db.config.starterdb.globalDBName=orcl

oracle.install.db.config.starterdb.SID=orcl

oracle.install.db.config.starterdb.memoryLimit=81920

oracle.install.db.config.starterdb.password.ALL=oracle

SECURITY_UPDATES_VIA_MYORACLESUPPORT=false

DECLINE_SECURITY_UPDATES=true

(三)运行安装脚本

切换到安装文件目录:cd /data/file/oracle/database

运行安装脚本:./runInstaller -silent -responseFile /data/file/oracle/database/etc/db_install.rsp

如果出现权限问题,可使用以下命令添加执行权限:chmod +x runInstaller

(四)配置 Oracle 数据库

配置监听器:

执行以下命令启动监听器配置工具:netca

按照提示完成监听器的配置,设置端口号(默认为 1521)。

创建数据库实例:

执行以下命令启动数据库配置助手:dbca

按照提示完成数据库实例的创建,包括设置数据库名、字符集等信息。

设置环境变量:

编辑 /etc/profile 文件,添加以下内容:export ORACLE_HOME=/data/server/oracle/product/12/db_1

export ORACLE_BASE=/data/server/oracle

export ORACLE_SID=orcl

export PATH=$PATH:$ORACLE_HOME/bin

使环境变量生效:source /etc/profile

三、验证安装

(一)检查服务状态

使用以下命令检查 Oracle 相关服务是否正常启动:

ps -ef | grep ora_pmon

ps -ef | grep ora_tns

如果看到类似以下输出,则表示服务已启动:

oracle 12345 1 0 12:34 ? 00:00:01 ora_pmon_orcl

oracle 12346 1 0 12:34 ? 00:00:01 ora_tns_orcl

(二)登录数据库

使用以下命令以 sys 用户登录数据库:

sqlplus sys/oracle as sysdba

如果成功登录,表示数据库安装和配置成功。

(三)测试数据库功能

在 SQL*Plus 中执行以下命令,测试数据库的基本功能:

SELECT * FROM v$version;

如果能够正常返回 Oracle 数据库的版本信息,则说明数据库功能正常。

四、常见问题及解决方法

(一)安装过程中提示权限不足

确保当前用户为 oracle,并属于 oinstall 和 dba 用户组。检查安装文件和目录的权限,确保 oracle 用户有足够权限访问。

(二)监听器无法启动

检查监听器配置文件 /data/server/oracle/product/12/db_1/network/admin/listener.ora 是否正确。确保监听器端口(默认 1521)未被其他应用占用。

(三)数据库实例无法启动

检查数据库实例的告警日志文件,通常位于 /data/server/oracle/diag/rdbms/orcl/orcl/trace 目录下。根据日志中的错误信息进行排查和修复。