Oracle 19c单实例安装后,别忘了做这5个安全与性能基础配置(CentOS 7版)
Oracle 19c单实例安装后的5个关键安全与性能配置指南CentOS 7环境刚完成Oracle 19c的安装只是数据库管理的第一步。许多初级DBA常犯的错误是认为安装成功就意味着工作结束实际上默认配置往往存在严重的安全漏洞和性能隐患。本文将带您完成五个立即见效的配置调整这些操作能在30分钟内显著提升数据库的安全性和响应速度。1. 全面修改默认账户密码与权限控制安装向导通常只要求设置SYS和SYSTEM账户密码但Oracle默认创建了超过40个内置账户其中不少具有高危权限。我曾见过一个生产环境因未修改DBSNMP账户默认密码而被植入挖矿程序。1.1 识别所有默认账户执行以下SQL查询获取所有内置账户列表SELECT username, account_status, created FROM dba_users WHERE oracle_maintainedY ORDER BY created DESC;典型输出会显示如下账户SYS超级管理员SYSTEM系统管理DBSNMP监控账户SYSMAN企业管理器OUTLN存储大纲1.2 密码修改与锁定策略对非必要账户建议采用锁定策略关键账户则必须修改密码-- 修改关键账户密码 ALTER USER sys IDENTIFIED BY N3wS3curePss#2023; ALTER USER system IDENTIFIED BY N3wS3curePss#2023; -- 锁定非必要账户 ALTER USER dbsnmp ACCOUNT LOCK; ALTER USER outln ACCOUNT LOCK;注意Oracle密码区分大小写且需满足复杂度要求建议包含大小写字母、数字和特殊字符的组合1.3 权限最小化原则检查并回收不必要的权限-- 查看所有角色权限 SELECT * FROM dba_sys_privs WHERE grantee IN (DBA,RESOURCE); -- 回收示例 REVOKE UNLIMITED TABLESPACE FROM scott;2. 监听器安全加固实战默认监听器配置允许来自任何IP的连接尝试这是最常见的攻击入口。去年某金融机构就因监听器未加固导致数据泄露。2.1 限制访问IP范围编辑$ORACLE_HOME/network/admin/listener.ora添加以下内容# 只允许本地和指定网段访问 LISTENER (DESCRIPTION_LIST (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST 192.168.1.100)(PORT 1521)) ) ) # 添加访问控制 ADR_BASE_LISTENER /u01/app/oracle VALID_NODE_CHECKING_REGISTRATION_LISTENERON SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENERON REGISTRATION_INVITED_NODES_LISTENER(localhost,192.168.1.0/24)2.2 启用监听器日志在listener.ora中追加LOGGING_LISTENERON LOG_DIRECTORY_LISTENER/u01/app/oracle/diag/tnslsnr LOG_FILE_LISTENERlistener.log2.3 配置sqlnet.ora加强认证编辑$ORACLE_HOME/network/admin/sqlnet.ora# 禁止操作系统认证 SQLNET.AUTHENTICATION_SERVICES(NONE) # 设置登录失败延迟 SQLNET.INBOUND_CONNECT_TIMEOUT30 SQLNET.EXPIRE_TIME10重启监听使配置生效lsnrctl stop lsnrctl start3. 关键性能参数调优Oracle 19c默认参数配置保守无法充分利用现代服务器硬件。通过以下调整可使TPS提升40%以上。3.1 内存分配优化根据服务器物理内存调整SGA和PGA假设服务器有32G内存-- 查看当前内存配置 SHOW PARAMETER sga_target; SHOW PARAMETER pga_aggregate_target; -- 动态调整无需重启 ALTER SYSTEM SET sga_target16G SCOPEBOTH; ALTER SYSTEM SET pga_aggregate_target8G SCOPEBOTH; ALTER SYSTEM SET memory_target0 SCOPESPFILE; -- 禁用自动内存管理3.2 进程与会话参数-- 调整进程数默认150通常不足 ALTER SYSTEM SET processes500 SCOPESPFILE; -- 会话数限制 ALTER SYSTEM SET sessions555 SCOPESPFILE; ALTER SYSTEM SET transactions610 SCOPESPFILE;3.3 I/O性能相关参数-- 磁盘I/O配置 ALTER SYSTEM SET disk_asynch_ioTRUE SCOPESPFILE; ALTER SYSTEM SET filesystemio_optionsSETALL SCOPESPFILE; ALTER SYSTEM SET db_writer_processes4 SCOPESPFILE;提示这些参数修改后需要重启数据库才能生效建议在维护窗口操作4. 审计策略配置合规性要求通常包括数据库操作审计以下配置满足等保三级要求。4.1 启用标准审计-- 查看当前审计设置 SELECT * FROM dba_audit_trail; -- 启用关键操作审计 AUDIT CREATE SESSION; AUDIT ALTER USER; AUDIT GRANT ANY PRIVILEGE; AUDIT CREATE ANY TABLE;4.2 统一审计配置19c新特性-- 启用统一审计 ALTER SYSTEM SET audit_trailDB,EXTENDED SCOPESPFILE; -- 创建审计策略 CREATE AUDIT POLICY admin_actions ACTIONS ALTER USER, CREATE USER, DROP USER; AUDIT POLICY admin_actions BY sys, system;4.3 审计日志维护设置自动清理任务防止审计表膨胀BEGIN DBMS_AUDIT_MGMT.set_last_archive_timestamp( audit_trail_type DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED, last_archive_time SYSTIMESTAMP-30); END; / -- 创建清理作业 BEGIN DBMS_AUDIT_MGMT.create_purge_job( audit_trail_type DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED, audit_trail_purge_interval 24, audit_trail_purge_name Audit_Trail_PJ); END; /5. 备份策略快速部署即使新安装的数据库也需要立即配置备份避免数据意外丢失。5.1 确保归档模式启用-- 检查当前模式 SELECT log_mode FROM v$database; -- 切换到归档模式如未启用 SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER DATABASE ARCHIVELOG; ALTER DATABASE OPEN;5.2 配置快速恢复区-- 设置恢复区大小建议为数据库大小的2倍 ALTER SYSTEM SET db_recovery_file_dest_size50G; ALTER SYSTEM SET db_recovery_file_dest/u01/app/oracle/fast_recovery_area; -- 启用自动备份控制文件 ALTER SYSTEM SET control_file_autobackupON;5.3 RMAN基础备份脚本创建/home/oracle/scripts/full_backup.rman文件RUN { ALLOCATE CHANNEL ch1 DEVICE TYPE DISK FORMAT /backup/oracle/full_%U; BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG; BACKUP CURRENT CONTROLFILE; RELEASE CHANNEL ch1; }添加到cron定时任务0 2 * * * /u01/app/oracle/product/19.3.0/dbhome_1/bin/rman target / /home/oracle/scripts/full_backup.rman log/backup/oracle/logs/backup_$(date \%Y\%m\%d).log这些配置完成后您的Oracle 19c实例已具备企业级的安全防护和性能基础。实际环境中建议每周检查警报日志$ORACLE_BASE/diag/rdbms/*/trace/alert_*.log并根据工作负载进一步优化参数。