CentOS下Oracle数据库的部署与管理指南
环境准备与安装前配置
系统要求验证
# 验证内存与交换空间
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
# 检查磁盘空间
df -h /opt
依赖包安装
yum install -y binutils compat-libcap1 gcc-c++ glibc libstdc++ libaio
make sysstat unixODBC unixODBC-devel ksh
内核参数调整
编辑/etc/sysctl.conf:
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmax = 4294967296
Oracle 19c安装流程
图形化安装步骤
./runInstaller -ignorePrereq -waitforcompletion
-responseFile /opt/database/response/db_install.rsp
静默安装配置
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0
oracle.install.option=INSTALL_DB_SWONLY
数据库实例创建
dbca -silent -createDatabase
-templateName General_Purpose.dbc
-gdbName orcl -sid orcl -characterSet AL32UTF8
日常运维操作
服务启停管理
sqlplus / as sysdba
STARTUP
SHUTDOWN IMMEDIATE
监听器配置
lsnrctl start
lsnrctl status
性能优化策略
内存参数调整
ALTER SYSTEM SET sga_max_size=4G SCOPE=SPFILE;
ALTER SYSTEM SET pga_aggregate_target=2G;
SQL执行计划分析
EXPLAIN PLAN FOR SELECT * FROM large_table;
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
备份与恢复机制
rman target /
RUN {
ALLOCATE CHANNEL ch1 DEVICE TYPE DISK;
BACKUP DATABASE PLUS ARCHIVELOG;
}
典型问题处理方案
ORA-12541: TNS无监听程序
ps -ef | grep tnslsnr
lsnrctl reload
表空间扩容操作
ALTER DATABASE DATAFILE '/u01/oradata/users02.dbf' RESIZE 10G;
安全加固建议
SELECT username FROM dba_users WHERE account_status != 'OPEN';
ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS 3;