Ubuntu Oracle配置步骤解析
Ubuntu上配置Oracle数据库的详细步骤解析
1. 安装前准备
1.1 系统要求确认
确保Ubuntu系统满足Oracle数据库的最低要求:
- 版本:Ubuntu 16.04及以上(推荐20.04 LTS或22.04 LTS);
- 内存:至少2GB(推荐4GB及以上);
- 磁盘空间:至少10GB可用空间(Oracle安装目录需单独分区,建议使用
/u01); - 架构:64位系统(Oracle 19c及以上版本不再支持32位)。
1.2 安装依赖包
Oracle数据库需要依赖Ubuntu系统中的库文件,通过以下命令安装:
sudo apt update
sudo apt install alien libaio1 unixodbc build-essential gcc make binutils
libaio1:异步I/O库,Oracle数据库必需;unixodbc:ODBC驱动管理器,用于数据库连接;build-essential:编译工具链,用于安装过程中的源码编译。
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
oinstall:负责Oracle软件的安装和管理;dba:拥有数据库的最高权限(如创建、删除数据库)。
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
/u01/app/oracle/product/19.0.0/dbhome_1:Oracle 19c软件安装目录;/u01/app/oracle/oradata:数据库数据文件(如system01.dbf)、控制文件(control01.ctl)的存储路径。
5. 配置Oracle环境变量
为了让oracle用户能直接使用Oracle命令(如sqlplus、lsnrctl),需配置环境变量:
# 编辑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版本),例如:
- Oracle 19c:
linuxx64_19c_database.zip; - Oracle 21c:
linuxx64_21c_database.zip。
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
按照安装向导操作:
- 选择“安装数据库软件”→“单实例数据库安装”;
- 选择“企业版”(适合生产环境);
- 指定安装目录(
/u01/app/oracle/product/19.0.0/dbhome_1); - 选择“创建和配置数据库”(自动创建数据库实例);
- 设置数据库管理员密码(如
Oracle123); - 完成安装后,会提示“配置完成”。
7. 配置Oracle数据库实例
7.1 使用DBCA创建数据库(可选)
若安装时未创建数据库,可通过DBCA(数据库配置助手)创建:
dbca
按照向导操作:
- 选择“创建数据库”;
- 选择“自定义数据库”;
- 设置全局数据库名(如
orcl)和SID(如orcl); - 设置数据库字符集(推荐
AL32UTF8,支持多语言); - 设置管理员密码;
- 完成创建后,数据库实例会自动启动。
7.2 手动启动数据库
# 以sysdba身份登录
sqlplus / as sysdba
# 启动数据库
SQL>
STARTUP
# 查看数据库状态
SQL>
SELECT status FROM v$instance;
- 若状态为
OPEN,表示数据库启动成功。
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
- 若状态为
active (running),表示自动启动配置成功。
9. 验证Oracle安装
9.1 使用SQL*Plus连接数据库
sqlplus sys/Oracle123@orcl as sysdba
sys:数据库管理员账号;Oracle123:安装时设置的密码;orcl:数据库SID。
若能成功登录并执行SELECT * FROM dual;
(返回X),则表示安装成功。
9.2 使用Oracle Enterprise Manager(OEM)
若安装时选择了OEM,可通过浏览器访问https://<
服务器IP>
:5500/em,使用sys账号登录,进行图形化管理。
常见问题解决
- 权限问题:若安装时报错“Permission denied”,需检查Oracle目录的所有权(应为
oracle:oinstall); - 内核参数不足:若启动时报错“kernel parameter too small”,需调整
/etc/sysctl.conf中的参数并执行sudo sysctl -p; - 环境变量未生效:若无法使用
sqlplus命令,需执行source ~/.bashrc使环境变量生效。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Oracle配置步骤解析
本文地址: https://pptw.com/jishu/735417.html
