Oracle单实例静默安装

oracle 11g单实例静默安装

在CentOS上静默安装Oracle数据库

引言

在企业环境中,自动化和标准化是提高效率的关键。静默安装(也称为无人值守安装)是一种无需人工干预的安装方法,适用于大规模部署或需要重复安装的场景。本文将介绍如何在CentOS上静默安装Oracle数据库。

准备工作

1. 系统要求

  • 操作系统:CentOS 7 或更高版本
  • 数据库:11.2.0.4.0
  • 内存:至少4GB RAM
  • 磁盘空间:至少30GB可用空间
  • 内核参数:调整内核参数以满足Oracle的要求
  • 主机名:orcl1
  • 存储:u01

一、环境配置(因人而异)

配置swap空间

设置大小推荐:

物理内存 swap space (最小设置1G,建议2G)

1-2G 1.5倍

2-16G 相等

小于16G 16G

步骤: root执行(两节点分别执行) 这里使用文件做swap,也可以使用分区做swap

sh 复制代码
dd if=/dev/zero of=/swapfile bs=1G count=7   

#增加一个7g大的空文件

sh 复制代码
mkswap /swapfile  # 格式化 swap
swapon /swapfile  # 激活 swap
swapon -s         # 查看是否生效

swapoff  /swapfile   #卸载swap   /swapfile是文件名
rm  -f  /swapfile   删除/swapfile 文件

设置重启时自动挂载 swap

sh 复制代码
vi /etc/fstab
/swapfile          swap            swap    defaults        0 0

修改文件权限,只有root读写

sh 复制代码
chown root:root /swapfile
chmod 0600 /swapfile

2、数据盘分区挂载

步骤:

sh 复制代码
fdisk -l    #查看作为数据盘盘符
sh 复制代码
su - root
mkfs -t ext4 /dev/vdb  

#把/dev/vdb设备格式化为ext4文件系统

sh 复制代码
mkdir /u01                 #创建挂载点目录
mount /dev/vdb /u01    #挂载设备/dev/vdb到挂载目录/u01

设置重启时自动挂载u01

blkid +磁盘分区 --查看磁盘分区的UUID,例如 blkid /dev/vdb1

vi /etc/fstab

/dev/vdb /u01 ext4 defaults 0 0

mount -a #依据配置文件/etc/fastab的内容,自动挂载

3、配置主机名以及network

修改主机名

sh 复制代码
hostnamectl  set-hostname orcl1   
# exec bash

修改network

sh 复制代码
[root@orcl1 ~]# cat << EOF >> /etc/sysconfig/network
NOZEROCONF=yes
EOF

4、关闭networkmanager

在CentOS系统上,目前有NetworkManager和network两种网络管理工具。如果两种都配置会引起冲突,而且NetworkManager在网络断开的时候,会清理路由,如果一些自定义的路由,没有加入到NetworkManager的配置文件中,路由就被清理掉,网络连接后需要自定义添加上去。可以不配置这步

sh 复制代码
# systemctl stop NetworkManager      #临时关闭
# systemctl disable NetworkManager       #永久关闭
# systemctl status NetworkManager

5、关闭防火墙以及禁用selinux

关闭防火墙

sh 复制代码
# systemctl stop firewalld
# systemctl disable firewalld
# systemctl status firewalld

禁用selinux

sh 复制代码
getenforce    -- 查看selinux状态
vi /etc/selinux/config  
SELINUX=disabled
(重启生效)

6、配置本地解析

修改hosts主机名

sh 复制代码
[root@orcl1 ~]# cat << EOF >> /etc/hosts 
172.16.104.58   orcl1
EOF

7、关闭transparent hugepages

目前透明大页与传统大页混合使用会出现一些问题,导致oracle节点性能问题和异常重启,oracle建议关闭透明大页

sh 复制代码
cat /sys/kernel/mm/transparent_hugepage/enabled             #查看关闭情况
[always] madvise never                                #显示为[always]说明未禁用

cat /sys/kernel/mm/transparent_hugepage/defrag
always defer defer+madvise [madvise] never     #显示为[madvise]说明未禁用

