You've already forked www.colben.cn
update
This commit is contained in:
228
content/post/oracle12c-install.md
Normal file
228
content/post/oracle12c-install.md
Normal file
@@ -0,0 +1,228 @@
|
||||
---
|
||||
title: "CentOS7 静默安装 Oracle12c"
|
||||
date: 2019-10-30T11:11:13+08:00
|
||||
lastmod: 2019-10-30T11:11:13+08:00
|
||||
keywords: []
|
||||
tags: ["oracle"]
|
||||
categories: ["database"]
|
||||
---
|
||||
|
||||
# 环境
|
||||
- CentOS7.5 最小安装
|
||||
- 数据库软件
|
||||
- linuxx64_12201_database.zip
|
||||
|
||||
# 操作系统配置
|
||||
- 关闭 SELinux
|
||||
```bash
|
||||
sed -i '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config
|
||||
```
|
||||
- 关闭防火墙
|
||||
```bash
|
||||
systemctl disable firewalld
|
||||
systemctl stop firewalld
|
||||
```
|
||||
- 禁用 NetworkManager
|
||||
```bash
|
||||
systemctl disable NetworkManager
|
||||
systemctl stop NetworkManager
|
||||
```
|
||||
- 重启操作系统
|
||||
```bash
|
||||
reboot
|
||||
```
|
||||
|
||||
# 安装依赖
|
||||
- 安装可能用到的工具
|
||||
```bash
|
||||
yum install epel-release
|
||||
yum clean all
|
||||
yum makecache fast
|
||||
yum install vim unzip rlwrap
|
||||
```
|
||||
- 安装 oracle 需要的包
|
||||
```bash
|
||||
yum install binutils compat-libcap1 compat-libstdc++-33 \
|
||||
compat-libstdc++-33*i686 gcc gcc-c++ glibc glibc*.i686 \
|
||||
glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel \
|
||||
libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel \
|
||||
libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC \
|
||||
unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686
|
||||
```
|
||||
|
||||
# 配置安装环境
|
||||
- 创建 oracle 用户
|
||||
```bash
|
||||
groupadd oinstall
|
||||
groupadd dba
|
||||
groupadd oper
|
||||
useradd -g oinstall -G dba,oper oracle
|
||||
```
|
||||
- 创建 oracle 安装目录
|
||||
```bash
|
||||
mkdir -p /opt/oracle/app/product/12.2.0
|
||||
mkdir -p /opt/oracle/app/oradata
|
||||
mkdir -p /opt/oracle/app/fast_recovery_area
|
||||
chown -R oracle:oinstall /opt/oracle
|
||||
chmod -R 775 /opt/oracle
|
||||
```
|
||||
- 修改 sysctl.conf
|
||||
```bash
|
||||
cat << EOF >> /etc/sysctl.conf
|
||||
fs.aio-max-nr = 1048576
|
||||
fs.file-max = 6815744
|
||||
#物理内存一半和4G中的较大者,当前服务器16G
|
||||
kernel.shmmax = 8589934592
|
||||
#shmmax / 4k (getconf PAGESIZE)
|
||||
kernel.shmall = 2097152
|
||||
kernel.shmmni = 4096
|
||||
kernel.sem = 250 32000 200 200
|
||||
net.ipv4.ip_local_port_range = 9000 65500
|
||||
net.core.rmem_default = 262144
|
||||
net.core.wmem_default = 262144
|
||||
net.core.wmem_max = 1048586
|
||||
net.core.rmem_max = 4194304
|
||||
EOF
|
||||
sysctl -p
|
||||
```
|
||||
- 修改 limits.conf
|
||||
```bash
|
||||
cat << EOF >> /etc/security/limits.conf
|
||||
oracle soft nproc 2047
|
||||
oracle hard nproc 16384
|
||||
oracle soft nofile 1024
|
||||
oracle hard nofile 65536
|
||||
oracle soft stack 10240
|
||||
EOF
|
||||
```
|
||||
- 修改 login
|
||||
```bash
|
||||
cat << EOF >> /etc/pam.d/login
|
||||
session required /lib64/security/pam_limits.so
|
||||
session required pam_limits.so
|
||||
EOF
|
||||
```
|
||||
- 修改 profile
|
||||
```bash
|
||||
cat << EOF >> /etc/profile
|
||||
if [ \$USER = "oracle" ] ; then
|
||||
if [ \$SHELL = "/bin/ksh" ]; then
|
||||
ulimit -p 16384
|
||||
ulimit -n 65536
|
||||
else
|
||||
ulimit -u 16384 -n 65536
|
||||
fi
|
||||
umask 022
|
||||
fi
|
||||
EOF
|
||||
```
|
||||
- 修改 oracle 用户的 .bash_profile
|
||||
```bash
|
||||
cat << EOF >> /home/oracle/.bash_profile
|
||||
export ORACLE_BASE=/opt/oracle/app
|
||||
export ORACLE_HOME=\$ORACLE_BASE/product/12.2.0
|
||||
export ORACLE_SID=orcl
|
||||
export PATH=\$PATH:\$ORACLE_HOME/bin
|
||||
#export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
|
||||
#export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
|
||||
EOF
|
||||
```
|
||||
|
||||
# 安装数据库
|
||||
- 上传数据库软件到 /root 下,解压
|
||||
```bash
|
||||
unzip linuxx64_12201_database.zip -d /home/oracle/
|
||||
chown -R oracle.oinstall /home/oracle/database
|
||||
```
|
||||
- 切换到 oracle 用户,后续操作都在该 oracle 用户下执行
|
||||
```bash
|
||||
su - oracle
|
||||
```
|
||||
- 创建 response 文件
|
||||
```bash
|
||||
cd /home/oracle
|
||||
cp database/response/*.rsp ./
|
||||
```
|
||||
- 修改 db_install.rsp
|
||||
```bash
|
||||
sed -i \
|
||||
-e '/^oracle\.install\.option=/s#=.*$#=INSTALL_DB_SWONLY#' \
|
||||
-e '/^UNIX_GROUP_NAME=/s#=.*$#=oinstall#' \
|
||||
-e '/^INVENTORY_LOCATION=/s#=.*$#=/opt/oracle/oraInventory#' \
|
||||
-e '/^ORACLE_HOME=/s#=.*$#=/opt/oracle/app/product/12.2.0#' \
|
||||
-e '/^ORACLE_BASE=/s#=.*$#=/opt/oracle/app#' \
|
||||
-e '/^oracle\.install\.db\.InstallEdition=/s#=.*$#=EE#' \
|
||||
-e '/^oracle\.install\.db\.OSDBA_GROUP=/s#=.*$#=dba#' \
|
||||
-e '/^oracle\.install\.db\.OSOPER_GROUP=/s#=.*$#=oper#' \
|
||||
-e '/^oracle\.install\.db\.OSBACKUPDBA_GROUP=/s#=.*$#=dba#' \
|
||||
-e '/^oracle\.install\.db\.OSDGDBA_GROUP=/s#=.*$#=dba#' \
|
||||
-e '/^oracle\.install\.db\.OSKMDBA_GROUP=/s#=.*$#=dba#' \
|
||||
-e '/^oracle\.install\.db\.OSRACDBA_GROUP=/s#=.*$#=dba#' \
|
||||
-e '/^oracle.install.db.config.starterdb.type=/s#=.*$#=GENERAL_PURPOSE#' \
|
||||
-e '/^oracle\.install\.db\.config\.starterdb\.characterSet=/s#=.*$#=ZHS16GBK#' \
|
||||
-e '/^DECLINE_SECURITY_UPDATES=/s#=.*$#=true#' \
|
||||
/home/oracle/db_install.rsp
|
||||
```
|
||||
- 无需修改 netca.rsp
|
||||
- 修改 dbca.rsp
|
||||
```bash
|
||||
sed -i \
|
||||
-e '/^gdbName=/s#=.*$#=orcl#' \
|
||||
-e '/^sid=/s#=.*$#=orcl#' \
|
||||
-e '/^createAsContainerDatabase=/s#=.*$#=true#' \
|
||||
-e '/^numberOfPDBs=/s#=.*$#=1#' \
|
||||
-e '/^pdbName=/s#=.*$#=pdborcl#' \
|
||||
-e '/^templateName=/s#=.*$#=General_Purpose.dbc#' \
|
||||
-e '/^pdbAdminPassword=/s#=.*$#=P@sswo2d#' \
|
||||
-e '/^sysPassword=/s#=.*$#=P@sswo2d#' \
|
||||
-e '/^systemPassword=/s#=.*$#=P@sswo2d#' \
|
||||
/home/oracle/dbca.rsp
|
||||
```
|
||||
- 安装 oracle 软件
|
||||
```bash
|
||||
cd /home/oracle/database
|
||||
./runInstaller -silent -responseFile /home/oracle/db_install.rsp -ignorePrereq
|
||||
#安装成功后,系统提示需要在 root 下执行两个脚本
|
||||
/opt/oracle/oraInventory/orainstRoot.sh
|
||||
/opt/oracle/app/product/12.2.0/root.sh
|
||||
```
|
||||
- 配置监听
|
||||
```bash
|
||||
netca /silent /responseFile /home/oracle/netca.rsp
|
||||
#配置成功后,监听启动,查看监听状态
|
||||
lsnrctl status
|
||||
```
|
||||
- 创建数据库
|
||||
```bash
|
||||
dbca -silent -createDatabase -responseFile /home/oracle/dbca.rsp
|
||||
#查看屏幕输出的创建进度
|
||||
```
|
||||
|
||||
# 简单使用
|
||||
- 登陆数据库,切换到 pdb 数据库
|
||||
```
|
||||
[oracle@fpManager2 ~]$ rlwrap sqlplus / as sysdba
|
||||
SQL*Plus: Release 12.2.0.1.0 Production on 星期一 6月 25 14:41:16 2018
|
||||
Copyright (c) 1982, 2016, Oracle. All rights reserved.
|
||||
连接到:
|
||||
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
|
||||
SQL> show con_name
|
||||
CON_NAME
|
||||
------------------------------
|
||||
CDB$ROOT
|
||||
SQL> alter session set container=pdborcl;
|
||||
会话已更改。
|
||||
SQL> show con_name
|
||||
CON_NAME
|
||||
------------------------------
|
||||
PDBORCL
|
||||
SQL> select file_name from dba_data_files;
|
||||
FILE_NAME
|
||||
--------------------------------------------------------------------------------
|
||||
/opt/oracle/app/oradata/orcl/pdborcl/system01.dbf
|
||||
/opt/oracle/app/oradata/orcl/pdborcl/sysaux01.dbf
|
||||
/opt/oracle/app/oradata/orcl/pdborcl/undotbs01.dbf
|
||||
/opt/oracle/app/oradata/orcl/pdborcl/users01.dbf
|
||||
SQL>
|
||||
```
|
||||
|
Reference in New Issue
Block a user