一、环境准备
1. 系统要求
- 操作系统:CentOS 7.8 或 其他RHEL 6.x/7.x (x86_64) ,OracleLinux 6.x/7.x
- 内存:≥ 2GB (推荐 4GB+)
- Swap空间:
# 查看当前Swap free -m # 若不足,按需扩展(示例:增加4GB Swap) sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 sudo mkswap /swapfile sudo swapon /swapfile echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab - 磁盘空间:
/tmp≥ 1GB- Oracle安装目录:≥ 5GB
- 数据文件:≥ 10GB (根据实际需求调整)
2. 安装依赖包
# CentOS 7:
sudo 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 unixODBC unixODBC-devel
# CentOS 6 额外添加:
sudo yum install -y elfutils-libelf-devel libXext
# 创建Oracle用户组和用户
sudo groupadd -g 54321 oinstall
sudo groupadd -g 54322 dba
sudo useradd -u 54321 -g oinstall -G dba oracle
sudo passwd oracle # 设置密码
3. 内核参数配置
# 编辑 /etc/sysctl.conf
sudo vi /etc/sysctl.conf
# 添加以下内容:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648 # 建议为物理内存一半
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
# 生效配置
sudo sysctl -p
4. 用户资源限制
# 编辑 /etc/security/limits.conf
sudo vi /etc/security/limits.conf
# 添加:
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
# 编辑 /etc/pam.d/login
echo "session required pam_limits.so" | sudo tee -a /etc/pam.d/login
5. 创建安装目录
sudo mkdir -p /u01/app/oracle
sudo chown -R oracle:oinstall /u01
sudo chmod -R 775 /u01
二、配置Oracle用户环境
sudo su - oracle
vi ~/.bash_profile
# 添加以下内容:
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:/lib:/usr/lib
export NLS_LANG=AMERICAN_AMERICA.UTF8
# 生效配置
source ~/.bash_profile
三、准备安装文件
-
上传安装包至服务器(如
/tmp)linux.x64_11gR2_database_1of2.ziplinux.x64_11gR2_database_2of2.zip
-
解压安装包:
cd /tmp
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
四、配置静默安装响应文件
1. 复制响应文件模板
cp /tmp/database/response/* /home/oracle/
chown oracle:oinstall /home/oracle/*.rsp
2. 修改 db_install.rsp
vi /home/oracle/db_install.rsp
关键参数修改:
oracle.install.option=INSTALL_DB_SWONLY # 仅安装数据库软件
UNIX_GROUP_NAME=oinstall # 用户组
INVENTORY_LOCATION=/u01/app/oraInventory # 库存目录
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE # 企业版
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
DECLINE_SECURITY_UPDATES=true # 跳过安全更新
五、执行静默安装
cd /tmp/database
./runInstaller -silent -responseFile /home/oracle/db_install.rsp -ignorePrereq
监控日志:
tail -f /u01/app/oraInventory/logs/installActions*.log
完成提示:
# 出现以下提示时,切换root执行脚本:
Successfully Setup Software.
As a root user, execute:
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
以root身份执行:
sudo /u01/app/oraInventory/orainstRoot.sh
sudo /u01/app/oracle/product/11.2.0/dbhome_1/root.sh
六、静默创建数据库
1. 修改 dbca.rsp 模板
vi /home/oracle/dbca.rsp
关键参数:
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v11.2.0
gdbName=orcl # 全局数据库名
sid=orcl # 实例名
templateName=General_Purpose.dbc # 模板
sysPassword=Oracle123 # SYS密码
systemPassword=Oracle123 # SYSTEM密码
characterSet=AL32UTF8 # 字符集
memoryPercentage=40 # 内存占比
databaseType=OLTP # 数据库类型
automaticMemoryManagement=true # 自动内存管理
totalMemory=2048 # 总内存(MB)
2. 执行DBCA静默建库
dbca -silent -responseFile /home/oracle/dbca.rsp
3. 监听配置
netca /silent /responsefile /home/oracle/netca.rsp
七、验证安装
sqlplus / as sysdba
SQL> SELECT status FROM v$instance;
-- 输出:OPEN 即成功
SQL> SELECT * FROM v$version;
八、常见错误处理
-
依赖缺失:
- 根据报错日志安装对应包(如
pdksh需手动安装)。
- 根据报错日志安装对应包(如
-
内存不足:
- 调整Swap或增加物理内存。
-
权限问题:
- 确保
/u01目录属主为oracle:oinstall。
- 确保
-
中文乱码:
- 安装中文语言包:
yum groupinstall "Chinese Support"
- 安装中文语言包:
九、一键卸载Oracle
# 停止数据库
sqlplus / as sysdba <<EOF
shutdown immediate;
exit;
EOF
# 运行卸载程序
$ORACLE_HOME/deinstall/deinstall -silent -checkpoint file=/tmp/deinstall_checkpoint -paramFile /home/oracle/deinstall_params.rsp
# 手动清理残留
rm -rf /u01 /etc/oraInst.loc /etc/oratab
重要提示:
- 生产环境务必修改默认密码!
- 根据硬件调整内存参数(
/etc/sysctl.conf和dbca.rsp)。- 完整日志路径:
$ORACLE_BASE/cfgtoollogs。
评论区