--临时关闭,重启后会失效
echo never > /sys/kernel/mm/transparent_hugepage/enabled   
echo never > /sys/kernel/mm/transparent_hugepage/defrag  

cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]

--永久关闭:使用开机启动脚本 /etc/rc.d/rc.local 
chmod 744 /etc/rc.d/rc.local              #默认没有执行权限,需要重新授权,加上执行权限,否则重启依然不生效
cat << EOF >> /etc/rc.d/rc.local
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag  
EOF

8、修改/etc/profile

/etc/profile末尾添加profile限制

sh 复制代码
vi /etc/profile
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
              ulimit -p 16384
              ulimit -n 65536
        else
              ulimit -u 16384 -n 65536
        fi
        umask 022
fi

9、修改linux内核参数

根据具体配置变更内核参数

sh 复制代码
cat << EOF >> /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmax = 7344394076    
kernel.shmall = 1793064 
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
EOF

生效内核参数

sh 复制代码
sysctl -p

kernel.shmmax = 7344394076 #memory1024 10241024 0.9 该参数配置单个内存段的最大值,需要比SGA_MAX_SIZE大

kernel.shmall = 1793064 #memory1024 10241024 0.9/页大小 getconf PAGE_SIZE查看页大小 该参数控制可以使用的共享内存的总页数

语句中计算需要设定不用科学计数法:

SQL> set numwidth 50

SQL> select 611024 102410240.9 from dual;

参数详解
  1. fs.aio-max-nr = 1048576
    含义 :这个参数定义了异步I/O上下文的最大数量。
    用途:Oracle数据库使用异步I/O来提高性能。设置较高的值可以支持更多的并发异步I/O操作。
  2. fs.file-max = 6815744
    含义 :这个参数定义了系统中所有进程可以打开的最大文件句柄数。
    用途:每个Oracle进程都需要打开多个文件句柄。增加这个值可以支持更多的并发连接和操作。
  3. kernel.shmmax = 7344394076
    含义 :这个参数定义了单个共享内存段的最大大小(以字节为单位)。
    用途:Oracle数据库使用共享内存来存储SGA(System Global Area)。设置较大的值可以允许更大的SGA,从而提高性能。
  4. kernel.shmall = 1793064
    含义 :这个参数定义了系统中所有共享内存页的总数。
    用途:它与shmmax一起决定了系统中可用的共享内存总量。设置较大的值可以支持更大的SGA。
  5. kernel.shmmni = 4096
    含义 :这个参数定义了系统中可以存在的共享内存段的最大数量。
    用途:Oracle数据库和其他应用程序可能需要多个共享内存段。设置较大的值可以支持更多的共享内存段。
  6. kernel.sem = 250 32000 100 128
    含义 :这个参数定义了信号量资源的四个参数:
    SEMMSL (semaphores per set):每组信号量的最大数量。
    SEMMNS (total semaphores in system):系统中所有信号量的最大数量。
    SEMOPM (operations per semop call):每次semop调用的最大操作数。
    SEMMNI (number of semaphore sets in system):系统中信号量集合的最大数量。
    用途:Oracle数据库使用信号量来进行进程间的同步。设置适当的值可以支持更多的并发操作。
  7. net.ipv4.ip_local_port_range = 9000 65500
    含义 :这个参数定义了本地端口的范围,用于TCP/IP连接。
    用途:设置较大的范围可以支持更多的并发网络连接。
  8. net.core.rmem_default = 262144
    含义 :这个参数定义了默认的接收缓冲区大小(以字节为单位)。
    用途:较大的接收缓冲区可以提高网络吞吐量和性能。
  9. net.core.rmem_max = 4194304
    含义 :这个参数定义了最大接收缓冲区大小(以字节为单位)。
    用途:设置较大的值可以支持更高的网络吞吐量。
  10. net.core.wmem_default = 262144
    含义 :这个参数定义了默认的发送缓冲区大小(以字节为单位)。
    用途:较大的发送缓冲区可以提高网络吞吐量和性能。
  11. net.core.wmem_max = 1048576
    含义 :这个参数定义了最大发送缓冲区大小(以字节为单位)。
    用途:设置较大的值可以支持更高的网络吞吐量。

