ubuntu

Ubuntu Oracle配置步骤解析

小樊
46
2025-10-27 06:05:00
栏目: 云计算

Ubuntu上配置Oracle数据库的详细步骤解析

1. 安装前准备

1.1 系统要求确认

确保Ubuntu系统满足Oracle数据库的最低要求:

1.2 安装依赖包

Oracle数据库需要依赖Ubuntu系统中的库文件,通过以下命令安装:

sudo apt update
sudo apt install alien libaio1 unixodbc build-essential gcc make binutils

2. 创建Oracle专用用户和组

Oracle数据库需以专用用户身份运行,避免使用root账户,提升安全性:

# 创建用户组(oinstall:安装组;dba:数据库管理员组)
sudo groupadd -g 503 oinstall
sudo groupadd -g 504 dba

# 创建oracle用户(归属oinstall组,附加dba权限)
sudo useradd -u 501 -g oinstall -G dba -d /home/oracle -s /bin/bash oracle

# 设置oracle用户密码
sudo passwd oracle

3. 配置系统内核参数

Oracle数据库对系统资源的使用有较高要求,需调整内核参数以优化性能:

# 编辑sysctl.conf文件(永久生效)
sudo nano /etc/sysctl.conf

添加以下内容(根据系统内存调整数值):

kernel.shmmax = 3147483648  # 最大共享内存段大小(建议为物理内存的80%)
kernel.shmmni = 4096        # 共享内存段最大数量
kernel.shmall = 2097152     # 共享内存总页数
kernel.sem = 250 32000 100 128  # 信号量参数
fs.file-max = 65536         # 最大文件句柄数
net.ipv4.ip_local_port_range = 9000 65500  # 本地端口范围

使参数生效:

sudo sysctl -p

编辑/etc/security/limits.conf文件(限制用户资源):

sudo nano /etc/security/limits.conf

添加以下内容:

oracle soft nofile 65536    # 用户oracle的最大打开文件数(软限制)
oracle hard nofile 65536    # 用户oracle的最大打开文件数(硬限制)
oracle soft nproc 16384     # 用户oracle的最大进程数(软限制)
oracle hard nproc 16384     # 用户oracle的最大进程数(硬限制)

注销并重新登录oracle用户,使限制生效。

4. 创建Oracle安装目录并设置权限

Oracle软件和数据需存放在专用目录,建议使用/u01

# 创建Oracle基目录和产品目录
sudo mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
sudo mkdir -p /u01/app/oracle/oradata  # 数据库数据文件目录
sudo mkdir -p /u01/app/oracle/script   # SQL脚本目录

# 设置目录所有权(oracle用户:oinstall组)
sudo chown -R oracle:oinstall /u01/app/oracle
sudo chmod -R 775 /u01/app/oracle

5. 配置Oracle环境变量

为了让oracle用户能直接使用Oracle命令(如sqlpluslsnrctl),需配置环境变量:

# 编辑oracle用户的.bashrc文件(永久生效)
sudo nano /home/oracle/.bashrc

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

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORACLE_SID=orcl  # 数据库实例名(默认orcl,可自定义)
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

使环境变量立即生效:

source /home/oracle/.bashrc

验证环境变量:

echo $ORACLE_HOME  # 应输出/u01/app/oracle/product/19.0.0/dbhome_1
echo $ORACLE_SID   # 应输出orcl

6. 安装Oracle数据库软件

6.1 下载Oracle安装包

从Oracle官方网站下载适合Ubuntu的Oracle数据库安装包(如19c或21c的Linux x64版本),例如:

6.2 解压并运行安装程序

# 解压安装包到指定目录
unzip linuxx64_19c_database.zip -d /u01/app/oracle/product/19.0.0/

# 切换到oracle用户
su - oracle

# 运行安装程序
cd /u01/app/oracle/product/19.0.0/
./runInstaller

按照安装向导操作:

7. 配置Oracle数据库实例

7.1 使用DBCA创建数据库(可选)

若安装时未创建数据库,可通过DBCA(数据库配置助手)创建:

dbca

按照向导操作:

7.2 手动启动数据库

# 以sysdba身份登录
sqlplus / as sysdba

# 启动数据库
SQL> STARTUP

# 查看数据库状态
SQL> SELECT status FROM v$instance;

8. 配置Oracle自动启动

为了让Oracle数据库在系统重启后自动启动,需配置systemd服务:

# 创建systemd服务文件
sudo nano /etc/systemd/system/oracle.service

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

[Unit]
Description=Oracle Database Auto Start Service
After=network.target

[Service]
Type=forking
User=oracle
Group=oinstall
Environment="ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1"
Environment="ORACLE_SID=orcl"
ExecStart=/u01/app/oracle/product/19.0.0/dbhome_1/bin/dbstart $ORACLE_HOME
ExecStop=/u01/app/oracle/product/19.0.0/dbhome_1/bin/dbshut $ORACLE_HOME
Restart=on-failure
RestartSec=30s

[Install]
WantedBy=multi-user.target

使服务生效:

sudo systemctl daemon-reload
sudo systemctl enable oracle.service  # 开机自启
sudo systemctl start oracle.service   # 立即启动

验证服务状态:

sudo systemctl status oracle.service

9. 验证Oracle安装

9.1 使用SQL*Plus连接数据库

sqlplus sys/Oracle123@orcl as sysdba

若能成功登录并执行SELECT * FROM dual;(返回X),则表示安装成功。

9.2 使用Oracle Enterprise Manager(OEM)

若安装时选择了OEM,可通过浏览器访问https://<服务器IP>:5500/em,使用sys账号登录,进行图形化管理。

常见问题解决

0
看了该问题的人还看了