15分钟!一键部署Oracle 12CR2单机CDB+PDB
Posted lucifer三思后行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了15分钟!一键部署Oracle 12CR2单机CDB+PDB相关的知识,希望对你有一定的参考价值。
无人值守安装Oracle 12CR2单机CDB+PDB,只需要15分钟?没错,通过脚本静默安装,真的只需要15分钟,包括安装补丁,建库。
脚本下载链接:SHELL脚本进行oracle数据库一键安装,实现真正的无人值守安装
一、主机准备
主机版本 | 主机内存 | 主机磁盘空间 | 主机网卡 | 主机IP |
redhat 7.9 | 8G | 50G | eth0 | 10.211.55.100 |
注意:
1.主机内存不得低于8G
2.磁盘空间不得低于50G
二、安装前准备
1.挂载ISO镜像源
##1.通过cdrom挂载
mount /dev/cdrom /mnt
##2.通过安装镜像源挂载
mount -o loop /soft/rhel-server-7.9-x86_64-dvd.iso /mnt
2.创建目录并上传安装介质
##1.创建安装介质上传目录
mkdir /soft
[root@localhost ~]# cd /soft/
##2.上传安装介质
[root@localhost soft]# du -sh *
##linux7系统缺少补丁包
192K compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
##oracle 12CR2 DB官方安装包
3.3G LINUX.X64_122010_db_home.zip
##无人值守shell脚本
140K OracleShellInstall.sh
##oracle 12CR2 PSU 最新版补丁包+6880880 OPatch补丁包
933M p32507738_122010_Linux-x86-64.zip
116M p6880880_122010_Linux-x86-64.zip
##上下文切换软件(可选)
276K rlwrap-0.42.tar.gz
##3.授权脚本执行权限
chmod +x OracleShellInstall.sh
三、安装
注意:可通过./OracleShellInstall.sh --help查看命令帮助
安装命令如下:
cd /soft
./OracleShellInstall.sh -i 10.211.55.100 `#Public ip`\\
-n s12c `# hostname`\\
-o s12c `# oraclesid`\\
-op oracle `# oracle user password`\\
-b /u01/app `# install basedir`\\
-s ZHS16GBK `# characterset`\\
-opa 32507738 `# oracle psu number`
注意:可通过指定-c 和-pb的值来确认是否创建CDB+PDB数据库。
-c TRUE `# cdb`\\
-pb pdb01 `# pdb`\\
敲下回车将开始无人值守安装......
开始时间:11:45
执行过程太多.....略
安装日志记录在/soft目录下:oracleAllSilent_*.log,在文末展示安装日志。
安装结束后,将自动创建好一个上述指定实例名为s12c的数据库实例,并安装上传补丁32507738。
等待安装结束.......
结束时间:11:58
安装结束。
总耗时:
非CDB数据库,13分钟。
CDB+PDB数据库,15~20分钟。(安装过程忽略,可自行测试)
安装日志如下:
[root@s12c soft]# cat oracleAllSilent_20210506030517.log
####################################################################################
# Installation Logging
####################################################################################
####################################################################################
# OS Version
####################################################################################
OS Version :
linux7
####################################################################################
# DB Version
####################################################################################
DB Version :
12.2.0.1
####################################################################################
# HOSTNAME
####################################################################################
HOSTNAME :
s12c
####################################################################################
# RPM Check
####################################################################################
RPM Check :
bc-1.06.95-13.el7.x86_64
binutils-2.27-44.base.el7.x86_64
compat-libcap1-1.10-7.el7.x86_64
compat-libstdc++-33-3.2.3-72.el7.x86_64
gcc-4.8.5-44.el7.x86_64
gcc-c++-4.8.5-44.el7.x86_64
elfutils-libelf-0.176-5.el7.x86_64
elfutils-libelf-devel-0.176-5.el7.x86_64
glibc-2.17-317.el7.x86_64
glibc-devel-2.17-317.el7.x86_64
ksh-20120801-142.el7.x86_64
libaio-0.3.109-13.el7.x86_64
libaio-devel-0.3.109-13.el7.x86_64
libgcc-4.8.5-44.el7.x86_64
libstdc++-4.8.5-44.el7.x86_64
libstdc++-devel-4.8.5-44.el7.x86_64
libxcb-1.13-1.el7.x86_64
libX11-1.6.7-2.el7.x86_64
libXau-1.0.8-2.1.el7.x86_64
libXi-1.7.9-1.el7.x86_64
libXtst-1.2.3-1.el7.x86_64
libXrender-0.9.10-1.el7.x86_64
libXrender-devel-0.9.10-1.el7.x86_64
make-3.82-24.el7.x86_64
net-tools-2.0-0.25.20131004git.el7.x86_64
nfs-utils-1.3.0-0.68.el7.x86_64
smartmontools-7.0-2.el7.x86_64
sysstat-10.1.5-19.el7.x86_64
e2fsprogs-1.42.9-19.el7.x86_64
e2fsprogs-libs-1.42.9-19.el7.x86_64
fontconfig-devel-2.13.0-4.3.el7.x86_64
expect-5.45-14.el7_1.x86_64
unzip-6.0-21.el7.x86_64
openssh-clients-7.4p1-21.el7.x86_64
readline-6.2-11.el7.x86_64
####################################################################################
# /etc/hosts
####################################################################################
/etc/hosts :
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
#Public IP
10.211.55.100 s12c
####################################################################################
# Create user and groups(oracle)
####################################################################################
Create user and groups(oracle) :
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba)
####################################################################################
# chronyd
####################################################################################
chronyd :
● chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:chronyd(8)
man:chrony.conf(5)
May 06 14:51:16 localhost.localdomain systemd[1]: Starting NTP client/server...
May 06 14:51:16 localhost.localdomain chronyd[706]: chronyd version 3.4 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +SECHASH +IPV6 +DEBUG)
May 06 14:51:16 localhost.localdomain chronyd[706]: Frequency 0.000 +/- 1000000.000 ppm read from /var/lib/chrony/drift
May 06 14:51:16 localhost.localdomain systemd[1]: Started NTP client/server.
May 06 15:06:39 s12c chronyd[706]: chronyd exiting
May 06 15:06:39 s12c systemd[1]: Stopping NTP client/server...
May 06 15:06:39 s12c systemd[1]: Stopped NTP client/server.
####################################################################################
# Time dependent
####################################################################################
Time dependent :
Thu May 6 15:06:39 CST 2021
####################################################################################
# avahi-daemon
####################################################################################
avahi-daemon :
####################################################################################
# Firewalld
####################################################################################
Firewalld :
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
May 06 14:51:16 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
May 06 14:51:16 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
May 06 14:51:16 localhost.localdomain firewalld[722]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure configuration option. It will be removed in a future release. Please consider disabling it now.
May 06 15:06:40 s12c systemd[1]: Stopping firewalld - dynamic firewall daemon...
May 06 15:06:40 s12c systemd[1]: Stopped firewalld - dynamic firewall daemon.
####################################################################################
# SELINUX
####################################################################################
SELINUX :
Permissive
####################################################################################
# /etc/default/grub
####################################################################################
/etc/default/grub :
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="spectre_v2=retpoline rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet transparent_hugepage=never numa=off"
GRUB_DISABLE_RECOVERY="true"
####################################################################################
# Transparent_hugepages
####################################################################################
Transparent_hugepages :
[always] madvise never
####################################################################################
# NUMA
####################################################################################
NUMA :
BOOT_IMAGE=/vmlinuz-3.10.0-1160.el7.x86_64 root=/dev/mapper/rhel-root ro spectre_v2=retpoline rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet LANG=en_US.UTF-8
####################################################################################
# NetworkManager
####################################################################################
NetworkManager :
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; disabled; vendor preset: enabled)
Active: inactive (dead) since Thu 2021-05-06 15:06:42 CST; 137ms ago
Docs: man:NetworkManager(8)
Main PID: 724 (code=exited, status=0/SUCCESS)
May 06 14:51:17 localhost.localdomain NetworkManager[724]: <info> [1620283877.7036] device (eth1): state change: secondaries -> activated (reason 'none', sys-iface-state: 'managed')
May 06 14:51:17 localhost.localdomain NetworkManager[724]: <info> [1620283877.7086] device (eth1): Activation: successful, device activated.
May 06 14:51:17 localhost.localdomain NetworkManager[724]: <info> [1620283877.7090] manager: startup complete
May 06 15:06:34 s12c NetworkManager[724]: <info> [1620284794.4650] hostname: hostname changed from "localhost.localdomain" to "s12c"
May 06 15:06:34 s12c NetworkManager[724]: <info> [1620284794.4654] policy: set-hostname: set hostname to 's12c' (from system configuration)
May 06 15:06:42 s12c systemd[1]: Stopping Network Manager...
May 06 15:06:42 s12c NetworkManager[724]: <info> [1620284802.8183] caught SIGTERM, shutting down normally.
May 06 15:06:42 s12c NetworkManager[724]: <info> [1620284802.8222] manager: NetworkManager state is now CONNECTED_SITE
May 06 15:06:42 s12c NetworkManager[724]: <info> [1620284802.8250] exiting (success)
May 06 15:06:42 s12c systemd[1]: Stopped Network Manager.
####################################################################################
# rlwrap
####################################################################################
rlwrap :
rlwrap 0.42
####################################################################################
# /etc/sysctl.conf
####################################################################################
/etc/sysctl.conf :
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 8365367295
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
####################################################################################
# NOZEROCONF
####################################################################################
NOZEROCONF :
# Created by anaconda
#OracleBegin
NOZEROCONF=yes
#OracleEnd
####################################################################################
# /etc/security/limits.d/20-nproc.conf
####################################################################################
/etc/security/limits.d/20-nproc.conf :
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
* - nproc 16384
root soft nproc unlimited
####################################################################################
# /etc/security/limits.conf
####################################################################################
/etc/security/limits.conf :
# /etc/security/limits.conf
#
#This file sets the resource limits for the users logged in via PAM.
#It does not affect resource limits of the system services.
#
#Also note that configuration files in /etc/security/limits.d directory,
#which are read in alphabetical order, override the settings in this
#file in case the domain is the same or more specific.
#That means for example that setting a limit for wildcard domain here
#can be overriden with a wildcard setting in a config file in the
#subdirectory, but a user specific setting here can be overriden only
#with a user specific setting in the subdirectory.
#
#Each line describes a limit for a user in the form:
#
#<domain> <type> <item> <value>
#
#Where:
#<domain> can be:
# - a user name
# - a group name, with @group syntax
# - the wildcard *, for default entry
# - the wildcard %, can be also used with %group syntax,
# for maxlogin limit
#
#<type> can have the two values:
# - "soft" for enforcing the soft limits
# - "hard" for enforcing hard limits
#
#<item> can be one of the following:
# - core - limits the core file size (KB)
# - data - max data size (KB)
# - fsize - maximum filesize (KB)
# - memlock - max locked-in-memory address space (KB)
# - nofile - max number of open file descriptors
# - rss - max resident set size (KB)
# - stack - max stack size (KB)
# - cpu - max CPU time (MIN)
# - nproc - max number of processes
# - as - address space limit (KB)
# - maxlogins - max number of logins for this user
# - maxsyslogins - max number of logins on the system
# - priority - the priority to run user process with
# - locks - max number of file locks the user can hold
# - sigpending - max number of pending signals
# - msgqueue - max memory used by POSIX message queues (bytes)
# - nice - max nice priority allowed to raise to values: [-20, 19]
# - rtprio - max realtime priority
#
#<domain> <type> <item> <value>
#
#* soft core 0
#* hard rss 10000
#@student hard nproc 20
#@faculty soft nproc 20
#@faculty hard nproc 50
#ftp hard nproc 0
#@student - maxlogins 4
# End of file
#OracleBegin
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle soft nproc 2047
oracle hard nproc 16384
oracle hard memlock 134217728
oracle soft memlock 134217728
#OracleEnd
####################################################################################
# /etc/pam.d/login
####################################################################################
/etc/pam.d/login :
#%PAM-1.0
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth substack system-auth
auth include postlogin
account required pam_nologin.so
account include system-auth
password include system-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
session optional pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open
session required pam_namespace.so
session optional pam_keyinit.so force revoke
session include system-auth
session include postlogin
-session optional pam_ck_connector.so
#OracleBegin
session required pam_limits.so
session required /lib64/security/pam_limits.so
#OracleEnd
####################################################################################
# /dev/shm
####################################################################################
/dev/shm :
#
# /etc/fstab
# Created by anaconda on Thu May 6 02:11:47 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/rhel-root / xfs defaults 0 0
UUID=32cd2453-e3e4-4e58-a3c5-d7eb092d7469 /boot xfs defaults 0 0
/dev/mapper/rhel-home /home xfs defaults 0 0
/dev/mapper/rhel-swap swap swap defaults 0 0
/swapfile swap swap defaults 0 0
tmpfs /dev/shm tmpfs size=8169304k 0 0
####################################################################################
# df -hP
####################################################################################
df -hP :
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 3.9G 9.1M 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/rhel-root 39G 11G 28G 28% /
/dev/sda1 1014M 137M 878M 14% /boot
/dev/mapper/rhel-home 19G 33M 19G 1% /home
tmpfs 798M 0 798M 0% /run/user/0
/dev/sr0 4.3G 4.3G 0 100% /mnt
####################################################################################
# Oracle Profile
####################################################################################
Oracle Profile :
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
################OracleBegin#########################
umask 022
export TMP=/tmp
export TMPDIR=$TMP
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #AL32UTF8,ZHS16GBK
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/12.2.0/db
export ORACLE_HOSTNAME=s12c
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=s12c
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
alias sas='sqlplus / as sysdba'
alias alert='tail -500f $ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace/alert_$ORACLE_SID.log|more'
export PS1="[`whoami`@`hostname`:"'$PWD]$ '
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias lsnrctl='rlwrap lsnrctl'
alias asmcmd='rlwrap asmcmd'
alias adrci='rlwrap adrci'
alias ggsci='rlwrap ggsci'
alias dgmgrl='rlwrap dgmgrl'
################OracleEnd###########################
####################################################################################
# /soft/db.rsp
####################################################################################
/soft/db.rsp :
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
ORACLE_HOME=/u01/app/oracle/product/12.2.0/db
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_BASE=/u01/app/oracle
SELECTED_LANGUAGES=en,zh_CN
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=backupdba
oracle.install.db.OSDGDBA_GROUP=dgdba
oracle.install.db.OSKMDBA_GROUP=kmdba
oracle.install.db.OSRACDBA_GROUP=racdba
####################################################################################
# /soft/netca.rsp
####################################################################################
/soft/netca.rsp :
[GENERAL]
RESPONSEFILE_VERSION="12.2"
CREATE_TYPE="CUSTOM"
[oracle.net.ca]
INSTALLED_COMPONENTS={"server","net8","javavm"}
INSTALL_TYPE=""typical""
LISTENER_NUMBER=1
LISTENER_NAMES={"LISTENER"}
LISTENER_PROTOCOLS={"TCP;1521"}
LISTENER_START=""LISTENER""
NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}
NSN_NUMBER=1
NSN_NAMES={"EXTPROC_CONNECTION_DATA"}
NSN_SERVICE={"PLSExtProc"}
NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}
####################################################################################
# Oracle RDBMS
####################################################################################
Oracle RDBMS :
SQL*Plus: Release 12.2.0.1.0 Production
####################################################################################
# Oracle OPatch Version
####################################################################################
Oracle OPatch Version :
OPatch Version: 12.2.0.1.24
OPatch succeeded.
####################################################################################
# OPatch lspatches
####################################################################################
OPatch lspatches :
32507738;Database Apr 2021 Release Update : 12.2.0.1.210420 (32507738)
OPatch succeeded.
####################################################################################
# ORACLE Instance
####################################################################################
ORACLE Instance :
LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 06-MAY-2021 15:19:42
Copyright (c) 1991, 2016, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=s12c)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 12.2.0.1.0 - Production
Start Date 06-MAY-2021 15:13:22
Uptime 0 days 0 hr. 6 min. 19 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/12.2.0/db/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/s12c/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=s12c)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "s12c" has 1 instance(s).
Instance "s12c", status READY, has 1 handler(s) for this service...
The command completed successfully
####################################################################################
# Oracle Implied parameters
####################################################################################
Oracle Implied parameters :
SQL*Plus: Release 12.2.0.1.0 Production on Thu May 6 15:19:44 2021
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_trail string DB
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
deferred_segment_creation boolean FALSE
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
result_cache_max_size big integer 0
NAME VALUE DESCRIB
---------------------------------------- ---------- ------------------------------------------------------------
_use_single_log_writer ADAPTIVE Use a single process for redo log writing
_use_adaptive_log_file_sync TRUE Adaptively switch between post/wait and polling
_optimizer_cartesian_enabled FALSE optimizer cartesian join enabled
Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
以上是关于15分钟!一键部署Oracle 12CR2单机CDB+PDB的主要内容,如果未能解决你的问题,请参考以下文章
《零基础安装 Oracle 数据库》单机ASM系列 2️⃣ 一键快速安装 Oracle 12CR2 数据库
《零基础安装 Oracle 数据库》单机系列 ② 一键快速安装 Oracle 12CR2 数据库