10、修改oracle和grid用户设置shell限制,修改limits.conf

在Linux系统中,/etc/security/limits.conf 文件用于设置用户和进程的资源限制。这些限制可以控制用户能够使用的系统资源,如打开的文件数、进程数、内存使用等。对于Oracle数据库和Grid Infrastructure(如Oracle RAC)的安装和运行,正确设置这些限制是非常重要的,以确保它们能够正常工作并达到最佳性能。
修改 limits.conf 的作用

文件描述符限制:

nofile:限制用户可以打开的最大文件数量。

例如,Oracle数据库可能需要打开大量的文件句柄来处理数据文件、日志文件、网络连接等。如果这个值设置得太低,可能会导致"Too many open files"错误。

进程限制:

nproc:限制用户可以创建的最大进程数。

例如,Oracle数据库实例和后台进程(如PMON, SMON等)都需要创建多个进程。如果这个值设置得太低,可能会导致无法启动所有必要的进程。

内存限制:

as:限制用户可以分配的最大虚拟内存大小。

例如,Oracle SGA(System Global Area)和PGA(Program Global Area)需要大量的内存。如果这个值设置得太低,可能会导致内存不足的问题。

堆栈大小限制:

stack:限制每个进程的堆栈大小。

例如,某些Oracle进程可能需要较大的堆栈空间。如果这个值设置得太低,可能会导致"Segmentation fault"或其他内存相关错误。

设置配置文件

sh 复制代码
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
oracle hard stack  10240
EOF

配置PAM验证

sh 复制代码
echo "session    required     pam_limits.so" >> /etc/pam.d/login
cat /etc/pam.d/login

11、创建oracle用户、组

创建dba和oinstall两个组

sh 复制代码
groupadd -g 501 dba
groupadd -g 502 oinstall

创建oracle用户

sh 复制代码
useradd -u 501 -g oinstall -G dba oracle

创建oracle用户密码

sh 复制代码
passwd oracle  / oracle

创建安装目录并赋予权限

创建目录

sh 复制代码
mkdir -p /u01/app/oraInventory 
mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1

赋予目录权限

sh 复制代码
chmod -R 775 /u01
chown -R oracle:oinstall /u01

数据盘授权

sh 复制代码
chown -R oracle:oinstall /data

13、配置oracle环境变量

需要在oracle用户下操作

sh 复制代码
[oracle@orcl1 ~]$ vi .bash_profile  添加
umask 022
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:$ORACLE_HOME/lib

生效环境变量

sh 复制代码
source ~/.bash_profile

二、安装数据库软件包

1. 安装必要的软件包

sh 复制代码
yum install -y bc binutils elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libXrender libX11 libXau libXi libXtst libgcc librdmacm libstdc++ libstdc++-devel libxcb libibverbs make smartmontools sysstat nfs-utils  compat-libstdc++-33 gcc  gcc-c++

2. 解压软件包到安装目录

移动oracle软件包到/u01/soft/目录下

oracle的软件压缩包,能够在Oracle的官网找到

赋予软件包权限

sh 复制代码
chown -R oracle:oinstall /u01/soft/p13390677_112040_Linux-x86-64_*of7.zip

在oracle用户下解压Oracle压缩包

sh 复制代码
unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip

3. 编辑响应文件

1. oracle.install.responseFileVersion
  • /oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
  • 含义:指定响应文件的版本。这个值通常是固定的,表示响应文件的格式版本。
2. oracle.install.option
  • INSTALL_DB_SWONLY
  • 含义 :指定安装选项。INSTALL_DB_SWONLY 表示只安装数据库软件,而不创建数据库实例。
3. ORACLE_HOSTNAME
  • orcl1
  • 含义:指定Oracle主机名。
4. UNIX_GROUP_NAME
  • oinstall
  • 含义:指定用于安装Oracle的主组名。
