一、安装前的准备工作
(一)检查系统环境要求
操作系统版本:确保 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 目录下。根据日志中的错误信息进行排查和修复。