Debian与Oracle协同工作技巧
在Debian上安装Oracle前,需完成系统准备工作:创建专用Oracle用户组(oinstall、dba)及用户,安装依赖包(gcc、make、libaio1、linux-headers等);调整内核参数(如kernel.shmmax、kernel.shmmni,通过/etc/sysctl.conf配置),并设置Oracle用户资源限制(如最大进程数、文件描述符数,通过/etc/security/limits.conf配置)。这些步骤确保系统环境满足Oracle运行要求。
通过systemd配置Oracle监听器(lsnrctl)开机自启及服务依赖,提升服务可靠性:
/etc/systemd/system/oracle-listener.service文件,内容如下:[Unit]
Description=Oracle Listener Service
After=network.target
[Service]
Type=forking
User=oracle
Group=oinstall
ExecStart=/path/to/lsnrctl start LISTENER
ExecStop=/path/to/lsnrctl stop LISTENER
ExecReload=/path/to/lsnrctl reload LISTENER
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload重载配置,通过sudo systemctl start oracle-listener启动服务,sudo systemctl enable oracle-listener设置开机自启。若需与其他服务(如自定义应用myapp.service)集成,可在myapp.service中添加After=oracle-listener.service和Requires=oracle-listener.service,确保监听器启动后再运行应用。调整内核参数(如增加文件描述符限制、优化TCP窗口大小)、关闭不必要的系统服务(减少资源占用)、选择高性能文件系统(如ext4或XFS,挂载时开启noatime选项),提升系统整体性能。
SGA_TARGET=2G)和PGA(程序全局区,如PGA_AGGREGATE_TARGET=1G)大小,优化内存利用率。ALTER TABLE table_name PARALLEL (DEGREE 4)),利用多核CPU加速大数据量操作。SELECT *:明确列出查询所需列,减少数据传输量。:var语法替代硬编码值,降低SQL解析开销(如SELECT * FROM employees WHERE id = :emp_id)。EXPLAIN PLAN工具识别查询瓶颈(如全表扫描),针对性优化SQL语句。filesystemio_options参数(如设置为setall)开启异步和直接I/O。sudo apt update && sudo apt upgrade),修补安全漏洞;禁用root远程登录(修改/etc/ssh/sshd_config中的PermitRootLogin no),使用SSH密钥对进行身份认证。iptables)仅允许必要端口(如1521/TCP)访问,防止未授权访问。