确保Debian系统满足Oracle数据库的最低要求:建议使用Debian 10及以上版本(如Debian 11/12),系统内存≥1GB(生产环境建议≥4GB),swap空间≥内存的1.5倍(不超过2倍),磁盘空间≥10GB(用于安装软件和数据文件)。
从Oracle官方网站下载适用于Linux x86-64架构的Oracle Database安装包(如Oracle 19c/21c的“Basic Package”和“Composite Package”),并上传至Debian服务器。
Oracle数据库需要多个系统库支持,通过以下命令安装必要依赖:
sudo apt-get update
sudo apt-get install -y gcc make binutils libmotif3 libaio1 libdb3 awk libc6-dev libc6
若安装过程中提示缺少其他包(如libXp.so.6),可通过sudo apt-get install <包名>补充。
为Oracle创建专用用户和组,提升安全性:
sudo groupadd oinstall # 所属组
sudo groupadd dba # 数据库管理员组
sudo useradd -g oinstall -G dba -m oracle # 创建oracle用户,归属oinstall和dba组
sudo passwd oracle # 设置oracle用户密码
指定Oracle软件和数据的存储路径(常用/u01/app/oracle),并配置权限:
sudo mkdir -p /u01/app/oracle
sudo chown -R oracle:oinstall /u01/app/oracle
sudo chmod -R 755 /u01/app/oracle
编辑/etc/sysctl.conf文件,调整系统内核参数以满足Oracle运行需求:
sudo vi /etc/sysctl.conf
添加或修改以下内容:
kernel.shmall = 2097152 # 共享内存总页数
kernel.shmmax = 536870912 # 单个共享内存段最大值(字节)
kernel.shmmni = 4096 # 共享内存段最大数量
kernel.sem = 250 32000 100 128 # 信号量参数
fs.file-max = 65536 # 系统最大文件句柄数
net.ipv4.ip_local_port_range = 1024 65000 # 本地端口范围
net.core.rmem_default = 262144 # 接收缓冲区默认大小
net.core.rmem_max = 4194304 # 接收缓冲区最大值
net.core.wmem_default = 262144 # 发送缓冲区默认大小
net.core.wmem_max = 1048576 # 发送缓冲区最大值
fs.aio-max-nr = 1048576 # 异步I/O请求数上限
保存后执行sudo sysctl -p使配置生效。
编辑/etc/security/limits.conf文件,调整Oracle用户的资源限制:
sudo vi /etc/security/limits.conf
添加以下内容:
oracle soft nproc 2047 # 用户最大进程数(软限制)
oracle hard nproc 16384 # 用户最大进程数(硬限制)
oracle soft nofile 1024 # 用户最大文件句柄数(软限制)
oracle hard nofile 65536 # 用户最大文件句柄数(硬限制)
oracle soft memlock 33554432 # 用户最大锁定内存(软限制,单位:字节)
oracle hard memlock 33554432 # 用户最大锁定内存(硬限制)
编辑/etc/pam.d/login文件,确保会话加载资源限制配置:
sudo vi /etc/pam.d/login
添加以下行(若已存在则无需重复):
session required /lib64/security/pam_limits.so
编辑oracle用户的.bashrc文件,配置Oracle相关环境变量:
sudo vi /home/oracle/.bashrc
添加以下内容(根据实际安装路径调整ORACLE_HOME和ORACLE_SID):
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.3.0.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK # 字符集设置(根据需求调整)
export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS' # 日期格式
保存后执行source /home/oracle/.bashrc使配置立即生效。
将下载的Oracle安装包解压至目标目录(如/opt/oracle):
sudo tar -xvf oracle_database_19c_linux_x86-64.tar.gz -C /opt/oracle
切换至oracle用户,进入安装目录并执行安装:
su - oracle
cd /opt/oracle/database
./runInstaller
按照图形化界面提示完成安装(可选择“静默安装”模式,通过响应文件自动配置)。
安装完成后,使用dbca(Database Configuration Assistant)工具创建数据库实例:
dbca
按照向导步骤配置数据库名称(如orcl)、字符集(如AL32UTF8)、管理员密码等信息,完成实例创建。
编辑$ORACLE_HOME/network/admin/listener.ora文件,配置监听器地址和端口:
sudo vi $ORACLE_HOME/network/admin/listener.ora
示例内容:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
重启监听器使配置生效:
lsnrctl stop
lsnrctl start
使用sqlplus工具连接数据库,验证配置是否成功:
sqlplus / as sysdba
输入密码后,若显示SQL>提示符,则表示数据库连接成功。
libXp.so.6),可通过sudo apt-get install <包名>补充。/u01/app/oracle目录归属oracle:oinstall,且权限为755。sudo sysctl -p重新加载/etc/sysctl.conf配置。source /home/oracle/.bashrc刷新环境变量。