在Debian系统上解决Oracle兼容性问题通常涉及多个方面,包括软件包管理、依赖关系、配置文件以及系统更新等。以下是一些常见的解决方法:
使用Oracle Instant Client:
alien
工具将其转换为Debian系统可以使用的.deb
包。alien
工具(如果尚未安装):sudo apt-get install alien
.deb
包:alien oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
alien oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
alien oracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpm
alien oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
.deb
包:sudo dpkg -i oracle-instantclient11.2-basic_11.2.0.4.0-2_amd64.deb
sudo dpkg -i oracle-instantclient11.2-devel_11.2.0.4.0-2_amd64.deb
sudo dpkg -i oracle-instantclient11.2-jdbc_11.2.0.4.0-2_amd64.deb
sudo dpkg -i oracle-instantclient11.2-sqlplus_11.2.0.4.0-2_amd64.deb
~/.bash_profile
文件,添加以下内容:export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export TNS_ADMIN=$ORACLE_HOME
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
使配置生效:source ~/.bash_profile
sudo apt-get install libaio1 libaio-dev
手动安装Oracle数据库:
sudo apt-get update
sudo apt-get install gcc make binutils libmotif3 libstdc++ libaio1 libaio-dev
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba -m oracle
usermod -g nobody nobody
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app/oracle
chmod -R 755 /u01/app/oracle
/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
/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
文件,确保以下行存在:session required /lib64/security/pam_limits.so
~/.bashrc
文件,添加以下内容:export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0.3/db_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 ~/.bashrc
解决常见的兼容性问题:
apt-get install
命令安装缺失的包。通过以上步骤,你应该能够在Debian系统上成功安装和运行Oracle数据库或SQL*Plus。请根据实际需求和环境调整安装参数和步骤。