5. INVENTORY_LOCATION
  • /u01/app/oraInventory
  • 含义:指定Oracle Inventory目录的位置。Inventory目录用于存储所有Oracle产品的安装信息。
6. SELECTED_LANGUAGES
  • en,zh_CN
  • 含义 :指定安装过程中选择的语言。这里选择了英语(en)和简体中文(zh_CN)。
7. ORACLE_HOME
  • /u01/app/oracle/product/11.2.0/dbhome_1
  • 含义:指定Oracle Home目录的位置。这是安装Oracle数据库软件的主要目录。
8. ORACLE_BASE
  • /u01/app/oracle
  • 含义:指定Oracle Base目录的位置。这是所有Oracle Home目录的父目录。
9. oracle.install.db.InstallEdition
  • EE
  • 含义 :指定要安装的Oracle数据库版本。EE 表示企业版(Enterprise Edition)。
10. oracle.install.db.EEOptionsSelection
  • false
  • 含义 :是否选择企业版的可选组件。false 表示不选择额外的企业版组件。
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
  • 含义 :指定要安装的可选组件及其版本。例如,oracle.rdbms.partitioning 是分区功能。
12. oracle.install.db.DBA_GROUP
  • dba
  • 含义:指定DBA组名。
13. oracle.install.db.OPER_GROUP
  • dba
  • 含义:指定操作员组名。
14. oracle.install.db.CLUSTER_NODES
  • :空
  • 含义:指定RAC集群中的节点列表。如果为空,则表示这不是一个RAC安装。
15. oracle.install.db.isRACOneInstall
  • :空
  • 含义:指定是否是RAC One Node安装。如果为空,则表示不是RAC One Node安装。
16. oracle.install.db.racOneServiceName
  • :空
  • 含义:指定RAC One Node服务名。如果为空,则表示这不是RAC One Node安装。
17. oracle.install.db.config.starterdb.type
  • :空
  • 含义:指定启动数据库的类型。如果为空,则表示不创建数据库实例。
18. oracle.install.db.config.starterdb.globalDBName
  • :空
  • 含义:指定全局数据库名。如果为空,则表示不创建数据库实例。
19. oracle.install.db.config.starterdb.SID
  • :空
  • 含义:指定系统标识符(SID)。如果为空,则表示不创建数据库实例。
20. oracle.install.db.config.starterdb.characterSet
  • AL32UTF8
  • 含义 :指定数据库字符集。AL32UTF8 是UTF-8编码。
21. oracle.install.db.config.starterdb.memoryOption
  • true
  • 含义 :指定是否启用内存自动管理。true 表示启用。
22. oracle.install.db.config.starterdb.memoryLimit
  • :空
  • 含义:指定内存限制。如果为空,则使用默认值。
23. oracle.install.db.config.starterdb.installExampleSchemas
  • false
  • 含义 :指定是否安装示例模式。false 表示不安装示例模式。
24. oracle.install.db.config.starterdb.enableSecuritySettings
  • true
  • 含义 :指定是否启用安全设置。true 表示启用。
25. oracle.install.db.config.starterdb.password.ALL
  • :空
  • 含义:指定所有用户的统一密码。如果为空,则需要单独为每个用户指定密码。
26. oracle.install.db.config.starterdb.password.SYS
  • :空
  • 含义:指定SYS用户的密码。如果为空,则需要在安装过程中手动输入。
27. oracle.install.db.config.starterdb.password.SYSTEM
  • :空
  • 含义:指定SYSTEM用户的密码。如果为空,则需要在安装过程中手动输入。
28. oracle.install.db.config.starterdb.password.SYSMAN
  • :空
  • 含义:指定SYSMAN用户的密码。如果为空,则需要在安装过程中手动输入。
29. oracle.install.db.config.starterdb.password.DBSNMP
  • :空
  • 含义:指定DBSNMP用户的密码。如果为空,则需要在安装过程中手动输入。
30. oracle.install.db.config.starterdb.control
  • DB_CONTROL
  • 含义 :指定控制文件的管理方式。DB_CONTROL 表示使用DB Control进行管理。
31. oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL
  • :空
  • 含义:指定Grid Control服务URL。如果为空,则表示不使用Grid Control。
