centos

centos中oracle配置步骤

小樊
38
2025-10-28 05:00:46
栏目: 云计算

CentOS系统中配置Oracle数据库详细步骤

1. 系统准备

2. 安装依赖包

Oracle数据库需要多种系统依赖包,可通过以下命令安装(以CentOS 8为例,部分包需手动下载):

# 在线安装基础依赖
sudo yum install -y binutils compat-libcap1 compat-libstdc++ elfutils-libelf-devel gcc gcc-c++ glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

# 手动补充缺失的依赖(如compat-libstdc++33)
sudo rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm  # 根据系统版本调整包名

若安装过程中提示缺少包,需根据错误信息补充安装。

3. 创建Oracle用户和组

Oracle需专用用户和组管理权限,执行以下命令:

# 创建组(oinstall:安装组;dba:数据库管理员组)
sudo groupadd -g 54321 oinstall
sudo groupadd -g 54322 dba

# 创建用户(oracle:数据库用户,加入oinstall和dba组)
sudo useradd -u 54321 -g oinstall -G dba oracle

# 设置用户密码
sudo passwd oracle

4. 配置系统内核参数

修改/etc/sysctl.conf文件,优化系统内核参数以支持Oracle运行:

sudo vim /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 65000
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

使配置生效:

sudo sysctl -p

5. 配置Oracle用户环境变量

编辑Oracle用户的~/.bashrc文件,设置Oracle相关环境变量:

sudo su - oracle
vim ~/.bashrc

添加以下内容(根据实际安装路径调整):

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19c/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 ~/.bashrc

6. 下载并解压Oracle安装包

从Oracle官网下载适用于Linux x64的Oracle Database安装包(如19c版本),上传至服务器并解压:

# 创建安装目录
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

7. 安装Oracle数据库软件

切换至Oracle用户,运行安装程序:

su - oracle
cd $ORACLE_HOME/database
./runInstaller

按照安装向导操作:

8. 配置监听器和数据库实例

9. 设置Oracle服务自启动

10. 验证安装

切换至Oracle用户,使用sqlplus工具连接数据库,验证是否成功:

su - oracle
sqlplus / as sysdba

连接成功后,执行以下命令查看数据库状态:

SELECT status FROM v$instance;

若返回OPEN,则表示数据库已正常运行。

常见问题解决

0
看了该问题的人还看了