1. Oracle 11.2.0.4安装前的系统准备
1.1 硬件需求核查
在开始安装Oracle 11.2.0.4之前,必须确保服务器硬件满足最低要求。根据Oracle官方文档,物理内存建议至少2GB(生产环境推荐4GB以上),交换空间通常设置为物理内存的1.5倍(当内存超过16GB时可适当降低比例)。磁盘空间方面,企业版安装需要约4.5GB的基础空间,加上后续数据文件存储需求,建议准备至少20GB的可用空间。
使用以下命令检查Linux系统资源:
bash复制# 内存检查
grep MemTotal /proc/meminfo
# 交换空间检查
free -m
# 磁盘空间检查
df -h /u01
1.2 操作系统兼容性确认
Oracle 11.2.0.4支持的主流操作系统包括:
- Red Hat Enterprise Linux 5/6
- SUSE Linux Enterprise Server 10/11
- Oracle Linux 5/6
需要特别注意内核版本要求,例如在RHEL6上需要2.6.32-71.el6.x86_64或更高版本。通过以下命令验证:
bash复制uname -r
cat /etc/redhat-release
1.3 依赖包安装与验证
不同Linux发行版所需的依赖包略有差异。以下是RHEL/CentOS环境的基础依赖包列表:
bash复制yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh \
libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat
对于图形化安装,还需要额外安装:
bash复制yum install -y xorg-x11-utils xorg-x11-xauth xorg-x11-server-utils
2. Oracle软件安装全流程解析
2.1 用户与目录结构配置
Oracle最佳实践建议使用独立的用户和组来管理数据库软件:
bash复制groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01
chmod -R 775 /u01
环境变量配置(添加到oracle用户的~/.bash_profile):
bash复制export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
2.2 安装文件准备与校验
从Oracle官网下载以下安装包:
- linux.x64_11gR2_database_1of2.zip
- linux.x64_11gR2_database_2of2.zip
使用md5sum校验文件完整性:
bash复制md5sum linux.x64_11gR2_database_1of2.zip
# 对比官方提供的校验值
解压安装文件:
bash复制unzip linux.x64_11gR2_database_1of2.zip -d /u01
unzip linux.x64_11gR2_database_2of2.zip -d /u01
2.3 图形化安装过程详解
- 启动安装程序:
bash复制cd /u01/database
./runInstaller
-
安装界面关键步骤:
- 选择"Install database software only"
- 选择"Single instance database installation"
- 指定ORACLE_HOME路径(/u01/app/oracle/product/11.2.0/dbhome_1)
- 选择企业版(Enterprise Edition)
- 创建inventory目录(/u01/app/oraInventory)
- 设置操作系统组(oinstall)
-
安装后脚本执行:
bash复制# 以root身份执行
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
3. 数据库创建与配置实战
3.1 DBCA创建数据库流程
通过Database Configuration Assistant创建数据库:
bash复制dbca
关键配置参数说明:
- 数据库类型:选择"General Purpose or Transaction Processing"
- SID命名:建议使用不超过8字符的字母数字组合(如ORCL)
- 字符集:中英文环境建议选择AL32UTF8
- 示例Schema:根据需求选择是否安装
- 内存分配:初始可设SGA_TARGET=1G,PGA_AGGREGATE_TARGET=500M
- 存储类型:文件系统(File System)
- 数据文件位置:使用OMF管理($ORACLE_BASE/oradata)
3.2 关键参数文件配置
spfile参数调整建议:
sql复制ALTER SYSTEM SET processes=300 SCOPE=spfile;
ALTER SYSTEM SET sessions=335 SCOPE=spfile;
ALTER SYSTEM SET open_cursors=300 SCOPE=spfile;
ALTER SYSTEM SET db_files=200 SCOPE=spfile;
监听器配置(listener.ora):
bash复制LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
3.3 自动化启动设置
创建/etc/oratab条目:
bash复制orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y
创建系统服务脚本(/etc/init.d/oracle):
bash复制#!/bin/bash
# chkconfig: 345 99 10
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
case "$1" in
start)
su - oracle -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
;;
stop)
su - oracle -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
设置开机启动:
bash复制chmod 755 /etc/init.d/oracle
chkconfig --add oracle
4. 连接测试与运维工具配置
4.1 基础连接验证方法
SQL*Plus本地连接测试:
bash复制sqlplus sys/oracle as sysdba
远程连接测试(需配置tnsnames.ora):
bash复制sqlplus system/password@orcl
tnsping测试网络连通性:
bash复制tnsping orcl
4.2 常用管理工具部署
Oracle Enterprise Manager配置:
sql复制emctl start dbconsole
访问地址:https://localhost:1158/em
SQL Developer连接配置:
- 新建连接
- 输入连接名(如ORCL_DEV)
- 用户名/密码(system/oracle)
- 主机名:localhost
- 端口:1521
- SID:orcl
4.3 性能监控基线设置
创建AWR快照基线:
sql复制BEGIN
DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE(
start_snap_id => 1,
end_snap_id => 2,
baseline_name => 'INITIAL_BASELINE');
END;
/
关键监控脚本示例:
sql复制-- 表空间使用率
SELECT tablespace_name,
round(used_space/1024/1024,2) used_mb,
round(tablespace_size/1024/1024,2) total_mb,
round(used_percent,2) pct_used
FROM dba_tablespace_usage_metrics;
-- 会话监控
SELECT sid, serial#, username, status, machine, program
FROM v$session
WHERE type='USER';
5. 安装后优化与问题排查
5.1 性能调优建议
内存参数动态调整:
sql复制-- 查看当前内存配置
SHOW PARAMETER target
-- 动态调整示例
ALTER SYSTEM SET sga_target=2G SCOPE=both;
ALTER SYSTEM SET pga_aggregate_target=1G SCOPE=both;
表空间自动扩展设置:
sql复制ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/orcl/users01.dbf'
AUTOEXTEND ON NEXT 100M MAXSIZE 10G;
5.2 常见问题解决方案
安装问题排查流程:
- 检查安装日志($ORACLE_HOME/cfgtoollogs)
- 验证环境变量设置
- 确认依赖包完整性
- 检查/tmp空间是否充足
典型错误处理:
bash复制# ORA-12541: TNS无监听程序
lsnrctl start
# ORA-01034: ORACLE not available
sqlplus / as sysdba
startup
5.3 备份策略实施
RMAN基础备份配置:
bash复制rman target /
备份命令示例:
sql复制-- 全库备份
BACKUP DATABASE PLUS ARCHIVELOG;
-- 控制文件备份
BACKUP CURRENT CONTROLFILE;
-- 恢复目录注册
REGISTER DATABASE;
定时备份脚本示例(crontab -e):
bash复制0 2 * * * /u01/scripts/rman_backup.sh
备份脚本内容(/u01/scripts/rman_backup.sh):
bash复制#!/bin/bash
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
rman target / <<EOF
RUN {
ALLOCATE CHANNEL ch1 DEVICE TYPE DISK;
BACKUP DATABASE PLUS ARCHIVELOG;
RELEASE CHANNEL ch1;
}
EOF