在Ubuntu上安装Oracle相关软件(数据库/客户端/工具)的通用流程及注意事项
系统要求
安装基础依赖
在终端执行以下命令,安装Oracle软件所需的系统依赖:
sudo apt update sudo apt install -y alien libaio1 unixODBC wget unzip
alien
用于转换RPM包为DEB格式(若需安装Oracle提供的RPM包);libaio1
是Oracle必需的异步I/O库;unixODBC
用于数据库连接驱动。
若需安装Oracle 10g Express Edition(XE),可通过Oracle官方源快速部署:
/etc/apt/sources.list
,添加以下行:deb http://oss.oracle.com/debian unstable main non-free
wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle sudo apt-key add RPM-GPG-KEY-oracle
sudo apt update
sudo apt install -y oracle-xe-client
注:Oracle 11g及以上版本的Database软件未提供Ubuntu原生APT包,需通过官方下载页面获取RPM/压缩包安装。
.zip
或.rpm
格式);# 创建用户组(dba:数据库管理员;oper:数据库操作员) sudo groupadd -g 503 dba sudo groupadd -g 504 oper # 创建oracle用户(属主为oinstall组,附加dba、oper权限) sudo useradd -u 501 -g oinstall -G dba,oper -s /bin/bash -m oracle sudo passwd oracle # 设置密码 # 创建安装目录并赋权 sudo mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1 # 替换为实际版本目录 sudo chown -R oracle:oinstall /u01 sudo chmod -R 775 /u01
/home/oracle/.bashrc
(oracle用户的配置文件),添加以下内容:export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1 # 替换为实际版本目录 export ORACLE_SID=orcl # 数据库实例名(默认) export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH export PATH=$ORACLE_HOME/bin:$PATH
使配置生效:source /home/oracle/.bashrc
su - oracle cd /path/to/oracle/database/install/dir # 替换为下载的软件包路径 ./runInstaller # 图形化安装(需安装X11转发或远程桌面)
若为无图形界面的服务器,可使用静默安装模式(需提前准备响应文件):./runInstaller -silent -responseFile /path/to/response_file.rsp
安装过程中需选择“自定义安装”,配置数据库字符集(如AL32UTF8)、实例名等参数。Oracle Instant Client是轻量级客户端库,用于应用程序连接Oracle数据库(无需安装完整数据库)。
.zip
格式),解压至/opt
目录:sudo mkdir -p /opt/oracle sudo unzip instantclient-basic-linux.x64-21.1.0.0.0.zip -d /opt/oracle sudo mv /opt/oracle/instantclient_21_1 /opt/oracle/instantclient
/home/oracle/.bashrc
(或应用使用的环境配置文件),添加以下内容:export LD_LIBRARY_PATH=/opt/oracle/instantclient:$LD_LIBRARY_PATH export PATH=/opt/oracle/instantclient:$PATH
使配置生效:source /home/oracle/.bashrc
ls
命令确认文件存在(如libclntsh.so
),或通过sqlplus
测试连接(需提前配置TNS信息)。若需通过Python应用连接Oracle数据库,需安装cx_Oracle
模块(纯Python扩展,依赖Oracle客户端库)。
pip
安装cx_Oracle
(推荐使用虚拟环境):sudo apt install -y python3-pip python3 -m venv myenv # 创建虚拟环境 source myenv/bin/activate pip install cx_Oracle
test_oracle.py
):import cx_Oracle conn = cx_Oracle.connect("username/password@hostname:1521/orcl") # 替换为实际连接信息 cursor = conn.cursor() cursor.execute("SELECT * FROM dual") print(cursor.fetchone()) conn.close()
运行脚本:python3 test_oracle.py
若输出('X',)
则表示连接成功。环境变量未生效:
确保~/.bashrc
或/etc/environment
中的变量设置正确,执行source
命令刷新;若仍无效,检查变量是否拼写错误(如LD_LIBRARY_PATH
而非LD_LIBRARY_PAHT
)。
ORA-21561: OID generation failed:
编辑/etc/hosts
文件,添加主机名与IP地址的映射(如127.0.0.1 localhost your_hostname
),保存后重启系统或执行sudo hostnamectl set-hostname your_hostname
。
依赖缺失错误:
若安装过程中提示缺少libnnz19.so
、libaio.so.1
等库,通过apt
安装对应依赖(如sudo apt install libaio1
),或手动下载并放置至/usr/lib
目录。