学习Oracle------数据库安装与基础配置深度指南
本文以CentOS 7为例,详细解析Oracle 19c安装全流程及核心配置,包含20+关键操作命令和5大避坑要点
一、环境准备(硬件+软件)
1. 硬件要求
资源类型 | 最低要求 | 生产建议 |
---|---|---|
内存 | 2GB | 16GB+ |
磁盘空间 | 10GB | 100GB+ |
交换空间 | 1.5倍内存 | 2倍内存 |
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
3. 内核参数优化
# /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
二、图形化安装全流程
1. 安装文件准备
unzip LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.3.0/dbhome_1
chown -R oracle:oinstall /u01
2. 启动安装向导
su - oracle
export DISPLAY=:0.0 # 确保X11转发已配置
./runInstaller
安装选项关键步骤:
- 选择"仅安装数据库软件"
- 企业版 > 单实例数据库安装
- 指定
ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
- 操作系统组:oinstall (Inventory组) 和 dba (OSDBA组)
3. 执行配置脚本
安装完成后按提示执行:
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/19.3.0/dbhome_1/root.sh
三、数据库创建与网络配置
1. 创建数据库
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
2. 网络监听配置
$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
四、基础配置实战
1. 表空间管理
-- 创建业务表空间
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;
2. 归档日志配置
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;
3. 自动任务管理
-- 启用自动统计信息收集
EXEC DBMS_AUTO_TASK_ADMIN.ENABLE(
client_name => 'auto optimizer stats collection',
operation => NULL,
window_name => NULL
);
五、安装后验证与监控
1. 健康检查脚本
-- 检查实例状态
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;
2. 监控关键日志
# 实时跟踪alert日志
tail -f $ORACLE_BASE/diag/rdbms/orcl/ORCL/trace/alert_ORCL.log
六、避坑指南(5大常见问题)
-
图形安装卡死
- 解决方案:增加swap空间
dd if=/dev/zero of=/swapfile bs=1M count=8192
- 解决方案:增加swap空间
-
监听无法启动
- 检查:
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;
- 应急扩容:
-
归档日志占满磁盘
- 配置RMAN自动清理策略:
CONFIGURE RETENTION POLICY TO REDUNDANCY 2; CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY;
终极建议:生产环境务必配置
- 自动备份策略(RMAN + Cron)
- 监控告警系统(Zabbix+Orabbix)
- 性能基线采集(AWR报告)
扩展配置: