本文以CentOS 7为例,详细解析Oracle 19c安装全流程及核心配置,包含20+关键操作命令和5大避坑要点
资源类型 | 最低要求 | 生产建议 |
---|---|---|
内存 | 2GB | 16GB+ |
磁盘空间 | 10GB | 100GB+ |
交换空间 | 1.5倍内存 | 2倍内存 |
# 基础依赖
yum install -y binutils compat-libcap1 gcc-c++ glibc-devel \
ksh libaio-devel libXext libXtst libX11 libXau \
libxcb libXi make sysstat elfutils-libelf-devel
# 创建Oracle专用用户组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
echo "oracle:YourPass123" | chpasswd
# /etc/sysctl.conf 添加:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 4194304
kernel.shmmax = 17179869184
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
# 生效配置
sysctl -p
unzip LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.3.0/dbhome_1
chown -R oracle:oinstall /u01
su - oracle
export DISPLAY=:0.0 # 确保X11转发已配置
./runInstaller
安装选项关键步骤:
ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
安装完成后按提示执行:
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/19.3.0/dbhome_1/root.sh
dbca -silent \
-createDatabase \
-templateName General_Purpose.dbc \
-gdbname ORCL \
-sid ORCL \
-characterSet AL32UTF8 \
-sysPassword SysPass123 \
-systemPassword SystemPass123 \
-createAsContainerDatabase true \
-numberOfPDBs 1 \
-pdbName PDBORCL \
-pdbAdminPassword PdbPass123 \
-databaseType MULTIPURPOSE \
-storageType FS \
-datafileDestination /u01/oradata \
-enableArchive true \
-memoryMgmtType AUTO_SGA \
-memoryPercentage 40
$ORACLE_HOME/network/admin/listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = db-server)(PORT = 1521))
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = /u01/app/oracle/product/19.3.0/dbhome_1)
(SID_NAME = ORCL)
)
)
启动监听:
lsnrctl start
-- 创建业务表空间
CREATE TABLESPACE app_data
DATAFILE '/u01/oradata/ORCL/app01.dbf' SIZE 1G
AUTOEXTEND ON NEXT 100M MAXSIZE 5G;
-- 创建用户并授权
CREATE USER app_user IDENTIFIED BY UserPass123
DEFAULT TABLESPACE app_data
QUOTA UNLIMITED ON app_data;
GRANT CONNECT, RESOURCE TO app_user;
ALTER SYSTEM SET log_archive_dest_1='LOCATION=/u01/archivelog' SCOPE=spfile;
ALTER SYSTEM SET log_archive_format='arch_%t_%s_%r.arc' SCOPE=spfile;
ALTER SYSTEM ARCHIVE LOG CURRENT;
-- 启用自动统计信息收集
EXEC DBMS_AUTO_TASK_ADMIN.ENABLE(
client_name => 'auto optimizer stats collection',
operation => NULL,
window_name => NULL
);
-- 检查实例状态
SELECT instance_name, status, database_status
FROM v$instance;
-- 检查表空间使用
SELECT tablespace_name,
ROUND(used_space/(1024*1024),2) "USED (MB)",
ROUND(free_space/(1024*1024),2) "FREE (MB)"
FROM dba_tablespace_usage_metrics;
# 实时跟踪alert日志
tail -f $ORACLE_BASE/diag/rdbms/orcl/ORCL/trace/alert_ORCL.log
图形安装卡死
dd if=/dev/zero of=/swapfile bs=1M count=8192
监听无法启动
lsnrctl status
$ORACLE_HOME/network/admin/sqlnet.ora
中的SQLNET.AUTHENTICATION_SERVICES
行ORA-12514: TNS无监听程序
listener.ora
中的SID_NAME与实例名一致表空间不足
ALTER DATABASE DATAFILE '/path/file.dbf' RESIZE 10G;
归档日志占满磁盘
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY;
终极建议:生产环境务必配置
- 自动备份策略(RMAN + Cron)
- 监控告警系统(Zabbix+Orabbix)
- 性能基线采集(AWR报告)
扩展配置: