一、安装前准备
1、编写环境配置脚本
vi /root/install_oracle_env.sh
# 将以下内容复制进去脚本文件
#!/bin/bash
#配置参数
OS_ORACLE_USER=oracle
OS_ORACLE_PW=123456
ORACLE_DIR=/u01
ORACLE_SETSID=orcl
SETHOSTNAME=oracle
DBIP=10.10.10.2
# 创建用户组
db_create_group(){
groupadd oinstall
groupadd dba
groupadd oper
}
# 创建oracle用户及密码 用户
db_create_user(){
useradd -g oinstall -G dba,oper $OS_ORACLE_USER
echo $OS_ORACLE_PW |passwd --stdin $OS_ORACLE_USER
}
#创建安装路径
db_create_dir(){
mkdir -p $ORACLE_DIR/app/oracle
chown -R $OS_ORACLE_USER:oinstall $ORACLE_DIR/app/
chmod -R 775 $ORACLE_DIR/app/
}
#安装依赖包
db_rpm(){
yum install -y binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make ksh sysstat unixODBC unixODBC-devel
}
#检查依赖包
db_check_rpm(){
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make ksh sysstat unixODBC unixODBC-devel
}
#设置hosts及设置主机名称
db_sethostname(){
IPADDR=$DBIP
hostnamectl set-hostname $SETHOSTNAME
cat >> /etc/hosts $IPADDR $SETHOSTNAME
EOF
}
db_set_shmmax(){
local m=`grep MemTotal /proc/meminfo |cut -d' ' -f 8`
let m=m*1024*6/10
echo $m
}
db_set_shmall(){
local m=`grep MemTotal /proc/meminfo |cut -d' ' -f 8`
let m=m*1024*6/10/4096
echo $m
}
# 修改内核参数
db_sysctl_set(){
cat >>/etc/sysctl.conffs.aio-max-nr = 1048576
fs.file-max = 6553600
kernel.shmall = `db_set_shmall`
kernel.shmmax =`db_set_shmmax`
kernel.shmmni = 4096
kernel.sem = 610 86620 100 142
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
EOF
}
# 配置用户资源限制
db_set_env(){
cat >>/etc/security/limits.conf$OS_ORACLE_USER soft nproc 2047
$OS_ORACLE_USER hard nproc 16384
$OS_ORACLE_USER soft nofile 1024
$OS_ORACLE_USER hard nofile 65536
$OS_ORACLE_USER soft stack 10240
EOF
# 配置最大打开文件数
cat >/etc/profile.d/oraenvif [ $USER = "$OS_ORACLE_USER" ]; then
if [ $$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
EOF
# 配置Oracle环境变量
cat >>/home/$OS_ORACLE_USER/.bash_profileumask 022
export ORACLE_BASE=$ORACLE_DIR/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1
export ORACLE_SID=$ORACLE_SETSID
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
EOF
}
# 配置环境变量
db_apply_env(){
source /etc/profile.d/oraenv
sysctl -p &>/dev/null
su - $OS_ORACLE_USER
source /etc/profile.d/oraenv
source .bash_profile
}
# 执行以上定义的各项函数
if [ $USER = "root" ]; then
if [ $UID -eq 0 ];then
db_create_group
db_create_user
db_create_dir
db_rpm
#db_check_rpm
db_sethostname
db_sysctl_set
db_set_env
db_apply_env
fi
else
echo Please use the root user to run this script!
fi
2、执行脚本
sh /root/install_oracle_env.sh
二、安装Oracle数据库(Oracle用户)
上传已下载安装包
1、编写db_install.rsp响应文件
# 解压安装包
su - oracle
[oracle@oracle ~]$ unzip linuxx64_12201_database.zip
# 编写前先备份
[oracle@oracle ~]$ cd /home/oracle/database/response
[oracle@oracle response]$ cp db_install.rsp db_install.rsp.bak
# 编写响应文件
[oracle@oracle response]$ vi db_install.rsp
# 修改以下参数
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oinstall
oracle.install.db.OSBACKUPDBA_GROUP=oinstall
oracle.install.db.OSDGDBA_GROUP=oinstall
oracle.install.db.OSKMDBA_GROUP=oinstall
oracle.install.db.OSRACDBA_GROUP=oinstall
2、修改完检查配置
[oracle@oracle response]$ grep -Ev "^#|^$" db_install.rsp
3、执行安装
[oracle@oracle database]$ ./runInstaller -silent -responseFile /home/oracle/database/response/db_install.rsp -ignorePrereq
如果执行没问题,会有以下输出

4、在root用户下执行这两个文件
[root@oracle ~]# /u01/app/oraInventory/orainstRoot.sh
[root@oracle ~]# /u01/app/oracle/product/12.2.0/dbhome_1/root.sh
三、配置监听
使用默认响应文件创建监听
[oracle@oracle ~]$ cd /home/oracle/database
[oracle@oracle database]$ netca /silent /responseFile /home/oracle/database/response/netca.rsp

检查监听
# 查看监听端口
[root@oracle ~]# netstat -lntup |grep 1521
tcp6 0 0 :::1521 :::* LISTEN 33005/tnslsnr
# 查看监听状态
[root@oracle ~]# lsnrctl status
四、安装数据库
1、修改响应文件
# 修改前备份
[oracle@oracle ~]$ cd /home/oracle/database/response
[oracle@oracle response]$ cp dbca.rsp dbca.rsp.bak# 修改文件
[oracle@oracle response]$ vi dbca.rsp
# 修改以下内容
gdbName=orcl
sid=orcl
databaseConfigType=SI
templateName=General_Purpose.dbc
sysPassword=123456
systemPassword=123456
emExpressPort=5500
datafileJarLocation={ORACLE_HOME}/assistants/dbca/templates
datafileDestination={ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/
characterSet=AL32UTF8
# initParams为初始化参数,各个值根据实际情况来填写,比如memory_target一般设置系统内存的75%,db_recovery_file_dest_size这是备份恢复区大小,根据实际填写
initParams=undo_tablespace=UNDOTBS1,memory_target=2G,processes=600,db_recovery_file_dest_size=2G,nls_language=AMERICAN,db_recovery_file_dest={ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME},db_block_size=8192BYTES,diagnostic_dest={ORACLE_BASE},audit_file_dest={ORACLE_BASE}/admin/{DB_UNIQUE_NAME}/adump,nls_territory=AMERICA,local_listener=LISTENER,compatible=12.2.0,control_files=("{ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/control01.ctl", "{ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME}/control02.ctl"),db_name=rac12c,audit_trail=db,remote_login_passwordfile=EXCLUSIVE,open_cursors=500
memoryPercentage=60
# 这里可以选FALSE,表示不用系统自动管理内存,TRUE设置为自动内存管理
automaticMemoryManagement=FALSE
totalMemory=75
2、执行安装
[oracle@oracle response]$ dbca -silent -createDatabase -responseFile /home/oracle/database/response/dbca.rsp
执行结果

五、登录数据库
若以上步骤都没问题,就可以登录数据库了
[oracle@oracle response]$ sqlplus / as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on Thu Aug 8 15:32:02 2024
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
orcl OPEN
本篇关于Oracle12C 静默方式部署的知识分享完结!感谢你的阅读,如果觉得还OK,欢迎点赞 ;关注 ; 收藏 ; 私信;一起成长!!!