Oracle在CentOS上的配置流程
/etc/redhat-release文件,将内容替换为对应版本的RHEL信息(如CentOS Linux release 7.x改为Red Hat Enterprise Linux Server release 7.x)。使用yum命令安装Oracle所需的依赖包,避免安装过程中出现缺失依赖错误。常见命令如下:
# CentOS 7/8通用依赖包
sudo yum install -y binutils gcc make sysstat ksh compat-libcap1 compat-libstdc++-33 glibc libaio libaio-devel libgcc libstdc++ libXi libXtst libX11
# CentOS 8额外依赖(如需通过RPM安装)
sudo yum install -y oracle-database-preinstall-19c elfutils-libelf-devel unixODBC unixODBC-devel
注:部分依赖包可能需要启用EPEL仓库(sudo yum install epel-release)。
为Oracle数据库创建专用用户和组,确保权限隔离:
# 创建组(oinstall:安装组;dba:数据库管理员组)
sudo groupadd oinstall
sudo groupadd dba
# 创建用户(oracle:数据库用户,加入oinstall和dba组)
sudo useradd -g oinstall -G dba oracle
# 设置用户密码
sudo passwd oracle
建议将Oracle安装目录的所有权赋予oracle:oinstall(如/u01/app/oracle)。
修改/etc/sysctl.conf文件,优化系统内核参数以满足Oracle运行需求:
sudo vi /etc/sysctl.conf
添加或修改以下参数:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295 # 建议设置为物理内存的一半(单位:字节)
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
使配置立即生效:
sudo sysctl -p
为Oracle用户设置环境变量,确保能正确识别Oracle软件路径和库文件。编辑/home/oracle/.bashrc文件:
sudo vi /home/oracle/.bashrc
添加以下内容(根据实际安装路径调整):
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1 # 版本号需匹配安装包
export ORACLE_SID=orcl # 数据库实例名
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export LANG=en_US.UTF-8
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
使配置生效:
source /home/oracle/.bashrc
从Oracle官网下载适用于Linux x64的Oracle Database安装包(如19c的linux.x64_193000_db_home.zip),上传至服务器并解压:
# 创建安装目录
sudo mkdir -p /u01/app/oracle
sudo chown -R oracle:oinstall /u01/app/oracle
# 切换至oracle用户并解压
su - oracle
unzip linux.x64_193000_db_home.zip -d $ORACLE_HOME
注:若使用RPM方式安装(如19c),可直接运行sudo yum localinstall oracle-database-19c-*.rpm。
切换至oracle用户,运行安装程序:
su - oracle
cd $ORACLE_HOME/database
./runInstaller
按照图形化向导完成安装:
/u01/app/oraInventory/orainstRoot.sh和/u01/app/oracle/product/19.3.0/dbhome_1/root.sh脚本。使用Oracle自带的netca(Net Configuration Assistant)工具配置监听器:
netca
按照向导操作:
LISTENER);使用dbca(Database Configuration Assistant)工具创建数据库实例:
dbca
按照向导操作:
orcl.example.com)和SID(与$ORACLE_SID一致);AL32UTF8,支持多语言);为了让Oracle数据库和监听器在系统重启后自动启动,需配置系统服务:
# 创建systemd服务文件(以19c为例)
sudo vi /etc/systemd/system/oracle.service
添加以下内容(根据实际路径调整):
[Unit]
Description=Oracle Database Service
After=network.target
[Service]
Type=forking
User=oracle
Group=oinstall
Environment="ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1"
Environment="ORACLE_SID=orcl"
ExecStart=$ORACLE_HOME/bin/dbstart $ORACLE_HOME
ExecStop=$ORACLE_HOME/bin/dbshut $ORACLE_HOME
Restart=on-failure
[Install]
WantedBy=multi-user.target
启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable oracle
sudo systemctl start oracle
使用sqlplus工具连接数据库,验证安装是否成功:
sqlplus / as sysdba
执行以下SQL语句:
SELECT status FROM v$instance; # 查看实例状态(应为OPEN)
SELECT * FROM v$version; # 查看Oracle版本信息
若状态为OPEN且能查询到版本信息,则说明安装配置成功。