This commit is contained in:
colben 2022-04-20 12:07:11 +08:00
parent a62118e514
commit b13dd08f6c

View File

@ -1,7 +1,7 @@
--- ---
title: "CentOS7.4 静默安装 Oracle11g" title: "CentOS7.4 静默安装 Oracle11g"
date: 2019-10-30T11:54:49+08:00 date: 2019-10-30T11:54:49+08:00
lastmod: 2019-10-30T11:54:49+08:00 lastmod: 2022-04-19T12:00:00+08:00
tags: ["oracle"] tags: ["oracle"]
categories: ["database"] categories: ["database"]
--- ---
@ -17,11 +17,27 @@ categories: ["database"]
```bash ```bash
sed -i '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config sed -i '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config
``` ```
- 关闭防火墙,或者放行 tcp 1521 端口 - 关闭防火墙,或者放行 tcp 1521 端口
```bash ```bash
systemctl disable firewalld systemctl disable firewalld
systemctl stop firewalld systemctl stop firewalld
``` ```
- 检查交换内存(swap)大小,建议内存一半以上,如果没有设置虚拟内存,可参考如下操作
```bash
dd if=/dev/zero bs=1024 count=1048576 of=/SWAP # 1GB
chmod 0600 /SWAP
echo '/SWAP swap swap defaults 0 0' >> /etc/fstab
swapon /SWAP
```
- 调整 /etc/fstab调整共享内存分区的大小
```
tmpfs /dev/shm tmpfs defaults,size=5120M 0 0
# 这里的 5120M 是要调整的共享内存分区的大小,建议大小为内存一半以上
```
- 重启操作系统 - 重启操作系统
```bash ```bash
reboot reboot
@ -35,6 +51,7 @@ categories: ["database"]
yum makecache fast yum makecache fast
yum install vim unzip rlwrap yum install vim unzip rlwrap
``` ```
- 安装 oracle 需要的包 - 安装 oracle 需要的包
```bash ```bash
yum install binutils compat-libcap1 compat-libstdc++-33 \ yum install binutils compat-libcap1 compat-libstdc++-33 \
@ -52,6 +69,7 @@ categories: ["database"]
groupadd dba groupadd dba
useradd -g oinstall -G dba oracle useradd -g oinstall -G dba oracle
``` ```
- 创建 oracle 安装目录 - 创建 oracle 安装目录
```bash ```bash
mkdir -p /opt/oracle/app/product/11.2.0 mkdir -p /opt/oracle/app/product/11.2.0
@ -61,6 +79,7 @@ categories: ["database"]
chown -R oracle:oinstall /opt/oracle chown -R oracle:oinstall /opt/oracle
chmod -R 775 /opt/oracle chmod -R 775 /opt/oracle
``` ```
- 修改 sysctl.conf - 修改 sysctl.conf
```bash ```bash
cat << EOF >> /etc/sysctl.conf cat << EOF >> /etc/sysctl.conf
@ -80,6 +99,7 @@ categories: ["database"]
EOF EOF
sysctl -p sysctl -p
``` ```
- 修改 limits.conf - 修改 limits.conf
```bash ```bash
cat << EOF >> /etc/security/limits.conf cat << EOF >> /etc/security/limits.conf
@ -89,6 +109,7 @@ categories: ["database"]
oracle hard nofile 65536 oracle hard nofile 65536
EOF EOF
``` ```
- 修改 login - 修改 login
```bash ```bash
cat << EOF >> /etc/pam.d/login cat << EOF >> /etc/pam.d/login
@ -96,6 +117,7 @@ categories: ["database"]
session required pam_limits.so session required pam_limits.so
EOF EOF
``` ```
- 修改 profile - 修改 profile
```bash ```bash
cat << EOF >> /etc/profile cat << EOF >> /etc/profile
@ -110,6 +132,7 @@ categories: ["database"]
fi fi
EOF EOF
``` ```
- 修改 oracle 用户的 .bash_profile - 修改 oracle 用户的 .bash_profile
```bash ```bash
cat << EOF >> /home/oracle/.bash_profile cat << EOF >> /home/oracle/.bash_profile
@ -129,15 +152,18 @@ categories: ["database"]
unzip linux.x64_11gR2_database_2of2.zip -d /home/oracle/ unzip linux.x64_11gR2_database_2of2.zip -d /home/oracle/
chown -R oracle.oinstall /home/oracle/database chown -R oracle.oinstall /home/oracle/database
``` ```
- 切换到 oracle 用户,后续操作都在该 oracle 用户下执行 - 切换到 oracle 用户,后续操作都在该 oracle 用户下执行
```bash ```bash
su - oracle su - oracle
``` ```
- 创建 response 文件 - 创建 response 文件
```bash ```bash
cd /home/oracle cd /home/oracle
cp database/response/*.rsp ./ cp database/response/*.rsp ./
``` ```
- 修改 db_install.rsp - 修改 db_install.rsp
```bash ```bash
sed -i \ sed -i \
@ -154,6 +180,7 @@ categories: ["database"]
-e '/^DECLINE_SECURITY_UPDATES=/s#=.*$#=true#' \ -e '/^DECLINE_SECURITY_UPDATES=/s#=.*$#=true#' \
/home/oracle/db_install.rsp /home/oracle/db_install.rsp
``` ```
- 无需修改 netca.rsp - 无需修改 netca.rsp
- 修改 dbca.rsp - 修改 dbca.rsp
```bash ```bash
@ -165,6 +192,7 @@ categories: ["database"]
-e '/^CHARACTERSET=/s#=.*$#=ZHS16GBK#' \ -e '/^CHARACTERSET=/s#=.*$#=ZHS16GBK#' \
/home/oracle/dbca.rsp /home/oracle/dbca.rsp
``` ```
- 安装 oracle 软件 - 安装 oracle 软件
```bash ```bash
cd /home/oracle/database cd /home/oracle/database
@ -173,20 +201,22 @@ categories: ["database"]
/opt/oracle/invertory/orainstRoot.sh /opt/oracle/invertory/orainstRoot.sh
/opt/oracle/app/product/11.2.0/root.sh /opt/oracle/app/product/11.2.0/root.sh
``` ```
- 配置监听 - 配置监听
```bash ```bash
netca /silent /responseFile /home/oracle/netca.rsp netca /silent /responseFile /home/oracle/netca.rsp
#配置成功后,监听启动,查看监听状态 #配置成功后,监听启动,查看监听状态
lsnrctl status lsnrctl status
``` ```
- 创建数据库 - 创建数据库
```bash ```bash
dbca -silent -responseFile /home/oracle/dbca.rsp dbca -silent -responseFile /home/oracle/dbca.rsp
#查看屏幕输出的创建进度 #查看屏幕输出的创建进度
``` ```
## 简单使用 ## 启动数据库
- 登陆数据库 - 登陆 sysdba启动数据库
``` ```
[oracle@localhost ~]$ rlwrap sqlplus / as sysdba [oracle@localhost ~]$ rlwrap sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期一 6月 25 14:46:58 2018 SQL*Plus: Release 11.2.0.1.0 Production on 星期一 6月 25 14:46:58 2018
@ -194,6 +224,33 @@ categories: ["database"]
连接到: 连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> SQL> startup
``` ```
### 启动报错 LRM-00109
- 详细报错信息如下:
```
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file 'cd /opt/oracle/app/product/11.2.0/dbs/initorcl.ora'
```
- 创建 initorcl.ora 文件
```bash
cd /opt/oracle/app
cp admin/orcl11g/pfile/init.ora.* product/11.2.0/dbs/initorcl.ora
```
### 启动报错 ORA-00845
- 详细报错信息如下:
```
ORA-00845: MEMORY_TARGET not supported on this system
```
- 调整 /etc/fstab增加如下配置
```
tmpfs /dev/shm tmpfs defaults,size=5120M 0 0
# 这里的 5120M 是要调整的共享内存分区的大小
```
- 重启服务器