Oracle静默安装搭建

Posted 小渣渣呦!!!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle静默安装搭建相关的知识,希望对你有一定的参考价值。

oracle数据库静默安装

环境配置

系统:CentOS7.6

cpu:2*4=8核

硬盘:120G

内存:8G

一,配置

1,关闭防火墙及selinux

[root@localhost ~]# iptables -F
 [root@localhost ~]# systemctl stop firewalld
 [root@localhost ~]# systemctl disable firewalld
 [root@localhost ~]# systemctl status firewalld
 [root@localhost ~]# setenforce 0
 [root@localhost ~]# sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config

2,配置yum源

在下载163源的时候如果有报错可能是因为没有配置dns按照下面方法配置一下即可

 [root@localhost yum.repos.d]# vi /etc/resolv.conf
 [root@localhost yum.repos.d]# cat /etc/resolv.conf
 nameserver 8.8.8.8
 [root@localhost ~]# cp /etc/yum.conf /etc/yum.confbak`date +%F_%T`
 [root@localhost ~]# echo exclude=kernel*
 exclude=centos-release* >> /etc/yum.conf && grep exclude /etc/yum.conf  && mkdir -p /tmp/repobak && rm -rf /tmp/repobak/* && cd /etc/yum.repos.d/ && mv -f * /tmp/repobak/ > /dev/null 2>&1
 [root@localhost ~]# curl -o /etc/yum.repos.d/CentOS6-Base-163.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo
 [root@localhost ~]# mv -f /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup > /dev/null 2>&1
 [root@localhost ~]# mv -f /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup > /dev/null 2>&1
 [root@localhost ~]#  curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
 [root@localhost ~]# rpm --import /etc/pki/rpm-gpg/RPM* &&  yum clean all &&  yum makecache &&  yum groupinfo Development tools &&  yum groupinstall -y Development tools &&  yum install wget vim man rsync openssh-clients openssl -y && ls -l && cd ~

3,配置主机名

[root@localhost ~]# vim /etc/hosts
 [root@localhost ~]# cat /etc/hosts
 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
 192.168.66.61 db
 [root@localhost ~]# reboot

4,安装依赖包

[root@db ~]# yum install binutils  compat-libstdc* elfutils-libelf elfutils-libelf-devel  gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel  libgcc  libstdc++ libstdc++-devel  libgomp make numactl numactl-devel sysstat -y
 [root@db ~]# yum install unixODBC unixODBC-devel -y

pdksh需要使用rpm安装,先把包放到/tmp目录下

[root@db tmp]# ll
 total 172
 -rw-r--r--  1 root root 173189 Jun 24  2013 pdksh-5.2.14-1.i386.rpm
 [root@db tmp]#  rpm -ivh pdksh-5.2.14-1.i386.rpm --nodeps
 Preparing...                          ################################# [100%]
     file /usr/bin/ksh conflicts between attempted installs of pdksh-5.2.14-1.i386 and pdksh-5.2.14-1.i386?

5,配置内核参数

[root@db ~]# cp /etc/sysctl.conf /etc/sysctl.conf.bak
 [root@db ~]# echo net.ipv4.ip_forward = 0
 > net.ipv4.conf.default.rp_filter = 1
 > net.ipv4.conf.default.accept_source_route = 0
 > kernel.sysrq = 0
 > kernel.core_uses_pid = 1
 > net.ipv4.tcp_syncookies = 1
 > net.bridge.bridge-nf-call-ip6tables = 0
 > net.bridge.bridge-nf-call-iptables = 0
 > net.bridge.bridge-nf-call-arptables = 0
 > kernel.msgmnb = 65536
 > kernel.msgmax = 65536
 > kernel.shmmax = 8589934591
 > kernel.shmall = 2097152
 > fs.aio-max-nr = 1048576
 > fs.file-max = 6815744
 > 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 > /etc/sysctl.conf
 ?
 执行/sbin/sysctl -p使之生效
 如果有下面的报错
 sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-ip6tables: No such file or directory
 sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-iptables: No such file or directory
 sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-arptables: No such file or directory
 执行下面命令,没有报错忽略
 [root@db ~]# modprobe br_netfilter
 然后执行
 [root@db ~]# /sbin/sysctl -p
 net.ipv4.ip_forward = 0
 net.ipv4.conf.default.rp_filter = 1
 net.ipv4.conf.default.accept_source_route = 0
 kernel.sysrq = 0
 kernel.core_uses_pid = 1
 net.ipv4.tcp_syncookies = 1
 net.bridge.bridge-nf-call-ip6tables = 0
 net.bridge.bridge-nf-call-iptables = 0
 net.bridge.bridge-nf-call-arptables = 0
 kernel.msgmnb = 65536
 kernel.msgmax = 65536
 kernel.shmmax = 8589934591
 kernel.shmall = 2097152
 fs.aio-max-nr = 1048576
 fs.file-max = 6815744
 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
 ?

参数说明:

 
 1 kernel.shmmax:
 2  64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,一般取值大于SGA_MAX_SIZE即可,可以取物理内存-1byte。例如,如果为12GB物理内存,可取128*1024*1024*1024-1=12884901887,SGA肯定会包含在单个共享内存段中。128GB对应的是137438953471。
 3  kernel.shmall:
 4  该参数控制可以使用的共享内存的总页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB /4KB=4194304(页)。
 5  即16GB对应4194304,8GB对应2097152,128GB对应33554432
 6  net.ipv4.ip_forward = 0 #不变 
 7  net.ipv4.conf.default.rp_filter = 1 #不变
 8  net.ipv4.conf.default.accept_source_route = 0   #不变
 9  kernel.sysrq = 0    #不变
10  kernel.core_uses_pid = 1    #不变
11  net.ipv4.tcp_syncookies = 1 #不变
12  net.bridge.bridge-nf-call-ip6tables = 0  #不变
13  net.bridge.bridge-nf-call-iptables = 0   #不变
14  net.bridge.bridge-nf-call-arptables = 0  #不变
15  kernel.msgmnb = 65536   #不变
16  kernel.msgmax = 65536   #不变
17  kernel.shmmax = 4294967295  #变 note:4*1024*1024*1024-1=4294967295 共享内存段的最大尺寸,需要小于SGA MAX SIZE,大小为shmall*页大小(4K);
18  kernel.shmall = 2097152     #变note:4*1024*1024/4K*2=2097152,两倍, 1倍实际不够,控制共享内存页数
19  fs.aio-max-nr = 1048576 #新增 异步I/O请求数目
20  fs.file-max = 6815744   #新增 一个进程可以打开的文件句柄的最大数量
21  kernel.shmmni = 4096    #新增 共享内存段的最大数量,ipcs -sa
22  kernel.sem = 250 32000 100 128  #新增 设置的信号量
23  net.ipv4.ip_local_port_range = 9000 65500   #新增 专用服务器模式下与用户进程通信时分配给用户的端口区间
24  net.core.rmem_default = 262144  #新增 默认接收缓冲区大小
25  net.core.rmem_max = 4194304 #新增 接收缓冲区最大值
26  net.core.wmem_default = 262144  #新增 默认发送缓冲区大小
27  net.core.wmem_max = 1048586 #新增 默认发送缓冲区大小

6,配置资源限制

[root@db ~]# cp /etc/security/limits.conf /etc/security/limits.conf.bak
 [root@db ~]# sed -i.bak s/1024/102400/ /etc/security/limits.d/20-nproc.conf 
 [root@db ~]# ulimit -u 102400
 [root@db ~]# echo session    required     pam_limits.so >> /etc/pam.d/login
 [root@db ~]# echo  > oracle  soft    nproc   16000
 > oracle  hard    nproc   16384
 > oracle  soft    nofile  60000
 > oracle  hard    nofile  65536
 > oracle  soft    stack   20480
 > oracle  hard    stack   20480
 > anaconda-ks.cfg soft    memlock unlimited
 > anaconda-ks.cfg hard    memlock unlimited >> /etc/security/limits.conf

参数说明:

1  oracle              soft    nproc   16000   #oracle要求最小为2047
2  oracle              hard    nproc   16384       #--进程的最大数目,对oracle用户生效
3  oracle              soft    nofile  60000       #oracle要求最小为1024
4  oracle              hard    nofile  65536       #--打开文件的最大数目,对oracle用户生效
5  oracle              soft    stack   10240
6  oracle              hard    stack   10240
7  * soft  memlock     unlimited
8  * hard  memlock     unlimited               #--最大锁定内存地址空间,对所有用户生效

7,创建oracle用户和组,并赋予密码

[root@db ~]# groupadd oinstall
 [root@db ~]# groupadd dba
 [root@db ~]# useradd -g oinstall -G dba oracle
 [root@db ~]# id oracle
 uid=1000(oracle) gid=1000(oinstall) groups=1000(oinstall),1001(dba)
 [root@db ~]# echo "oracle" | passwd --stdin oracle
 Changing password for user oracle.
 passwd: all authentication tokens updated successfully.

8,创建安装oracle数据库所需要的目录并赋予权限

[root@db ~]# mkdir -p /data/app/oracle
 [root@db ~]# mkdir -p /data/app/oraInventory
 [root@db ~]# chown -R oracle:oinstall /data/
 [root@db ~]# chmod -R 775 /data/

9,配置root和oracle用户的环境变量

root用户:

[root@db ~]# cat >> /root/.bash_profile  << EOF
 > export ORACLE_BASE=/data/app/oracle
 > export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1
 > export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$GGS_HOME
 > export TNS_ADMIN=$ORACLE_HOME/network/admin/
 > EOF
 [root@db ~]# source /root/.bash_profile && 
 > echo $ORACLE_HOME
 /data/app/oracle/product/11.2.0.4/db_1
 ?

oracle用户:

[root@db ~]# su - oracle
 [oracle@db ~]$ cat >> /home/oracle/.bash_profile << EOF
 > export ORACLE_BASE=/data/app/oracle
 > export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1
 > export ORACLE_SID=orcl
 > export ORALCE_OWNER=oracle
 > PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:/usr/bin:/usr/sbin:/sbin:/bin:/usr/local/bin:/usr/local/sbin
 > export PATH
 > export LANG="en_US.UTF-8"
 > export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
 > export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
 > export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$GGS_HOME
 > alias sqlplus=rlwrap sqlplus
 > alias rman=rlwrap rman
 > alias scp=scp -o StrictHostKeyChecking=no
 > alias ssh=ssh -o StrictHostKeyChecking=no
 > EOF
 [oracle@db ~]$ source /home/oracle/.bash_profile &&
 > echo $ORACLE_HOME &&
 > echo $ORACLE_BASE &&
 > env | grep ORA
 /data/app/oracle/product/11.2.0.4/db_1
 /data/app/oracle
 ORALCE_OWNER=oracle
 ORACLE_SID=orcl
 ORACLE_BASE=/data/app/oracle
 ORACLE_HOME=/data/app/oracle/product/11.2.0.4/db_1

10,上传oracle数据库安装包和rlwrap软件包并解压

oracle用户上传,上传到/tmp下

[oracle@db tmp]$ unzip p13390677_112040_Linux-x86-64_1of7.zip &&  > unzip p13390677_112040_Linux-x86-64_2of7.zip &&  > chown -R oracle:oinstall /tmp/database/ &&  > chmod -R 775 /tmp/database/ &&  > cd /tmp/database &&  > ll
 。。。。。。。。。。。。。。。。。。。。。
 。。。。。。。。。。。。。。。。。。。。。
 。。。。。。。。。。。。。。。。。。。。。
 total 44
 drwxrwxr-x  4 oracle oinstall   248 Aug 27  2013 install
 -rwxrwxr-x  1 oracle oinstall 30016 Aug 27  2013 readme.html
 drwxrwxr-x  2 oracle oinstall    61 Aug 27  2013 response
 drwxrwxr-x  2 oracle oinstall    34 Aug 27  2013 rpm
 -rwxrwxr-x  1 oracle oinstall  3267 Aug 27  2013 runInstaller
 drwxrwxr-x  2 oracle oinstall    29 Aug 27  2013 sshsetup
 drwxrwxr-x 14 oracle oinstall  4096 Aug 27  2013 stage
 -rwxrwxr-x  1 oracle oinstall   500 Aug 27  2013 welcome.html

root用户安装rlwrap

[root@db tmp]# yum -y install readline* &&  > tar -zxvf rlwrap-0.42.tar.gz &&  > cd rlwrap-0.42 &&  > ./configure &&  > make && make install

11,配置配置db_install.rsp文件

安装包解压后在/database/response目录下有三个rsp文件,用来作为静默安装时的应答文件

 [root@db ~]# su - oracle
 Last login: Mon Jun 15 03:06:50 EDT 2020 on pts/0
 [oracle@db ~]$ cd /tmp/database/response/
 [oracle@db response]$ ls
 dbca.rsp  db_install.rsp  netca.rsp
 [oracle@db response]$ cp db_install.rsp db_install.rsp.bak
 [oracle@db response]$ ls
 dbca.rsp  db_install.rsp  db_install.rsp.bak  netca.rsp

SID为orcl,ORACLE_HOSTNAME=db(主机名)

[oracle@db response]$ cat > /tmp/database/response/db_install.rsp << EOF
 > oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
 > oracle.install.option=INSTALL_DB_SWONLY
 > ORACLE_HOSTNAME=db
 > UNIX_GROUP_NAME=oinstall
 > INVENTORY_LOCATION=/data/app/oraInventory
 > SELECTED_LANGUAGES=en,zh_CN,th,zh_TW
 > ORACLE_HOME=/data/app/oracle/product/11.2.0.4/db_1
 > ORACLE_BASE=/data/app/oracle
 > oracle.install.db.InstallEdition=EE
 > oracle.install.db.EEOptionsSelection=true
 > oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0
 > oracle.install.db.DBA_GROUP=dba
 > oracle.install.db.OPER_GROUP=oinstall
 > oracle.install.db.CLUSTER_NODES=
 > oracle.install.db.isRACOneInstall=
 > oracle.install.db.racOneServiceName=
 > oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
 > oracle.install.db.config.starterdb.globalDBName=orcl
 > oracle.install.db.config.starterdb.SID=orcl
 > oracle.install.db.config.starterdb.characterSet=AL32UTF8
 > oracle.install.db.config.starterdb.memoryOption=true
 > oracle.install.db.config.starterdb.memoryLimit=
 > oracle.install.db.config.starterdb.installExampleSchemas=false
 > oracle.install.db.config.starterdb.enableSecuritySettings=true
 > oracle.install.db.config.starterdb.password.ALL=oracle
 > oracle.install.db.config.starterdb.password.SYS=oracle
 > oracle.install.db.config.starterdb.password.SYSTEM=oracle
 > oracle.install.db.config.starterdb.password.SYSMAN=oracle
 > oracle.install.db.config.starterdb.password.DBSNMP=
 > oracle.install.db.config.starterdb.control=DB_CONTROL
 > oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
 > oracle.install.db.config.starterdb.automatedBackup.enable=false
 > oracle.install.db.config.starterdb.automatedBackup.osuid=
 > oracle.install.db.config.starterdb.automatedBackup.ospwd=
 > oracle.install.db.config.starterdb.storageType=
 > oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
 > oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
 > oracle.install.db.config.asm.diskGroup=
 > oracle.install.db.config.asm.ASMSNMPPassword=
 > MYORACLESUPPORT_USERNAME=
 > MYORACLESUPPORT_PASSWORD=
 > SECURITY_UPDATES_VIA_MYORACLESUPPORT=
 > DECLINE_SECURITY_UPDATES=true
 > PROXY_HOST=
 > PROXY_PORT=
 > PROXY_USER=
 > PROXY_PWD=
 > PROXY_REALM=
 > COLLECTOR_SUPPORTHUB_URL=
 > oracle.installer.autoupdates.option=SKIP_UPDATES
 > oracle.installer.autoupdates.downloadUpdatesLoc=
 > AUTOUPDATES_MYORACLESUPPORT_USERNAME=
 > AUTOUPDATES_MYORACLESUPPORT_PASSWORD=
 > EOF
 ?

参数说明:

 
 1 oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0//标注响应文件版本
 2  oracle.install.option=INSTALL_DB_SWONLY//.只装数据库软件
 3  ORACLE_HOSTNAME=主机名
 4  UNIX_GROUP_NAME=oinstall//指定oracle inventory目录的所有者
 5  INVENTORY_LOCATION=/u01/app/oraInventory指定产品清单oracle inventory目录的路径
 6  SELECTED_LANGUAGES=en,zh_CN//指定语言
 7  ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_home1//设置ORALCE_HOME的路径
 8  ORACLE_BASE=/u01/app/oracle//指定ORALCE_BASE的路径
 9  oracle.install.db.InstallEdition=EE//安装数据库软件的版本,企业版
10  oracle.install.db.EEOptionsSelection=true//手动指定企业安装组件 选true对安装大小影响不大所以选true
11  oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0//如果上面选true,这些就是手动指定的组件
12  oracle.install.db.DBA_GROUP=dba//指定拥有DBA用户组,通常会是dba组
13  oracle.install.db.OPER_GROUP=oper//指定oper用户组
14  oracle.install.db.CLUSTER_NODES=//指定所有的节点
15  oracle.install.db.isRACOneInstall=false//是否是RACO方式安装
16  oracle.install.db.racOneServiceName=
17  oracle.install.db.config.starterdb.type=//选择数据库的用途,一般用途/事物处理,数据仓库
18  oracle.install.db.config.starterdb.globalDBName=指定GlobalName
19  oracle.install.db.config.starterdb.SID=//你指定的SID
20  oracle.install.db.config.starterdb.characterSet=AL32UTF8//设置数据库编码
21  oracle.install.db.config.starterdb.memoryOption=true//11g的新特性自动内存管理,也就是SGA_TARGET和PAG_AGGREGATE_TARGET都,不用设置了,Oracle会自动调配两部分大小,这个要选true
22  oracle.install.db.config.starterdb.memoryLimit=上面是true的情况下,指定Oracle自动管理内存的大小,这里不用填或者填写物理内存的40%左右等等自定义;
23  oracle.install.db.config.starterdb.installExampleSchemas=false是否载入模板示例
24  oracle.install.db.config.starterdb.enableSecuritySettings=true  是否启用安全设置
25  oracle.install.db.config.starterdb.password.ALL=123456所有用户名的密码
26  oracle.install.db.config.starterdb.password.SYS=
27  oracle.install.db.config.starterdb.password.SYSTEM=
28  oracle.install.db.config.starterdb.password.SYSMAN=
29  oracle.install.db.config.starterdb.password.DBSNMP=
30  oracle.install.db.config.starterdb.control=DB_CONTROL数据库本地管理工具DB_CONTROL,远程集中管理工具GRID_CONTROL
31  oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=GRID_CONTROL需要设定grid control的远程路径URL
32  oracle.install.db.config.starterdb.automatedBackup.enable=false设置自动备份
33  oracle.install.db.config.starterdb.automatedBackup.osuid=.自动备份会启动一个job,指定启动JOB的系统用户ID
34  oracle.install.db.config.starterdb.automatedBackup.ospwd=自动备份会开启一个job,需要指定OSUser的密码
35  oracle.install.db.config.starterdb.storageType=要求指定使用的文件系统存放数据库文件还是ASM
36  oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=使用文件系统存放数据库文件才需要指定数据文件、控制文件、Redo log的存放目录
37  oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=使用文件系统存放数据库文件才需要指定备份恢复目录
38  oracle.install.db.config.asm.diskGroup=使用ASM存放数据库文件才需要指定存放的磁盘组
39  oracle.install.db.config.asm.ASMSNMPPassword=使用ASM存放数据库文件才需要指定ASM实例密码
40  MYORACLESUPPORT_USERNAME=指定metalink账户用户名
41  MYORACLESUPPORT_PASSWORD=指定metalink账户密码
42  SECURITY_UPDATES_VIA_MYORACLESUPPORT=用户是否可以设置metalink密码
43  DECLINE_SECURITY_UPDATES=true是否设置安全更新,
44  PROXY_HOST=代理服务器名
45  PROXY_PORT=代理服务器端口
46  PROXY_USER=代理服务器用户名
47  PROXY_PWD=代理服务器密码
48  PROXY_REALM=
49  COLLECTOR_SUPPORTHUB_URL=
50  oracle.installer.autoupdates.option=SKIP_UPDATES 自动更新
51  oracle.installer.autoupdates.downloadUpdatesLoc=自动更新下载目录
52  AUTOUPDATES_MYORACLESUPPORT_USERNAME=自动更新的用户名
53  AUTOUPDATES_MYORACLESUPPORT_PASSWORD=自动更新的密码

12,使用静默方式安装oracle,执行db_install.rsp

[oracle@db response]$ unset LANG LANGUAGE;unset DISPLAY;
 [oracle@db response]$ /tmp/database/runInstaller -silent -force -ignoreSysPrereqs -ignorePrereq -showprogress -responseFile /tmp/database/response/db_install.rsp
 ..................................................   100% Done.
 ?
 Execute Root Scripts successful.
 Successfully Setup Software.

13,执行脚本

root用户:

[oracle@db response]$ su - root
 Password: 
 Last login: Mon Jun 15 02:50:24 EDT 2020 from 192.168.45.9 on pts/0
 [root@db ~]# sh /data/app/oraInventory/orainstRoot.sh 
 Changing permissions of /data/app/oraInventory.
 Adding read,write permissions for group.
 Removing read,write,execute permissions for world.
 ?
 Changing groupname of /data/app/oraInventory to oinstall.
 The execution of the script is complete.
 [root@db ~]# 
 [root@db ~]# sh /data/app/oracle/product/11.2.0.4/db_1/root.sh 
 Check /data/app/oracle/product/11.2.0.4/db_1/install/root_db_2020-06-15_03-44-09.log for the output of root script

14, 配置静态监听

oracle用户:

[root@db ~]# su - oracle
 Last login: Mon Jun 15 03:31:45 EDT 2020 on pts/0
 [oracle@db ~]$ cd $ORACLE_HOME/network/admin
 [oracle@db admin]$ ls
 samples  shrept.lst
 [oracle@db admin]$ echo  > SID_LIST_LISTENER =
 > (SID_LIST =
 >  (SID_DESC =
 >    (GLOBAL_DBNAME = orcl)
 >    (ORACLE_HOME = /data/app/oracle/product/11.2.0.4/db_1)
 >    (SID_NAME = orcl)
 >  )
 > )
 > 
 > LISTENER =
 > (DESCRIPTION_LIST =
 >  (DESCRIPTION =
 >    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
 >  )
 >  (DESCRIPTION =
 >    (ADDRESS = (PROTOCOL = TCP)(HOST = db)(PORT = 1521))
 >  )
 > )
 > ADR_BASE_LISTENER = /data/app/oracle > listener.ora

15,配置网络服务名文件

[oracle@db admin]$ echo  > ORCL =
 > (DESCRIPTION =
 >  (ADDRESS_LIST =
 >    (ADDRESS = (PROTOCOL = TCP)(HOST = db)(PORT = 1521))
 >  )
 >  (CONNECT_DATA =
 >    (SERVICE_NAME = orcl)
 >    (SERVER = DEDICATED)
 >  )
 > )
 >  > tnsnames.ora

启动监听程序

[oracle@db admin]$ lsnrctl start 
 [oracle@db admin]$ tnsping orcl
 。。。。。。。。。。。。。。。。。。。
 Used TNSNAMES adapter to resolve the alias
 Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = db)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl) (SERVER = DEDICATED)))
 OK (0 msec)

查看监听程序是否启动

[oracle@db admin]$ ps -ef | grep tnslsnr
 oracle   20763     1  0 03:49 ?        00:00:00 /data/app/oracle/product/11.2.0.4/db_1/bintnslsnr LISTENER -inherit
 oracle   20778 20739  0 03:50 pts/0    00:00:00 grep --color=auto tnslsnr

16,创建实例,配置响应文件dbca.rsp

[oracle@db ~]$ mkdir -p /data/app/oracle/oradata
 [oracle@db ~]$ mkdir -p /data/app/oracle/flash_recovery_area
 [oracle@db ~]$ cd /tmp/database/response/
 [oracle@db response]$ cp dbca.rsp dbca.rsp.bak
 [oracle@db response]$ cat > /tmp/database/response/dbca.rsp << EOF
 > [GENERAL]
 > RESPONSEFILE_VERSION = "11.2.0"
 > OPERATION_TYPE = "createDatabase"
 > [CREATEDATABASE]
 > GDBNAME = "orcl"
 > SID = "orcl"
 > TEMPLATENAME = "General_Purpose.dbc"
 > SYSPASSWORD = "oracle"
 > SYSTEMPASSWORD = "oracle"
 > DATAFILEDESTINATION = /data/app/oracle/oradata
 > RECOVERYAREADESTINATION=/data/app/oracle/flash_recovery_area
 > CHARACTERSET = "AL32UTF8"
 > [CONFIGUREDATABASE]
 > SYSDBAUSERNAME = "sys"
 > EOF

参数说明:

 1 RESPONSEFILE_VERSION = "11.2.0"      #不能更改
 2  OPERATION_TYPE = "createDatabase"    #不变 默认即可
 3  GDBNAME = "orcl"        #数据库的名字,随便怎么改,不影响,自定义 比如"oracle11g.com"
 4  SID = "orcl"            #对应的实例名字instance_name,随便怎么改,不影响,自定义 比如"oracle11g.com"
 5  TEMPLATENAME = "General_Purpose.dbc" #不变 默认即可 建库用的模板文件 
 6  SYSPASSWORD = "oracle"   #SYS管理员密码 自定义
 7  SYSTEMPASSWORD = "oracle"  #SYSTEM管理员密码 自定义
 8  DATAFILEDESTINATION = /data/app/oracle/oradata   #数据文件存放目录 可自定义如/data目录但用户和组要是oracle:oinstall即mkdir /data ; chown -R oracle:oinstall /data ; chmod -R 775 /data; 当然此项默认是$ORACLE_BASE/oradata 此项本来是注释掉的,而$ORACLE_BASE/oradata就是/data/app/oracle/oradata,故此项可不用动,即保持注释掉即也可;
 9  RECOVERYAREADESTINATION=/data/app/oracle/flash_recovery_area #恢复数据存放目录 闪回区 可自定义
10  CHARACTERSET = "AL32UTF8"   #字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚,选AL32UTF8比较合适;
11  NATIONALCHARACTERSET= "AL16UTF16" #最好还是保持默认的"AL16UTF16",这里我选的UTF8可能出现了后面的PLSQL中文乱码;
12  #MEMORYPERCENTAGE = "40"       #服务器物理内存分配给oracle的内存比例,这里先不选
13  #TOTALMEMORY = "3500"    # //物理内存的60%左右,分配给oracle的总内存3500MB,可自行设定 或者注释不选因为oracle会自行管理;
14  #-----------------------*** End of CREATEDATABASE section ***------------------------
15  SOURCEDB = "myhost:1521:orcl"     #End of CREATEDATABASE sectio后面的很多没有注释掉的选项不用管。

17,执行响应文件

oracle用户执行,使用-responseFile参数后面必须跟绝对路径

[oracle@db response]$ dbca -silent -responseFile /tmp/database/response/dbca.rsp
 。。。。。。。。。。。。。。。。。。。
 96% complete
 100% complete
 Look at the log file "/data/app/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details. ?

查看oracle进程

[oracle@db response]$ ps -ef | grep ora_| grep -v grep |wc -l
 21
 [oracle@db response]$ ps -ef | grep ora_| grep -v grep 

把oracle配置文件最后一行改为yes,/etc/oratab

[oracle@db response]$ vim /etc/oratab 
 [oracle@db response]$ cat /etc/oratab 
 orcl:/data/app/oracle/product/11.2.0.4/db_1:Y

=====================================

oracle安装到此搭建完成

 

以上是关于Oracle静默安装搭建的主要内容,如果未能解决你的问题,请参考以下文章

[转]--Oracle 11gR2静默安装 & 命令行安装

Shell脚本静默安装数据库Oracle 12c (Centos6)

Oracle 11g 基于CentOS7静默安装教程(无图形界面,远程安装)

静默安装oracle 查看日志重点看啥知道是不是成功安装

Linux7.8下静默安装oracle11.2

oracle静默安装中遇到的那些坑