在CentOS系统上通过命令行安装Oracle数据库是一个复杂但可行的过程,需要仔细准备系统环境、依赖包以及参数配置,以下将详细介绍整个安装流程,包括系统准备、Oracle用户配置、依赖安装、数据库软件部署及后续验证步骤。

系统准备
确保CentOS系统版本与Oracle数据库兼容(如CentOS 7或8),关闭防火墙和SELinux,避免安装过程中权限问题:
sudo systemctl stop firewalld sudo systemctl disable firewalld sudo setenforce 0 sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
检查系统内存和swap空间,Oracle建议至少2GB内存和swap空间为内存的2倍(可通过free -m查看),创建必要的目录并设置权限:
sudo mkdir -p /u01/app/oracle sudo chown -R oracle:oinstall /u01/app/oracle sudo chmod -R 755 /u01/app/oracle
Oracle用户配置
创建oinstall和dba用户组,并添加oracle用户:
sudo groupadd oinstall sudo groupadd dba sudo useradd -g oinstall -G dba oracle sudo passwd oracle
配置oracle用户的资源限制,编辑/etc/security/limits.conf,添加以下内容:

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
修改/etc/pam.d/login文件,添加session required pam_limits.so。
安装依赖包
Oracle数据库需要大量依赖包,通过yum安装:
sudo yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
安装完成后,可通过rpm -q命令验证依赖包是否全部安装成功。
数据库软件安装
-
上传安装文件:将Oracle数据库安装包(如linuxx64_12201_database.zip)上传至服务器的
/tmp目录,并解压:
(图片来源网络,侵删)cd /tmp unzip linuxx64_12201_database.zip chown -R oracle:oinstall /database
-
运行安装程序:切换至oracle用户,执行图形化安装(需配置X11转发)或静默安装,静默安装需先响应文件(
db_install.rsp),关键参数如下:oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0 oracle.install.option=INSTALL_DB_SWONLY ORACLE_HOSTNAME=centos-oracle UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/u01/app/oraInventory SELECTED_LANGUAGES=en,zh_CN ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1 ORACLE_BASE=/u01/app/oracle oracle.install.db.InstallEdition=EE oracle.install.db.EEOptionsWithDBAGroup=true oracle.install.db.DBA_GROUP=dba
-
执行安装:使用
runInstaller命令并指定响应文件:su - oracle /database/runInstaller -silent -responseFile /tmp/db_install.rsp -ignorePrereq
安装过程中会提示执行脚本
/u01/app/oraInventory/orainstRoot.sh和/u01/app/oracle/product/12.2.0/dbhome_1/root.sh,需使用root权限执行。
数据库实例配置
安装完成后,使用dbca工具创建数据库实例,同样支持静默模式,创建响应文件dbca.rsp:
GDBNAME=orcl SID=orcl SYSPASSWORD=YourPassword SYSTEMPASSWORD=YourPassword SYSMANPASSWORD=YourPassword DBSNMPPASSWORD=YourPassword DATAFILEDESTINATION=/u01/app/oracle/oradata RECOVERYAREADESTINATION=/u01/app/oracle/fast_recovery_area CHARACTERSET=AL32UTF8 TOTALMEMORY=2048 # 单位MB
执行命令创建实例:
dbca -silent -createDatabase -responseFile /tmp/dbca.rsp
验证安装
启动监听器并检查数据库状态:
lsnrctl start sqlplus / as sysdba SQL> startup SQL> select status from v$instance;
若返回OPEN,则安装成功。
相关问答FAQs
Q1: 安装过程中提示“swap空间不足”如何解决?
A1: 可通过增加swap文件解决,例如创建2GB的swap文件:
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 sudo mkswap /swapfile sudo swapon /swapfile echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Q2: 如何修改Oracle数据库字符集?
A2: 字符集需在数据库创建后修改,步骤如下:
- 关闭数据库:
SQL> shutdown immediate - 启动到mount状态:
SQL> startup mount - 执行修改字符集命令(如AL32UTF8):
SQL> ALTER DATABASE NATIONAL CHARACTER SET AL32UTF8; - 打开数据库:
SQL> alter database open;注意:修改字符集可能导致数据损坏,建议提前备份。