32. oracle.install.db.config.starterdb.automatedBackup.enable
  • false
  • 含义 :指定是否启用自动备份。false 表示不启用。
33. oracle.install.db.config.starterdb.automatedBackup.osuid
  • :空
  • 含义:指定自动备份的操作系统用户名。如果为空,则表示不启用自动备份。
34. oracle.install.db.config.starterdb.automatedBackup.ospwd
  • :空
  • 含义:指定自动备份的操作系统用户密码。如果为空,则表示不启用自动备份。
35. oracle.install.db.config.starterdb.storageType
  • :空
  • 含义:指定存储类型。如果为空,则表示使用文件系统存储。
36. oracle.install.db.config.starterdb.fileSystemStorage.dataLocation
  • :空
  • 含义:指定数据文件的存储位置。如果为空,则表示不创建数据库实例。
37. oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation
  • :空
  • 含义:指定恢复文件的存储位置。如果为空,则表示不创建数据库实例。
38. oracle.install.db.config.asm.diskGroup
  • :空
  • 含义:指定ASM磁盘组。如果为空,则表示不使用ASM。
39. oracle.install.db.config.asm.ASMSNMPPassword
  • :空
  • 含义:指定ASM SNMP密码。如果为空,则表示不使用ASM。
40. MYORACLESUPPORT_USERNAME
  • :空
  • 含义:指定My Oracle Support用户名。如果为空,则表示不启用安全更新。
41. MYORACLESUPPORT_PASSWORD
  • :空
  • 含义:指定My Oracle Support密码。如果为空,则表示不启用安全更新。
42. SECURITY_UPDATES_VIA_MYORACLESUPPORT
  • :空
  • 含义:指定是否通过My Oracle Support接收安全更新。如果为空,则表示不启用。
43. DECLINE_SECURITY_UPDATES
  • TRUE
  • 含义 :指定是否拒绝安全更新。TRUE 表示拒绝。
44. PROXY_HOST
  • :空
  • 含义:指定代理服务器主机名。如果为空,则表示不使用代理。
45. PROXY_PORT
  • :空
  • 含义:指定代理服务器端口。如果为空,则表示不使用代理。
46. PROXY_USER
  • :空
  • 含义:指定代理服务器用户名。如果为空,则表示不使用代理。
47. PROXY_PWD
  • :空
  • 含义:指定代理服务器密码。如果为空,则表示不使用代理。
48. PROXY_REALM
  • :空
  • 含义:指定代理服务器域。如果为空,则表示不使用代理。
49. COLLECTOR_SUPPORTHUB_URL
  • :空
  • 含义:指定支持中心URL。如果为空,则表示不使用支持中心。
50. oracle.installer.autoupdates.option
  • :空
  • 含义:指定自动更新选项。如果为空,则表示不启用自动更新。
51. oracle.installer.autoupdates.downloadUpdatesLoc
  • :空
  • 含义:指定下载更新的位置。如果为空,则表示不启用自动更新。
52. AUTOUPDATES_MYORACLESUPPORT_USERNAME
  • :空
  • 含义:指定自动更新的My Oracle Support用户名。如果为空,则表示不启用自动更新。
53. AUTOUPDATES_MYORACLESUPPORT_PASSWORD
  • :空
  • 含义:指定自动更新的My Oracle Support密码。如果为空,则表示不启用自动更新。
sh 复制代码
vi db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=orcl1
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.EEOptionsSelection=false
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=dba
oracle.install.db.CLUSTER_NODES=
oracle.install.db.isRACOneInstall=
oracle.install.db.racOneServiceName=
oracle.install.db.config.starterdb.type=
oracle.install.db.config.starterdb.globalDBName=
oracle.install.db.config.starterdb.SID=
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.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
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=
oracle.installer.autoupdates.downloadUpdatesLoc=
AUTOUPDATES_MYORACLESUPPORT_USERNAME=
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=

4. 静默安装

先决条件检查

sh 复制代码
./runInstaller -silent -responseFile /home/oracle/db_install.rsp -executePrereqs

静默安装

sh 复制代码
/u01/soft/database/runInstaller -silent -responseFile /home/oracle/db_install.rsp

执行静默安装需要切换目录到/database下

由oracle用户执行

sh 复制代码
[oracle@orcl1 database]$ pwd
/u01/soft/database
[oracle@orcl1 database]$ ./runInstaller -silent -responseFile /home/oracle/db_install.rsp

在静默安装成功后会显示Successfully Setup Software

在Successfully Setup Software的上方会显示你需要执行的root.sh

root下执行root.sh

sh 复制代码
[root@orcl1 oracle]# /u01/app/oracle/product/11.2.0/dbhome_1/root.sh
Check /u01/app/oracle/product/11.2.0/dbhome_1/install/root_orcl1_2022-03-09_13-41-46.log for the output of root script

三、安装数据库

1. 编辑响应文件

sh 复制代码
vi /home/oracle/dbca.rsp
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "orcl"
SID = "orcl"
TEMPLATENAME = "General_Purpose.dbc"
SYSPASSWORD = "123456"
SYSTEMPASSWORD = "123456"
DATAFILEDESTINATION = /u01/app/oracle/oradata
RECOVERYAREADESTINATION=/u01/app/oracle/fast_recovery_area
CHARACTERSET="ZHS16GBK"
TOTALMEMORY = "4096"

2.静默建库

sh 复制代码
[oracle@orcl1 response]$ dbca -silent -createdatabase -responsefile /home/oracle/dbca.rsp 
Copying database files
1% complete
2% complete
4% complete
37% complete
Creating and starting Oracle instance
38% complete
40% complete
45% complete
50% complete
51% complete
56% complete
57% complete
61% complete
62% complete
Completing Database Creation
66% complete
70% complete
73% complete
74% complete
85% complete
86% complete
98% complete
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details.

3. 配置监听

sh 复制代码
[oracle@orcl1 ~]$ vi netca.rsp
[GENERAL]
RESPONSEFILE_VERSION="11.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"}

4. 配置netca静默监听

sh 复制代码
[oracle@orcl1 ~]$ netca -silent -responsefile /home/oracle/netca.rsp

Parsing command line arguments:
    Parameter "silent" = true
    Parameter "responsefile" = /home/oracle/netca.rsp
Done parsing command line arguments.
Oracle Net Services Configuration:
Profile configuration complete.
Oracle Net Listener Startup:
    Running Listener Control: 
      /u01/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start LISTENER
    Listener Control complete.
    Listener started successfully.
Listener configuration complete.
Oracle Net Services configuration successful. The exit code is 0
相关推荐
YashanDB2 小时前
【YashanDB知识库】XMLAGG方法的兼容
数据库·yashandb·崖山数据库
独行soc2 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍11基于XML的SQL注入(XML-Based SQL Injection)
数据库·安全·web安全·漏洞挖掘·sql注入·hw·xml注入
风间琉璃""3 小时前
bugkctf 渗透测试1超详细版
数据库·web安全·网络安全·渗透测试·内网·安全工具
drebander3 小时前
SQL 实战-巧用 CASE WHEN 实现条件分组与统计
大数据·数据库·sql
IvorySQL3 小时前
IvorySQL 4.0 发布:全面支持 PostgreSQL 17
数据库·postgresql·开源数据库·国产数据库·ivorysql
18号房客3 小时前
高级sql技巧进阶教程
大数据·数据库·数据仓库·sql·mysql·时序数据库·数据库架构
Dawnㅤ3 小时前
使用sql实现将一张表的某些字段数据存到另一种表里
数据库·sql
张声录13 小时前
【ETCD】【实操篇(十二)】分布式系统中的“王者之争”:基于ETCD的Leader选举实战
数据库·etcd
运维&陈同学3 小时前
【模块一】kubernetes容器编排进阶实战之基于velero及minio实现etcd数据备份与恢复
数据库·后端·云原生·容器·kubernetes·etcd·minio·velero
有态度的马甲3 小时前
一种基于etcd实践节点自动故障转移的思路
数据库·etcd